PackageTrack
Sign in Get early access

air_state

A lightweight, modular state management library for the Air Framework.

1.0.7 AndreyDAraya/air-state

What this package is like to depend on

Last release 4 months ago

11 Apr 2026

Ships on a steady schedule

a new release about every 5 weeks

Nearly every release is documented

notes for 8 of 8 stable releases

Nothing withdrawn

no release was ever pulled

6 months old

8 releases · first in 2026

8 releases in the last 12 months

see the full history below

Release timeline

8 releases · Feb 2026 to Apr 2026
Release Pre-release

Releases

latest 8
  1. 1.0.7 11 Apr 2026
    Release notes

    Architecture Improvements

    • Strong Type Retention in AirListener: Improved the generic type resolution mechanism when iterating over List<AirStateKey>. Controller resolution now utilizes dynamic dispatch directly on the AirStateKey<T> instance, guaranteeing the preservation of the explicit generic type T and ensuring strictly typed state initialization.
    Open source →
  2. 1.0.6 11 Apr 2026
    Release notes

    Improvements

    • AirPulse Callable Shorthand: AirPulse<T> is now a callable class. Use AuthPulses.clearMessages(null) instead of AuthPulses.clearMessages.pulse(null). The explicit .pulse() method remains available for backward compatibility.
    Open source →
  3. 1.0.5 11 Apr 2026
    Release notes

    Improvements

    • AirListener: Introduced the AirListener widget for handling one-off side effects (navigation, SnackBars) reactively without triggering UI rebuilds. This component promotes better separation of concerns and keeps the widget build methods pure.
    Open source →
  4. 1.0.4 10 Apr 2026
    Release notes

    Bug Fixes

    • Fixed silent data loss in StatePersistence._serialize(): Custom model objects with toJson() or toMap() methods now serialize correctly. Previously, the existence check obj.toJson != null always threw NoSuchMethodError (swallowed by a catch), causing all custom models to fall back to .toString() — making restore impossible. Now calls toJson()/toMap() directly inside a try-catch.
    • Fixed subscription leaks in AirState.dispose(): Simplified the disposal logic to a single try { (sub as dynamic).cancel() } catch (_) {} block. The previous implementation had unreachable branches and silently swallowed cancellation errors, leaving subscriptions alive after dispose.
    • Removed unused dart:async import from air_state_base.dart.
    Open source →
  5. 1.0.3 03 Mar 2026
    Release notes
    • Visual Identity: Added the official Air Framework SVG logo.
    • Documentation: Updated README with the new logo and visual assets.
    Open source →
  6. 1.0.2 09 Feb 2026
    Release notes
    • Security & Access Control:
      • Added canAccess method to AirDelegate to validate state access permissions.
      • Updated AirBuilder to check for access permissions before building.
      • Added sourceId tracking to AirDelegate.subscribe and AirState event listeners.
    • API Improvements:
      • AirBuilder, AirBuilder2, and AirBuilder3 now accept callerModuleId for better dependency tracking.
      • Updated AirDelegate interface signature
    Open source →
  7. 1.0.1 04 Feb 2026
    Release notes
    • Updated examples and internal documentation links.
    Open source →
  8. 1.0.0 04 Feb 2026
    Release notes
    • Initial release of air_state.
    • Core reactive state management (AirController, Air).
    • Typed state keys support (AirStateKey).
    • Widget builders (AirBuilder, AirView).
    • Helper extensions for Tuples.
    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