Skip to content

Version 1.0.0 🎉

Compare
Choose a tag to compare
@oprisnik oprisnik released this 15 Dec 19:16
· 3034 commits to main since this release

The version bump was overdue - the library is stable for a long time. It is used in all the major Facebook apps for years (Facebook, Messenger, Moments, Facebook Lite). On top of that it also powers a lot of non Facebook apps like Twitter, Wikipedia and Vimeo. We were careful with breaking changes for at least a year - so here we go: Version 1.0!

With this release, Fresco allows you to easily add support for more image formats and custom decoders. This is configurable using the ImageDecoderConfig class. See our sample application for a practical example.

Fresco now allows you to provide it with more semantic information about different versions and URIs of the same image. The concept is called Media Variations and it uses a media id to group different URIs that refer to the same underlying source image that might be loaded in different sizes. Fresco will try to satisfy a new request by first looking if another already cached image with the same media id exists and displaying that. See our sample application for a practical example.

We added a Debug overlay for drawees. They can show you how large the underlying image is with respect to the actually drawn screen area. This is helpful in order to screen you app for images that should be loaded at a smaller resolution. You can activate it using the DraweeConfig parameter of Fresco.initialize(...).

If you are manually dealing with CloseableReferences you might find yourself leaking memory. One can now specify UnclosedReferenceListener in order to log these leaks or crash in debug builds.

DraweeSpan and BetterImageSpan are new Spannable implementations for displaying Drawees within text.

Breaking Change

Fresco now longer has a direct dependency on the Android Support library. Instead, it expects certain part of the support library to be provided by the including application. If you do not include the Android Support Library yourself already, you will have to add the following line to your build.gradle file:

compile "com.android.support:support-core-utils:24.2.1"

With this version we have also removed methods and classes that have been marked as @Deprecated for some time. For all those cases there are new APIs that are easy to use.

Thanks

Thanks to the following for their pull requests which are included in this release: @PiotrWpl, @rigdern, @nesterov-n, @sdqhzhm, @kukuhyoniatmoko, @ghassett, @sailaway