- 2024-07-10 - commits
- Update NDK to 26.3.11579264
- Use Java 21 for building
- Update Android Gradle plugin to 8.5.0
- Minimum SDK version increased to 21
- Add binary compatibility check
- Add support 16 KB page sizes for Android 15, fixes [(#846)](https://github. com/koral--/android-gif-drawable/pull/846)
- 2023-08-29 - commits
- Remove check for > 1 frame when seeking, fixes (#830), thanks @hgourvest for reporting
- Update dependency versions
- Update Android Gradle plugin to 8.1.1
- 2023-06-30 - commits
- Update dependency versions
- Update NDK to 25.2.9519653
- Update Android Gradle plugin to 8.0.2
- Use Java 17 for building
- Switch to upstream ReLinker and update to 1.4.5
- Update compile and target SDK to 33
- 2022-08-18 - commits
- Fix sample size not taken into account (#797) (#798)
- Stop further decoding on error (#801)
- Clear GifTextureView when removing source (#745)
- Fix negative current position (#657)
- 2022-01-17 - commits
- Limit comment maximum length (#766)
- Update dependency versions
- Update compile and target SDK to 31
Release notes were automatically generated by Shipkit
- 2021-03-08 - 1 commit by Dwaipayan Munshi - published to
- Updated Latest Version of gif-drawable in Readme.md (#765)
- 2021-02-03 - 2 commits by Karol Wrótniak - published to
- Maintenance (#749)
- have you any plan about new version giflib? like usage of realloc() in case of failure (#743)
- 2020-08-26 - 1 commit by 默默 - published to
- fix bug "Abort message: 'attempted to close file descriptor 165, expe… (#747)
- Update NDK version to 21 (#734)
- Fix artifacts when disposal to previous frame method is used
- Revert "Let's clear rasterBits if failed to read frame's header." and… (#714)
- Fix out of bounds read/write in gif decoding - #697
- Add AndroidX annotations warnings supperssion - #671
- Use relocated ReLinker - #665
- Fix double free on 0-sized images - #673
- Fix heap corruption caused by malformed images - #678
- Do not give up when image contains unknown record type - #667
- Gradle wrapper regenerated with 5.6.2
- Android Gradle plugin updated to 3.5.0
- Built-in ReLinker part replaced with complete ReLinker 1.3.1 - #636
- Android Gradle plugin updated to 3.4.1
- Gradle wrapper regenerated with 5.4.1
- Fixed setting color drawable from Java code - #606
- Fixed extraneous file descriptor closing - #600
- Fixed missing null check for NewGlobalRef - #594
- Fixed missing free of info buffer - #595
- Android Gradle plugin updated to 3.2.1
- Gradle wrapper regenerated with 4.10.2
- NDK updated to r18, minimum API level increased to 17
- Fix VerifyError on API level older than Lollipop - #570
- Gradle wrapper regenerated with 4.9
- Fix release packaging
- Kotlin updated to 1.2.51
- Compile and target SDK version updated to 28
- Android Support library updated to 27.1.1
- Android Gradle plugin updated to 3.1.3
- Gradle wrapper regenerated with 4.8.1
- Removed private FileDescriptor field usage on Android P and above
- Added explicit FileDescriptor closing
- Removed unused code in LibraryLoader
- Dropped MIPS and MIPS64 targets
- Added support for NDK r17 and newer (with optional armeabi target built using NDK < r17)
- Fixed possible race conditions in GifTexImage2D
GifDrawable
invalidation fixed - #510- SIGILL on arm CPUs without NEON fixed - #522
- Gradle wrapper regenerated with 4.6
- Kotlin updated to 1.2.30
- Android Support library updated to 27.1.0
- Gradle wrapper regenerated with 4.5.1
- Kotlin updated to 1.2.21
- Added
GifTexImage2D#getCurrentFrameIndex()
- #506
- Gradle wrapper regenerated with 4.4.1
armeabi
andmips
family targets restored - #494
- Android Support library updated to 27.0.2
- Android gradle plugin updated to 3.0.1
- Kotlin updated to 1.2.10
- Gradle wrapper regenerated with 4.4
- Build tools updated to 27.0.2
- Minimum SDK version increased to 14
- Improved bound passing to transforms - #450
- Add compound drawables animation start when
GifTextView
attached to window - #474
app:loopCount
XML attribute added toGifImageView
,GifImageButton
,GifTextView
andGifTextureView
- #176- Added
mipmap
resources support in XML attributes ofGifTextView
- Robolectric updated to 3.4
- Fixed segmentation fault for GIFs with 0-sized block in application extension - #433
- Fixed Loop count interpretation - #430
- Fixed direct byte buffer input source handling - #434
- Fixed changing input source in
GifTextureView
- #429 - Fixed InputStream reading - #442
- Android Support library updated to 26.0.1
- Android gradle plugin updated to 2.3.3
- Gradle wrapper regenerated with 4.1
- NDK version updated to r15c
- Mockito updated to 2.7.48
- Build tools updated to 26.0.1
GifDrawable
subclassing simplified - #399- Malformed input support improved - #394
GifTextureView
animation freezing fixed - #392- Android Support library updated to 25.3.1
- Android gradle plugin updated to 2.3.1
- Gradle wrapper regenerated with 3.5
- Mockito updated to 2.7.22
- Robolectric updated to 3.3.2
- Native build system changed to cmake, fixes unnecessary removed actions - #389
- JNI method ids obtaining fixed - #391
- Fixed source InputStream closing on recycle
- Added
GifTexImage2D#getDuration()
- Robolectric updated to 3.3.1
- Assertj updated to 3.6.2
- Mockito updated to 2.7.15
- Gradle wrapper regenerated with 3.4.1
- Support library dependency version updated to 25.2.0
- Unneeded debugging symbols removed, fixes - #383
- Fixed loading native library for additional ABIs on API level < 21 - #379
- Robolectric updated to 3.2.2
- Mockito updated to 2.7.0
- Gradle wrapper regenerated with 3.3
- Support library dependency version updated to 25.1.1
- Added errno text to GifIOException messages, fixes - #340
- Added missing file descriptor closing in case of open fail
- Support library dependency version updated to 25.1.0
- Gradle wrapper updated to 3.3
- Mockito updated to 2.5.5
- mockwebserver updated to 3.5.0
- Build tools version updated to 25.0.2
- fixed clearing canvas with background color
- Support library dependency version updated to 25.0.0
- Android gradle plugin updated to 2.2.2
- custom NDK buildscript replaced with
externalNativeBuild
- Gradle wrapper updated to 3.1
- Build tools version updated to 25
- compile and target SDK versions bumped to 25
- NDK version updated to 13b
- native code optimizations
- fixed
GifDrawable#getAllocationByteCount()
to return value consistent with docs (taking optional dispose to previous into account) - added
GifDrawable#getMetadataByteCount()
- #348 - added
GifAnimationMetadata#getMetadataByteCount()
- #342 - added
GifAnimationMetadata#getDrawableAllocationByteCount()
- #342
- Fixed NPE in
GifTexImage2D
finalizer when constructor threw an exception - GifLib error code propagation fixed
- Build tools version updated to 24.0.2
- Support library dependency version updated to 24.2.0
GifTexImage2D
releasing race condition fixed
- Native libraries joined into one file - reduced complexity, minimum API level increased to 9
- Disposal first frame to previous treated as disposal to background instead of ignoring - #330
- Robolectric version updated to 3.1.2
- Mutexes and conditional variables initialization and destroying error checking fixed
- Gradle wrapper updated to 2.14.1
- Build tools version updated to 24.0.1
- Support library dependency version updated to 24.1.1
LibraryLoader
visibility fixed - #333- Android gradle plugin updated to 2.1.3
- Mutex destroying in
GifTexImage2D
fixed - Erroneous
GifDrawableBuilder#options()
argument modification after callingGifDrawableBuilder#sampleSize()
fixed - Javadoc improvements
- Added passing opacity hint from
GifOptions
toBitmap
(framebuffer) inGifDrawable
- Default GCB reworked - fixes possible artifacts - #305
- Android gradle plugin updated to 2.1.2
- Gradle wrapper updated to 2.14
- Tearing in
GifTexImage2D
fixed - Compile SDK version updated to 24
- Build tools version updated to 24
- Saved state which is not instance of
GifViewSavedState
allowed by all the Gif*Views - #303 GifOptions
added introducing subsampling and opacity controlling inGifDrawable
,GifTexImage2D
andGifDecoder
- Fixed segmentation fault when decoding oversized frames - #290
- Native window redraw narrowed to dirty region only - #287
View#invalidate()
support added toMultiCallback
- #260glTexSubImage2D()
support added toGifTexImage2D
- #288- Support library dependency version updated to 23.4.0
- Build tools version updated to 23.0.3
- Android gradle plugin updated to 2.1.0
- Gradle wrapper version updated to 2.13
- Fixed possible infinite surface binding
- Added beta OpenGL support -
GifTexImage2D
- Added ability to specify a custom transformation to apply to the current Bitmap - #259
- Gradle wrapper version updated to 2.12
- Support library dependency version updated to 23.2.1
- remainder accounting in
GifDrawable#getCurrentPosition()
fixed
- Gradle wrapper version updated to 2.11
- Duplicated frame offset correction removed
- Subsampling added - #239
- Width, height and number of frames storage in recycled objects removed
- Native code cleanup
- Support library dependency version updated to 23.2.0
- Fixed regression (heap corruption if frame size is lower than canvas size) - #250
- Added
mipmap
resources support in XML attributes - ReLinker code cleanup
- Gradle wrapper version updated to 2.10
- Fixed ANR on disposing
GifTextureView
- #240 - Added
GifDecoder
for access GIF frames withoutDrawable
orView
- #206 - Upstream changes from GIFLib 5.1.2 integrated
- Fixed
ZipFile
closing on API level < 19 - #244 - Invalid offsets handling fixed to prevent OOMEs - #243
MultiCallback
now acceptsDrawable.Callback
s, not onlyView
sUnsatisfiedLinkError
worked around - #51- Support library dependency version updated to 23.1.1
- Build tools version updated to 23.0.2
- Android gradle plugin updated to 1.5.0
- Gradle wrapper version updated to 2.9
- Gradle wrapper version updated to 2.7
- Build tools updated to 23.0.1
- Android gradle plugin updated to 1.3.1
- Support library dependency version updated to 23.0.1
- compileSdkVersion updated to 23
- density is now taken into consideration when constructing
GifDrawable
from Resources - #181 - animation restarting fixed - #208, #209
GifTextureView
memory usage optimizations- native code cleaning
- loopNumber parameter added to
AnimationListener#onAnimationCompleted()
- fixes #204 - rounded corners support added - #202
- Proguard configuration is now bundled with the library - #193
- Android gradle plugin updated to 1.3.0
- fixed segfault when frame is not confined to canvas - #196, #194
- fixed relationship between drawable visibility and animation state - #195
- toolchain changed to clang
InputStream
source reading optimization- fixed support for API level 8 - #173
- fixed seeking in paused state - #180
- added missing default frame duration - #186
- Gradle wrapper version updated to 2.5
- support annotations version updated to 22.2.1
- fixed warning about attaching nameless thread on ART
- support annotations version updated to 22.1.1
- Android gradle plugin updated to 1.2.3
- fixed NPE when
GifTextureView
is constructed without attributes - fixed background artifacts - #167
- single drawable assigned to multiple views support added (
MultiCallback
) - NDK version updated to r10e
GifDrawable#setLoopCount()
added- fixed firing
AnimationListener#onAnimationCompleted()
- Gradle wrapper version updated to 2.4
Updates also contain documentation updates, typofixes, and trivial code clean-ups.