NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1877 most downloaded on pub.dev
A library for building statically-typed React UI components using Dart.
Last release 16 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
200 releases · first in 2016
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[#249] Warn consumers about props / state mutation
Complete
2.1.0Changesets:
- Dart 2
- Dart 1 (no changes)
[#249] Warn consumers about props / state mutation
[#254] Add IDE snippets (WebStorm/IntelliJ and VSCode) for Dart2-only component boilerplate.
[#253] Fix a bug that would cause a runtime exception for consumers that are
leveraging the backwards-compatible component boilerplate when mixing in a
@PropsMixin or @StateMixin from this package.
[#256] Workaround a Dart Dev Compiler bug that affects private props/state members and classes.
[#252] Workaround the following Dart Dev Compiler bug that results in incorrect behavior in certain scenarios when using uninitialized props/state fields: dart-lang/sdk#36052
[#251] Update the builder's auto_apply option to dependents instead of
all_packages. This means it will only run on packages that explicitly
declare a dependency on over_react, which makes more sense for the purpose
of this builder and is more performant because it runs on fewer packages.
[#250] Fail CI if changes are detected after running a build via
pub run build_runner build. This ensures that we don't forget to commit
changes to generated files.
Nothing published for this version
Nothing published for this version
This release adds support for Dart 2 while retaining backwards-compatibility with Dart 1, but it requires changes to consumer's component code.
This release adds support for Dart 2 while retaining backwards-compatibility with Dart 1, but it requires changes to consumer's component code.
Note: If you intend to consume this version of over_react on Dart 1 and Dart 2 in the same codebase, do not remove the
transformerssection from yourpubspec.yaml. This section is ignored on Dart 2, but will still be needed on Dart 1
Breaking Changes
In order to add support for Dart 2, consumers need to update their over_react component code! Please see our Dart 2 migration guide for more information.
We've created a codemod tool that will automatically update your code:
# On Dart 2.1.0
$ pub global activate over_react_codemod ^1.0.2
# If you need backwards-compatibility with Dart 1:
$ pub global run over_react_codemod:dart2_upgrade --backwards-compat
# Or, if you are okay with dropping Dart 1 support:
$ pub global run over_react_codemod:dart2_upgrade
The tool (and additional info) can be found here: https://github.com/Workiva/over_react_codemod/
Removals:
getJsProps() - use getProps() instead$Props and $PropKeys - see the migration guide aboveNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[#292] Update react dependency to version ^4.7.0, and remove references to deprecated jsify, getProperty and setProperty members.
react dependency to version ^4.7.0, and remove references to deprecated jsify, getProperty and setProperty members.AbstractTransitionComponent that causes ReactJS setState warnings to appear in the browser console.[#272] Add min-height: 0 to ResizeSensor wrapper nodes to fix issues with it not shrinking in a flexbox layout
min-height: 0 to ResizeSensor wrapper nodes to fix issues with it not shrinking in a flexbox layout[#266] Add ErrorBoundary Component
ErrorBoundary Component
This component does not actually hook into any ReactJS 16 lifecycle yet. It won't until support for ReactJS 16 is added to react-dart in version 5.0.0, and to over_react in version 3.0.0.
[#249] Warn consumers about props / state mutation
[#230] Deprecate the following APIs (they will be removed in 2.0.0):
Deprecations
[#230] Deprecate the following APIs (they will be removed in 2.0.0):
getJsProps() - use getProps() instead.$Props and $PropKeys - see the Dart 2 migration guide
for more information.[#207] Override call() instead of noSuchMethod() in the UiProps class.
This was a requirement for Dart 2 compatibility, but also serves as an
improvement - by no longer overriding noSuchMethod(), we will no longer be
obscuring certain analyzer errors that should be seen by consumers.
[#222] Fix the initializer validation for component factories and the static meta field on props and state classes.
Bug Fixes
meta field on props and state classes.[#220] Fix an issue for Dart 2 compatibility with how the transformer handles props and state mixins that have generic type parameters.
Bug Fixes
Tech-Debt
dart:mirrors usages from tests (necessary for Dart 2
compatibility).Documentation
[#196] Add componentDefaultProps getter to UiProps for retrieving the immutable map view of a component's default props. This is an alternative to con
New Features
[#196] Add componentDefaultProps getter to UiProps for retrieving the
immutable map view of a component's default props. This is an alternative to
constructing a UiComponent directly and calling getDefaultProps(), which
will no longer work in Dart 2.
[#208] Add typedDefaultPropsFor(factory) utility function to easily obtain
a typed view of the immutable default props for any UiFactory. This is
effectively a strongly-typed version of the above componentDefaultProps
getter.
Improvements
over_react
component boilerplate that is compatible with both Dart 1 and Dart 2. This is
the first step towards Dart 2 compatibility. For more information, see [#210].[#197] Mount the rem-change-detecting node for a ResizeSensor asynchronously to prevent react from getting into a bad state
Bug fixes
ResizeSensor asynchronously to prevent react from getting into a bad stateNew Features
listenToStoreForRedraw/handleRedrawOn
[#193] Fix missing super calls in Flux component lifecycle methods that prevented disposal and prop validation
Bug fixes
New Features
listenToStoreForRedraw/handleRedrawOn1.29.0Improvements
getDartComponent genericstyle prop into styles applied to the top-level ResizeSensor node[#187]: New ResizSensorProps.onDetachedMountCheck prop callback and ResizeSensorComponent.forceResetDetachedSensor method
New Features
ResizSensorProps.onDetachedMountCheck prop callback and ResizeSensorComponent.forceResetDetachedSensor methodImprovements
isNotEmpty instead of length == 0 check
5fb73f Make rem change sensor container is overflow:hidden so it doesn't interfere with the page layout
Bug fixes
overflow:hidden so it doesn't interfere with the page layoute8fc86 Loosen lower bound of built_value
Dependency Updates
built_value
>=4.6.1 <5.2.0 (was >=5.1.3 <5.2.0)[#178]: Automatic document root font-size change detection in Google Chrome to overcome https://bugs.chromium.org/p/chromium/issues/detail?id=429140
New Features
Dependency Updates
>=0.30.0+4 <=0.31.0 (was >=0.30.0 <=0.31.0)^7.4.2 (was ^7.4.1)>=5.1.3 <5.2.0 (was >=4.2.0 <5.2.0)^0.6.1+1 (was ^0.6.0)>=0.11.3+2 <1.0.0 (was >=0.11.3+1 <1.0.0)^1.1.6 (was ^1.0.4)^1.5.1 (was ^1.4.1)^4.4.2 (was ^4.4.1)^1.4.1 (was ^1.4.0)^0.1.5 (was ^0.1.1)^1.13.0 (was ^1.10.0)^2.9.5 (was ^2.7.1)^1.3.4 (was ^1.3.2)>=0.25.0 <=0.28.0 (was >=0.21.4 <=0.28.0)Tech Debt
[#167]: New ClassNameBuilder.merge method and ClassNameBuilder.merged constructor.
New Features
ClassNameBuilder.merge method and ClassNameBuilder.merged constructor.react_wrappers library that was previously only available via a src/ import.Address ReactComponentFactory deprecation
Dependency Updates
^1.10.0 (was ^1.8.0)^4.4.1 (was ^4.3.0)Tech Debt
ReactComponentFactory deprecationfindRenderedComponentWithType deprecationAddress Dart 2.x SDK lints / warnings that do not constitute breaking changes
Dependency Updates
^4.3.0 (was ^3.7.0)^7.4.1 (was >=6.1.0 <8.0.0)>=4.2.0 <5.2.0 (was >=4.2.0 <6.0.0)New Features
react_dom.render/react_dom.unmountComponentAtNode from the react libraryTech Debt
DisposableManagerV6 deprecationUiProps and UiState now extend from MapBase[#149]: Dependency Maintenance:
Dependency Updates
>=1.24.2 <2.0.0, was >=1.24.2>=0.30.0 <=0.31.0, was >=0.30.0 <0.31.0>=0.15.2 <=0.15.2+14, was ^0.15.0>=0.21.4 <=0.28.0, was >=0.21.4 <0.26.0>=0.7.2 <0.11.0, was ^0.7.2^1.1.0, was ^1.0.0^2.0.0, was ^0.11.0^0.12.32+1, was ^0.12.24__Warning:__ This will be deprecated in an upcoming release in favor of a different approach to creating a built_redux component.
Dependency Updates
>=4.2.0 <6.0.0, was ^4.2.0New Features
BuiltReduxUiComponent/BuiltReduxUiProps out of @experimental
built_redux component.[#142]: Do not execute prop validation logic in dart2js code
[#140]: Add an option to make BuiltReduxUiComponent "pure"
[#137]: Get rid of dart2js compiler warnings
[#133]: Update logger name standard.
> Complete `1.20.0` Changeset __New Features__ * [#128]: Add UiPropsMapView. __Misc__ * [#129]: Add CODEOWNERS file.
New Features
UiPropsMapView.Misc
[#126]: Update minimum Dart SDK version to 1.24.2.
Dependency Updates
1.24.2.New Features
BuiltReduxUiComponent and BuiltReduxUiProps.
import "package:over_react/experimental.dart";Tech Debt
Fix regression in prop_mixins.dart introduced by [#119].
[#177]: Improve error message when UiState classes aren't set up properly.
Improvements
New Features
[#115]: Add 4-argument callback utils
[#110]: Revert bugfixes that can cause FluxUiComponent rendering regressions:
Bug fixes
setState and store trigger only result in one FluxUiComponent renderFluxUiComponent redraws only once when store triggers along with ancestor rerender.[#108]: Fix case where setState and store trigger only result in one FluxUiComponent render
Bug fixes
setState and store trigger only result in one FluxUiComponent render[#104]: Update UiComponent to implement DisposableManagerV6.
Dependency Updates
^1.8.0 (was ^1.6.0)^2.9.0 (was ^2.7.1)New Features
UiComponent to implement DisposableManagerV6.Improvements
FluxUiComponent redraws only once when store triggers along with ancestor rerender.Tech Debt
getDartComponent.
[#97]: Improve some documentation comments.
Tech Debt
[#94]: Address deprecations from package:test
New Features
validateProps method to UiComponent
@requiredProp
within componentWillMount and componentWillReceivePropsTech Debt
package:testMisc
[#91]: Implement `DisposableManagerV3` for UiComponent
Dependency Updates
^3.4.3 (was ^3.4.1)^1.6.0 (new)New Features
DisposableManagerV3 for UiComponent
Misc
[#89]: quiver >=0.21.4 <0.26.0 (was >=0.21.4 <0.25.0)
Dependency Updates
>=0.21.4 <0.26.0 (was >=0.21.4 <0.25.0)New Features
DomProps/SvgProps implement UiProps for more convenient DDC typingMisc
over_react_test
Bump min source_span to version w/ SourceFile.fromString
Your coding agent can read these notes before it upgrades. Set up the MCP server →