Clarify scope of breaking change of isA

https://github.com/dart-lang/sdk/commit/9f367b170941868927e4c1fad3f6f629c1ba52fb
is only breaking if the user referred to the extension
names directly, so we should clarify that in the changelog.

Change-Id: Ibaff9227dc9ffd0bbd7c2e7cd21e7bd9da124204
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/482081
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Srujan Gaddam <srujzs@google.com>
This commit is contained in:
Srujan Gaddam
2026-02-20 17:02:28 -08:00
committed by Commit Queue
parent 6005ca0cf7
commit 29af7aa641
+9 -5
View File
@@ -71,11 +71,15 @@ main() {
#### `dart:js_interop`
- **Breaking Change**: `isA` is moved from `JSAnyUtilityExtension` to
`NullableObjectUtilExtension` to support type-checking any `Object?`.
`isA<JSObject>()` also now handles JS objects with no prototypes correctly and
`isA<JSAny>()` does a non-trivial check to make sure the value is a JS value.
See [#56905][] for more details.
- **Breaking Change in extension name of `isA`**: `isA` is moved from
`JSAnyUtilityExtension` to `NullableObjectUtilExtension` to support
type-checking any `Object?`. `isA<JSObject>()` also now handles JS objects
with no prototypes correctly and `isA<JSAny>()` does a non-trivial check to
make sure the value is a JS value. See [#56905][] for more details. As
`JSAnyUtilityExtension` is on `JSAny?` and `NullableObjectUtilExtension` is on
the supertype `Object?`, this change is only breaking if users referred to the
extension name directly, either through applying the extension directly or
through using `show`/`hide` directives.
[#56905]: https://github.com/dart-lang/sdk/issues/56905