Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 6.25 KB

CHANGELOG.md

File metadata and controls

53 lines (43 loc) · 6.25 KB

Change Log

Full Changelog

Features

  • Add an API to pause all requests for a given Activity or Fragment to allow callers to manually reduce memory when their Fragment or Application is backgrounded (@kurtisnelson, 09e33a2133eb1d4005b227439c0c53c9c4e8c89b)
  • Fully support Bitmap re-use for RGBA_F16 Bitmaps. Previously Glide supported decoding RGBA_F16 Bitmaps, but would not re-use any stored in the BitmapPool when doing so (cc0288c3b4bfb82a109a3f279af52c57fc5e1499)
  • Support decoding Videos from resources as AssetFileDescriptors (6e9866b5a19d06625006a9a8c605db21047df74b)
  • Added support for the MediaMetadataRetriever#getScaledFrameAtTime method added in OMR1 to marginally reduce memory usage when decoding video frames (ded8f77c9f2471e3c3413aa234656df8cf72dd2f)
  • Support transcoding BitmapDrawables to byte[]s (015d2659a9ea7438ab72b94500a0921f8ff35aa3)

Bugs

  • Cleaned up old and incorrect @TargetApi annoatations (@SUPERCILEX, 67783961c71639871cc3687894976e6caeb6609e)
  • Added @Nullable and @NonNull annotations to many of Glide's APIs (@SUPERCILEX, dc12b60c8f0a21eb9b3ab2164471c93d2e20ae25, c3dafde00a061bafcd43a739336ca3503af13a7d, 0cffd1da977e9ca334032ebc1d798213a177aab7, f541b65e596a49d252ba6b80d3b05a111ce93461, 36e0b802c3a1e564caf230b351a6438fa32100ac, 650bb7770d08b279c2a7f00e25337618da54f7f3, bd2f21595d3404e6aadf1f4333bef369509c4a56, e35a73b4e78f2f05dc5c1163b8083ac1b662b02f, f37ced1512f7eabf37f6c93b1b7ffb32c3629b72, bb96b633174184965cd1bdf9027ef3843f59c54f, 276d4ff4bdce85763c985c90a87ea5e858a1ffe4, c3107801dab8ccbe121157bee7dba29b7d9723e6, )
  • Fixed a case where restarting an identical request with skipMemoryCache(true) would complete the load from the memory cache (#2663, 3dc1d18da75b44d8d97f4161fe0d330e4993e537)
  • Fixed decoding interlaced and downsampled GIFs as static images (#2698, b64f23de2a7ba38fceac1cda85f05158e80132f9)
  • Added more models to the list of devices requiring a lock when decoding or drawing Bitmaps (@strooooke, #738, c809f7ec03bbfc2c529f2c211cfc644c2073aab0, e923554b10fa9625f4fa6fe706f3d5a553843ab9)
  • Fixed a race condition where starting multiple loads simultaneously the first time any request is made for a given model and resource could lead to NPEs (#2708, d427cbd33206cbcc88ac4a0f0c29ef831d4bb5b5)
  • Make the annotation processor tests pass on Windows (@SUPERCILEX, #2709, 2b4be8b8c210abb34740f0778434679b644a6525)
  • Fix NPE and RuntimeExceptions thrown in DefaultConnectivityMonitor on some devices (c902730b75085cecdd40cd5817453d8af0eff4e9)
  • Only trim to half of the memory cache maximum size, not the current size, when background the app (@kurtisnelson, 429b7e2d9854da549eb0b852e2e08de176f05fbf)
  • Fix a StateVerifier exception thrown when ResourceEncoder implementations unexpectedly throw exceptions while writing resources to Glide's disk cache (6c7cf3f8cae998469a7e7df8c70c459311479a38)
  • Fix an NPE error message when ResourceDrawableDecoder fails to decode an image (d522ac7249ca1bf71f6de30e62d71a1faa8d4c4c)
  • Fix an IllegalStateException if a request using .error() is cleared while the error request is running (#2767, 9c70aa5f92f523c6bac29628554fdde5428e0cdd)
  • Cleaned up a number of accessor classes generated by unnecessarily strict visibility in inner classes (@TWiStErRob, e02969417a75048af0fcb61c5fbf6ea94bd2c4aa)
  • Updated OkHttp and removed a no longer necessary workaround for ClassCastExceptions thrown by the Android framework on O (#2355, 642b2dc431e54cb677088e934743d78f1ad84810)
  • Added missing annotations to overrides on some of Glide's generated classes (@TWiStErRob, 62d7464fb4f874897121591815ecb7503f7bc01b, 9fde00628f223e96372aeceadcb3e35a0635cb6d, d7bb6f956b34dd00ad0dbcb64f15f4b9c2fb0538)
  • Avoid throwing exceptions when LruBitmapPool was asked to provide Bitmaps with a null config (c1036c1cdc3c85827bf566e104a12ca880e26411)

Behavior Changes

  • Default to aar packaging in POMs, so @aar should no longer be required to avoid warnings about jars depending on aars (06ba3442fd8d25c943e986c2bd6c138aa4b390e3)
  • Default active resource retention to false (73759b9eb1d3b186c4deb6412137b0b1193fbd5d), but leave the option in GlideBuilder to manually enable it. Enabling active resource retention can lead to recycled Bitmap errors or Bitmap re-use bugs if applications call Bitmap.recycle() on any images loaded by Glide or mutate the contents of Bitmaps loaded by Glide.
  • Treat devices with API < 19 as having ActivityManager.isLowRam set to true (#2650, b221d4bbec138efcdb1aabd07600b7df713f9e40)

Breaking Changes

  • Removed deprecated constructors requiring Contexts in most of Glide's default Transformation (23975d933bcda7d136340b9988f2bd575065b667, 733b2e0f25a6d3ddbb4942172e92a9fe01c87363, 9bedc2b5fe5b1b2e05203af173c73f0e599a0177, 55594baf791ccb49dd5cdc256662360717b409bb, d8f6224d127b984c3ac1356d44f62126e4843d07, d840533448fd7bde528e0af7ce10c49653430c12, 2f76842b8ef9ac15c43a2c5175f23496b5a13f37, 144ac5374eb0bd11a8f8e92d7346dafac1426621, 150ebabbd7d5e8751c8678fa01418d1b1f1259da, 92d761d002da25320f2c504267f56d73b889b2d4, a6f1b1c1bef5b4e8be736c564792715266b07463)

Deprecations

Build Changes

  • Glide must be compiled against API 27 (@SUPERCILEX, #2730, 75c2a8b6d216013e7fbf797231839a8f4c82757a)
  • Glide uses v27 of the support libraries (though v26 should work as well, to use v26 of the support library, see Glide's Android SDK requirements docs page)
  • Updated to PMD 6.0.0 (@TWiStErRob, f16aef4c6ad583bafe796c7a952a0d10920c4dcd)
  • Fix a PMD failure when building with --profile or any other way in which class files didn't happen to have already been compiled (@TWiStErRob, #2776, fd73179166b15af246769c9b1ae205c65c584e5b)