-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release react 5.0.0 (stable) #224
Conversation
fb6bd35
to
d7b251b
Compare
Public API ChangesRelease PR detected; using previous release (4.9.2) as the diff base. Recommendation: **:bangbang: Major version bump (fyi @Workiva/semver-audit-group )**@@ line 24: package:react/react_server.dart @@
- typedef String OwnerFactory([String ownerId, num position, String key]);
// Removing a typedef is a major change. @@ line 39: package:react/react_client/js_interop_helpers.dart @@
- _GetPropertyFn get getProperty;
// Removing a top-level variable is a major change. @@ line 285: package:react/react_client/react_interop.dart @@
- ReactClassConfig createReactDartComponentClassConfig(ReactDartInteropStatics dartInteropStatics, ComponentStatics componentStatics, [JsComponentConfig jsConfig]);
// Removing a top-level function is a major change. - react/react_test.dart
// Removing an entry point is a major change. - react/react_server.dart
// Removing an entry point is a major change. Click to see 30 more API Changes
@@ line 36: package:react/react_server.dart @@
- typedef Component ComponentFactory();
// Removing a typedef is a major change. @@ line 411: package:react/react_server.dart @@
- void setServerConfiguration();
// Removing a top-level function is a major change. @@ line 65: package:react/react_client/js_interop_helpers.dart @@
- _SetPropertyFn get setProperty;
// Removing a top-level variable is a major change. @@ line 639: package:react/react_client.dart @@
- SyntheticDataTransfer syntheticDataTransferFactory(Object dt);
+ SyntheticDataTransfer syntheticDataTransferFactory(events.SyntheticDataTransfer dt);
// `type` of `dt` has changed.
// Changing a parameter signature is a major change. @@ line 323: package:react/react_test_utils.dart @@
- bool isElementOfType(dynamic element, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change. @@ line 293: package:react/react_test_utils.dart @@
- bool isCompositeComponentWithType(instance, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change. @@ line 93: package:react/react_client/js_interop_helpers.dart @@
- EmptyObject jsify(Map map);
// Removing a top-level function is a major change. @@ line 41: package:react/react_test.dart @@
- void setTestConfiguration();
// Removing a top-level function is a major change. @@ line 33: package:react/react_client.dart @@
- typedef ReactElement ReactComponentFactory(Map props, [dynamic children]);
// Removing a typedef is a major change. @@ line 29: package:react/react_test_utils.dart @@
- dynamic getComponentType(ReactComponentFactory componentFactory);
// Removing a top-level function is a major change. @@ line 343: package:react/react_test_utils.dart @@
- List<dynamic> scryRenderedComponentsWithType(tree, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change. @@ line 31: package:react/react_client.dart @@
- EmptyObject get emptyJsMap;
// Removing a top-level variable is a major change. @@ line 30: package:react/react_server.dart @@
- typedef OwnerFactory ReactComponentFactory(Map props, [dynamic children]);
// Removing a typedef is a major change. @@ line 33: package:react/react_test.dart @@
- dynamic initializeComponent(Component component, [Map props = const {}, List children, redraw, Ref ref]);
// Removing a top-level function is a major change. @@ line 257: package:react/react_test_utils.dart @@
- dynamic findRenderedComponentWithType(tree, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change. @@ line 31: package:react/react_client/react_interop.dart @@
class ReactDom {}
+ ReactPortal createPortal(dynamic children, Element container);
// Adding abstract members breaks all subclasses.
@@ line 150: package:react/react_client/react_interop.dart @@
class ReactComponent {}
- bool isMounted();
// Removing a method is a major change.
@@ line 10: package:react/react_test.dart @@
- class MarkupDescription {}
// Removing a class is a major change.
- List<dynamic> get children;
// Removing a field is a major change.
- String get tag;
// Removing a field is a major change.
- MarkupDescription(this.tag, this.props, this.children);
// Removing a constructor is a major change.
- Map<dynamic, dynamic> get props;
// Removing a field is a major change.
From dart:core/object.dart
- dynamic noSuchMethod(Invocation invocation);
// Removing a method is a major change.
- bool ==(other);
// Removing a method is a major change.
- Type get runtimeType;
// Removing a field is a major change.
- String toString();
// Removing a method is a major change.
- int get hashCode;
// Removing a field is a major change.
@@ line 684: package:react/react.dart @@
class SyntheticClipboardEvent extends SyntheticEvent {}
- SyntheticClipboardEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.clipboardData);
+ SyntheticClipboardEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.clipboardData);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 693: package:react/react.dart @@
class SyntheticKeyboardEvent extends SyntheticEvent {}
- SyntheticKeyboardEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.char, this.charCode, this.ctrlKey, this.locale, this.location, this.key, this.keyCode, this.metaKey, this.repeat, this.shiftKey);
+ SyntheticKeyboardEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.char, this.charCode, this.ctrlKey, this.locale, this.location, this.key, this.keyCode, this.metaKey, this.repeat, this.shiftKey);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 734: package:react/react.dart @@
class SyntheticFocusEvent extends SyntheticEvent {}
- SyntheticFocusEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.relatedTarget);
+ SyntheticFocusEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.relatedTarget);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 81: package:react/react_client/js_interop_helpers.dart @@
- class EmptyObject {}
// Removing a class is a major change.
- EmptyObject();
// Removing a constructor is a major change.
From dart:core/object.dart
- Type get runtimeType;
// Removing a field is a major change.
- String toString();
// Removing a method is a major change.
- dynamic noSuchMethod(Invocation invocation);
// Removing a method is a major change.
- bool ==(other);
// Removing a method is a major change.
- int get hashCode;
// Removing a field is a major change.
@@ line 15: package:react/react.dart @@
class Component {}
- dynamic bind(key);
// Removing a method is a major change.
@@ line 889: package:react/react.dart @@
class SyntheticUIEvent extends SyntheticEvent {}
- SyntheticUIEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.detail, this.view);
+ SyntheticUIEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool _defaultPrevented, dynamic _preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.detail, this.view);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 806: package:react/react.dart @@
class SyntheticTouchEvent extends SyntheticEvent {}
- SyntheticTouchEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.changedTouches, this.ctrlKey, this.metaKey, this.shiftKey, this.targetTouches, this.touches);
+ SyntheticTouchEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.changedTouches, this.ctrlKey, this.metaKey, this.shiftKey, this.targetTouches, this.touches);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 743: package:react/react.dart @@
class SyntheticFormEvent extends SyntheticEvent {}
- SyntheticFormEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type);
+ SyntheticFormEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 759: package:react/react.dart @@
class SyntheticMouseEvent extends SyntheticEvent {}
- SyntheticMouseEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.button, this.buttons, this.clientX, this.clientY, this.ctrlKey, this.dataTransfer, this.metaKey, this.pageX, this.pageY, this.relatedTarget, this.screenX, this.screenY, this.shiftKey);
+ SyntheticMouseEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.button, this.buttons, this.clientX, this.clientY, this.ctrlKey, this.dataTransfer, this.metaKey, this.pageX, this.pageY, this.relatedTarget, this.screenX, this.screenY, this.shiftKey);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 899: package:react/react.dart @@
class SyntheticWheelEvent extends SyntheticEvent {}
- SyntheticWheelEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.deltaX, this.deltaMode, this.deltaY, this.deltaZ);
+ SyntheticWheelEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.deltaX, this.deltaMode, this.deltaY, this.deltaZ);
// `type` of `bubbles` has changed.
// Changing a parameter signature is a major change.
@@ line 137: package:react/react_test_utils.dart @@
- class SimulateNative {}
// Removing a class is a major change.
- void submit(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void dragStart(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void contextMenu(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void drop(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void dragEnd(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void focus(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void keyUp(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void transitionEnd(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void blur(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void touchCancel(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void keyDown(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void dragEnter(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void doubleClick(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void mouseUp(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void animationEnd(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void dragOver(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void mouseMove(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void scroll(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void input(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void copy(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void dragLeave(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void mouseDown(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void animationIteration(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void click(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void drag(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void cut(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void wheel(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void mouseOver(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void paste(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void mouseOut(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void touchStart(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void animationStart(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void touchEnd(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- void touchMove(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
- SimulateNative();
// Removing a constructor is a major change.
- void dragExit(componentOrNode, [Map eventData = const {}]);
// Removing a method is a major change.
From dart:core/object.dart
- bool ==(other);
// Removing a method is a major change.
- int get hashCode;
// Removing a field is a major change.
- Type get runtimeType;
// Removing a field is a major change.
- dynamic noSuchMethod(Invocation invocation);
// Removing a method is a major change.
- String toString();
// Removing a method is a major change.
@@ line 280: package:react/react_client/react_interop.dart @@
+ void throwErrorFromJS(error);
// Adding a top-level function is a minor change. 2 more changes could not be displayed on this comment. Showing results for d7b251b
|
85f5609
to
d7b251b
Compare
# Conflicts: # CHANGELOG.md # pubspec.yaml
0a93ba7
to
b5ba04a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+10
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
+1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, wait, I want to double check that there aren't any breakages in 5.1.0 that should have made it into 5.0.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
This stable, major release of react includes:
ReactJS 16.x Support
.js
files provided by this package are now ReactJS version16.10.1
.5.1.0
.🚨 NOTE: This will be the last release of react that supports the Dart 1 SDK. 🚨
Breaking Changes
ReactJS 16 breaking changes
ErrorBoundary
utility component.props.style
string values are no longer auto-converted topx
.This has been a warning since React 15.0.0.react_dom.render
calls within React lifecycle methods are no longer guaranteed to be synchronous, and may returnnull
setState
callbacks (second argument) now fire immediately after componentDidMount / componentDidUpdate instead of after all components have rendered.componentDidUpdate
.unmountComponentAtNode
..toString()
the value in any places where "false" or "true" are needed.ref
to a component would always detach the ref before that component’s render is called. Now, we change theref
later, when applying the changes to the DOM.<A />
with<B />
,B.componentWillMount
now always happens beforeA.componentWillUnmount
. Previously,A.componentWillUnmount
could fire first in some cases.componentWillMount
tocomponentDidMount
should resolve the issue, and will be functionally equivalent in most cases.Dart API breaking changes
react_server.dart
entrypoint has been removedreact_test.dart
entrypoint has been removedComponent.bind
is removedreact_test_utils.SimulateNative
is removedreact_test_utils.Simulate
instead.jsify
is removed fromjs_interop_helpers.dart
dart:js
, and replacejsify
withJsObject.jsify
.getProperty
/setProperty
are removed fromjs_interop_helpers.dart
dart:js
instead.ReactComponentFactory
is removedReactComponentFactoryProxy
instead.emptyJsMap
is removednewObject()
fromdart:js_util
instead.EmptyObject
is removednewObject()
fromdart:js_util
instead.ReactComponent.isMounted
is removed