??: if null operator. expr1 ?? expr2 evaluates to expr1 if not null,
otherwise expr2.
??=: null-aware assignment. v ??= expr causes v to be assigned expr
only if v is null.
x?.p: null-aware access. x?.p evaluates to x.p if x is not null,
otherwise evaluates to null.
x?.m(): null-aware method invocation. x?.m() invokes m only if x is
not null.
Core library changes
dart:async
StreamController added setters for the onListen, onPause, onResume
and onCancel callbacks.
dart:convert
LineSplitter added a split static method returning an Iterable.
dart:core
Uri class now perform path normalization when a URI is created. This
removes most .. and . sequences from the URI path. Purely relative paths
(no scheme or authority) are allowed to retain some leading "dot" segments.
Also added hasAbsolutePath, hasEmptyPath, and hasScheme properties.
dart:developer
New log function to transmit logging events to Observatory.
dart:html
NodeTreeSanitizer added the const trusted field. It can be used instead
of defining a NullTreeSanitizer class when calling setInnerHtml or other
methods that create DOM from text. It is also more efficient, skipping the
creation of a DocumentFragment.
dart:io
Added two new file modes, WRITE_ONLY and WRITE_ONLY_APPEND for opening a
file write only.
eaeecf2
Change stdout/stderr to binary mode on Windows.
4205b29
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps meta from 1.11.0 to 1.12.0.
Changelog
Sourced from meta's changelog.
... (truncated)
Commits
b4fa68e
Band-aid fix for issue #24191.00d6b50
Add library prefixes to NO_LOCATION_SPANNABLE and MessageKind.daff4e7
[dart2js] fix inference of ??= and []??=40c76bb
dart2js: fail gracefully with invalid package config1aecb65
dart2js: remove trailing 0 byte when reading .packages7f78948
dart2js: don't add a trailing slash when reading --packages99c2010
Handle comparison of empty URIs (sdk/24126).971f0a2
comment docgen test3e970df
comment out failing docgen testc7e7953
update dartdoc, markdown in DEPSDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show