PackageTrack
Sign in Get early access

app_badger

A Flutter plugin to manage app badge counts on Android, iOS, and macOS with modern Swift Package Manager and federated architecture support.

3.1.2 1.9K downloads/mo #425 most downloaded on pub.dev ajinkya446/app_badger

What this package is like to depend on

Last release 4 days ago

19 Aug 2026

Release timing varies

gaps range from 2 weeks to 10 months

Nearly every release is documented

notes for 12 of 13 stable releases

Nothing withdrawn

no release was ever pulled

1 years old

13 releases · first in 2025

11 releases in the last 12 months

see the full history below

Release timeline

13 releases · Apr 2025 to Aug 2026
2026
Release Pre-release

Releases

latest 13
  1. 3.1.2 19 Aug 2026
    Release notes

    Changed

    • Updated release metadata and package versioning to 3.1.2.
    • Kept the package API distinct with AppBadgeController as the primary public interface.
    • Reduced naming collisions with common upstream badge-plugin patterns.
    • Kept compatibility wrappers for older AppBadger calls while documenting the newer API.
    • Refined the monorepo workflow and public project documentation for a cleaner, independent project presentation.

    Fixed

    • Consolidated the release documentation so README and workspace metadata reflect the current package state.
    • Ensured plugin package metadata stays consistent across the monorepo.
    Open source →
  2. 3.1.1 19 Aug 2026

    Nothing published for this version

  3. 3.1.0 19 Aug 2026
    Release notes

    Changed

    • Federated Architecture: Migrated the plugin to a federated structure for better maintainability and platform separation.
    • Swift Package Manager: Adopted Swift Package Manager (SPM) for iOS and macOS implementation packages, following the new recommended structure for Flutter 3.22+.
      • app_badger: App-facing package (root).
      • app_badger_platform_interface: Common platform interface.
      • app_badger_android: Android implementation.
      • app_badger_ios: iOS implementation.
      • app_badger_macos: macOS implementation.

    Fixed

    • Android Compilation: Fixed unresolved reference to RequestPermissionsResultListener and improved type inference in Kotlin plugin code.
    • Android Imports: Corrected io.flutter.plugin.common.PluginRegistry imports.
    • Reliability: Improved robustness of Android runtime permission handling.
    Open source →
  4. 3.0.1 09 Aug 2026
    Release notes

    Patch Release: Bug fixes and polishing

    This patch fixes runtime issues and adds quality-of-life improvements after the 3.0.0 release. Highlights:

    Fixed

    • Proper Android runtime permission flow: requestNotificationPermission() now waits for the user decision and returns the final granted/denied result (fixes incorrect immediate return behavior).
    • Optional Android notification posting: updateBadgeCount(..., postNotification: false) now prevents the plugin from posting the low-priority notification (useful for apps that don't want persistent notifications).
    • iOS isBadgeSupported semantics corrected: plugin now inspects UNUserNotificationCenter settings to determine effective badge capability instead of relying on remote notification registration.
    • Cross-platform event stream (AppBadger.events) implemented to notify Dart of native events (badgeUpdated, badgeRemoved, permission results).
    • Persist badge count on iOS/macOS (UserDefaults) to provide consistent getBadgeCount() behavior across platforms.

    Changed

    • Example app updated with a modern Material 3 UI, responsive layout, and event history view.
    • Documentation updated to include EventChannel usage and Android notification configuration helper.

    Notes

    • See README for updated usage examples and the new postNotification and setAndroidNotificationConfig APIs.
    Open source →
  5. 3.0.0 04 Aug 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v0.0.2...v3.0.0

    Open source →
  6. 2.0.4 01 Aug 2026
    Release notes

    Fixed

    • iOS SPM package identity: Corrected Package.swift to use app-badger, matching Flutter's Swift Package Manager convention.
    • Flutter iOS integration warnings: Resolves recent Plugin does not support Swift Package Manager for ios warnings.
    • Complete SPM support: Confirms the plugin ships with the required Package.swift product declarations for Flutter 3.22+.
    Open source →
  7. 2.0.3 01 Aug 2026
    Release notes

    Fixed

    • iOS SPM follow-up: Additional Swift Package Manager compatibility adjustments for the 2.0.x release line.
    Open source →
  8. 2.0.2 01 Aug 2026
    Release notes

    Fixed

    • Initial iOS SPM corrections: Began aligning package identity and package manifest support for Flutter 3.22+.
    Open source →
  9. 2.0.1 01 Aug 2026
    Release notes

    v2.0.1: Fix SPM package identity conflicts

    Open source →
    Release notes

    Fixed

    • iOS SPM Support: Removed unnecessary Package.swift that was causing conflicts. Flutter handles SPM plugin integration automatically.
    • Resolved package identity conflicts: Fixes "unable to override package" errors when using app_badger with pub.dev
    • Improved build reliability: Cleaner iOS build system leveraging Flutter's automatic SPM handling
    Open source →
  10. 2.0.0 01 Aug 2026
    Release notes

    Added

    • Automatic permission request: New AppBadger.requestNotificationPermission() method for requesting POST_NOTIFICATIONS (Android 13+) and notification permissions (iOS) on app startup
    • Notification-based badge fallback: Dual-path badge delivery using ShortcutBadger (primary) + system notifications (fallback) for improved reliability on modern Android devices
    • ActivityAware interface: Android plugin now implements ActivityAware for proper runtime permission handling
    • Comprehensive logging: Added detailed AppBadger logs for debugging badge lifecycle (apply, clear, notification posts)
    • Enhanced documentation: Complete README rewrite with platform requirements, migration guide, troubleshooting, and FAQ sections
    • Example app improvements: Updated example to demonstrate permission request on startup and show real-time permission status

    Changed

    • iOS: Migrated plugin to Swift Package Manager (SPM) layout for Flutter 3.22+ compatibility
    • iOS: Removed all CocoaPods integration from plugin and example app
    • iOS: Added UIScene lifecycle support for modern iOS app architecture
    • Android: Migrated build to built-in Kotlin path for AGP 8.11+/9+ readiness
    • Android: Removed plugin-side Kotlin Gradle Plugin application (only needed at app level)
    • Android: Updated example to use AGP 8.11.1, Kotlin 2.2.20, Gradle 8.14.1
    • Android: Added POST_NOTIFICATIONS permission to plugin and example manifests
    • iOS: Updated example Info.plist with notification usage description
    • Documentation: Rewrote README with version highlights, platform requirements, and complete API examples

    Fixed

    • Android runtime crash: Removed invalid XiaomiHomeBadger broadcast receiver from example manifest (was causing ClassCastException)
    • iOS build errors: Resolved CocoaPods conflicts by switching to Swift Package Manager
    • Badge permission handling: Plugin now properly requests and handles notification permissions on both platforms
    • Background badge behavior: Documented Android launcher limitation and provided workarounds

    Removed

    • ❌ iOS CocoaPods integration (use SPM instead)
    • ❌ XiaomiHomeBadger broadcast receiver from example (no longer needed)
    • ❌ Plugin-side Kotlin Gradle Plugin (use AGP built-in support)

    Known Limitations

    • Android background badge disappearance: Many launchers clear badge when app backgrounded (launcher-specific behavior)
    • Device-specific badge support: Varies by manufacturer (Samsung, Xiaomi, etc. require specific permissions)

    Migration from 1.x

    • iOS: Delete Podfile and Pods directory, run flutter clean
    • Android: Update app build.gradle.kts to use AGP 8.11+ and built-in Kotlin
    • Both platforms: Call AppBadger.requestNotificationPermission() on app startup
    • Android: Ensure POST_NOTIFICATIONS permission in AndroidManifest.xml
    • iOS: Ensure NSUserNotificationUsageDescription in Info.plist
    Open source →
  11. 0.0.3 24 Feb 2026
    Release notes

    Added

    • Glassmorphism badge and container widgets for modern UI overlays.
    • Consistent MethodChannel name for plugin registration.
    • Improved documentation and design system.
    • Bug fixes and compatibility improvements.
    Open source →
  12. 0.0.2 28 Apr 2025
    Release notes

    Added

    • iOS device configuration and badge notification setup.
    Open source →
  13. 0.0.1 24 Apr 2025
    Release notes

    Added

    • Android device badge notification support.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive