reactter

A light, powerful and quick Reactive State Management, Dependency Injection and Event Handler.

MIT License

Stars
8
Committers
3

Bot releases are hidden (Show)

reactter - v7.0.1 Latest Release

Published by CarLeonDev 6 months ago

Internal

  • test: Refactor and structure examples.
  • doc: Update ReactterWatcher builder comments for clarity.

Full Changelog: https://github.com/2devs-team/reactter/compare/v7.0.0...v7.0.1

reactter - v7.0.0

Published by CarLeonDev 7 months ago

Enhancements

  • feat(core, framework): Add Reactter.batch and Reactter.untracked methods.
    • Reactter.batch hepls to execute the given callback function within a batch operation. A batch operation allows multiple state changes to be grouped together, ensuring that any associated side effects are only triggered once, improving performance and reducing unnecessary re-renders.
    • Reactter.untracked hepls to execute the given callback function without tracking any state changes. This means that any state changes that occur inside the callback function will not trigger any side effects.
  • refactor(framework): Refactor lifecycle event handling and add lifecycle observer interface.
  • refactor(core, framework, types): Add LogLevel enum and update defaultLogWriterCallback signature.
  • refactor(hooks): Improve UseEffect performance and readability.
  • feat(framework, widgets): Add ReactterProvider.lazy constructor for lazy instance initialization.
  • refactor(widgets): Add idproperty to ReactterComponent for debugging information.

Breakings

Fixes

  • fix(obj): Fix equality comparison in ObjBase class.
  • fix(core): Resolve event for both types(instanceRef, instanceObj) and log event error.
  • fix(core): Find the instance registered by the instance manager when searching for the extended class.
  • refactor(core): Fix out-of-bounds index on getHashCodeRefAt method.

Internal

  • refactor(framework, widgets, test): Change the position of InstanceContextBuilder(InstanceChildBuilder now) arguments.
  • refactor(framework, widgets, test): Improve framework structure and simplify the ReactterProvider code.
  • refactor: Refactor file structure and imports.
  • refactor(core, framework, hooks, signal): Rename variables of ReactterZone and improve ReactterState implementation.
  • refactor(test): Add lazyState, untracked and batch tests.
  • refactor(core, test): Fix lifecycle event handling and add lifecycle_observer test.
  • refactor(core, framework, test): Refactor event manager and remove unused code for 100% coverage.
  • refactor(core, framework): Add BindingZone class and update references.
  • fix(core): Fix generic type constraint in _getInstanceRef method.
  • refactor(core): Refactor event handling logic and optimize listener removal.
  • test(core, hooks): Add tests for signal usage on instance and binding to another instance.
  • test(widgets): Add ReactterProvider.lazy tests, update ReactterComponent tests and add LifecycleObserver to TestController.
  • fix(example): Update dependencies and fix code formatting on examples.

What's Changed

Full Changelog: https://github.com/2devs-team/reactter/compare/v6.2.0...v7.0.0

reactter - v6.2.0

Published by CarLeonDev 9 months ago

Breakings

  • refactor: Deprecate .signal and .obj extensions.

Internal

  • doc: Improve README.
  • fix(example): Reset doneCount when clear todo completed.

Full Changelog: https://github.com/2devs-team/reactter/compare/v6.1.0...v6.2.0

reactter - v6.1.0

Published by CarLeonDev 10 months ago

Enhancements

  • feat(framework, widgets, extensions): Add ReactterSelector widget and context.select method extension.
    • ReactterSelect and context.select help to control the rebuilding of widget tree using a Selector methods that allows to select a state specific for listening, and return a computed value.
  • feat(widgets): Add ReactterScope Widget.
    If ReactterProvider.contextOf doesn't have a type defined, use ReactterScope to work correctly.

Breakings

  • perf(framework): Remove updateAsync from ReactterHook and ReactterState.
  • perf(framework): Remove emitAsync from ReactterEventManager.
  • refactor(extensions): Deprecate List<ReactterState>.when.

