Skip to content

Releases: bumptech/glide

Glide v5.0.9

Choose a tag to compare

@falhassen falhassen released this 11 Jul 02:25
b5b428b

Removed extra . from version name.

Glide v5.0.8

Choose a tag to compare

@falhassen falhassen released this 11 Jul 00:57
93b4f47

Compose

N/A

KTX

N/A

Build Changes

  • Upgrade Glide build system to Gradle 9.4.1, AGP 8.8.0, and Kotlin/KSP 2.0.20, resolving various build and test compatibility issues.
  • Bump Glide compileSdkVersion to 37 and Robolectric to 4.16.1.
  • Bump Glide minSdkVersion to 23 to match AndroidX requirements.
  • Restore deterministic module sorting in Glide annotation processors to improve build reproducibility (Fixes #5657).
  • Fix Javadoc style issue in setMemoryCategoryInBackground that was breaking Renovate tooling (Fixes #5680).
  • Fix PMD violations in Glide.java and GlideExecutor.java (AccessorMethodGeneration and RedundantFieldInitializer).
  • Fix fragile use of TypeMirror#toString in annotation compiler.
  • Update tests to run on API 24.

Changes

ImageDecoder Support

It should be safer to use Android's ImageDecoder (introduced in Android 9.0 Pie / API 28) with Glide on Android Q (API 29) and above. Please consider trying it out, as ImageDecoder is the now preferred mechanism for decoding images in Android and may yield performance and memory usage benefits.

Several critical issues have been resolved in this release:

  • OOM/ANR Fixes: Fixed potential OutOfMemory (OOM) errors and Application Not Responding (ANR) issues when using ImageDecoder with certain input streams or when ArrayPool buffer allocation was enabled.
  • Unbounded Allocations: Fixed unbounded memory allocations when decoding bitmaps from InputStream source types.
  • Buffer Pooling: Added support for allocating ImageDecoder ByteBuffers via Glide's ArrayPool to avoid double-allocation overhead (enabled via setUseArrayPoolForImageDecoderByteBufferAllocation).
  • Direct Uri Decoding: Direct decoding of Bitmaps from Uris using ImageDecoder is now supported.
    To enable ImageDecoder in your application, configure the options in your AppGlideModule accordingly:
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
  @Override
  public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
    // Enable ImageDecoder for Bitmaps (Android Q+)
    builder.setImageDecoderEnabledForBitmaps(true);

    // Enable ImageDecoder for Uris (Android Q+)
    builder.setUriImageDecoderEnabled(true);
    
    // Enable optimized buffer pooling for ImageDecoder
    builder.setUseArrayPoolForImageDecoderByteBufferAllocation(true);
    
    // Use heap buffers for ImageDecoder with InputStreams to avoid native memory overhead
    builder.setUseHeapBufferForImageDecoderWithInputStream(true);
  }
}
  • Direct Uri Decoding: Implement UriBitmapImageDecoderResourceDecoder to allow direct decoding of Bitmaps from Uris using Android's ImageDecoder.
  • Direct Memory Decoding: Support direct memory decoding for byte buffers and arrays without stream wrapping.
  • HEIF/HEIC Detection: Add HEIF/HEIC format detection to DefaultImageHeaderParser.
  • Disk Cache Path Memoization: Add a setting to disable disk cache path name memoization in DiskLruCache to reduce retained memory.
  • ImageDecoder Buffer Pooling: Add ImageDecoder ByteBuffer allocation via ArrayPool to avoid double-allocation overhead (flag-guarded by UseArrayPoolForImageDecoderByteBufferAllocation).
  • Fix Unbounded Allocations: Fix unbounded bitmap allocations in Glide ImageDecoder when using InputStream (flag-guarded by UseHeapBufferForImageDecoderWithInputStream).
  • ImageDecoder OOM/ANR Fix: Reject unknown stream formats in InputStreamBitmapImageDecoderResourceDecoder.handles to prevent OOMs/ANRs when ArrayPool is enabled.
  • Resource Leak Fix: Fix resource leak in ByteBufferUtil.fromStream by ensuring buffers from ArrayPool are returned on exception.
  • Picker URI Support: Update isAndroidPickerUri to support new picker URI variations (like picker_get_content/ and picker_transcoded/).
  • Memory Tracking Logs: Add "GlideMemoryTracking" debug tag to trace memory overhead from scaling and cache hits.
  • Experimental Downsample Strategy: Add experimental option setCenterInsideAsDefaultDownsampleStrategy to GlideBuilder to allow using CENTER_INSIDE as the default downsampling strategy.

