bumptech/glide (com.github.bumptech.glide:compiler)
### [`v4.16.0`](https://togithub.com/bumptech/glide/releases/tag/v4.16.0): Glide 4.16.0
This release focuses on some build improvements and Compose. The two major Compose improvements are adding support for Compose specific transitions (e.g. cross fade) and supporting recomposition based on request state using `GlideSubcomposition`. There's also been a bunch of internal refactoring to move away from Painters to Modifier nodes based on feedback from the Compose team. This is still an alpha release of Compose, but barring unexpectedly negative feedback, the next release should be beta.
This should be the last release of Glide that targets Java 7. That probably means our next release will be a major version change.
#### Features
- Allow passing an executor into ChromiumRequestSerializer in [https://github.com/bumptech/glide/pull/5077](https://togithub.com/bumptech/glide/pull/5077)
- Allow host app to provide a way to clear all resources onStop() by [@osamaaftab](https://togithub.com/osamaaftab) in [https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145)
#### Compose
- Add a Transition API and a CrossFade Transition for Compose by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5235](https://togithub.com/bumptech/glide/pull/5235)
- Influence layout using intrinsics in GlideNode by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5240](https://togithub.com/bumptech/glide/pull/5240) \* Log instead of throwing parsing manifests to fix compose previews by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5167](https://togithub.com/bumptech/glide/pull/5167)
- Launch no more than one request per onRemembered by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5062](https://togithub.com/bumptech/glide/pull/5062)
- Remove GlidePainter in favor of Modifier nodes / Flows by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5230](https://togithub.com/bumptech/glide/pull/5230)
- Replace flows in GlideSubcomposition with a listener on GlideNode by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5238](https://togithub.com/bumptech/glide/pull/5238)
#### Bugs
- Read library glide module names from Java indexes by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5052](https://togithub.com/bumptech/glide/pull/5052)
- Fix typo. anay -> any in GlideSymbolProcessor.kt. by [@trevorhackman](https://togithub.com/trevorhackman) in [https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029)
- Include URL in error log by [@paulsowden](https://togithub.com/paulsowden) in [https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164)
- Add `isInitialized` visible for testing method by [@paulsowden](https://togithub.com/paulsowden) in [https://github.com/bumptech/glide/pull/5163](https://togithub.com/bumptech/glide/pull/5163)
- Use onIdle to avoid a race in FlowTests by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5202](https://togithub.com/bumptech/glide/pull/5202)
- Add a isEquivalentTo method to correctly check equality by [@mori-atsushi](https://togithub.com/mori-atsushi) in [https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232)
- Add [@RequiresPermission](https://togithub.com/RequiresPermission) to NotificationTarget by [@TWiStErRob](https://togithub.com/TWiStErRob) in [https://github.com/bumptech/glide/pull/5220](https://togithub.com/bumptech/glide/pull/5220)
#### Deprecations
- `placeholderOf(@Composable)` in `GlideImage` is deprecated, use `GlideSubcomposition` instead. Keep in mind that using either forces a recomposition each time the state of the image load changes. Recomposition will have a significant performance penalty in scrolling lists and should be avoided.
#### Behavior Changes
- Hard code disabling hardware bitmaps on O/OMR1. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5115](https://togithub.com/bumptech/glide/pull/5115)
- Do not set requireOriginal on Android photo picker uris. by [@phoenixli](https://togithub.com/phoenixli) in [https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162)
#### Breaking Changes
#### Build Changes
- Add integration tests for ksp library modules. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5054](https://togithub.com/bumptech/glide/pull/5054)
- Update README.md to use https by [@simoarpe](https://togithub.com/simoarpe) in [https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058)
- Use dokka to build scripts/update_javadocs.sh by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5104](https://togithub.com/bumptech/glide/pull/5104)
- avif integration: Update libavif dependency by [@vigneshvg](https://togithub.com/vigneshvg) in [https://github.com/bumptech/glide/pull/5128](https://togithub.com/bumptech/glide/pull/5128)
- Disable java 7 source obsolete warning. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5168](https://togithub.com/bumptech/glide/pull/5168)
- Update mockito version to fix j16 compilation. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5169](https://togithub.com/bumptech/glide/pull/5169)
- Switch Glide's dependencies to a version catalog. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5183](https://togithub.com/bumptech/glide/pull/5183)
- Remove jetifier by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5184](https://togithub.com/bumptech/glide/pull/5184)
- Add an updated proguard plugin to compile on Java 17. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5185](https://togithub.com/bumptech/glide/pull/5185)
- Configure Renovate in [https://github.com/bumptech/glide/pull/5186](https://togithub.com/bumptech/glide/pull/5186)
- Increment ROBOLECTRIC_SDK to 19 from 18. by [@brettchabot](https://togithub.com/brettchabot) in [https://github.com/bumptech/glide/pull/5208](https://togithub.com/bumptech/glide/pull/5208) and [https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207)
- AGP: Upgrade AndroidManifest.xml's package to build.gradle's namespace. by [@TWiStErRob](https://togithub.com/TWiStErRob) in [https://github.com/bumptech/glide/pull/5221](https://togithub.com/bumptech/glide/pull/5221)
#### New Contributors
- [@trevorhackman](https://togithub.com/trevorhackman) made their first contribution in [https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029)
- [@simoarpe](https://togithub.com/simoarpe) made their first contribution in [https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058)
- [@paulsowden](https://togithub.com/paulsowden) made their first contribution in [https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164)
- [@phoenixli](https://togithub.com/phoenixli) made their first contribution in [https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162)
- [@osamaaftab](https://togithub.com/osamaaftab) made their first contribution in [https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145)
- [@brettchabot](https://togithub.com/brettchabot) made their first contribution in [https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207)
- [@mori-atsushi](https://togithub.com/mori-atsushi) made their first contribution in [https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232)
**Full Changelog**: https://github.com/bumptech/glide/compare/v4.15.0...v4.16.0
Note - there's been a change in the gpg key used to sign these releases. The new public key is attached
### [`v4.15.1`](https://togithub.com/bumptech/glide/releases/tag/v4.15.1): Glide v4.15.1
##### Features
##### Compose
##### Bugs
- Fix a bug in the KSP processor preventing it from recognizing or including any of Glide's library modules, or any other library module compiled with Glide's java annotation processor (com.github.bumptech.glide:compiler:X.XX.X). ([#5043](https://togithub.com/bumptech/glide/issues/5043), [`16306e8`](https://togithub.com/bumptech/glide/commit/16306e89dece9908e9ada2382f4b94b591120ea5))
##### Deprecations
##### Behavior Changes
##### Breaking Changes
##### Build Changes
### [`v4.15.0`](https://togithub.com/bumptech/glide/releases/tag/v4.15.0): Glide v4.15.0
##### Features
- Improved support for dark mode, RTL and other theme attributes on resources loaded with Glide ([`eab4c37`](https://togithub.com/bumptech/glide/commit/eab4c3742d02ad9f173773007ffc0077b8ace98d), [`04f198e`](https://togithub.com/bumptech/glide/commit/04f198eb186bf7bc800f056a5fc104eff88b59f1), [`e6f5eec`](https://togithub.com/bumptech/glide/commit/e6f5eec4ff0d70be28e17c040ee0177edafd8da7), [`a912e0f`](https://togithub.com/bumptech/glide/commit/a912e0fba1142da4f939c12852d79bdf6192666e), [`9668157`](https://togithub.com/bumptech/glide/commit/966815704feedc6d524a9724c74b88a28ba8b40e), [`31821f5`](https://togithub.com/bumptech/glide/commit/31821f5ee0556560f5ee85552f6bfe92e52a178d), [`f73f003`](https://togithub.com/bumptech/glide/commit/f73f00344b31bdad87ea90c722174895389904e5))
- Robolectric shadow and legacy cleanup ([`4298bb7`](https://togithub.com/bumptech/glide/commit/4298bb7609eb97094406919189c5b147ab6af822), [`26a393b`](https://togithub.com/bumptech/glide/commit/26a393bb3745977ea4e75fde7dbf06d2b7fbb5b4), [`330b9a8`](https://togithub.com/bumptech/glide/commit/330b9a888e762dac3b2a0d7ec321a088fa90be8b), [`e247bb7`](https://togithub.com/bumptech/glide/commit/e247bb7f486a9c36a0f8dec2e3441195b26be727), [`c283043`](https://togithub.com/bumptech/glide/commit/c283043e722466142d026609ab2599ece6eac247), thanks [@hoisie](https://togithub.com/hoisie))
- Add support for okhttp4 ([`464002b`](https://togithub.com/bumptech/glide/commit/464002b62496fc7b4c913563ae9496ee2f7764c1))
- Add support for animated AVIF ([`895e2f7`](https://togithub.com/bumptech/glide/commit/895e2f7bb2b060cb88d460d0660a68ca0d9dec6c), [`d704c89`](https://togithub.com/bumptech/glide/commit/d704c8954ae667483afa9a8efdb8b0059e1e979e), [`62654be`](https://togithub.com/bumptech/glide/commit/62654be8ba337afa24e235d23902129f787e87d8), [`e58802e`](https://togithub.com/bumptech/glide/commit/e58802e60b36ba76ece309a2c00fb66226498655), thanks [@vigneshvg](https://togithub.com/vigneshvg))
- Add support for RGB\_565 in Avif ([`098c1a4`](https://togithub.com/bumptech/glide/commit/098c1a40d9e85398f9a16d4683c510c665664d4b), thanks [@vigneshvg](https://togithub.com/vigneshvg))
##### Compose
- Add loading and failure composable parameters so you can set a custom composable while Glide is loading or after an image load fails ([`d5fc241`](https://togithub.com/bumptech/glide/commit/d5fc241c21bfbf5c162e5109e48a4af113aa39cb))
- Make automatic transformations based on ContentScale optional ([`89472a3`](https://togithub.com/bumptech/glide/commit/89472a35df81ca8924ad31870ccd17a5a800674e), [#4943](https://togithub.com/bumptech/glide/issues/4943))
- Avoid throwing exceptions when Composables have unexpected sizes ([`6cb9486`](https://togithub.com/bumptech/glide/commit/6cb9486abc77d2fd37eda7de3f5a01c88725682d))
- Simplify the preloading API by providing a data wrapper that triggers preloading based on access ([`e63c5d2`](https://togithub.com/bumptech/glide/commit/e63c5d216520baecaaad9273699765b8c02b28be))
- Show placeholder resources in Compose previews ([`01ed966`](https://togithub.com/bumptech/glide/commit/01ed966e24ae26fac1dff9ef46b509e6d607b621), [`0f9aea2`](https://togithub.com/bumptech/glide/commit/0f9aea2979fbb5ea2cf763182fe13c9785a227d7))
##### Bugs
- Workaround VP8 decoding issues on ARC devices ([`4bfda58`](https://togithub.com/bumptech/glide/commit/4bfda588b628389134c7a1269cc8202bb69510bf))
- Improve error messages when Glide is recursively initialized or application code throws during Glide's initialization ([`00e8c23`](https://togithub.com/bumptech/glide/commit/00e8c233a1ddf65092d840e96e94a11ff9d8b26f))
- Fix a race that can result in RequestManagers leaking ([`4affb8d`](https://togithub.com/bumptech/glide/commit/4affb8d2d9f4ca15c7953ca7322c52fb1e2dab1b))
##### Deprecations
##### Behavior Changes
- Use Android's Lifecycle for androidx Fragments / Activities instead of adding a hidden Fragment ([`18bba92`](https://togithub.com/bumptech/glide/commit/18bba927a5e5fe7d07ada9667e9e503b9f0596a2))
##### Breaking Changes
##### Build Changes
### [`v4.14.2`](https://togithub.com/bumptech/glide/releases/tag/v4.14.2): Glide v4.14.2
#### Bugs
- Allow LibraryGlideModules to be processed in separate code modules when using KSP ([#4911](https://togithub.com/bumptech/glide/issues/4911), [`5245e82`](https://togithub.com/bumptech/glide/commit/5245e821e0b61a99685dc129ac83e1bb044275d2))
- Fix recomposition when properties of RequestBuilder change ([#4916](https://togithub.com/bumptech/glide/issues/4916), [`f3d6ff7`](https://togithub.com/bumptech/glide/commit/f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0))
#### Behavior Changes
- Proper implementation of equals/hashcode for BaseRequestOptions and TransitionOptions subclasses. Previously comparing these objects was either not symmetric or certain properties were not included in `equals()` and `hashCode()`. Code that relied on the equals/hashcode methods may break if it accidentally relies on the old bad behavior. ([`f3d6ff7`](https://togithub.com/bumptech/glide/commit/f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0))
### [`v4.14.1`](https://togithub.com/bumptech/glide/releases/tag/v4.14.1): Glide v4.14.1
#### Bugs
- Fixes an incorrect dependency in the ksp modules POM file ([https://github.com/bumptech/glide/issues/4908](https://togithub.com/bumptech/glide/issues/4908), [`4d4f3eb`](https://togithub.com/bumptech/glide/commit/4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785))
### [`v4.14.0`](https://togithub.com/bumptech/glide/releases/tag/v4.14.0): Glide v4.14.0
##### Features
- Add support for KSP (See [Download and Setup](https://bumptech.github.io/glide/doc/download-setup.html#kotlin---ksp) and [Generated API Deprecation](https://bumptech.github.io/glide/doc/generatedapi.html#this-page-and-the-generated-api-are-deprecated) for details on how to use the KSP processor and the features it does and does not support, [`2a787b9`](https://togithub.com/bumptech/glide/commit/2a787b9ba4287dd1f1efd19b1139794ee8b530b6), [`8bef56e`](https://togithub.com/bumptech/glide/commit/8bef56e2588a371363079a9e33053a9f1f663849), [`272c6c3`](https://togithub.com/bumptech/glide/commit/272c6c390938189972767168a754c01d909810bc), [`9f04fd0`](https://togithub.com/bumptech/glide/commit/9f04fd005925ffc39c3e103e9e88a1a85977bee0), [`4016448`](https://togithub.com/bumptech/glide/commit/4016448fc56179ac5fa6eaf352113617f04847a5), [`c35ad13`](https://togithub.com/bumptech/glide/commit/c35ad1351ee47314f69ad5ecc405a28fbf919298)).
- Add an alpha version of a Compose integration ([Docs](https://bumptech.github.io/glide/int/compose.html))
- 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](https://bumptech.github.io/glide/javadocs/4140/integration/ktx/com.bumptech.glide.integration.ktx/index.html), [`7d9e1a3`](https://togithub.com/bumptech/glide/commit/7d9e1a3659a23c58457338ce449a37cdcddc62fb))
- Enable animated WebP Decoding on P+ using framework APIs ([`ad35f5e`](https://togithub.com/bumptech/glide/commit/ad35f5e4fcd2e34750289fa1f9820579b2661f0c))
- Allow Drawables to be loaded with specific themes ([`17cae33`](https://togithub.com/bumptech/glide/commit/17cae33fd8a966f741495e5c8604661629821006))
##### Bugs
- Register connectivity listeners on API < 24 on background threads ([`96596ae`](https://togithub.com/bumptech/glide/commit/96596ae9269e85f31d5c6a158c2ab92c16677703))
- Disable ParcelFileDescriptor rewinding in Robolectric ([`9840c91`](https://togithub.com/bumptech/glide/commit/9840c91e1b2d358d9c9367654eacd4b4719ed849))
- Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data ([`4f29ada`](https://togithub.com/bumptech/glide/commit/4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47))
- Avoid duplicate notifications of Targets when an error request builder is set ([`5c232dd`](https://togithub.com/bumptech/glide/commit/5c232dd12b5710c9bb8d940313e77351a39bc6a6))
- Use the correct run reason in DecodeJob ([`1a2cfe3`](https://togithub.com/bumptech/glide/commit/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](https://bumptech.github.io/glide/doc/generatedapi.html#this-page-and-the-generated-api-are-deprecated) for details.
- Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support ([`e802964`](https://togithub.com/bumptech/glide/commit/e802964ddc838b4db776d45689e9dfd6f46a5b2c))
##### Behavior Changes
- Initialize Glide's registry on a background thread to avoid some work on the main thread ([`6ba4b54`](https://togithub.com/bumptech/glide/commit/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 ([`c38ce36`](https://togithub.com/bumptech/glide/commit/c38ce36cd6827251fbc5e49b79d4e83dec8d71be))
##### Breaking Changes
##### Build Changes
- Removed Spotless ([`edf9d32`](https://togithub.com/bumptech/glide/commit/edf9d32aa4ea7c9ff7a9ddd346b6609ef9423deb))
- gradle.properties versioning cleanup ([`3633e95`](https://togithub.com/bumptech/glide/commit/3633e95064405744485ce469870bdfdb9428fbd9), [`8875d30`](https://togithub.com/bumptech/glide/commit/8875d30ee10d5432d8c872d45792678da01781eb), [`fd5e7df`](https://togithub.com/bumptech/glide/commit/fd5e7df9fc8d43522a32b3be966f5895e78a8d15), [`b8fb588`](https://togithub.com/bumptech/glide/commit/b8fb588c2dcba0792747ccc1374b923bd9e1926a), thanks [@TacoTheDank](https://togithub.com/TacoTheDank))
- Update to Gradle 7+ ([`fdbb694`](https://togithub.com/bumptech/glide/commit/fdbb694e68d117553cdc89f32932e0a129c2c75f))
- Fix some deprecation warnings in Gradle ([`31e7ce3`](https://togithub.com/bumptech/glide/commit/31e7ce34ebad92ecebb7ec9d6288be30c748b830), [`2895b35`](https://togithub.com/bumptech/glide/commit/2895b351fa6dde68ab5dc85c591f47bd4a395475), thanks [@TacoTheDank](https://togithub.com/TacoTheDank))
- Use a version of jarjar from maven rather than embedding a jar ([`faf85ec`](https://togithub.com/bumptech/glide/commit/faf85ec4351893eef81b52e982fa1067af1e8fdd))
- Removed the exif orientation example dependency in favor of our own custom images ([`6640376`](https://togithub.com/bumptech/glide/commit/66403763e8235dd2f45d1e6007cd25c62f43843f))
- Target API 32 and make Glide's tests target Java 11 ([`839899d`](https://togithub.com/bumptech/glide/commit/839899dd252c58045b992181791d2aa9412bfdc0))
- Build both the release and debug flavors again since they're each required by different gradle plugins we use ([`f86db6f`](https://togithub.com/bumptech/glide/commit/f86db6fb3003b88a405ffa437b510414a1df2af1))
- CI optimization ([`c30aee9`](https://togithub.com/bumptech/glide/commit/c30aee9f01fd10d60e4da8e36812595d30cf8abe), thanks [@Goooler](https://togithub.com/Goooler))
- Integrate Dokka to build Glide's javadocs for our documentation page ([`e5a29be`](https://togithub.com/bumptech/glide/commit/e5a29beb96d9fc8a31e9f0adc650f6b2bd09c4ec))
### [`v4.13.2`](https://togithub.com/bumptech/glide/releases/tag/v4.13.2): Glide v4.13.2
##### Bugs
- Update AVIF dependency to fix proguard stripping code erroneously ([https://github.com/bumptech/glide/issues/4761](https://togithub.com/bumptech/glide/issues/4761), [`e2b488c`](https://togithub.com/bumptech/glide/commit/e2b488c30d27138fecc7a3adc353c66b3756147f))
### [`v4.13.1`](https://togithub.com/bumptech/glide/releases/tag/v4.13.1): Glide v4.13.1
#### Bugs
- Fix a missing dependency in the AVIF integration library ([#4751](https://togithub.com/bumptech/glide/issues/4751), thanks [@vigneshvg](https://togithub.com/vigneshvg), [@msisuzney](https://togithub.com/msisuzney), [@wangxuyang518](https://togithub.com/wangxuyang518))
### [`v4.13.0`](https://togithub.com/bumptech/glide/releases/tag/v4.13.0): Glide 4.13.0
#### Features
- Add an integration library to support decoding AVIF ([`3fd8e77`](https://togithub.com/bumptech/glide/commit/3fd8e777e2be6a3fedc5f5c5f688970a212a285f), [`f5e78ed`](https://togithub.com/bumptech/glide/commit/f5e78ed03c99a9804285360b36b04d3089c80cff), [`2b52437`](https://togithub.com/bumptech/glide/commit/2b52437cd52bbacf0376d84aa2eec5b63ba53ac4))
#### Bugs
- Improve performance of canceling pending requests (https://github.com/bumptech/glide/commit/627d04af1ec5d81c23908c27e1a646806dce7b30, thanks [@yorickhenning](https://togithub.com/yorickhenning))
- Improve memory overhead when decoding byte\[] and ByteBuffer (https://github.com/bumptech/glide/commit/042f6b57d511c9d1652d280f5d385d5fef071647)
- Avoid returning duplicate transcode classes in the registry (https://github.com/bumptech/glide/commit/ce8b5e31d7c8ee8e98725142b9c22c478f78cefd, thanks [@fightyz](https://togithub.com/fightyz))
- Avoid cancelling higher tier (usually higher resolution) preload requests when a lower tier completes (https://github.com/bumptech/glide/commit/4733d1d3309e0f9af1e751f266c5fb0f9fd3a9ce)
- Decrease the maximum FD size limit for certain devices to avoid native crashes ([`808a685`](https://togithub.com/bumptech/glide/commit/808a685f3c538621d5dfecd9928d2f75a4b7f68e))
- Fix memory leak caused by unusual activity/fragment lifecycle interactions ([`8bebf71`](https://togithub.com/bumptech/glide/commit/8bebf71e80c2cd1f260d919e6b0697436da6e302))
- Fix decoding videos from assets ([`52a8cf8`](https://togithub.com/bumptech/glide/commit/52a8cf84a9c10123777db805b235bf47e18ec234))
#### Deprecations
- Deprecate .thumbnail(float) to simplify the thumbnail logic, particularly around request listeners. The same behavior can be easily reproduced by using .thumbnail() with a RequestBuilder on which you set size multiplier. (https://github.com/bumptech/glide/commit/aa23eedb79196c29c61b366d8c9b93c34564fe09)
#### Behavior Changes
- Set the default color space to null instead of SRGB (https://github.com/bumptech/glide/commit/ce6852d372b2b6fe6d52fe039b7003b1891a8435, https://github.com/bumptech/glide/commit/9dc1f608540039c29931c22e7c7512caa842fe90, thanks [@skyinu](https://togithub.com/skyinu))
- Fallback to decoding data from source if possible when writing the source to the disk cache fails (https://github.com/bumptech/glide/commit/755c39fb1ff49895ada9f13d808fa46153112980)
- Avoid using deprecated APIs for detecting connectivity state on API 24+ ([`dbdae56`](https://togithub.com/bumptech/glide/commit/dbdae568a37e9aabdab4ceb0ab9c7294de53861d), [`833ef21`](https://togithub.com/bumptech/glide/commit/833ef21d4edd9f907cecbdc9e780fc88058bf66f))
- Added support for detecting animated webp's to Glide's ImageHeaderParser ([`42654b2`](https://togithub.com/bumptech/glide/commit/42654b298ebf2d2931a1b6d099f9f2b901dc37b1))
#### Breaking Changes
#### Build Changes
- Bump Gradle version once, then replace gradle version with a checked internal one ([https://github.com/bumptech/glide/pull/4484](https://togithub.com/bumptech/glide/pull/4484), https://github.com/bumptech/glide/commit/9f813390646d2cdaecece8fd96fa7fd8b8605217, https://github.com/bumptech/glide/commit/15d96483d36099a1d088cef4a5bccc234fc66ec4, thanks [@EwoutH](https://togithub.com/EwoutH))
- Replace Jcenter with Maven Central (https://github.com/bumptech/glide/commit/0d3204907f09c713e9dcf104e879b4dea8c2f5f6, https://github.com/bumptech/glide/commit/87a77cea15a0eed253fabc57ff36a1f9b3556fff)
### [`v4.12.0`](https://togithub.com/bumptech/glide/releases/tag/v4.12.0): Glide 4.12.0
##### Features
- Add a [Cronet](https://developer.android.com/guide/topics/connectivity/cronet) integration library ([`ba99582`](https://togithub.com/bumptech/glide/commit/ba995829f495379df82653bc07542006c15f4cb9), [`ff29849`](https://togithub.com/bumptech/glide/commit/ff2984963cbf0f31e374228c7f702f27b5753336), [`114251e`](https://togithub.com/bumptech/glide/commit/114251e6ce43fb67ca1528a0f24dc3c7e73eb0bf), [`1dd0576`](https://togithub.com/bumptech/glide/commit/1dd0576f8d133e26a525a746b2454d1ee5c74762), [`3d54ef5`](https://togithub.com/bumptech/glide/commit/3d54ef50ea4fa41694695971b7d858435c784057))
- Add support for width/height to the SvgDecoder in the sample app ([@chggr](https://togithub.com/chggr), [`5a814a1`](https://togithub.com/bumptech/glide/commit/5a814a1ca472c6a174cefec7c2cb60a66a53321c))
- Add a thumbnail method that takes a list of RequestBuilders so that you don't have to nest a long series of requests ([`67b01f6`](https://togithub.com/bumptech/glide/commit/67b01f62c0e98bb4f517708128be3107b22367cb))
- Add a .error() method that takes a model to more easily start a fallback request. There's a bit of nuance with how this is treated, so if you use it, please read the javadoc carefully ([`d1aacb5`](https://togithub.com/bumptech/glide/commit/d1aacb5e116a94f70b7f5e4531ece93ab08a4cd4), [`e442557`](https://togithub.com/bumptech/glide/commit/e442557fc5ff640e9988c850bfe4d7be73c09b18))
##### Bugs
- Hardcode disallowed device models for hardware Bitmaps ([`0647c41`](https://togithub.com/bumptech/glide/commit/0647c410a0a6dc918f56ff3a4105557dc5313477), [`90a657b`](https://togithub.com/bumptech/glide/commit/90a657b6591fb97fc47a8444ab778a348cef0fcb), [`ddb3934`](https://togithub.com/bumptech/glide/commit/ddb3934a3d1f43dd184b3b9534a8e621fabff713))
- Fix flickr sample by allowing non-https urls ([@landicefu](https://togithub.com/landicefu), [`b2a361a`](https://togithub.com/bumptech/glide/commit/b2a361a8faf3ba56d433bb476b892672911dfaa2))
- Fix a verificatio nerror in ParcelFileDescriptorRewinder on API levels < 21 ([@mkj-gram](https://togithub.com/mkj-gram) , [`5b117b3`](https://togithub.com/bumptech/glide/commit/5b117b315a3bd90ae96d7eda61badb94e78c3613))
- Fix never returning larger size keys in Flickr sample ([@valentinilk](https://togithub.com/valentinilk), [`78ecfd2`](https://togithub.com/bumptech/glide/commit/78ecfd2212015d0ad650562652dfe44b76409789))
- Fix bugs caused by items changing sizes while in Glide's LruCache ([`5090b6d`](https://togithub.com/bumptech/glide/commit/5090b6d004fabbc0ae50e0295fd50e2f13cb6357))
- Fix annotation processor with more than 5 library modules on some platforms ([#4106](https://togithub.com/bumptech/glide/issues/4106), [`7cc865a`](https://togithub.com/bumptech/glide/commit/7cc865ac1a0141707aa3318bcd9b0250594d7464))
- Fix ConcurrentModificationException due to race in Glide's trimMemory method ([#4162](https://togithub.com/bumptech/glide/issues/4162), [`cce9375`](https://togithub.com/bumptech/glide/commit/cce9375713d989cdd0958890b277150e61374135))
- Note that RequestListener.onLoadFailed's model is Nullable ([@opayen](https://togithub.com/opayen), [`621e2d5`](https://togithub.com/bumptech/glide/commit/621e2d5ba6ee563f396c0b46521b3ce22fd8d226))
- Fix an IllegalArgumentException in GifFrameLoader if the GIF is started before it's visible ([@dalinaum](https://togithub.com/dalinaum), [`1ae9a2a`](https://togithub.com/bumptech/glide/commit/1ae9a2af4e52afbeb4a9927fb535481cf39d7c21))
- Avoid adding both support and non-support RequestManagers when Glide is used with a FragmentActivity as both a FragmentActivity and a regular Activity ([`8f354dc`](https://togithub.com/bumptech/glide/commit/8f354dc527b46a69a47713e6e625cee2750eb6a0))
- Avoid a memory leak when starting RequestManagers in some cases ([`14a0e1a`](https://togithub.com/bumptech/glide/commit/14a0e1acd07d76bc161de6d211f9cd7484918f61))
- Workaround a JDK bug triggered sometimes by Registry ([`6aa7ad2`](https://togithub.com/bumptech/glide/commit/6aa7ad274ac6ec586997efcf0d51dd2091e8fadc))
- Progress on some workarounds to avoid obscure Hardware Bitmap issues on versions of Android< P ([`edd96d8`](https://togithub.com/bumptech/glide/commit/edd96d80024a6a3cf2f6966664ff8543006967bb), [`8584b45`](https://togithub.com/bumptech/glide/commit/8584b450f3af6c18e0393a3bff015a62a08d5eb5), [`a3a3a65`](https://togithub.com/bumptech/glide/commit/a3a3a6573addd83a5be031bbd55d29e7514ca446), [`b0a7efe`](https://togithub.com/bumptech/glide/commit/b0a7efecf54723506bcaac2d801e29845f04f229), [`7d7042c`](https://togithub.com/bumptech/glide/commit/7d7042c4f14d0f825f49183cd840ea22525bdf14), [`b451065`](https://togithub.com/bumptech/glide/commit/b451065702ff452349f3f08deb2f937fb3a83ab5))
- Avoid claiming annotations in Glide's processor ([@cushon](https://togithub.com/cushon), [`e9e5a2e`](https://togithub.com/bumptech/glide/commit/e9e5a2e0948ef1a8152953fc3f4de58f979b23b2))
- Fix issues with clone/autoclone in RequestBuilder ([`332807a`](https://togithub.com/bumptech/glide/commit/332807aed4641967ef47cf3a1a61e57b0689aa17), [`11530fd`](https://togithub.com/bumptech/glide/commit/11530fd76903ea4c6b63d5b0697b42af6393476b))
- Fix a bug where we could decode partial images for large PNG files where obtaining the metadata caused us to skip past the limit of our buffer (danfang@, [`2b61482`](https://togithub.com/bumptech/glide/commit/2b61482baa90175e0efdf4ec90f06a5051e1b370))
- Make sure to rethrow in our exception handling streams to workaround an infinite loop in ExifInterface ([`59ec98c`](https://togithub.com/bumptech/glide/commit/59ec98c505c17b3efa882522c3312022d1ca88da))
- Reduce the number of stat() syscalls in Glide's startup ([`5acc99f`](https://togithub.com/bumptech/glide/commit/5acc99f8fc7e772aeef8aa959ff2a9c203ab1aa6))
##### Deprecations
##### Behavior Changes
- Better http status codes in HttpUrlFetcher failures ([`efe8023`](https://togithub.com/bumptech/glide/commit/efe8023aed474e4bf1a596faf15ca1e4c5f9e34f))
##### Breaking Changes
##### Build Changes
- Add a Gradle Wrapper Validation Github Action ([@JLLeitschuh](https://togithub.com/JLLeitschuh), [`d75bb30`](https://togithub.com/bumptech/glide/commit/d75bb3070797daaeae95be90af1e8c72084cdb1a))
- Removed Monkeyrunner ([`5aa0b4f`](https://togithub.com/bumptech/glide/commit/5aa0b4f8e9d4c5b468b39db33c7e6eb213765206))
- Update ExifInterface version to 1.2.0 ([`85868bd`](https://togithub.com/bumptech/glide/commit/85868bdb31b393e85c8c97c1465f13d47872d7ab))
- Switch from travis-ci to Github actions for presubmits ([`dbdb62c`](https://togithub.com/bumptech/glide/commit/dbdb62c4cb1ee4c0448c64e10398435553351d1a))
### [`v4.11.0`](https://togithub.com/bumptech/glide/releases/tag/v4.11.0): Glide 4.11.0
#### Features
- Add a thread timeout for Glide's threads to reduce memory when Glide is infrequently used in an application ([`db3acef`](https://togithub.com/bumptech/glide/commit/db3acef))
- Add getters to Bitmap Pool for cache statistics ([`1382e56`](https://togithub.com/bumptech/glide/commit/1382e56), thanks to vtsuei@)
- Add methods to concurrent integration libraries that allow releasing resources back to Glide's pool ([`2777657`](https://togithub.com/bumptech/glide/commit/277765705))
- Allow decoding videos from ByteBuffers so that remote videos can be decoded when using a disk cache strategy other than the default ([`9190698`](https://togithub.com/bumptech/glide/commit/9190698), [#4021](https://togithub.com/bumptech/glide/issues/4021))
#### Bugs
- Improve ModelLoader error text ([`83ba102`](https://togithub.com/bumptech/glide/commit/83ba102))
- Fix errors with thumbnail loaders that could cause flashing to placeholders ([`690f815`](https://togithub.com/bumptech/glide/commit/690f815))
- Fix an exception using Arrays.addAll on some devices/versions of Android ([`42d3f07`](https://togithub.com/bumptech/glide/commit/42d3f07))
- Work around framework bug that breaks heic/heif decoding on Android Q for applications that opt in to legacy storage or request ACCESS_MEDIA_LOCATION ([`1c51b24`](https://togithub.com/bumptech/glide/commit/1c51b24))
- Improve hardware bitmap use on P+ where more file descriptors are available ([`e8c841c`](https://togithub.com/bumptech/glide/commit/e8c841c))
- Avoid removing caller added listeners in GlideFutures ([`0acd87c`](https://togithub.com/bumptech/glide/commit/0acd87c))
- Avoid propagating unexpected callbacks from cancelled or failed model loaders ([`7e750ca`](https://togithub.com/bumptech/glide/commit/7e750ca))
- Switch to the support exif library to avoid spurious logs ([`bd6f894`](https://togithub.com/bumptech/glide/commit/bd6f894), [#3851](https://togithub.com/bumptech/glide/issues/3851))
- Fix deadlock when recursively clearing resources, typically GIFs ([`100ac4a`](https://togithub.com/bumptech/glide/commit/100ac4a))
#### Deprecations
#### Behavior Changes
- Allow decoding files via FileDescriptors when all other types fail so that files with headers exceeding the buffer size can be decoded (typically DNGs with metadata at the end of the file ([`9281d8e`](https://togithub.com/bumptech/glide/commit/9281d8e), thanks to timurrrr@)
#### Breaking Changes
#### Build Changes
### [`v4.10.0`](https://togithub.com/bumptech/glide/releases/tag/v4.10.0): Glide 4.10.0
##### Features
- Added a Mocks library to mock GlideExecutor in unit/emulator tests ([`e021f6b`](https://togithub.com/bumptech/glide/commit/e021f6bf83c909a7511c8182cce0af9c58912834))
- Added an integration library to integrate with [Guava's ListenableFuture class](https://togithub.com/google/guava/wiki/ListenableFutureExplained) ([`9fb1036`](https://togithub.com/bumptech/glide/commit/9fb1036645ec4e7cb159e7ca215f85375d8e4f67))
- Add granular options for rounded corners ([`f36a9fa`](https://togithub.com/bumptech/glide/commit/f36a9fa9182227d7cebb3b5eaa6cc26e7d26aea5), thanks to dlos@)
- Include day/night mode in resource id cache keys ([`1b391c4`](https://togithub.com/bumptech/glide/commit/1b391c42f22e967c070a6a105b1e37730ab6ea6e))
- Add an API that can be called on Glide manually to clear memory, especially when apps are backgrounded ([`8a094e9`](https://togithub.com/bumptech/glide/commit/8a094e972e686ddd1223371c268f0a4758e0b1ef), thanks to mikewallstedt@)
- Add simple support for wide gamut color spaces ([`15a21b1`](https://togithub.com/bumptech/glide/commit/15a21b125d0d131df7bc405a947e69b4d40709ae), [`7910f68`](https://togithub.com/bumptech/glide/commit/7910f68b31c5f3fb465a2834b6b579464ef0f1c6))
- Release more memory in the background on M+ ([`525e7ba`](https://togithub.com/bumptech/glide/commit/525e7ba82ec883fb518087879269836f888bd584))
- Support Fragments not hosted by Acitivities ([`71359c7`](https://togithub.com/bumptech/glide/commit/71359c7e385dc7d287f0da5d9e6d533ca41c76e4), thanks to Daniel Tomasiewicz)
- Handle contexts with null application contexts ([`31b501d`](https://togithub.com/bumptech/glide/commit/31b501d1955a7bbc1d3a6ed92307a2aa8c43e392), thanks to Daniel Tomasiewicz)
##### Bugs
- Fixed incorrect downsampling for rotated images when using Target.SIZE_ORIGINAL ([`79dac0d`](https://togithub.com/bumptech/glide/commit/79dac0d1f522cab3d254f0fb91264e06e09568c6), thanks to sonyamollinger@)
- Fixed returning negative byte values converting ByteBuffers to InputStreams ([`24f9c28`](https://togithub.com/bumptech/glide/commit/24f9c28eadc0a54d034bd0b75b4b3d7809f3c3b6), thanks to sonyamollinger@)
- Make sure to cancel all preload requests in `cancelAll()` ([`047c22d`](https://togithub.com/bumptech/glide/commit/047c22d77ebb497db29cf329c2388274ee413f20), thanks [@paynemiller92](https://togithub.com/paynemiller92))
- Fixed a series of concurrency bugs introduced by allowing requests to start on background threads ([`bee6348`](https://togithub.com/bumptech/glide/commit/bee634818cff229570d0fd392130cd76ea2c3639), [`5cccdfb`](https://togithub.com/bumptech/glide/commit/5cccdfba8bbced57669629f93c92a59eb0439382), [`01ea6a5`](https://togithub.com/bumptech/glide/commit/01ea6a544d6159ed986e4f8628a4d962a7aa520d), [`b2a46ef`](https://togithub.com/bumptech/glide/commit/b2a46ef7a385abd5df38ee11b8be85868768739e), [`6dc03d8`](https://togithub.com/bumptech/glide/commit/6dc03d84d5a009e6a4535381f5b3ec8aeced2912), [`4de2cda`](https://togithub.com/bumptech/glide/commit/4de2cda0a2a5ed08273b11b8796c2c2d1327e788), [`b96b000`](https://togithub.com/bumptech/glide/commit/b96b00096607cee23763e4dd049a297d85b89911), [`8907122`](https://togithub.com/bumptech/glide/commit/890712279a997ded1b22d64ea6059c911b2f8a55), [`53438b9`](https://togithub.com/bumptech/glide/commit/53438b90f982d27652c2bae7cd9daf9be8d5a03a))
- Make sure the specified numbers of threads are actually used in the animation executor ([#3575](https://togithub.com/bumptech/glide/issues/3575), [`ac4aa53`](https://togithub.com/bumptech/glide/commit/ac4aa53c6b8e4f7fa4b014ee84b858610106ec4e), thanks to [@yuriy-budiyev](https://togithub.com/yuriy-budiyev))
- Avoid blinking when calling `RequestManager#pause` when the thumbnail portion of a request is complete the full portion is still running ([`2f56153`](https://togithub.com/bumptech/glide/commit/2f561534cd49171d0e372f1c613d1aa4ddcae36d))
- Make it less likely to mix support and non-support fragments ([`2193306`](https://togithub.com/bumptech/glide/commit/219330630652a6d9bd088c0a7e971cf796872de1), thanks to [@limuyang2](https://togithub.com/limuyang2))
- Avoid downsampling incorrectly in FitCenter and CenterInside when there was
an exact power of 2 match in one dimension but not the other ([`3df5445`](https://togithub.com/bumptech/glide/commit/3df54453089c5ec02af552c713d5907985aee12a))
- Always use orientation corrected sizes in `Downsampler` ([#3673](https://togithub.com/bumptech/glide/issues/3673), [`ebdf8be`](https://togithub.com/bumptech/glide/commit/ebdf8beb59df8d62c0a978ad967098dae8f666cf))
- Fix transparency in GifDecoder when using RGB\_565 ([`29c553d`](https://togithub.com/bumptech/glide/commit/29c553df470401211dd080c2b3c8b69916e7ea25), thanks to [@lihongyu](https://togithub.com/lihongyu))
- Handle security exceptions trying to open MediaStore Uris when applications are given access to a MediaStore Uri via an Intent ([#3504](https://togithub.com/bumptech/glide/issues/3504), [`9c48b48`](https://togithub.com/bumptech/glide/commit/9c48b48eb17d8d1c005352730d66d0dc85da5efe))
- Fix an unused AnimationExecutor ([`7bb6f11`](https://togithub.com/bumptech/glide/commit/7bb6f11c43c245a4e150d93d293a40c75fe99796), thanks to [@phxnirvana](https://togithub.com/phxnirvana))
##### Deprecations
- Deprecate method to set custom tags in `CustomViewTarget` ([`c8d646e`](https://togithub.com/bumptech/glide/commit/c8d646ebf857a676a6b682b5e78d382c52b8c5ab))
##### Behavior Changes
- Custom tags in `CustomViewTarget` are now ignored because they cause Glide to ignore calls to `clear()` ([`c8d646e`](https://togithub.com/bumptech/glide/commit/c8d646ebf857a676a6b682b5e78d382c52b8c5ab))
##### Breaking Changes
##### Build Changes
- Updated target SDK to 28 ([#3880](https://togithub.com/bumptech/glide/issues/3880), thanks to [@prempalsingh](https://togithub.com/prempalsingh))
- Disable BuildConfig generation ([`4039981`](https://togithub.com/bumptech/glide/commit/4039981e719071473fa66515027188bdb71313ad), thanks to [@technoir42](https://togithub.com/technoir42))
- Update Truth ([`5bb4691`](https://togithub.com/bumptech/glide/commit/5bb469166d49ddb49d7e164fded2b58b48d45916), [`cd37a54`](https://togithub.com/bumptech/glide/commit/cd37a54f076392402af6df7b80bda07d96e012c7), thanks to [@cpovirk](https://togithub.com/cpovirk))
- Migrated Glide to androidx ([`d8278f4`](https://togithub.com/bumptech/glide/commit/d8278f43a94484f20822170b71ac7b66269a2aa6))
- Update OkHttp to 3.12.1 ([`f3fafcd`](https://togithub.com/bumptech/glide/commit/f3fafcd3cb93e384263434b19e72ad926c249188))
### [`v4.9.0`](https://togithub.com/bumptech/glide/releases/tag/v4.9.0): Glide 4.9.0
##### Features
- Allow applying RequestOptions directly in a RequestBuilder without the generated API ([`ed20643`](https://togithub.com/bumptech/glide/commit/ed20643))
For example previously to apply centerCrop you'd have use a static method and `apply()`:
```java
Glide.with(fragment)
.load(url)
.apply(centerCropTransform())
.into(imageView);
```
Or use the generated API and the annotation processor:
```java
GlideApp.with(fragment)
.load(url)
.centerCrop()
.into(imageView);
```
After this change, even without the generated API/annotation processor you can access standard RequestOptions methods directly:
```java
Glide.with(fragment)
.load(url)
.centerCrop()
.into(imageView);
```
The generated API is still required for API extensions and to include integration libraries. Hopefully this makes it easier for users who do not include integration libraries and for developers of libraries that are currently unable to use the generated API to use Glide.
- Add Global/Activity/Fragment scoped RequestListeners ([`37127f0`](https://togithub.com/bumptech/glide/commit/37127f0))
- Add a CustomTarget class to make it easier to reduce some non-essential boilerplate when implementing custom `Target`s. onLoadCleared still must be implemented by subclasses of CustomTarget ([`b3b2d7a`](https://togithub.com/bumptech/glide/commit/b3b2d7a))
- Support loading resources from dynamic modules ([#3308](https://togithub.com/bumptech/glide/issues/3308), [`b57ef34`](https://togithub.com/bumptech/glide/commit/b57ef34), thanks to [@SUPERCILEX](https://togithub.com/SUPERCILEX))
- Add a varargs `.transform()` method to replace the equivalent `.transforms()` method ([#2875](https://togithub.com/bumptech/glide/issues/2875), [#3365](https://togithub.com/bumptech/glide/issues/3365), [`8a26a6b`](https://togithub.com/bumptech/glide/commit/8a26a6b8d93cc629d423a316b1838b841e672099), thanks to [@aleien](https://togithub.com/aleien))
- Make proguard rules consumable by users of the library ([`f7d8604`](https://togithub.com/bumptech/glide/commit/f7d8604), thanks to [@rehlma](https://togithub.com/rehlma))
- Stop forcing all requests to be posted to the main thread to avoid unnecessary UI thread work and avoid delays caused by UI thread processing time for images loaded on background threads ([`8f1ea5c`](https://togithub.com/bumptech/glide/commit/8f1ea5c))
- Add Animatable2Compat callbacks to GifDrawable so that users can be notified when a GIF animation with a non infinite loop count finishes ([#3438](https://togithub.com/bumptech/glide/issues/3438), [`a150301`](https://togithub.com/bumptech/glide/commit/a150301), thanks to [@AnwarShahriar](https://togithub.com/AnwarShahriar))
##### Bugs
- Fixed an issue where different types of requested resources (Bitmap vs Drawable etc) could share a cache key ([`cad83d2`](https://togithub.com/bumptech/glide/commit/cad83d2))
- Work around an odd compiler bug creating new `ArrayList`s from other collections on some devices/versions of Android ([#3296](https://togithub.com/bumptech/glide/issues/3296), [`2ca790a`](https://togithub.com/bumptech/glide/commit/2ca790a))
- Add Nullable/NonNull annotations to LazyHeaders.Builder ([#3446](https://togithub.com/bumptech/glide/issues/3446), [`d6345fb`](https://togithub.com/bumptech/glide/commit/d6345fbbf19f9eb8434587f76a5c38e2232149cf), thanks to [@r-ralph](https://togithub.com/r-ralph))
- Add a transformation to rotate images (other than from EXIF) ([`1878585`](https://togithub.com/bumptech/glide/commit/1878585429e0579bfd1c2ca8af12a831fb23903d), thanks to [@Gnzlt](https://togithub.com/Gnzlt))
- Fix a race that could lead to doing useless work in MultiModelLoader after cancellation ([`3c9f92f`](https://togithub.com/bumptech/glide/commit/3c9f92f))
- Fix a bug in SizeConfigStrategy that could lead to a returned Bitmap having an incorrect config ([`be51b4e`](https://togithub.com/bumptech/glide/commit/be51b4e))
- Avoid classifying all images with non-0 exif orientations as having transparency to allow them to be cached as JPEGs instead of PNGs ([`e515f47`](https://togithub.com/bumptech/glide/commit/e515f47))
- Add a debug API that allows apps to attach a stack trace showing where a Glide request originated from. Note that this is fairly expensive and isn't meant to be used in production ([`114b885`](https://togithub.com/bumptech/glide/commit/114b885))
- Fix bugs handling resource Uris that point to resources in other applications ([`e2df4d0`](https://togithub.com/bumptech/glide/commit/e2df4d068840ea04b9e448347f062b964eb0b0b7))
##### Deprecations
- Deprecated `.transforms()`, it's replaced with the identical `.transform()` method ([`8a26a6b`](https://togithub.com/bumptech/glide/commit/8a26a6b8d93cc629d423a316b1838b841e672099))
##### Behavior Changes
- RequestListeners for requests started on background threads can now be called on a background thread ([`8f1ea5c`](https://togithub.com/bumptech/glide/commit/8f1ea5c))
##### Breaking Changes
- Subclasses of RequestBuilder/RequestOptions may be broken by [`ed20643`](https://togithub.com/bumptech/glide/commit/ed20643). Typically the breakage is relatively simple to fix, but the exact methods that need to be called or that are exposed may have changed for subclasses.
##### Build Changes
- Add support for incremental annotation processing ([#3508](https://togithub.com/bumptech/glide/issues/3508), [`a16a1ba`](https://togithub.com/bumptech/glide/commit/a16a1baa140c9b87b9a68a2a3b91047fd60ba5d8), thanks to [@technoir42](https://togithub.com/technoir42))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.8.0
->4.16.0
4.8.0
->4.16.0
Release Notes
bumptech/glide (com.github.bumptech.glide:compiler)
### [`v4.16.0`](https://togithub.com/bumptech/glide/releases/tag/v4.16.0): Glide 4.16.0 This release focuses on some build improvements and Compose. The two major Compose improvements are adding support for Compose specific transitions (e.g. cross fade) and supporting recomposition based on request state using `GlideSubcomposition`. There's also been a bunch of internal refactoring to move away from Painters to Modifier nodes based on feedback from the Compose team. This is still an alpha release of Compose, but barring unexpectedly negative feedback, the next release should be beta. This should be the last release of Glide that targets Java 7. That probably means our next release will be a major version change. #### Features - Allow passing an executor into ChromiumRequestSerializer in [https://github.com/bumptech/glide/pull/5077](https://togithub.com/bumptech/glide/pull/5077) - Allow host app to provide a way to clear all resources onStop() by [@osamaaftab](https://togithub.com/osamaaftab) in [https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145) #### Compose - Add a Transition API and a CrossFade Transition for Compose by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5235](https://togithub.com/bumptech/glide/pull/5235) - Influence layout using intrinsics in GlideNode by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5240](https://togithub.com/bumptech/glide/pull/5240) \* Log instead of throwing parsing manifests to fix compose previews by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5167](https://togithub.com/bumptech/glide/pull/5167) - Launch no more than one request per onRemembered by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5062](https://togithub.com/bumptech/glide/pull/5062) - Remove GlidePainter in favor of Modifier nodes / Flows by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5230](https://togithub.com/bumptech/glide/pull/5230) - Replace flows in GlideSubcomposition with a listener on GlideNode by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5238](https://togithub.com/bumptech/glide/pull/5238) #### Bugs - Read library glide module names from Java indexes by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5052](https://togithub.com/bumptech/glide/pull/5052) - Fix typo. anay -> any in GlideSymbolProcessor.kt. by [@trevorhackman](https://togithub.com/trevorhackman) in [https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029) - Include URL in error log by [@paulsowden](https://togithub.com/paulsowden) in [https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164) - Add `isInitialized` visible for testing method by [@paulsowden](https://togithub.com/paulsowden) in [https://github.com/bumptech/glide/pull/5163](https://togithub.com/bumptech/glide/pull/5163) - Use onIdle to avoid a race in FlowTests by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5202](https://togithub.com/bumptech/glide/pull/5202) - Add a isEquivalentTo method to correctly check equality by [@mori-atsushi](https://togithub.com/mori-atsushi) in [https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232) - Add [@RequiresPermission](https://togithub.com/RequiresPermission) to NotificationTarget by [@TWiStErRob](https://togithub.com/TWiStErRob) in [https://github.com/bumptech/glide/pull/5220](https://togithub.com/bumptech/glide/pull/5220) #### Deprecations - `placeholderOf(@Composable)` in `GlideImage` is deprecated, use `GlideSubcomposition` instead. Keep in mind that using either forces a recomposition each time the state of the image load changes. Recomposition will have a significant performance penalty in scrolling lists and should be avoided. #### Behavior Changes - Hard code disabling hardware bitmaps on O/OMR1. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5115](https://togithub.com/bumptech/glide/pull/5115) - Do not set requireOriginal on Android photo picker uris. by [@phoenixli](https://togithub.com/phoenixli) in [https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162) #### Breaking Changes #### Build Changes - Add integration tests for ksp library modules. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5054](https://togithub.com/bumptech/glide/pull/5054) - Update README.md to use https by [@simoarpe](https://togithub.com/simoarpe) in [https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058) - Use dokka to build scripts/update_javadocs.sh by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5104](https://togithub.com/bumptech/glide/pull/5104) - avif integration: Update libavif dependency by [@vigneshvg](https://togithub.com/vigneshvg) in [https://github.com/bumptech/glide/pull/5128](https://togithub.com/bumptech/glide/pull/5128) - Disable java 7 source obsolete warning. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5168](https://togithub.com/bumptech/glide/pull/5168) - Update mockito version to fix j16 compilation. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5169](https://togithub.com/bumptech/glide/pull/5169) - Switch Glide's dependencies to a version catalog. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5183](https://togithub.com/bumptech/glide/pull/5183) - Remove jetifier by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5184](https://togithub.com/bumptech/glide/pull/5184) - Add an updated proguard plugin to compile on Java 17. by [@sjudd](https://togithub.com/sjudd) in [https://github.com/bumptech/glide/pull/5185](https://togithub.com/bumptech/glide/pull/5185) - Configure Renovate in [https://github.com/bumptech/glide/pull/5186](https://togithub.com/bumptech/glide/pull/5186) - Increment ROBOLECTRIC_SDK to 19 from 18. by [@brettchabot](https://togithub.com/brettchabot) in [https://github.com/bumptech/glide/pull/5208](https://togithub.com/bumptech/glide/pull/5208) and [https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207) - AGP: Upgrade AndroidManifest.xml's package to build.gradle's namespace. by [@TWiStErRob](https://togithub.com/TWiStErRob) in [https://github.com/bumptech/glide/pull/5221](https://togithub.com/bumptech/glide/pull/5221) #### New Contributors - [@trevorhackman](https://togithub.com/trevorhackman) made their first contribution in [https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029) - [@simoarpe](https://togithub.com/simoarpe) made their first contribution in [https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058) - [@paulsowden](https://togithub.com/paulsowden) made their first contribution in [https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164) - [@phoenixli](https://togithub.com/phoenixli) made their first contribution in [https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162) - [@osamaaftab](https://togithub.com/osamaaftab) made their first contribution in [https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145) - [@brettchabot](https://togithub.com/brettchabot) made their first contribution in [https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207) - [@mori-atsushi](https://togithub.com/mori-atsushi) made their first contribution in [https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232) **Full Changelog**: https://github.com/bumptech/glide/compare/v4.15.0...v4.16.0 Note - there's been a change in the gpg key used to sign these releases. The new public key is attached ### [`v4.15.1`](https://togithub.com/bumptech/glide/releases/tag/v4.15.1): Glide v4.15.1 ##### Features ##### Compose ##### Bugs - Fix a bug in the KSP processor preventing it from recognizing or including any of Glide's library modules, or any other library module compiled with Glide's java annotation processor (com.github.bumptech.glide:compiler:X.XX.X). ([#5043](https://togithub.com/bumptech/glide/issues/5043), [`16306e8`](https://togithub.com/bumptech/glide/commit/16306e89dece9908e9ada2382f4b94b591120ea5)) ##### Deprecations ##### Behavior Changes ##### Breaking Changes ##### Build Changes ### [`v4.15.0`](https://togithub.com/bumptech/glide/releases/tag/v4.15.0): Glide v4.15.0 ##### Features - Improved support for dark mode, RTL and other theme attributes on resources loaded with Glide ([`eab4c37`](https://togithub.com/bumptech/glide/commit/eab4c3742d02ad9f173773007ffc0077b8ace98d), [`04f198e`](https://togithub.com/bumptech/glide/commit/04f198eb186bf7bc800f056a5fc104eff88b59f1), [`e6f5eec`](https://togithub.com/bumptech/glide/commit/e6f5eec4ff0d70be28e17c040ee0177edafd8da7), [`a912e0f`](https://togithub.com/bumptech/glide/commit/a912e0fba1142da4f939c12852d79bdf6192666e), [`9668157`](https://togithub.com/bumptech/glide/commit/966815704feedc6d524a9724c74b88a28ba8b40e), [`31821f5`](https://togithub.com/bumptech/glide/commit/31821f5ee0556560f5ee85552f6bfe92e52a178d), [`f73f003`](https://togithub.com/bumptech/glide/commit/f73f00344b31bdad87ea90c722174895389904e5)) - Robolectric shadow and legacy cleanup ([`4298bb7`](https://togithub.com/bumptech/glide/commit/4298bb7609eb97094406919189c5b147ab6af822), [`26a393b`](https://togithub.com/bumptech/glide/commit/26a393bb3745977ea4e75fde7dbf06d2b7fbb5b4), [`330b9a8`](https://togithub.com/bumptech/glide/commit/330b9a888e762dac3b2a0d7ec321a088fa90be8b), [`e247bb7`](https://togithub.com/bumptech/glide/commit/e247bb7f486a9c36a0f8dec2e3441195b26be727), [`c283043`](https://togithub.com/bumptech/glide/commit/c283043e722466142d026609ab2599ece6eac247), thanks [@hoisie](https://togithub.com/hoisie)) - Add support for okhttp4 ([`464002b`](https://togithub.com/bumptech/glide/commit/464002b62496fc7b4c913563ae9496ee2f7764c1)) - Add support for animated AVIF ([`895e2f7`](https://togithub.com/bumptech/glide/commit/895e2f7bb2b060cb88d460d0660a68ca0d9dec6c), [`d704c89`](https://togithub.com/bumptech/glide/commit/d704c8954ae667483afa9a8efdb8b0059e1e979e), [`62654be`](https://togithub.com/bumptech/glide/commit/62654be8ba337afa24e235d23902129f787e87d8), [`e58802e`](https://togithub.com/bumptech/glide/commit/e58802e60b36ba76ece309a2c00fb66226498655), thanks [@vigneshvg](https://togithub.com/vigneshvg)) - Add support for RGB\_565 in Avif ([`098c1a4`](https://togithub.com/bumptech/glide/commit/098c1a40d9e85398f9a16d4683c510c665664d4b), thanks [@vigneshvg](https://togithub.com/vigneshvg)) ##### Compose - Add loading and failure composable parameters so you can set a custom composable while Glide is loading or after an image load fails ([`d5fc241`](https://togithub.com/bumptech/glide/commit/d5fc241c21bfbf5c162e5109e48a4af113aa39cb)) - Make automatic transformations based on ContentScale optional ([`89472a3`](https://togithub.com/bumptech/glide/commit/89472a35df81ca8924ad31870ccd17a5a800674e), [#4943](https://togithub.com/bumptech/glide/issues/4943)) - Avoid throwing exceptions when Composables have unexpected sizes ([`6cb9486`](https://togithub.com/bumptech/glide/commit/6cb9486abc77d2fd37eda7de3f5a01c88725682d)) - Simplify the preloading API by providing a data wrapper that triggers preloading based on access ([`e63c5d2`](https://togithub.com/bumptech/glide/commit/e63c5d216520baecaaad9273699765b8c02b28be)) - Show placeholder resources in Compose previews ([`01ed966`](https://togithub.com/bumptech/glide/commit/01ed966e24ae26fac1dff9ef46b509e6d607b621), [`0f9aea2`](https://togithub.com/bumptech/glide/commit/0f9aea2979fbb5ea2cf763182fe13c9785a227d7)) ##### Bugs - Workaround VP8 decoding issues on ARC devices ([`4bfda58`](https://togithub.com/bumptech/glide/commit/4bfda588b628389134c7a1269cc8202bb69510bf)) - Improve error messages when Glide is recursively initialized or application code throws during Glide's initialization ([`00e8c23`](https://togithub.com/bumptech/glide/commit/00e8c233a1ddf65092d840e96e94a11ff9d8b26f)) - Fix a race that can result in RequestManagers leaking ([`4affb8d`](https://togithub.com/bumptech/glide/commit/4affb8d2d9f4ca15c7953ca7322c52fb1e2dab1b)) ##### Deprecations ##### Behavior Changes - Use Android's Lifecycle for androidx Fragments / Activities instead of adding a hidden Fragment ([`18bba92`](https://togithub.com/bumptech/glide/commit/18bba927a5e5fe7d07ada9667e9e503b9f0596a2)) ##### Breaking Changes ##### Build Changes ### [`v4.14.2`](https://togithub.com/bumptech/glide/releases/tag/v4.14.2): Glide v4.14.2 #### Bugs - Allow LibraryGlideModules to be processed in separate code modules when using KSP ([#4911](https://togithub.com/bumptech/glide/issues/4911), [`5245e82`](https://togithub.com/bumptech/glide/commit/5245e821e0b61a99685dc129ac83e1bb044275d2)) - Fix recomposition when properties of RequestBuilder change ([#4916](https://togithub.com/bumptech/glide/issues/4916), [`f3d6ff7`](https://togithub.com/bumptech/glide/commit/f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)) #### Behavior Changes - Proper implementation of equals/hashcode for BaseRequestOptions and TransitionOptions subclasses. Previously comparing these objects was either not symmetric or certain properties were not included in `equals()` and `hashCode()`. Code that relied on the equals/hashcode methods may break if it accidentally relies on the old bad behavior. ([`f3d6ff7`](https://togithub.com/bumptech/glide/commit/f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)) ### [`v4.14.1`](https://togithub.com/bumptech/glide/releases/tag/v4.14.1): Glide v4.14.1 #### Bugs - Fixes an incorrect dependency in the ksp modules POM file ([https://github.com/bumptech/glide/issues/4908](https://togithub.com/bumptech/glide/issues/4908), [`4d4f3eb`](https://togithub.com/bumptech/glide/commit/4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785)) ### [`v4.14.0`](https://togithub.com/bumptech/glide/releases/tag/v4.14.0): Glide v4.14.0 ##### Features - Add support for KSP (See [Download and Setup](https://bumptech.github.io/glide/doc/download-setup.html#kotlin---ksp) and [Generated API Deprecation](https://bumptech.github.io/glide/doc/generatedapi.html#this-page-and-the-generated-api-are-deprecated) for details on how to use the KSP processor and the features it does and does not support, [`2a787b9`](https://togithub.com/bumptech/glide/commit/2a787b9ba4287dd1f1efd19b1139794ee8b530b6), [`8bef56e`](https://togithub.com/bumptech/glide/commit/8bef56e2588a371363079a9e33053a9f1f663849), [`272c6c3`](https://togithub.com/bumptech/glide/commit/272c6c390938189972767168a754c01d909810bc), [`9f04fd0`](https://togithub.com/bumptech/glide/commit/9f04fd005925ffc39c3e103e9e88a1a85977bee0), [`4016448`](https://togithub.com/bumptech/glide/commit/4016448fc56179ac5fa6eaf352113617f04847a5), [`c35ad13`](https://togithub.com/bumptech/glide/commit/c35ad1351ee47314f69ad5ecc405a28fbf919298)). - Add an alpha version of a Compose integration ([Docs](https://bumptech.github.io/glide/int/compose.html)) - 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](https://bumptech.github.io/glide/javadocs/4140/integration/ktx/com.bumptech.glide.integration.ktx/index.html), [`7d9e1a3`](https://togithub.com/bumptech/glide/commit/7d9e1a3659a23c58457338ce449a37cdcddc62fb)) - Enable animated WebP Decoding on P+ using framework APIs ([`ad35f5e`](https://togithub.com/bumptech/glide/commit/ad35f5e4fcd2e34750289fa1f9820579b2661f0c)) - Allow Drawables to be loaded with specific themes ([`17cae33`](https://togithub.com/bumptech/glide/commit/17cae33fd8a966f741495e5c8604661629821006)) ##### Bugs - Register connectivity listeners on API < 24 on background threads ([`96596ae`](https://togithub.com/bumptech/glide/commit/96596ae9269e85f31d5c6a158c2ab92c16677703)) - Disable ParcelFileDescriptor rewinding in Robolectric ([`9840c91`](https://togithub.com/bumptech/glide/commit/9840c91e1b2d358d9c9367654eacd4b4719ed849)) - Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data ([`4f29ada`](https://togithub.com/bumptech/glide/commit/4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)) - Avoid duplicate notifications of Targets when an error request builder is set ([`5c232dd`](https://togithub.com/bumptech/glide/commit/5c232dd12b5710c9bb8d940313e77351a39bc6a6)) - Use the correct run reason in DecodeJob ([`1a2cfe3`](https://togithub.com/bumptech/glide/commit/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](https://bumptech.github.io/glide/doc/generatedapi.html#this-page-and-the-generated-api-are-deprecated) for details. - Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support ([`e802964`](https://togithub.com/bumptech/glide/commit/e802964ddc838b4db776d45689e9dfd6f46a5b2c)) ##### Behavior Changes - Initialize Glide's registry on a background thread to avoid some work on the main thread ([`6ba4b54`](https://togithub.com/bumptech/glide/commit/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 ([`c38ce36`](https://togithub.com/bumptech/glide/commit/c38ce36cd6827251fbc5e49b79d4e83dec8d71be)) ##### Breaking Changes ##### Build Changes - Removed Spotless ([`edf9d32`](https://togithub.com/bumptech/glide/commit/edf9d32aa4ea7c9ff7a9ddd346b6609ef9423deb)) - gradle.properties versioning cleanup ([`3633e95`](https://togithub.com/bumptech/glide/commit/3633e95064405744485ce469870bdfdb9428fbd9), [`8875d30`](https://togithub.com/bumptech/glide/commit/8875d30ee10d5432d8c872d45792678da01781eb), [`fd5e7df`](https://togithub.com/bumptech/glide/commit/fd5e7df9fc8d43522a32b3be966f5895e78a8d15), [`b8fb588`](https://togithub.com/bumptech/glide/commit/b8fb588c2dcba0792747ccc1374b923bd9e1926a), thanks [@TacoTheDank](https://togithub.com/TacoTheDank)) - Update to Gradle 7+ ([`fdbb694`](https://togithub.com/bumptech/glide/commit/fdbb694e68d117553cdc89f32932e0a129c2c75f)) - Fix some deprecation warnings in Gradle ([`31e7ce3`](https://togithub.com/bumptech/glide/commit/31e7ce34ebad92ecebb7ec9d6288be30c748b830), [`2895b35`](https://togithub.com/bumptech/glide/commit/2895b351fa6dde68ab5dc85c591f47bd4a395475), thanks [@TacoTheDank](https://togithub.com/TacoTheDank)) - Use a version of jarjar from maven rather than embedding a jar ([`faf85ec`](https://togithub.com/bumptech/glide/commit/faf85ec4351893eef81b52e982fa1067af1e8fdd)) - Removed the exif orientation example dependency in favor of our own custom images ([`6640376`](https://togithub.com/bumptech/glide/commit/66403763e8235dd2f45d1e6007cd25c62f43843f)) - Target API 32 and make Glide's tests target Java 11 ([`839899d`](https://togithub.com/bumptech/glide/commit/839899dd252c58045b992181791d2aa9412bfdc0)) - Build both the release and debug flavors again since they're each required by different gradle plugins we use ([`f86db6f`](https://togithub.com/bumptech/glide/commit/f86db6fb3003b88a405ffa437b510414a1df2af1)) - CI optimization ([`c30aee9`](https://togithub.com/bumptech/glide/commit/c30aee9f01fd10d60e4da8e36812595d30cf8abe), thanks [@Goooler](https://togithub.com/Goooler)) - Integrate Dokka to build Glide's javadocs for our documentation page ([`e5a29be`](https://togithub.com/bumptech/glide/commit/e5a29beb96d9fc8a31e9f0adc650f6b2bd09c4ec)) ### [`v4.13.2`](https://togithub.com/bumptech/glide/releases/tag/v4.13.2): Glide v4.13.2 ##### Bugs - Update AVIF dependency to fix proguard stripping code erroneously ([https://github.com/bumptech/glide/issues/4761](https://togithub.com/bumptech/glide/issues/4761), [`e2b488c`](https://togithub.com/bumptech/glide/commit/e2b488c30d27138fecc7a3adc353c66b3756147f)) ### [`v4.13.1`](https://togithub.com/bumptech/glide/releases/tag/v4.13.1): Glide v4.13.1 #### Bugs - Fix a missing dependency in the AVIF integration library ([#4751](https://togithub.com/bumptech/glide/issues/4751), thanks [@vigneshvg](https://togithub.com/vigneshvg), [@msisuzney](https://togithub.com/msisuzney), [@wangxuyang518](https://togithub.com/wangxuyang518)) ### [`v4.13.0`](https://togithub.com/bumptech/glide/releases/tag/v4.13.0): Glide 4.13.0 #### Features - Add an integration library to support decoding AVIF ([`3fd8e77`](https://togithub.com/bumptech/glide/commit/3fd8e777e2be6a3fedc5f5c5f688970a212a285f), [`f5e78ed`](https://togithub.com/bumptech/glide/commit/f5e78ed03c99a9804285360b36b04d3089c80cff), [`2b52437`](https://togithub.com/bumptech/glide/commit/2b52437cd52bbacf0376d84aa2eec5b63ba53ac4)) #### Bugs - Improve performance of canceling pending requests (https://github.com/bumptech/glide/commit/627d04af1ec5d81c23908c27e1a646806dce7b30, thanks [@yorickhenning](https://togithub.com/yorickhenning)) - Improve memory overhead when decoding byte\[] and ByteBuffer (https://github.com/bumptech/glide/commit/042f6b57d511c9d1652d280f5d385d5fef071647) - Avoid returning duplicate transcode classes in the registry (https://github.com/bumptech/glide/commit/ce8b5e31d7c8ee8e98725142b9c22c478f78cefd, thanks [@fightyz](https://togithub.com/fightyz)) - Avoid cancelling higher tier (usually higher resolution) preload requests when a lower tier completes (https://github.com/bumptech/glide/commit/4733d1d3309e0f9af1e751f266c5fb0f9fd3a9ce) - Decrease the maximum FD size limit for certain devices to avoid native crashes ([`808a685`](https://togithub.com/bumptech/glide/commit/808a685f3c538621d5dfecd9928d2f75a4b7f68e)) - Fix memory leak caused by unusual activity/fragment lifecycle interactions ([`8bebf71`](https://togithub.com/bumptech/glide/commit/8bebf71e80c2cd1f260d919e6b0697436da6e302)) - Fix decoding videos from assets ([`52a8cf8`](https://togithub.com/bumptech/glide/commit/52a8cf84a9c10123777db805b235bf47e18ec234)) #### Deprecations - Deprecate .thumbnail(float) to simplify the thumbnail logic, particularly around request listeners. The same behavior can be easily reproduced by using .thumbnail() with a RequestBuilder on which you set size multiplier. (https://github.com/bumptech/glide/commit/aa23eedb79196c29c61b366d8c9b93c34564fe09) #### Behavior Changes - Set the default color space to null instead of SRGB (https://github.com/bumptech/glide/commit/ce6852d372b2b6fe6d52fe039b7003b1891a8435, https://github.com/bumptech/glide/commit/9dc1f608540039c29931c22e7c7512caa842fe90, thanks [@skyinu](https://togithub.com/skyinu)) - Fallback to decoding data from source if possible when writing the source to the disk cache fails (https://github.com/bumptech/glide/commit/755c39fb1ff49895ada9f13d808fa46153112980) - Avoid using deprecated APIs for detecting connectivity state on API 24+ ([`dbdae56`](https://togithub.com/bumptech/glide/commit/dbdae568a37e9aabdab4ceb0ab9c7294de53861d), [`833ef21`](https://togithub.com/bumptech/glide/commit/833ef21d4edd9f907cecbdc9e780fc88058bf66f)) - Added support for detecting animated webp's to Glide's ImageHeaderParser ([`42654b2`](https://togithub.com/bumptech/glide/commit/42654b298ebf2d2931a1b6d099f9f2b901dc37b1)) #### Breaking Changes #### Build Changes - Bump Gradle version once, then replace gradle version with a checked internal one ([https://github.com/bumptech/glide/pull/4484](https://togithub.com/bumptech/glide/pull/4484), https://github.com/bumptech/glide/commit/9f813390646d2cdaecece8fd96fa7fd8b8605217, https://github.com/bumptech/glide/commit/15d96483d36099a1d088cef4a5bccc234fc66ec4, thanks [@EwoutH](https://togithub.com/EwoutH)) - Replace Jcenter with Maven Central (https://github.com/bumptech/glide/commit/0d3204907f09c713e9dcf104e879b4dea8c2f5f6, https://github.com/bumptech/glide/commit/87a77cea15a0eed253fabc57ff36a1f9b3556fff) ### [`v4.12.0`](https://togithub.com/bumptech/glide/releases/tag/v4.12.0): Glide 4.12.0 ##### Features - Add a [Cronet](https://developer.android.com/guide/topics/connectivity/cronet) integration library ([`ba99582`](https://togithub.com/bumptech/glide/commit/ba995829f495379df82653bc07542006c15f4cb9), [`ff29849`](https://togithub.com/bumptech/glide/commit/ff2984963cbf0f31e374228c7f702f27b5753336), [`114251e`](https://togithub.com/bumptech/glide/commit/114251e6ce43fb67ca1528a0f24dc3c7e73eb0bf), [`1dd0576`](https://togithub.com/bumptech/glide/commit/1dd0576f8d133e26a525a746b2454d1ee5c74762), [`3d54ef5`](https://togithub.com/bumptech/glide/commit/3d54ef50ea4fa41694695971b7d858435c784057)) - Add support for width/height to the SvgDecoder in the sample app ([@chggr](https://togithub.com/chggr), [`5a814a1`](https://togithub.com/bumptech/glide/commit/5a814a1ca472c6a174cefec7c2cb60a66a53321c)) - Add a thumbnail method that takes a list of RequestBuilders so that you don't have to nest a long series of requests ([`67b01f6`](https://togithub.com/bumptech/glide/commit/67b01f62c0e98bb4f517708128be3107b22367cb)) - Add a .error() method that takes a model to more easily start a fallback request. There's a bit of nuance with how this is treated, so if you use it, please read the javadoc carefully ([`d1aacb5`](https://togithub.com/bumptech/glide/commit/d1aacb5e116a94f70b7f5e4531ece93ab08a4cd4), [`e442557`](https://togithub.com/bumptech/glide/commit/e442557fc5ff640e9988c850bfe4d7be73c09b18)) ##### Bugs - Hardcode disallowed device models for hardware Bitmaps ([`0647c41`](https://togithub.com/bumptech/glide/commit/0647c410a0a6dc918f56ff3a4105557dc5313477), [`90a657b`](https://togithub.com/bumptech/glide/commit/90a657b6591fb97fc47a8444ab778a348cef0fcb), [`ddb3934`](https://togithub.com/bumptech/glide/commit/ddb3934a3d1f43dd184b3b9534a8e621fabff713)) - Fix flickr sample by allowing non-https urls ([@landicefu](https://togithub.com/landicefu), [`b2a361a`](https://togithub.com/bumptech/glide/commit/b2a361a8faf3ba56d433bb476b892672911dfaa2)) - Fix a verificatio nerror in ParcelFileDescriptorRewinder on API levels < 21 ([@mkj-gram](https://togithub.com/mkj-gram) , [`5b117b3`](https://togithub.com/bumptech/glide/commit/5b117b315a3bd90ae96d7eda61badb94e78c3613)) - Fix never returning larger size keys in Flickr sample ([@valentinilk](https://togithub.com/valentinilk), [`78ecfd2`](https://togithub.com/bumptech/glide/commit/78ecfd2212015d0ad650562652dfe44b76409789)) - Fix bugs caused by items changing sizes while in Glide's LruCache ([`5090b6d`](https://togithub.com/bumptech/glide/commit/5090b6d004fabbc0ae50e0295fd50e2f13cb6357)) - Fix annotation processor with more than 5 library modules on some platforms ([#4106](https://togithub.com/bumptech/glide/issues/4106), [`7cc865a`](https://togithub.com/bumptech/glide/commit/7cc865ac1a0141707aa3318bcd9b0250594d7464)) - Fix ConcurrentModificationException due to race in Glide's trimMemory method ([#4162](https://togithub.com/bumptech/glide/issues/4162), [`cce9375`](https://togithub.com/bumptech/glide/commit/cce9375713d989cdd0958890b277150e61374135)) - Note that RequestListener.onLoadFailed's model is Nullable ([@opayen](https://togithub.com/opayen), [`621e2d5`](https://togithub.com/bumptech/glide/commit/621e2d5ba6ee563f396c0b46521b3ce22fd8d226)) - Fix an IllegalArgumentException in GifFrameLoader if the GIF is started before it's visible ([@dalinaum](https://togithub.com/dalinaum), [`1ae9a2a`](https://togithub.com/bumptech/glide/commit/1ae9a2af4e52afbeb4a9927fb535481cf39d7c21)) - Avoid adding both support and non-support RequestManagers when Glide is used with a FragmentActivity as both a FragmentActivity and a regular Activity ([`8f354dc`](https://togithub.com/bumptech/glide/commit/8f354dc527b46a69a47713e6e625cee2750eb6a0)) - Avoid a memory leak when starting RequestManagers in some cases ([`14a0e1a`](https://togithub.com/bumptech/glide/commit/14a0e1acd07d76bc161de6d211f9cd7484918f61)) - Workaround a JDK bug triggered sometimes by Registry ([`6aa7ad2`](https://togithub.com/bumptech/glide/commit/6aa7ad274ac6ec586997efcf0d51dd2091e8fadc)) - Progress on some workarounds to avoid obscure Hardware Bitmap issues on versions of Android< P ([`edd96d8`](https://togithub.com/bumptech/glide/commit/edd96d80024a6a3cf2f6966664ff8543006967bb), [`8584b45`](https://togithub.com/bumptech/glide/commit/8584b450f3af6c18e0393a3bff015a62a08d5eb5), [`a3a3a65`](https://togithub.com/bumptech/glide/commit/a3a3a6573addd83a5be031bbd55d29e7514ca446), [`b0a7efe`](https://togithub.com/bumptech/glide/commit/b0a7efecf54723506bcaac2d801e29845f04f229), [`7d7042c`](https://togithub.com/bumptech/glide/commit/7d7042c4f14d0f825f49183cd840ea22525bdf14), [`b451065`](https://togithub.com/bumptech/glide/commit/b451065702ff452349f3f08deb2f937fb3a83ab5)) - Avoid claiming annotations in Glide's processor ([@cushon](https://togithub.com/cushon), [`e9e5a2e`](https://togithub.com/bumptech/glide/commit/e9e5a2e0948ef1a8152953fc3f4de58f979b23b2)) - Fix issues with clone/autoclone in RequestBuilder ([`332807a`](https://togithub.com/bumptech/glide/commit/332807aed4641967ef47cf3a1a61e57b0689aa17), [`11530fd`](https://togithub.com/bumptech/glide/commit/11530fd76903ea4c6b63d5b0697b42af6393476b)) - Fix a bug where we could decode partial images for large PNG files where obtaining the metadata caused us to skip past the limit of our buffer (danfang@, [`2b61482`](https://togithub.com/bumptech/glide/commit/2b61482baa90175e0efdf4ec90f06a5051e1b370)) - Make sure to rethrow in our exception handling streams to workaround an infinite loop in ExifInterface ([`59ec98c`](https://togithub.com/bumptech/glide/commit/59ec98c505c17b3efa882522c3312022d1ca88da)) - Reduce the number of stat() syscalls in Glide's startup ([`5acc99f`](https://togithub.com/bumptech/glide/commit/5acc99f8fc7e772aeef8aa959ff2a9c203ab1aa6)) ##### Deprecations ##### Behavior Changes - Better http status codes in HttpUrlFetcher failures ([`efe8023`](https://togithub.com/bumptech/glide/commit/efe8023aed474e4bf1a596faf15ca1e4c5f9e34f)) ##### Breaking Changes ##### Build Changes - Add a Gradle Wrapper Validation Github Action ([@JLLeitschuh](https://togithub.com/JLLeitschuh), [`d75bb30`](https://togithub.com/bumptech/glide/commit/d75bb3070797daaeae95be90af1e8c72084cdb1a)) - Removed Monkeyrunner ([`5aa0b4f`](https://togithub.com/bumptech/glide/commit/5aa0b4f8e9d4c5b468b39db33c7e6eb213765206)) - Update ExifInterface version to 1.2.0 ([`85868bd`](https://togithub.com/bumptech/glide/commit/85868bdb31b393e85c8c97c1465f13d47872d7ab)) - Switch from travis-ci to Github actions for presubmits ([`dbdb62c`](https://togithub.com/bumptech/glide/commit/dbdb62c4cb1ee4c0448c64e10398435553351d1a)) ### [`v4.11.0`](https://togithub.com/bumptech/glide/releases/tag/v4.11.0): Glide 4.11.0 #### Features - Add a thread timeout for Glide's threads to reduce memory when Glide is infrequently used in an application ([`db3acef`](https://togithub.com/bumptech/glide/commit/db3acef)) - Add getters to Bitmap Pool for cache statistics ([`1382e56`](https://togithub.com/bumptech/glide/commit/1382e56), thanks to vtsuei@) - Add methods to concurrent integration libraries that allow releasing resources back to Glide's pool ([`2777657`](https://togithub.com/bumptech/glide/commit/277765705)) - Allow decoding videos from ByteBuffers so that remote videos can be decoded when using a disk cache strategy other than the default ([`9190698`](https://togithub.com/bumptech/glide/commit/9190698), [#4021](https://togithub.com/bumptech/glide/issues/4021)) #### Bugs - Improve ModelLoader error text ([`83ba102`](https://togithub.com/bumptech/glide/commit/83ba102)) - Fix errors with thumbnail loaders that could cause flashing to placeholders ([`690f815`](https://togithub.com/bumptech/glide/commit/690f815)) - Fix an exception using Arrays.addAll on some devices/versions of Android ([`42d3f07`](https://togithub.com/bumptech/glide/commit/42d3f07)) - Work around framework bug that breaks heic/heif decoding on Android Q for applications that opt in to legacy storage or request ACCESS_MEDIA_LOCATION ([`1c51b24`](https://togithub.com/bumptech/glide/commit/1c51b24)) - Improve hardware bitmap use on P+ where more file descriptors are available ([`e8c841c`](https://togithub.com/bumptech/glide/commit/e8c841c)) - Avoid removing caller added listeners in GlideFutures ([`0acd87c`](https://togithub.com/bumptech/glide/commit/0acd87c)) - Avoid propagating unexpected callbacks from cancelled or failed model loaders ([`7e750ca`](https://togithub.com/bumptech/glide/commit/7e750ca)) - Switch to the support exif library to avoid spurious logs ([`bd6f894`](https://togithub.com/bumptech/glide/commit/bd6f894), [#3851](https://togithub.com/bumptech/glide/issues/3851)) - Fix deadlock when recursively clearing resources, typically GIFs ([`100ac4a`](https://togithub.com/bumptech/glide/commit/100ac4a)) #### Deprecations #### Behavior Changes - Allow decoding files via FileDescriptors when all other types fail so that files with headers exceeding the buffer size can be decoded (typically DNGs with metadata at the end of the file ([`9281d8e`](https://togithub.com/bumptech/glide/commit/9281d8e), thanks to timurrrr@) #### Breaking Changes #### Build Changes ### [`v4.10.0`](https://togithub.com/bumptech/glide/releases/tag/v4.10.0): Glide 4.10.0 ##### Features - Added a Mocks library to mock GlideExecutor in unit/emulator tests ([`e021f6b`](https://togithub.com/bumptech/glide/commit/e021f6bf83c909a7511c8182cce0af9c58912834)) - Added an integration library to integrate with [Guava's ListenableFuture class](https://togithub.com/google/guava/wiki/ListenableFutureExplained) ([`9fb1036`](https://togithub.com/bumptech/glide/commit/9fb1036645ec4e7cb159e7ca215f85375d8e4f67)) - Add granular options for rounded corners ([`f36a9fa`](https://togithub.com/bumptech/glide/commit/f36a9fa9182227d7cebb3b5eaa6cc26e7d26aea5), thanks to dlos@) - Include day/night mode in resource id cache keys ([`1b391c4`](https://togithub.com/bumptech/glide/commit/1b391c42f22e967c070a6a105b1e37730ab6ea6e)) - Add an API that can be called on Glide manually to clear memory, especially when apps are backgrounded ([`8a094e9`](https://togithub.com/bumptech/glide/commit/8a094e972e686ddd1223371c268f0a4758e0b1ef), thanks to mikewallstedt@) - Add simple support for wide gamut color spaces ([`15a21b1`](https://togithub.com/bumptech/glide/commit/15a21b125d0d131df7bc405a947e69b4d40709ae), [`7910f68`](https://togithub.com/bumptech/glide/commit/7910f68b31c5f3fb465a2834b6b579464ef0f1c6)) - Release more memory in the background on M+ ([`525e7ba`](https://togithub.com/bumptech/glide/commit/525e7ba82ec883fb518087879269836f888bd584)) - Support Fragments not hosted by Acitivities ([`71359c7`](https://togithub.com/bumptech/glide/commit/71359c7e385dc7d287f0da5d9e6d533ca41c76e4), thanks to Daniel Tomasiewicz) - Handle contexts with null application contexts ([`31b501d`](https://togithub.com/bumptech/glide/commit/31b501d1955a7bbc1d3a6ed92307a2aa8c43e392), thanks to Daniel Tomasiewicz) ##### Bugs - Fixed incorrect downsampling for rotated images when using Target.SIZE_ORIGINAL ([`79dac0d`](https://togithub.com/bumptech/glide/commit/79dac0d1f522cab3d254f0fb91264e06e09568c6), thanks to sonyamollinger@) - Fixed returning negative byte values converting ByteBuffers to InputStreams ([`24f9c28`](https://togithub.com/bumptech/glide/commit/24f9c28eadc0a54d034bd0b75b4b3d7809f3c3b6), thanks to sonyamollinger@) - Make sure to cancel all preload requests in `cancelAll()` ([`047c22d`](https://togithub.com/bumptech/glide/commit/047c22d77ebb497db29cf329c2388274ee413f20), thanks [@paynemiller92](https://togithub.com/paynemiller92)) - Fixed a series of concurrency bugs introduced by allowing requests to start on background threads ([`bee6348`](https://togithub.com/bumptech/glide/commit/bee634818cff229570d0fd392130cd76ea2c3639), [`5cccdfb`](https://togithub.com/bumptech/glide/commit/5cccdfba8bbced57669629f93c92a59eb0439382), [`01ea6a5`](https://togithub.com/bumptech/glide/commit/01ea6a544d6159ed986e4f8628a4d962a7aa520d), [`b2a46ef`](https://togithub.com/bumptech/glide/commit/b2a46ef7a385abd5df38ee11b8be85868768739e), [`6dc03d8`](https://togithub.com/bumptech/glide/commit/6dc03d84d5a009e6a4535381f5b3ec8aeced2912), [`4de2cda`](https://togithub.com/bumptech/glide/commit/4de2cda0a2a5ed08273b11b8796c2c2d1327e788), [`b96b000`](https://togithub.com/bumptech/glide/commit/b96b00096607cee23763e4dd049a297d85b89911), [`8907122`](https://togithub.com/bumptech/glide/commit/890712279a997ded1b22d64ea6059c911b2f8a55), [`53438b9`](https://togithub.com/bumptech/glide/commit/53438b90f982d27652c2bae7cd9daf9be8d5a03a)) - Make sure the specified numbers of threads are actually used in the animation executor ([#3575](https://togithub.com/bumptech/glide/issues/3575), [`ac4aa53`](https://togithub.com/bumptech/glide/commit/ac4aa53c6b8e4f7fa4b014ee84b858610106ec4e), thanks to [@yuriy-budiyev](https://togithub.com/yuriy-budiyev)) - Avoid blinking when calling `RequestManager#pause` when the thumbnail portion of a request is complete the full portion is still running ([`2f56153`](https://togithub.com/bumptech/glide/commit/2f561534cd49171d0e372f1c613d1aa4ddcae36d)) - Make it less likely to mix support and non-support fragments ([`2193306`](https://togithub.com/bumptech/glide/commit/219330630652a6d9bd088c0a7e971cf796872de1), thanks to [@limuyang2](https://togithub.com/limuyang2)) - Avoid downsampling incorrectly in FitCenter and CenterInside when there was an exact power of 2 match in one dimension but not the other ([`3df5445`](https://togithub.com/bumptech/glide/commit/3df54453089c5ec02af552c713d5907985aee12a)) - Always use orientation corrected sizes in `Downsampler` ([#3673](https://togithub.com/bumptech/glide/issues/3673), [`ebdf8be`](https://togithub.com/bumptech/glide/commit/ebdf8beb59df8d62c0a978ad967098dae8f666cf)) - Fix transparency in GifDecoder when using RGB\_565 ([`29c553d`](https://togithub.com/bumptech/glide/commit/29c553df470401211dd080c2b3c8b69916e7ea25), thanks to [@lihongyu](https://togithub.com/lihongyu)) - Handle security exceptions trying to open MediaStore Uris when applications are given access to a MediaStore Uri via an Intent ([#3504](https://togithub.com/bumptech/glide/issues/3504), [`9c48b48`](https://togithub.com/bumptech/glide/commit/9c48b48eb17d8d1c005352730d66d0dc85da5efe)) - Fix an unused AnimationExecutor ([`7bb6f11`](https://togithub.com/bumptech/glide/commit/7bb6f11c43c245a4e150d93d293a40c75fe99796), thanks to [@phxnirvana](https://togithub.com/phxnirvana)) ##### Deprecations - Deprecate method to set custom tags in `CustomViewTarget` ([`c8d646e`](https://togithub.com/bumptech/glide/commit/c8d646ebf857a676a6b682b5e78d382c52b8c5ab)) ##### Behavior Changes - Custom tags in `CustomViewTarget` are now ignored because they cause Glide to ignore calls to `clear()` ([`c8d646e`](https://togithub.com/bumptech/glide/commit/c8d646ebf857a676a6b682b5e78d382c52b8c5ab)) ##### Breaking Changes ##### Build Changes - Updated target SDK to 28 ([#3880](https://togithub.com/bumptech/glide/issues/3880), thanks to [@prempalsingh](https://togithub.com/prempalsingh)) - Disable BuildConfig generation ([`4039981`](https://togithub.com/bumptech/glide/commit/4039981e719071473fa66515027188bdb71313ad), thanks to [@technoir42](https://togithub.com/technoir42)) - Update Truth ([`5bb4691`](https://togithub.com/bumptech/glide/commit/5bb469166d49ddb49d7e164fded2b58b48d45916), [`cd37a54`](https://togithub.com/bumptech/glide/commit/cd37a54f076392402af6df7b80bda07d96e012c7), thanks to [@cpovirk](https://togithub.com/cpovirk)) - Migrated Glide to androidx ([`d8278f4`](https://togithub.com/bumptech/glide/commit/d8278f43a94484f20822170b71ac7b66269a2aa6)) - Update OkHttp to 3.12.1 ([`f3fafcd`](https://togithub.com/bumptech/glide/commit/f3fafcd3cb93e384263434b19e72ad926c249188)) ### [`v4.9.0`](https://togithub.com/bumptech/glide/releases/tag/v4.9.0): Glide 4.9.0 ##### Features - Allow applying RequestOptions directly in a RequestBuilder without the generated API ([`ed20643`](https://togithub.com/bumptech/glide/commit/ed20643)) For example previously to apply centerCrop you'd have use a static method and `apply()`: ```java Glide.with(fragment) .load(url) .apply(centerCropTransform()) .into(imageView); ``` Or use the generated API and the annotation processor: ```java GlideApp.with(fragment) .load(url) .centerCrop() .into(imageView); ``` After this change, even without the generated API/annotation processor you can access standard RequestOptions methods directly: ```java Glide.with(fragment) .load(url) .centerCrop() .into(imageView); ``` The generated API is still required for API extensions and to include integration libraries. Hopefully this makes it easier for users who do not include integration libraries and for developers of libraries that are currently unable to use the generated API to use Glide. - Add Global/Activity/Fragment scoped RequestListeners ([`37127f0`](https://togithub.com/bumptech/glide/commit/37127f0)) - Add a CustomTarget class to make it easier to reduce some non-essential boilerplate when implementing custom `Target`s. onLoadCleared still must be implemented by subclasses of CustomTarget ([`b3b2d7a`](https://togithub.com/bumptech/glide/commit/b3b2d7a)) - Support loading resources from dynamic modules ([#3308](https://togithub.com/bumptech/glide/issues/3308), [`b57ef34`](https://togithub.com/bumptech/glide/commit/b57ef34), thanks to [@SUPERCILEX](https://togithub.com/SUPERCILEX)) - Add a varargs `.transform()` method to replace the equivalent `.transforms()` method ([#2875](https://togithub.com/bumptech/glide/issues/2875), [#3365](https://togithub.com/bumptech/glide/issues/3365), [`8a26a6b`](https://togithub.com/bumptech/glide/commit/8a26a6b8d93cc629d423a316b1838b841e672099), thanks to [@aleien](https://togithub.com/aleien)) - Make proguard rules consumable by users of the library ([`f7d8604`](https://togithub.com/bumptech/glide/commit/f7d8604), thanks to [@rehlma](https://togithub.com/rehlma)) - Stop forcing all requests to be posted to the main thread to avoid unnecessary UI thread work and avoid delays caused by UI thread processing time for images loaded on background threads ([`8f1ea5c`](https://togithub.com/bumptech/glide/commit/8f1ea5c)) - Add Animatable2Compat callbacks to GifDrawable so that users can be notified when a GIF animation with a non infinite loop count finishes ([#3438](https://togithub.com/bumptech/glide/issues/3438), [`a150301`](https://togithub.com/bumptech/glide/commit/a150301), thanks to [@AnwarShahriar](https://togithub.com/AnwarShahriar)) ##### Bugs - Fixed an issue where different types of requested resources (Bitmap vs Drawable etc) could share a cache key ([`cad83d2`](https://togithub.com/bumptech/glide/commit/cad83d2)) - Work around an odd compiler bug creating new `ArrayList`s from other collections on some devices/versions of Android ([#3296](https://togithub.com/bumptech/glide/issues/3296), [`2ca790a`](https://togithub.com/bumptech/glide/commit/2ca790a)) - Add Nullable/NonNull annotations to LazyHeaders.Builder ([#3446](https://togithub.com/bumptech/glide/issues/3446), [`d6345fb`](https://togithub.com/bumptech/glide/commit/d6345fbbf19f9eb8434587f76a5c38e2232149cf), thanks to [@r-ralph](https://togithub.com/r-ralph)) - Add a transformation to rotate images (other than from EXIF) ([`1878585`](https://togithub.com/bumptech/glide/commit/1878585429e0579bfd1c2ca8af12a831fb23903d), thanks to [@Gnzlt](https://togithub.com/Gnzlt)) - Fix a race that could lead to doing useless work in MultiModelLoader after cancellation ([`3c9f92f`](https://togithub.com/bumptech/glide/commit/3c9f92f)) - Fix a bug in SizeConfigStrategy that could lead to a returned Bitmap having an incorrect config ([`be51b4e`](https://togithub.com/bumptech/glide/commit/be51b4e)) - Avoid classifying all images with non-0 exif orientations as having transparency to allow them to be cached as JPEGs instead of PNGs ([`e515f47`](https://togithub.com/bumptech/glide/commit/e515f47)) - Add a debug API that allows apps to attach a stack trace showing where a Glide request originated from. Note that this is fairly expensive and isn't meant to be used in production ([`114b885`](https://togithub.com/bumptech/glide/commit/114b885)) - Fix bugs handling resource Uris that point to resources in other applications ([`e2df4d0`](https://togithub.com/bumptech/glide/commit/e2df4d068840ea04b9e448347f062b964eb0b0b7)) ##### Deprecations - Deprecated `.transforms()`, it's replaced with the identical `.transform()` method ([`8a26a6b`](https://togithub.com/bumptech/glide/commit/8a26a6b8d93cc629d423a316b1838b841e672099)) ##### Behavior Changes - RequestListeners for requests started on background threads can now be called on a background thread ([`8f1ea5c`](https://togithub.com/bumptech/glide/commit/8f1ea5c)) ##### Breaking Changes - Subclasses of RequestBuilder/RequestOptions may be broken by [`ed20643`](https://togithub.com/bumptech/glide/commit/ed20643). Typically the breakage is relatively simple to fix, but the exact methods that need to be called or that are exposed may have changed for subclasses. ##### Build Changes - Add support for incremental annotation processing ([#3508](https://togithub.com/bumptech/glide/issues/3508), [`a16a1ba`](https://togithub.com/bumptech/glide/commit/a16a1baa140c9b87b9a68a2a3b91047fd60ba5d8), thanks to [@technoir42](https://togithub.com/technoir42))Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.