Fixes

  • fix(widgets): Notify ReactterWatcher has changed when available.
  • fix(framework): Remove UseWen asynchronously when call markNeedsNotifyDependents through its changes.

Internal

  • perf(framework): Add ReactterNotifier to manage events.
  • refactor(widgets): Improve ReactterProvider code.
  • perf(extensions, framework, widgets): Improve performance of context.watch.
  • refactor(types): Add WatchState and SelectComputeValue types.
  • refactor(framework): Improve message error about notifyListeners of ReactterNotifier.
  • feat(framework, widgets, extensions): Improve managing dependency.
  • test(framework, widgets, hooks): Fix some part for test coverage.
  • test: Add context.select and ReactterSelector test.
  • doc: Fix some code documentation.
  • refactor(example): Improve api example.
  • doc: Add documention about new features.

Full Changelog: https://github.com/2devs-team/reactter/compare/v6.0.2...v6.1.0

reactter - v6.0.2

Published by CarLeonDev 12 months ago

Fixes

  • fix(signal): Add missing getters to Signal of list type.

Full Changelog: https://github.com/2devs-team/reactter/compare/v6.0.1...v6.0.2

reactter - v6.0.1

Published by CarLeonDev 12 months ago

Fixes

  • fix(signal): Add missing getters to Signal of list type.

Full Changelog: https://github.com/2devs-team/reactter/compare/v6.0.0...v6.0.1

reactter - v6.0.0

Published by CarLeonDev 12 months ago

Enhancements

Breakings

Internal

  • refactor(framework, hooks, test): Improve code structure and how to attach an instance to states using ReactterZone and structure code of ReactterState.
  • refactor(example): Improve examples using the new features.
  • test(framework, widgets, hooks): Add some tests about ReactterInstanceManager, ReactterInstance, UseInstance
  • test(framework): Improve tests.
  • test(framework): Add Reactter.destroy test.
  • test(memo): Add Memo and MemoInterceptor test.
  • test(args): Add Args test.
  • test(hooks): Add UseAsyncState.withArg test.
  • test(hooks): Add UseInstance test.
  • fix(test): Fix grammar of test description.

What's Changed

New Contributors

Full Changelog: https://github.com/2devs-team/reactter/compare/v5.1.2...v6.0.0

reactter - v5.1.2

Published by CarLeonDev about 1 year ago

Fixes

  • refactor(hooks): Add const to ReactterAction and ReactterActionCallable.

Internal

  • doc: Change ROADMAP.
  • refactor(example): Improve code and fix some issues.
  • refactor(example): Remove const keyword for zapp compatibility.

Full Changelog: https://github.com/2devs-team/reactter/compare/v5.1.1...v5.1.2

reactter - v5.1.1

Published by CarLeonDev about 1 year ago

Fixes

  • fix(hooks): Don't attach instance when UseEffect doesn't have context.

Full Changelog: https://github.com/2devs-team/reactter/compare/v5.1.0...v5.1.1

reactter - v5.1.0

Published by CarLeonDev about 1 year ago

Enhancements

  • feat(framework): Implement hook register.
    • Add hook register logic for attaching ReactterState defined into ReactterHook.
    • Refactor hooks to implement hook register.
  • feat(framework): Add lazy method and make isInstanceBuilding variable as public.
  • feat(extensions): Add ReactterStateListExtension with when method.
  • feat(hooks): Add UseCompute hook.
  • feat(widget, test): Add ReactterConsumer widget.

