NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Switch your app's home-screen icon at runtime between pre-bundled variants, with a config-driven codegen system and a drop-in icon gallery widget.
Last release 2 months ago
23 Jul 2026
Too new to tell
only 2 dated releases
Nearly every release is documented
notes for 2 of 2 stable releases
Nothing withdrawn
no release was ever pulled
2 months old
2 releases · first in 2026
One column per month.
Declare one source image per icon; the codegen produces every platform asset and bundles it. No hand-cut densities, and no Xcode *Copy Bundle Resource
Declare one source image per icon; the codegen produces every platform asset and bundles it. No hand-cut densities, and no Xcode Copy Bundle Resources step.
Breaking
ios_asset: key is gone — iOS app-icon sets are now named after the icon
itself, so the name is derived. Codegen errors with a migration hint if the key
is still present. android_asset: is now optional too, defaulting to
ic_launcher for the primary icon and ic_launcher_<name> for alternates.name must be lower_snake_case: it becomes an iOS app-icon set name and
an Android component name.ios/Runner/ to app-icon sets in
Assets.xcassets. Delete the old AppIcon-*@2x.png / @3x.png files in Xcode
(codegen warns while any remain); the CFBundleIcons block that referenced
them is stripped from ios/Runner/Info.plist automatically. See the migration
steps in the README.Added
image: renders the Android density PNGs (mdpi→xxxhdpi, alpha preserved) and
the iOS app-icon sets (flattened, since iOS renders an alpha channel as a black
square) from a single square master.pubspec.yaml under adaptive_app_icon:; a standalone
adaptive_app_icon.yaml still works as a fallback.background: (per icon or top level) sets what iOS icons are flattened onto.preview: defaults to image:, so the gallery needs no extra file.--no-images wires up existing assets without re-rendering.flutter: assets:, which
otherwise shows a placeholder at runtime with no error.Fixed
android:icon="@mipmap/…" even when validation had
accepted a drawable-*/ resource, producing a reference that failed to
resolve. The container is now detected and the matching prefix emitted.Runtime app-icon switching on iOS (setAlternateIconName) and Android (activity-alias toggling). On Android every icon is its own alias and the main ac
Initial release.
setAlternateIconName) and Android
(activity-alias toggling). On Android every icon is its own alias and the
main activity is never toggled, so switching never disables the running
component. androidApplyMode chooses when the change lands: whenBackgrounded
(default, no visible close) or immediately (app closes; the user reopens).
IconGallery.confirmChange lets you gate a switch behind a dialog.dart run adaptive_app_icon:generate_icon_config) that
reads adaptive_app_icon.yaml and updates Info.plist, AndroidManifest.xml,
and a typed app_icons.g.dart, with asset validation and an icon-count
warning.DynamicAppIcon API with shared_preferences-backed selection caching.IconGallery widget with optimistic selection and rollback.Your coding agent can read these notes before it upgrades. Set up the MCP server →