Skip to content

Releases: thirdversion/flutter_current

v3.1.1

Choose a tag to compare

@jshep23 jshep23 released this 08 Jun 20:36
2999572

What's Changed

  • Update Current Core / Resolve ChangeNotifier Mixin Overriding Dispose by @jshep23 in #34
  • V3.1.1 by @jshep23 in #35

Full Changelog: v3.1.0...v3.1.1

v3.1.0

Choose a tag to compare

@jshep23 jshep23 released this 15 May 19:43
4631d42

What's Changed

Full Changelog: v3.0.0...v3.1.0

v3.0.0

Choose a tag to compare

@jshep23 jshep23 released this 04 May 21:19
3a17052

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

Full Changelog: v2.0.2...v3.0.0

v3.0.0-beta-6

v3.0.0-beta-6 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 03 May 17:54
fdfea6f

What's Changed

  • Auto CurrentTextController Disposal by @jshep23 in #30
  • CurrentTextControllersLifecycleMixin now automatically tracks and disposes CurrentTextController instances when the dispose method is called. This eliminates the need to manually call dispose() on controllers, reducing boilerplate and the risk of memory leaks.
    • To support backwards compatibility or some case where manual disposal is still desired, dispose() on CurrentTextController is idempotent, meaning it is safe if you still have manual dispose() calls in your existing code.

Full Changelog: v3.0.0-beta-5...v3.0.0-beta-6

v3.0.0-beta-5

v3.0.0-beta-5 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 02 May 20:38
fbb07c4

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

v3.0.0-beta-4 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 01 May 20:07
6d45f49

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:
    1. On an empty .dart file, scaffold a new CurrentWidget and CurrentViewModel with the necessary boilerplate to get started.
    2. On a CurrentProperty, add the property to the CurrentViewModel's currentProps list.
    3. On the currentProps list in a CurrentViewModel, add any missing CurrentProperty fields to the list.
    4. On a regular StatefulWidget or StatelessWidget, convert it to a CurrentWidget.
    5. On a CurrentState class declaration, add the CurrentTextControllersLifecycleMixin to the class declaration and add the necessary lifecycle method overrides. (Requires Current 3.0.0 or greater)
    6. 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

v3.0.0-beta-3 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 01 May 13:23
7199f66

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

v3.0.0-beta-2 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 30 Apr 20:02
6f33e49

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

v3.0.0-beta-1 Pre-release
Pre-release

Choose a tag to compare

@jshep23 jshep23 released this 28 Apr 18:54
ebe7531

What's Changed

  • Updated the minimum Flutter SDK constraint to >=3.38.0
  • Added a new CurrentTextController API for two-way text/property binding, including CurrentTextFormField, 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 CurrentProperty factory constructors, a direct value setter, 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) { ... }) to addStateChangedListener<T>((T event) { ... }), or use addAnyStateChangedListener(...) when you want the untyped stream.
  • CurrentProperty equality and hashCode are now identity-based. Use equals(...) when you want value comparison semantics.
  • CurrentListProperty and CurrentMapProperty dirty tracking now compares collection contents instead of reference identity, which can change isDirty behavior for existing apps.
  • CurrentWidget and CurrentViewModel lifecycle semantics changed. View model assignment is now tracked per CurrentState, CurrentWidget can optionally preserve externally owned view models with disposeViewModel: 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 CurrentProperty factory constructors for primitive, nullable, list, and map properties.
  • Added CurrentViewModel.isDirty, CurrentProperty.isDirty, addBusyStatusChangedListener(...), addAnyStateChangedListener(...), addAnyErrorEventListener(...), and notifyChange(...) helpers.
  • Added source tracking metadata to CurrentStateChanged events and convenience event types such as BusyStatusChanged.
  • Added type-safe numeric helper methods such as addNumber, subtractNumber, multiplyNumber, and modNumber for 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, native TextFormField plus controller.formValidator(...), or CurrentTextField.
  • 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

v2.0.2

Choose a tag to compare

@jshep23 jshep23 released this 30 Oct 16:52
83d9faa

What's Changed

Full Changelog: v2.0.1...v2.0.2