NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Flutter widgets and image providers for ThumbHash image placeholders. Show instant lossy previews while full images load.
Last release 2 months ago
01 Aug 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 2 of 2 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
4 releases · first in 2026
One column per month.
Raises the minimum supported SDK of both packages: act_thumbhash and act_thumbhash_flutter now require Dart 3.8 (Flutter 3.32). There are no functiona
Raises the minimum supported SDK of both packages: act_thumbhash and act_thumbhash_flutter now require Dart 3.8 (Flutter 3.32). There are no functional changes; 1.0.0 remains available for older toolchains.
First stable release of both packages: act_thumbhash and act_thumbhash_flutter .
First stable release of both packages: act_thumbhash and act_thumbhash_flutter.
decodeSync now validates the hash length against what its header requires and throws the documented ArgumentError for truncated input, instead of surfacing an out-of-bounds RangeError partway through decoding.decodeSync and decodeAsync now reject baseSize values below 1 with an ArgumentError, and small baseSize values can no longer round the decoded image's short side down to zero pixels.dart:isolate is no longer imported unconditionally; on the web (both dart2js and dart2wasm) encodeAsync and decodeAsync run the computation on the event loop after yielding once, since isolates are unavailable there. Native behaviour is unchanged.encodeSync emitted too few luminance coefficients for images with an aspect ratio steeper than roughly 2.8:1 (2:1 with alpha), in either orientation. The resulting hashes were shorter than any decoder expects, so decoding them threw a RangeError, and they were not readable by other ThumbHash implementations. The luminance channel is now always encoded with at least 3 coefficients per axis, matching the reference implementation.encodeSync throw a RangeError while writing its own output.Hashes for images that encoded correctly before are unchanged.
ThumbHashImageProvider now exposes baseSize, controlling the length of the decoded placeholder's longer side (default 32, matching the previous behaviour). Available on the constructor, fromBase64, and the toImageProvider() extension, and part of provider equality.Uint64List, which dart2js does not support.Both packages now support all Dart and Flutter platforms, including the web.
Documentation and packaging updates
ThumbHashImageProvider for use with Flutter's Image widget
ThumbHashImageProvider for use with Flutter's Image widgetfromBase64 factory for decoding base64-encoded hashestoImageProvider() extension method on Uint8ListImageCacheYour coding agent can read these notes before it upgrades. Set up the MCP server →