Internal

  • build(example): Use reactter_lint.
  • build(widgets): Remove unnecesary import.
  • doc: Fix ReactterInstanceNotFoundException documentation.
  • refactor(framework): Export ReactterInstance.
  • doc(example): Add and remove some concepts from main.
  • refactor(example): Remove late keyword form some hooks.
  • refactor(example): Implement play and stop animation.
  • refactor(framework): Rename _RegisterHook to HookRegister.
  • test: Add ReactterStateListExtension test and other adjustments.
  • refactor(widgets): Make ReactterConsumer.builder required.
  • fix(framework): Add instance attached validation before UseCompute is disponsed.
  • refactor(extensions): Use UseCompute type on when method.
  • test: Add UseCompute test and other adjustments.
  • build(example): Change folder structure.
  • build: Change folder structure for flutter_reactter package.
    • Move all files to src.
    • Rename ReactterTypes to types.
    • engine was separated into extensions, framework and types.
    • Change folder structure of test.
  • build: Change folder structure for reactter package.
    • Move all files to src.
    • Rename ReactterTypes to types.
    • core was separated into framework, objs, signals, lifecycle, types.
    • Change folder structure of test.
  • refactor(core, widgets): Implement Reactter event to Signal generic.
    • Remove ReactterSignalProxy.
    • Move Obj, Signal to other folder.
    • Refactor ReactterWatcher to the new changes.
  • refactor(core): Remove ReactterNotifyManager.
    • ReactterNotifyManager is no longer used, all its methods were moved to ReactterState.
    • Lifecycle enum was move to new file(lifecycle.dart).

Full Changelog: https://github.com/2devs-team/reactter/compare/v5.0.1...v5.1.0

reactter - v5.0.1

Published by CarLeonDev over 1 year ago

Internal

  • fix(test): Change dependencies for test coverage.
  • fix(test): Fix some info about code validator.

Full Changelog: https://github.com/2devs-team/reactter/compare/v5.0.0...v5.0.1

reactter - v5.0.0

Published by CarLeonDev over 1 year ago

Breaking

  • refactor(engine, widgets, core, hooks, test): Delete ReactterContext and ReactterHookManager and remove all about it.
  • refactor(widgets, test): Replace ReactterContextNotFoundException to ReactterInstanceNotFoundException.
  • refactor(widgets, test): Remove listenAllHooks property from ReactterComponent, use listenAll.
  • refactor(widgets, test): Remove listenHooks property from ReactterComponent and ReactterProvider.contextOf, use listenStates.
  • refactor(hooks, test): Remove context property from UseAsyncState, UseContext, UseEvent, UseReducer and UseState.
  • refactor(hooks, test): Remove type ReactterAction, type is String.
  • refactor(core, widgets, test): Delete ReactterBuilder and ReactterScope, replace to build, StatelessWidget, StatefulWidget or any Widget that expose BuildContext.

Enhancements

Fixes

  • refactor(core): Fix hasListener no depend of ReactterNotifyManager.

Internal

  • refactor, doc(example): Adjust to new changes.
  • doc: Change documentation to better readability and adjust to new changes.

Full Changelog: https://github.com/2devs-team/reactter/compare/v4.1.2...v5.0.0

reactter - v4.1.2

Published by CarLeonDev over 1 year ago

Internal

  • build: Move examples folder to packages/flutter_reactter/example.

Full Changelog: https://github.com/2devs-team/reactter/compare/v4.1.1...v4.1.2

reactter - v4.1.1

Published by CarLeonDev over 1 year ago

Fixes

  • fix(core): Fix predispose all hook states.

Internal

  • refactor(example): Minor changes in some examples.
  • refactor(example): Improve code and design of tree example.
  • refactor(example): Improve code of calculator example.
  • refactor(example): Improve code of animation example.
  • doc: Add link to examples using zapp

Full Changelog: https://github.com/2devs-team/reactter/compare/v4.1.0...v4.1.1

reactter - v4.1.0

Published by CarLeonDev almost 2 years ago

Enhancements

  • perf(core): Improve performance for changing states.
  • perf(engine): Improve management for context dependencies.

Fixes

  • fix(core): Remove the callbacks of one events when the instance will be disposed.

Internal

  • refactor(example): Improve examples and fix some bugs.
  • doc: Fix documentation.

