Repository navigation
Releases: thirdversion/flutter_current
Releases · thirdversion/flutter_current
Release list
v3.1.1
v3.1.0
v3.0.0
What's Changed
- Update Min Flutter SDK by @jshep23 in #16
- README Formatting / Pubspec Topic Tags by @jshep23 in #24
- Simplify App Level State Change Notifications / Reduce App Level State Setup Burden by @jshep23 in #25
- Update Example Project by @jshep23 in #26
- Enhance VS Code Extension by @jshep23 in #27
- Move VS Code Extension Context Menu Item To Bottom by @jshep23 in #29
- Mem and Performance Improvements by @jshep23 in #28
- Auto CurrentTextController Disposal by @jshep23 in #30
- Support ViewModel Reassignment on CurrentWidget Rebuilds by @jshep23 in #17
- Enhance State Change Handling by @jshep23 in #18
- Current Text Controller by @jshep23 in #19
- Current Validation & Revamp Example App by @jshep23 in #20
- Improve DX When Binding CurrentTextControllers by @jshep23 in #23
- v3.0.0 by @jshep23 in #31
Full Changelog: v2.0.2...v3.0.0
What's Changed
- Update Min Flutter SDK by @jshep23 in #16
- 3.0.0 (Beta 1) by @jshep23 in #22
- README Formatting / Pubspec Topic Tags by @jshep23 in #24
- Simplify App Level State Change Notifications / Reduce App Level State Setup Burden by @jshep23 in #25
- Update Example Project by @jshep23 in #26
- Enhance VS Code Extension by @jshep23 in #27
- Move VS Code Extension Context Menu Item To Bottom by @jshep23 in #29
- Mem and Performance Improvements by @jshep23 in #28
- Auto CurrentTextController Disposal by @jshep23 in #30
- v3.0.0 by @jshep23 in #31
Full Changelog: v2.0.2...v3.0.0
v3.0.0-beta-6
What's Changed
CurrentTextControllersLifecycleMixinnow automatically tracks and disposesCurrentTextControllerinstances when thedisposemethod is called. This eliminates the need to manually calldispose()on controllers, reducing boilerplate and the risk of memory leaks.
- To support backwards compatibility or some case where manual disposal is still desired,
dispose()onCurrentTextControlleris idempotent, meaning it is safe if you still have manualdispose()calls in your existing code.
Full Changelog: v3.0.0-beta-5...v3.0.0-beta-6
v3.0.0-beta-5
What's Changed
- Move VS Code Extension Context Menu Item To Bottom by @jshep23 in #29
- Mem and Performance Improvements by @jshep23 in #28
Full Changelog: v3.0.0-beta-4...v3.0.0-beta-5
v3.0.0-beta-4
What's Changed
- Update README to reflect the VS Code extension name change and to highlight the new features of the extension such as Quick Fix actions and Command Palette commands.
- Updated extension name and description to better reflect available features
- Minor updates to existing snippets so the cursor ends up in a more intuitive place after insertion
- Added new Command Palette command to create a new CurrentWidget and View Model. Will prompt you for a file name and design language (material or cupertino). If you are using Current 3.0.0 or greater, will also be presented with an option to create a CurrentWidget with CurrentTextController support.
- Added a Context Menu option when right-clicking on a folder in the VS Explorer pane to create new CurrentWidget and ViewModel files in that folder.
- Added several VS Quick Code Actions have been added. These can be activated using your Quick Fix keyboard shortcut and your cursor is:
- On an empty .dart file, scaffold a new CurrentWidget and CurrentViewModel with the necessary boilerplate to get started.
- On a CurrentProperty, add the property to the CurrentViewModel's
currentPropslist.- On the
currentPropslist in a CurrentViewModel, add any missing CurrentProperty fields to the list.- On a regular StatefulWidget or StatelessWidget, convert it to a CurrentWidget.
- On a CurrentState class declaration, add the
CurrentTextControllersLifecycleMixinto the class declaration and add the necessary lifecycle method overrides. (Requires Current 3.0.0 or greater)- On a CurrentTextController, bind the controller to a property and add to the bindCurrentControllers method automatically. (Requires Current 3.0.0 or greater)
Full Changelog: v3.0.0-beta-3...v3.0.0-beta-4
v3.0.0-beta-3
What's Changed
- Update the example app name to reflect the new mission control theme.
- Updated all the platforms in the example app to reflect the new mission control name change
- Updated the example app to better support mobile layouts
Full Changelog: v3.0.0-beta-2...v3.0.0-beta-3
v3.0.0-beta-2
What's Changed
- README Formatting / Pubspec Topic Tags by @jshep23 in #24
- Simplify App Level State Change Notifications / Reduce App Level State Setup Burden by @jshep23 in #25
Full Changelog: v3.0.0-beta-1...v3.0.0-beta-2
v3.0.0-beta-1
What's Changed
- Updated the minimum Flutter SDK constraint to >=3.38.0
- Added a new
CurrentTextControllerAPI for two-way text/property binding, includingCurrentTextFormField,CurrentTextField,formValidator(...), and controller-managed validation visibility. - Added a new issue-based validation framework built around
CurrentValidationIssue,CurrentValidationState,CurrentFieldValidation,CurrentValidationGroup, and property-owned validation registration. - Added
CurrentPropertyfactory constructors, a directvaluesetter, improved busy/event helpers, content-aware dirty tracking for list and map properties, and a full mission-control example app that demonstrates the new APIs end-to-end.
BREAKING CHANGES
- State change subscriptions now use typed single-event listeners instead of list-based callbacks. Migrate from
addOnStateChangedListener((List<CurrentStateChanged> events) { ... })toaddStateChangedListener<T>((T event) { ... }), or useaddAnyStateChangedListener(...)when you want the untyped stream. CurrentPropertyequality andhashCodeare now identity-based. Useequals(...)when you want value comparison semantics.CurrentListPropertyandCurrentMapPropertydirty tracking now compares collection contents instead of reference identity, which can changeisDirtybehavior for existing apps.CurrentWidgetandCurrentViewModellifecycle semantics changed. View model assignment is now tracked perCurrentState,CurrentWidgetcan optionally preserve externally owned view models withdisposeViewModel: false. A couple years ago we opted to throw and exception if a view model was reassigned to a different widget (whether intentionally or by accident). This was to prevent very difficult to diagnose issues. However we are smarter now 🤯. We've now handed you the keys while still putting guardrails rails up to prevent self inflicted drop kicks. See the updated documentation for details on how to use the new lifecycle features and best practices around view model ownership.
Added
- Added typed
CurrentPropertyfactory constructors for primitive, nullable, list, and map properties. - Added
CurrentViewModel.isDirty,CurrentProperty.isDirty,addBusyStatusChangedListener(...),addAnyStateChangedListener(...),addAnyErrorEventListener(...), andnotifyChange(...)helpers. - Added source tracking metadata to
CurrentStateChangedevents and convenience event types such asBusyStatusChanged. - Added type-safe numeric helper methods such as
addNumber,subtractNumber,multiplyNumber, andmodNumberfor int properties. - Added helper binding infrastructure so property-owned integrations such as validation can attach automatically when a property is assigned to a view model. This opens the door for future property-owned integrations such as analytics, logging, or some other genius idea you have that we haven't even thought of yet (CONTRIBUTORS WELCOME!).
Example And Docs
- Replaced the simple counter example with a multi-page mission-control showcase covering typed properties, validation, controller binding, collections, busy state, custom events, and code examples.
- Updated the README with forms-and-validation guidance, including when to use
CurrentTextFormField, nativeTextFormFieldpluscontroller.formValidator(...), orCurrentTextField. - Expanded package and example test coverage around controller binding, validation flows, widget lifecycle behavior, collection semantics, and the redesigned example app.
Full Changelog: v2.0.2...v3.0.0-beta-1
What's Changed
Full Changelog: v2.0.2...v3.0.0-beta-1