glide v4.11.0 Release Notes

Release Date: 2020-01-08 // over 4 years ago
  • ๐Ÿ”‹ Features

    • โž• Add a thread timeout for Glide's threads to reduce memory when Glide is infrequently used in an application (db3acef)
    • โž• Add getters to Bitmap Pool for cache statistics (1382e56, thanks to vtsuei@)
    • โž• Add methods to concurrent integration libraries that allow releasing resources back to Glide's pool (277765705)
    • ๐Ÿ‘ Allow decoding videos from ByteBuffers so that remote videos can be decoded when using a disk cache strategy other than the default (9190698, #4021)

    ๐Ÿ› Bugs

    • ๐Ÿ‘Œ Improve ModelLoader error text (83ba102)
    • ๐Ÿ›  Fix errors with thumbnail loaders that could cause flashing to placeholders (690f815)
    • ๐Ÿ›  Fix an exception using Arrays.addAll on some devices/versions of Android (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)
    • ๐Ÿ‘Œ Improve hardware bitmap use on P+ where more file descriptors are available (e8c841c)
    • Avoid removing caller added listeners in GlideFutures (0acd87c)
    • Avoid propagating unexpected callbacks from cancelled or failed model loaders (7e750ca)
    • ๐Ÿ”Š Switch to the support exif library to avoid spurious logs (bd6f894, #3851)
    • ๐Ÿ›  Fix deadlock when recursively clearing resources, typically GIFs (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, thanks to timurrrr@)

    ๐Ÿ’ฅ Breaking Changes

    ๐Ÿ— Build Changes


Previous changes from v4.10.0

  • ๐Ÿ”‹ Features

    • โž• Added a Mocks library to mock GlideExecutor in unit/emulator tests (e021f6b)
    • โž• Added an integration library to integrate with Guava's ListenableFuture class (9fb1036)
    • โž• Add granular options for rounded corners (f36a9fa, thanks to dlos@)
    • Include day/night mode in resource id cache keys (1b391c4)
    • โž• Add an API that can be called on Glide manually to clear memory, especially when apps are backgrounded (8a094e9, thanks to mikewallstedt@)
    • โž• Add simple support for wide gamut color spaces (15a21b1, 7910f68)
    • ๐Ÿš€ Release more memory in the background on M+ (525e7ba)
    • ๐Ÿ‘Œ Support Fragments not hosted by Acitivities (71359c7, thanks to Daniel Tomasiewicz)
    • ๐Ÿ– Handle contexts with null application contexts (31b501d, thanks to Daniel Tomasiewicz)

    ๐Ÿ› Bugs

    • ๐Ÿ›  Fixed incorrect downsampling for rotated images when using Target.SIZE_ORIGINAL (79dac0d, thanks to sonyamollinger@)
    • ๐Ÿ›  Fixed returning negative byte values converting ByteBuffers to InputStreams (24f9c28, thanks to sonyamollinger@)
    • ๐Ÿ‘‰ Make sure to cancel all preload requests in cancelAll() (047c22d, thanks @paynemiller92)
    • ๐Ÿ›  Fixed a series of concurrency bugs introduced by allowing requests to start on background threads (bee6348, 5cccdfb, 01ea6a5, b2a46ef, 6dc03d8, 4de2cda, b96b000, 8907122, 53438b9)
    • ๐Ÿ‘‰ Make sure the specified numbers of threads are actually used in the animation executor (#3575, ac4aa53, thanks to @yuriy-budiyev)
    • Avoid blinking when calling RequestManager#pause when the thumbnail portion of a request is complete the full portion is still running (2f56153)
    • ๐Ÿ‘‰ Make it less likely to mix support and non-support fragments (2193306, thanks to @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)
    • Always use orientation corrected sizes in Downsampler (#3673, ebdf8be)
    • ๐Ÿ›  Fix transparency in GifDecoder when using RGB_565 (29c553d, thanks to @lihongyu)
    • ๐Ÿ”’ Handle security exceptions trying to open MediaStore Uris when applications are given access to a MediaStore Uri via an Intent (#3504, 9c48b48)
    • ๐Ÿ›  Fix an unused AnimationExecutor (7bb6f11, thanks to @phxnirvana)

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ Deprecate method to set custom tags in CustomViewTarget (c8d646e)

    Behavior Changes

    • Custom tags in CustomViewTarget are now ignored because they cause Glide to ignore calls to clear() (c8d646e)

    ๐Ÿ’ฅ Breaking Changes

    ๐Ÿ— Build Changes