Skip to content

Releases: bumptech/glide

Glide 5.0.0-rc01, Compose 1.0.0-beta01

26 Sep 17:19
Compare
Choose a tag to compare

Glide 5.0 contains no major changes from Glide 4.16 except that we now compile against Java 8 and Kotlin 1.8.

Compose

  • Add a Painter variant of the placeholder APIs in the Compose integration by @sjudd in #5296
  • Avoid modifying constraints when a scale factor can't be computed by @sjudd in #5264
  • Avoid duplicating Modifiers in GlideModifer by @sjudd in #5276
  • Finish animation ignoring cancellation. by @kanelbulle in #5279

Build Changes

Breaking Changes

  • Updated Glide to build against Java 8 and Kotlin 1.8. We may update to compile against Kotlin 1.9 before releasing 5.0 / Compose 1.0
  • 4.16 added @Nullable and @NonNull annotations to RequestListener via 60b567e. This was not mentioned in the 4.16 release notes, but it will break Kotlin implementations that make different assumptions about nullability.

Full Changelog: v4.16.0...v5.0.0-rc01

Glide Compose alpha6

03 Sep 16:37
Compare
Choose a tag to compare

We're trying something new - releasing just a dot release of the compose integration library without any changes to the rest of Glide. The new version of the compose library should continue to depend on Glide 4.16.0.

Bugs

Full Changelog: v4.16.0...compose-alpha6

Glide 4.16.0

21 Aug 07:07
Compare
Choose a tag to compare

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 #5077
  • Allow host app to provide a way to clear all resources onStop() by @osamaaftab in #5145

Compose

  • Add a Transition API and a CrossFade Transition for Compose by @sjudd in #5235

  • Influence layout using intrinsics in GlideNode by @sjudd in #5240 * Log instead of throwing parsing manifests to fix compose previews by @sjudd in #5167

  • Launch no more than one request per onRemembered by @sjudd in #5062

  • Remove GlidePainter in favor of Modifier nodes / Flows by @sjudd in #5230

  • Replace flows in GlideSubcomposition with a listener on GlideNode by @sjudd in #5238

Bugs

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 in #5115
  • Do not set requireOriginal on Android photo picker uris. by @phoenixli in #5162

Breaking Changes

  • [Late edit, sorry!]: Added @Nullable and @NonNull annotations to RequestListener via 60b567e. This will break Kotlin implementations that make different assumptions about nullability.

Build Changes

  • Add integration tests for ksp library modules. by @sjudd in #5054
  • Update README.md to use https by @simoarpe in #5058
  • Use dokka to build scripts/update_javadocs.sh by @sjudd in #5104
  • avif integration: Update libavif dependency by @vigneshvg in #5128
  • Disable java 7 source obsolete warning. by @sjudd in #5168
  • Update mockito version to fix j16 compilation. by @sjudd in #5169
  • Switch Glide's dependencies to a version catalog. by @sjudd in #5183
  • Remove jetifier by @sjudd in #5184
  • Add an updated proguard plugin to compile on Java 17. by @sjudd in #5185
  • Configure Renovate in #5186
  • Increment ROBOLECTRIC_SDK to 19 from 18. by @brettchabot in #5208 and #5207
  • AGP: Upgrade AndroidManifest.xml's package to build.gradle's namespace. by @TWiStErRob in #5221

New Contributors

Full Changelog: 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

Glide v4.15.1

13 Mar 19:03
Compare
Choose a tag to compare

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, 16306e8)

Deprecations

Behavior Changes

Breaking Changes

Build Changes

Glide v4.15.0

24 Feb 18:45
Compare
Choose a tag to compare

Features

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)
  • Make automatic transformations based on ContentScale optional (89472a3, #4943)
  • Avoid throwing exceptions when Composables have unexpected sizes (6cb9486)
  • Simplify the preloading API by providing a data wrapper that triggers preloading based on access (e63c5d2)
  • Show placeholder resources in Compose previews (01ed966, 0f9aea2)

Bugs

  • Workaround VP8 decoding issues on ARC devices (4bfda58)
  • Improve error messages when Glide is recursively initialized or application code throws during Glide's initialization (00e8c23)
  • Fix a race that can result in RequestManagers leaking (4affb8d)

Deprecations

Behavior Changes

  • Use Android's Lifecycle for androidx Fragments / Activities instead of adding a hidden Fragment (18bba92)

Breaking Changes

Build Changes

Glide v4.14.2

07 Oct 19:40
Compare
Choose a tag to compare

Bugs

  • Allow LibraryGlideModules to be processed in separate code modules when using KSP (#4911, 5245e82)
  • Fix recomposition when properties of RequestBuilder change (#4916, f3d6ff7)

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)

Glide v4.14.1

30 Sep 00:25
Compare
Choose a tag to compare

Bugs

  • Fixes an incorrect dependency in the ksp modules POM file (#4908, 4d4f3eb)

Glide v4.14.0

28 Sep 17:52
Compare
Choose a tag to compare

Features

Bugs

  • Register connectivity listeners on API < 24 on background threads (96596ae)
  • Disable ParcelFileDescriptor rewinding in Robolectric (9840c91)
  • Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29ada)
  • Avoid duplicate notifications of Targets when an error request builder is set (5c232dd)
  • Use the correct run reason in DecodeJob (1a2cfe3)

Deprecations

  • Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
  • Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964)

Behavior Changes

  • Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b54)
  • 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)

Breaking Changes

Build Changes

  • Removed Spotless (edf9d32)
  • gradle.properties versioning cleanup (3633e95, 8875d30, fd5e7df, b8fb588, thanks @TacoTheDank)
  • Update to Gradle 7+ (fdbb694)
  • Fix some deprecation warnings in Gradle (31e7ce3, 2895b35, thanks @TacoTheDank)
  • Use a version of jarjar from maven rather than embedding a jar (faf85ec)
  • Removed the exif orientation example dependency in favor of our own custom images (6640376)
  • Target API 32 and make Glide's tests target Java 11 (839899d)
  • Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6f)
  • CI optimization (c30aee9, thanks @Goooler)
  • Integrate Dokka to build Glide's javadocs for our documentation page (e5a29be)

Glide v4.13.2

04 May 21:10
Compare
Choose a tag to compare

Bugs

  • Update AVIF dependency to fix proguard stripping code erroneously (#4761, e2b488c)

Glide v4.13.1

23 Feb 20:07
Compare
Choose a tag to compare

Bugs