Add support for KSP (See Download and Setup and Generated API Deprecation for details on how to use the KSP processor and the features it does and does not support, 2a787b9ba4287dd1f1efd19b1139794ee8b530b6, 8bef56e2588a371363079a9e33053a9f1f663849, 272c6c390938189972767168a754c01d909810bc, 9f04fd005925ffc39c3e103e9e88a1a85977bee0, 4016448fc56179ac5fa6eaf352113617f04847a5, c35ad1351ee47314f69ad5ecc405a28fbf919298).
Add an alpha version of a Compose integration (Docs)
To support the Compose integration, add an alpha version of general Kotlin support, starting with utilities to convert a Glide request into a Flow (Docs, 7d9e1a3659a23c58457338ce449a37cdcddc62fb)
Enable animated WebP Decoding on P+ using framework APIs (ad35f5e4fcd2e34750289fa1f9820579b2661f0c)
Allow Drawables to be loaded with specific themes (17cae33fd8a966f741495e5c8604661629821006)
Bugs
Register connectivity listeners on API < 24 on background threads (96596ae9269e85f31d5c6a158c2ab92c16677703)
Disable ParcelFileDescriptor rewinding in Robolectric (9840c91e1b2d358d9c9367654eacd4b4719ed849)
Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)
Avoid duplicate notifications of Targets when an error request builder is set (5c232dd12b5710c9bb8d940313e77351a39bc6a6)
Use the correct run reason in DecodeJob (1a2cfe36bf32a8b3d8f155cf8e66e145fcfc3ba7)
Deprecations
Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964ddc838b4db776d45689e9dfd6f46a5b2c)
Behavior Changes
Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b548cae12f3aa53634a59025069834c0ea14)
Update the state of a Request before calling Targets or RequestListeners. Request is generally treated as an internal API but it's possible this could result in some changes to the behavior of custom Targets or RequestListeners that try to use Request to introspect state (c38ce36cd6827251fbc5e49b79d4e83dec8d71be)
Update to Gradle 7+ (fdbb694e68d117553cdc89f32932e0a129c2c75f)
Fix some deprecation warnings in Gradle (31e7ce34ebad92ecebb7ec9d6288be30c748b830, 2895b351fa6dde68ab5dc85c591f47bd4a395475, thanks @TacoTheDank)
Use a version of jarjar from maven rather than embedding a jar (faf85ec4351893eef81b52e982fa1067af1e8fdd)
Removed the exif orientation example dependency in favor of our own custom images (66403763e8235dd2f45d1e6007cd25c62f43843f)
Target API 32 and make Glide's tests target Java 11 (839899dd252c58045b992181791d2aa9412bfdc0)
Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6fb3003b88a405ffa437b510414a1df2af1)
CI optimization (c30aee9f01fd10d60e4da8e36812595d30cf8abe, thanks @Goooler)
Integrate Dokka to build Glide's javadocs for our documentation page (e5a29beb96d9fc8a31e9f0adc650f6b2bd09c4ec)
Add an integration library to support decoding AVIF (3fd8e777e2be6a3fedc5f5c5f688970a212a285f, f5e78ed03c99a9804285360b36b04d3089c80cff, 2b52437cd52bbacf0376d84aa2eec5b63ba53ac4)
... (truncated)
Commits
fd8e68a Merge pull request #4904 from sjudd:bump_version_to_4.14.0
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps glide from 4.9.0 to 4.14.0.
Release notes
Sourced from glide's releases.
... (truncated)
Commits
fd8e68a
Merge pull request #4904 from sjudd:bump_version_to_4.14.0e220d3e
Bump version to 4.14.0e59554f
Merge pull request #4902 from sjudd:add_dokkab3f2216
Merge pull request #4900 from sjudd:add_compose_publish_taske5a29be
Add an integration with Dokka to generate Glide docs.dafc7e2
Avoid a javadoc tag warning in GlideModule42a40ed
Allow Glide's compose integration to be published.94b86cc
Merge pull request #4899 from sjudd:compose_gallery_sample272c6c3
Convert Glide's Gallery sample to Compose.5366e7b
Increase application minSdkVersion to 14.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)