Full Changelog: https://github.com/2devs-team/reactter/compare/v4.0.0...v4.1.0

reactter - v4.0.0

Published by CarLeonDev almost 2 years ago

Enhancements

  • feat(core): Add Obj.
  • feat(core): Add Signal.
  • feat(core): Add ReactterSignalProxy mixin.
  • feat(core): Add ReactterNotifyManager mixin.
  • feat(core): Add ReactterState mixin.
  • refactor(core,hooks): Manage event separate from UseEvent hook.
  • perf(core): Improve to manage instances.
  • perf(core): Improve to manage state.
  • perf(widgets,core): Improve performance on ReactterProvider.
    Now there is no need to use ReactterComponent or ReactterBuilder. The instance can be accessed directly from the context(BuildContext) and just the part belonging to the context is re-built.
  • feat(widgets): Add ReactterWatcher.
    You can use the Signal variable in ReactterWatcher and react when it changed for ReactterWatcher's widgets rebuild.

Breaking

  • refactor(core): Remove typedef innecesary.
  • refactor(hooks): Fix dispose of UseContext and UseEffect.
  • build(widgets): Mark ReactterScope as deprecated. Use any Widget that exposes the BuildContext like Build, StatelessWidget or StatefulWidget instead.
  • build(widgets): Mark listenHooks and listenAllHooks as deprecated. Use listenStates and listenAll instead.
  • refactor(widgets): Remove onInit from ReactteProvider and ReactterComponent.
  • refactor(widget): Add ReactterContext argument in builder of ReactterProvider.

Fixes

  • fix(core): Don't allow increasing listeners count, if event don't exist.
  • fix(widgets): Clear previous signals saved.
  • fix(core): Remove one callback using off method and was changed how to storage event.

Internal

  • test: Refactor test and add event manager test.
  • refactor(test): Fix test and add new tests.
  • build(engine): Rename some files.
  • refactor(test): Fix test and add ReactterWatcher test.
  • refactor(examples): Improve examples code and add calculator example.
  • doc: Fix documentation and add new documentation.
  • test(core,hooks): Fix dispose on some tests.
  • refactor(examples): Do counter more simple.

Full Changelog: https://github.com/2devs-team/reactter/compare/v3.2.0...v4.0.0

reactter - v3.2.0

Published by CarLeonDev about 2 years ago

Enhancements

Breaking

  • refactor(core): Replace ReactterInstanceManager extension to class.

Fixes

  • refactor(hooks): Move events storage variable.

Internal

  • refactor(examples): Improve examples code.
  • docs: Update roadmap.
  • docs: Fix some typos and improve documentation.

Full Changelog: https://github.com/2devs-team/reactter/compare/v3.1.2...v3.2.0

reactter - v3.1.2

Published by CarLeonDev about 2 years ago

Fixes

  • fix(core): Add ref on Reactter.create.

Internal

  • docs: Fix some documentation.

Full Changelog: https://github.com/2devs-team/reactter/compare/v3.1.1...v3.1.2

reactter - v3.1.1

Published by CarLeonDev over 2 years ago

Fixes

  • fix(widgets): Fix child and builder of ReactterProvider is not required when use ReactterProviders.

Full Changelog: https://github.com/2devs-team/reactter/compare/v3.1.0...v3.1.1

reactter - v3.1.0

Published by CarLeonDev over 2 years ago

Breaking

  • refactor(core): Remove selector aspect from ReactterProvider.of.

Fixes

  • fix(core): Fix ReactterInstanceManager's get method create instance when instance didn't create yet.
  • refactor(engine, widgets): Add validations about child and builder properties.

Enhancements

  • refactor(core): Change Reactter.delete named argument to positional argument.

Internal

  • docs: Fix README documentation.
  • refactor(tests): Add test coverage of 100%.

Full Changelog: https://github.com/2devs-team/reactter/compare/v3.0.0...v3.1.0