NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
A modular, reactive, and scalable framework for Flutter. Build industrial-grade apps with a decoupled architecture.
Last release 6 months ago
11 Apr 2026
Ships on a steady schedule
a new release about every 4 weeks
Some releases are documented
notes for 4 of 7 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
7 releases · first in 2026
One column per month.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed `AppModule` lifecycle state machine: Added @mustCallSuper to onBind() and onInit(). Subclasses that omitted super calls left the module permanen
AppModule lifecycle state machine: Added @mustCallSuper to onBind() and onInit(). Subclasses that omitted super calls left the module permanently in unloaded state, silently breaking lifecycle tracking.SecureServiceRegistry._safeNotify() crash in headless environments: The unconditional SchedulerBinding.instance.addPostFrameCallback() call threw in tests and background isolates where no binding is attached. Now falls back to direct notifyListeners() if SchedulerBinding is unavailable.EventBus.dispose() subscription leak in release builds: dispose() previously delegated to clearAll(), which is guarded by kDebugMode and returns early in release — leaving all subscriptions alive. Now cancels subscriptions directly on dispose, bypassing the debug guard.GeneratedInjection.inject<T>() always throwing UnimplementedError: Now delegates to AirDI().get<T>() as intended. This was shipped as public API with no implementation.ModuleIdentityToken.verify() ignoring the issued secret: Added a check that _secret.isNotEmpty alongside the moduleId comparison, ensuring only properly issued tokens pass verification.archive: ^4.0.7 dependency: The archive package was declared in pubspec.yaml but never imported anywhere in the framework. Removed to reduce bundle size.Brand Identity: Added the official Air Framework SVG logo to the README and Developer Guide.
`AirAdapter` Base Class: New abstract class for headless service integrations (HTTP, analytics, error tracking). Follows the same lifecycle as AppModu
AirAdapter Base Class: New abstract class for headless service integrations (HTTP, analytics, error tracking). Follows the same lifecycle as AppModule (onBind → onInit → onDispose) but without routes or UI.AdapterManager: Standalone singleton for registering, managing, and unregistering adapters. Handles dependency checks and lifecycle events.HttpClient) so modules never couple to specific libraries. Swap implementations without touching module code.Adapters → Modules → App initialization order to ensure infrastructure is ready before feature modules.adapters/dio/ to the example app with HttpClient contract, DioHttpClient implementation, and DioAdapter.HttpClient (zero knowledge of Dio).This is the first stable release of Air Framework, a modular, reactive, and scalable framework for building industrial-grade Flutter applications.
This is the first stable release of Air Framework, a modular, reactive, and scalable framework for building industrial-grade Flutter applications.
AppModule, AirDI, and AirRouter. Build features in isolation and assemble them seamlessly.air_state for high-performance, fine-grained reactivity using code generation (@GenerateState).AirDI) with module ownership and lifecycle management.go_router with distributed route definitions.dataRead, dataWrite, serviceCall, eventEmit, eventListen.allowedCallers) and audit logging.Build better, scalable Flutter apps with Air Framework.
Your coding agent can read these notes before it upgrades. Set up the MCP server →