1.4.0 — crash fixes & modernization
The first release since 1.3.1 (March 2020) — the library is active again. 🎉
This is a crash-fix and modernization release. The Java/XML public API is unchanged, so it's a drop-in update for existing consumers on minSdk 21+ (see Breaking changes).
implementation 'com.github.gcacace:signature-pad:1.4.0'
- minSdk raised from 14 to 21. The library targets AndroidX and the modern Android Gradle Plugin, whose practical baseline is API 21 (Lollipop); API 14–20 has effectively zero active-device share. No source/binary API signatures changed — consumers still on minSdk < 21 simply can't upgrade to this release.
🐛 Fixed
- Background/rotation crash Could not copy bitmap to parcel blob / TransactionTooLargeException (#178, #169, #183, #182, #187, #171). The signature is now persisted as a size-capped PNG byte[] instead of a raw Bitmap in the saved-state Bundle, so it never takes the parcel-blob path.
- Zero-bounds save crash width and height must be > 0 (#145, #179, #123) — Bitmap.createBitmap dimensions are clamped to ≥ 1px.
- Single taps didn't render a dot (#41, #131, #173, #105) — a dot is now painted for zero-length curves.
- getTransparentSignatureBitmap(true) cropped one row/column of ink (#64) — trimming now uses inclusive bounds.
- getSignatureSvg() was empty after a rotation — SVG paths are persisted alongside the PNG and restored, using the original view dimensions as the viewBox.
- SvgBuilder.build() was not idempotent (#75) — reading the SVG twice no longer duplicates the last stroke.
- Restore now honours saved state from older library versions and survives a re-save before the first layout pass.
✨ Added
- SvgBuilder.getInnerPaths() / restorePaths(String) — helpers backing SVG persistence across configuration changes.
🔧 Under the hood
- Build system revived: Gradle 6.2.2 → 8.13, AGP 3.6.1 → 8.11.1, jcenter() → Maven Central.
- Publishing moved from the discontinued Bintray pipeline to the Sonatype Central Portal (coordinate unchanged: com.github.gcacace:signature-pad).
- CI (GitHub Actions), a JUnit + Robolectric test suite, and community health files (CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, issue/PR templates) added.
See the CHANGELOG for full details and behavior notes.
Full Changelog: https://github.com/gcacace/android-signaturepad/compare/1.3.1...1.4.0
4.2.0-rc05
- Added 3 new scale modes by #2999
- Magic Kernel
- Magic Kernel Sharp 2013
- Magic Kernel Sharp 2021
- Improved pixel-by-pixel comparison metrics and added score display
- Fixed an issue where a combination of three settings could lead to file loss by #3002
- Added an option to return after saving external edits by #3003
- Added ability to write ImageToolbox processing information into image metadata by #3004
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-rc04...4.2.0-rc05
3.3.2
3.3.2(2026-07-24)
- 废弃setOnxxx方法,使用addOnxxx方法替代
- 新增StartBar和NavigationBar Bean对象
- 适配折叠屏
- 适配旋转屏幕状态栏与导航栏高度变化
4.2.0-rc04
- Added ability to preview AI Tool results before saving
- Added customizable RAW development settings
- Fixed saving to the original folder and overwriting files
- Added GMIC filters engine
- Added 3 new textures
- Added 106 new filters
- Added ability to toggle nested scroll for sheets by #2997
- Added ability to save images that are already below the size limit in the Resize by Weight tool
- Improved UI
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-rc03...4.2.0-rc04
0.87.0-rc.2
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
4.2.0-rc03
- Improved failure notifying UI
- Improved RAW decoding with LibRaw and enhanced TIFF support
- Updated AVIF coders
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-rc02...4.2.0-rc03
4.2.0-rc02
- Added search, categories and favorites to texture generation tool
- Added ability to choose deletion presets in Delete EXIF tool
- Improved Duplicate Finder with exact-only mode and detailed error reporting
- Improved resource download process by #2985
- Fixed Resize & Convert ignoring the “Always clear EXIF” setting for single images by #2989
- Improved file encryption with secure key derivation and unique nonces by #2990
- Added panorama image stitching type by #2988
- Improved UI
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-rc01...4.2.0-rc02
4.2.0-rc01
- Improved usability of long-press save menu
- Added strategies for choosing which image to keep in Duplicate Finder:
- Best quality
- Smallest file
- Newest
- Oldest
- First selected
- Added ability to export barcodes to SVG format by #2978
- Added 71 new procedural textures to the texture generator:
- Geode / Agate
- Prismatic Light
- Stained Glass
- Kelp Forest
- Frost Fern
- Liquid Crystal
- Dragon Scales
- Firefly Swarm
- Mycelium
- Kintsugi
- Carbon Fiber
- Circuit Board
- Soap Film
- Moiré Guilloché
- Snake Skin
- Terrazzo
- Galaxy Filaments
- Volcanic Obsidian
- Motherboard Heatmap
- Microscopic Diatoms
- Reaction Diffusion
- Coral Growth
- Slime Mold
- Dendritic Crystal
- Electric Arc Field
- Cloud Chamber
- Turbulent Ink
- Cellular Embryo
- Neural Garden
- Magnetic Field
- River Delta
- Lichen Colony
- Bacterial Culture
- Fluid Vorticity
- Crystal Growth
- Galactic Web
- Veined Leaf
- Porous Sponge
- Rain on Glass
- Ember Field
- Quantum Foam
- Chladni Plate
- Cymatic Rosette
- Lichtenberg Figure
- Quasicrystal
- Mandelbrot
- Burning Ship
- Julia Set
- Kaleidoscope Crystal
- Spectral Prism
- Topological Knot
- X-Ray Botanical
- Chromatophore
- Biomechanical Tissue
- Gilded Filigree
- Ancient Runes
- Solar Granulation
- Lunar Ejecta
- Ocean Currents
- Ink Wash Mountains
- Neon City
- Phyllotaxis Bloom
- Sierpiński Triangle
- Apollonian Gasket
- Hyperbolic Tiling
- Möbius Weave
- Rorschach Inkblot
- Seismic Interference
- Rayleigh–Bénard Convection
- Origami Facets
- Fiber Optic Bundle
- Fixed progress service issues by #2977
- Fixed “All files access” prompts appearing when the permission cannot be requested by #2982
- Regress: Fixed sequence number padding in filename patterns
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-beta02...4.2.0-rc01
4.2.0-beta02
- Regress: fixed cropper for some formats by #2962
- Added ability to save custom aspect ratios by #2968
- Improved multilingual text handling in PDF files by #2964
- Improved UI & optimized performance
Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.2.0-beta01...4.2.0-beta02
0.87.0-rc.1
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.