Skip to content

v8.0.0

Latest
Compare
Choose a tag to compare
@CarLeonDev CarLeonDev released this 25 Feb 22:59
· 8 commits to master since this release
0721e3e

Enhancements

  • Add Reactter devtools extension.
  • Add Rt.addObserver and Rt.removeObserver methods to manage the observers.
  • Add RtStateObserver class to monitor the lifecycle of state(onStateCreated, onStateBound, onStateUnbound, onStateUpdated and onStateDisposed).
  • Add RtDependencyObserver class to monitor the lifecycle of dependency(onDependencyRegistered, onDependencyCreated, onDependencyMounted, onDependencyUnmounted, onDependencyDeletedonDependencyUnregistered and onDependencyFailed).
  • Add Rt.initializeLogger to initialize the Reactter logger.
  • Add Rt.initializeDevTools to initialize the devtools for observing the states and dependencies.
  • Add debugLabel and debugInfo to states and hooks to get info for debugging.
  • Add RtContextMixin mixin to provide access to the Rt instance.
  • Add RtState abstract class to implement the base logic of the state.
  • Add Rt.registerState method to create a new state.
  • Add Rt.getRefAt to get the reference of dependency created.
  • Add initHook method to RtHook to call when hook is created.
  • Add cancel method to UseAsyncState to cancel current method.
  • Update batch and untracked methods to support asynchronous callbacks.
  • Enhance event handling and notifier logic for improved stability and performance.
  • Enhance state management and error handling.
  • Add dependency mode to RtComponent.
  • Enhance dependency management to ensure to re-build when is detected changes while building.

Breakings

Fixes

  • Fix bug in UseEffect causing dependencies to not be unwatched.
  • Fix to show the correct dependency mode in the logger of the Rt.register method.
  • Fix nested Rt.batch method to work correctly.
  • Add error handling listeners and continue to next listeners in Notifier class.
  • Fix to propagate state param to boundInstance.
  • Remove listeners correctly from single-use listeners and handle null cases.

Internal

  • Add StateObserver test.
  • Rename some variables to use consistent naming convention.
  • Update UseDependency to support id parameter in tests.
  • Update annotated markdown references for clarity.
  • Add Reactter devtools extension and configuration files.
  • Rearrange arguments in UseAsyncState constructor.
  • Simplify the UseReducer implementation.
  • Add observer support for nested state updates.
  • Allow communication between application and devtools extension.
  • Add IContext interface class to represent the current context what the application is running in.
  • Replace StateBase to RtState interface.
  • Separate logic of EventNotifier to Notifier class.
  • Restructure the framework and core classes.
  • Update RtWatcher to extend RtScope and refactor code.
  • Update examples to use new features.
  • Improve dispose logic in RtState and UseDependency.
  • Update hook registration and state attachment logic.
  • Improve null listener handling in Notifier class.
  • Improve dispose, register and notify logic of state.
  • Support asynchronous callbacks in untracked and batch methods and add test for it.
  • Simplify dependency listener callbacks and improve state management checks.
  • Clean up exports, remove deprecated code, and improve event handling.
  • Add tests for dependency state watching and useEffect disposal.
  • Update exports to improve clarity and remove hidden types.
  • Enhance autoBinding method to accept an optional bound instance; improve state binding logic.
  • Enhance test coverage by adding error handling, debug label, and debug info tests for various components.
  • Update dependencies and version for reactter package.
  • Improve test command for better coverage.
  • Update dependency references to use objects instead of hashcodes.
  • Update mount and unmount logic in ProviderElement.
  • Add constants for release, profile, debug, web modes.
  • Update dependency handling and improve widget lifecycle management.
  • Enhance provider and scope implementations with improved type safety and instance management.

What's Changed

Full Changelog: v7.3.0...v8.0.0