Full Changelog: v5.0.7...v5.0.8

v.5.0.9

Choose a tag to compare

@falhassen falhassen released this 11 Jul 02:24
b5b428b

What's Changed

  • Bump ktx and compose versions to 1.0.0-beta10, 5.0.9 version, POM dev… by @falhassen in #5721

Full Changelog: v5.0.8...v.5.0.9

Glide v5.0.7

Choose a tag to compare

@falhassen falhassen released this 19 Apr 03:18
c751c28

Compose

N/A

KTX

N/A

Build Changes

  • Add missing version bump

Changes

N/A

Full Changelog: v5.0.6...v5.0.7

Glide v5.0.6

Choose a tag to compare

@falhassen falhassen released this 18 Apr 03:22
91f33f0

Compose

  • Version bump to 1.0.0-beta08

KTX

  • Version bump to 1.0.0-beta08

Build Changes

N/A

Changes

  • Set the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See #5669
  • Stop appending requireOriginal to URIs loaded by Glide on Android R+. See #5668
  • Converting a second set of Groovy Gradle files to Kotlin DSL. See #5639
  • Migrate from Robolectric's Util.readBytes to Guava ByteStreams. See #5636

Full Changelog: v5.0.5...v5.0.6

Glide v5.0.5

Choose a tag to compare

@falhassen falhassen released this 13 Sep 00:10
ebbf7e2

Compose

  • Version bump to 1.0.0-beta08

KTX

  • Version bump to 1.0.0-beta08

Build Changes

N/A

Bugs

  • Restores GlideUrl fix for urls with IPV6 addresses fix that was accidentally reverted in 5.0.4. See #5444 for details

Full Changelog: v5.0.4...v5.0.5

Glide v5.0.4

Choose a tag to compare

@falhassen falhassen released this 01 Sep 23:03
0b79e00

Compose

  • Version bump to 1.0.0-beta07

KTX

  • Version bump to 1.0.0-beta07

Build Changes

N/A

Bugs

  • Fixes compiler module missing in published artifacts. See #5591.

Full Changelog: v5.0.3...v5.0.4

Glide v5.0.3

Choose a tag to compare

@falhassen falhassen released this 31 Aug 21:55
115f127

Compose

  • Version bump to 1.0.0-beta06

KTX

  • Version bump to 1.0.0-beta06

Build Changes

N/A

Bugs

  • Fixes missing gif_decoder modules. See #5580.

Full Changelog: v5.0.2...v5.0.3

Glide v5.0.2

Choose a tag to compare

@falhassen falhassen released this 31 Aug 20:38
66b4cc1

Compose

  • Version bump to 1.0.0-beta05

KTX

  • Version bump to 1.0.0-beta05

Build Changes

N/A

Bugs

  • Fixes missing gifdecoder and disklrucache modules. See #5580.

Full Changelog: v5.0.1...v5.0.2

Glide v5.0.1

Choose a tag to compare

@falhassen falhassen released this 31 Aug 19:33
29407bc

Compose

  • Version bump to 1.0.0-beta04

KTX

  • Version bump to 1.0.0-beta04

Build Changes

N/A

Bugs

  • Doesn't fix missing gifdecoder and disklrucache modules. See #5580. Going to go to 5.0.2.

Full Changelog: v5.0.0-rc05...v5.0.1