Update dependency dart to v2.19.6 - #21
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.14.0→2.19.6Release Notes
dart-lang/sdk (dart)
v2.19.6Compare Source
This is a patch release that:
Out of Memoryexception due to a VM bug. (issue #50537).v2.19.5Compare Source
This is a patch release that:
Dart_CObject_Type. (issue #51459).v2.19.4Compare Source
This is a patch release that:
#121270).
v2.19.3Compare Source
This is a patch release that:
Updates DDC test and builder configuration. (issue #51481).
Protects the Dart Analysis Server against extreme memory usage by limiting
the number of plugins per analysis context to 1. (issue #50981).
v2.19.2Compare Source
This is a patch release that:
Fixes a VM crash when mixing the use of double and float calculations in
debug/jit configuration. (issue #50622).
Fixes the compiler crashing when attempting to inline a method with lots of
optional parameters with distinct default values. (issue #119220).
Fixes the
part_of_different_libraryerror encountered when usingPackageBuildWorkspace. (issue #51087).v2.19.1Compare Source
This is a patch release that:
Fixes
pub getbehaviour: In Dart 2.19.0 adart pub getwith apubspec.lockcreated by a 2.18 SDK will unlock all constraints, effectivelylike a
pub upgrade(issue #51166).Stops rewriting SDK constraints: In Dart 3, a SDK constraint like
>=2.12.0 <3.0.0gets interpreted by the pub client as>=2.12.0 <4.0.0toallow for backwards compatibility (issue #51101).
This change was intended for Dart 3.0.0 and later, but was landed already in
2.19.0. It is now being removed in 2.19.1, as it can give confusing messages
such as:
This reinterpretation no longer happens in Dart 2.19.1.
Fixes a VM crash caused by incorrect sharing of RegExp between isolates
(issue #51130).
v2.19.0Compare Source
Language
Breaking change #49635: Flag additional code as unreachable due to
types
NullandNever. Several unusual constructs that lead to unreachablecode are now recognized by flow analysis:
Control flow after an expression of the form
e ?? otherore ??= other,where
ehas static typeNullandotherhas static typeNever, isconsidered unreachable.
Control flow predicated on an expression of the form
e is Neverevaluatingto
trueis considered unreachable.Control flow predicated on an expression of the form
e is! Neverevaluating to
falseis considered unreachable.Control flow on the RHS of a null-aware access such as
e?.property...,e?.property = ...ore?.method(...), whereehas static typeNull,is considered unreachable (Note: this can arise in the presence of extension
methods).
Previously, these behaviors only took effect if
ewas a reference to a localvariable.
Additionally, a type test of the form
v is Never(wherevis a localvariable) no longer promotes
vto typeNever.Breaking Change #49687: Don't delegate inaccessible private names to
noSuchMethod. If a concrete class implements an interface containing amember with a name that's private to different library, and does not inherit
an implementation of that interface member, a invocation of that member will
result in an exception getting thrown. Previously, such attempts would result
in the call being diverted to the
noSuchMethodmethod.This change closes a loophole in Dart's privacy system, where another library
can provide a different implementation of a supposedly private member using
noSuchMethod, and paves the way for a future implementation of promotion forprivate final fields (see #2020).
Breaking Change #50383: Report a compile-time error for all cyclic
dependencies during top-level type inference.
Previously, some of these dependencies were ignored, based on an analysis
determining that they could not influence the inferred type. However, this
analysis was complex, differed slightly among tools, and had become much more
complex due to other changes (especially, enhanced flow analysis).
With this change, all tools treat these cyclic dependencies in the same way,
the analysis is well-understood, and, arguably, the code is more readable.
Breakage is mitigated by adding a declared type to one top-level declaration
per cycle which is now an error.
directive to be written without a name (
library;). A library directive canbe used for library-level annotations (such as
@deprecated) and forlibrary-level documentation comments, and with this new feature, you don't
have to provide a unique name for each library directive. Instead, a name can
simply be omitted (see #1073).
Libraries
dart:convertDEFAULT_BUFFER_SIZEinJsonUtf8Encoderhas been removed.dart:coreFallThroughError. Has not been thrown since Dart 2.0(see [#49529]).
copyWithextension method onDateTime(see [#24644]).RangeError.checkValidIndexin favor ofIndexError.check.IndexErrorconstructor in favor ofIndexError.withLengthconstructor.
NullThrownErrorandCyclicInitializationError.Neither error is thrown by null safe code.
[#49529]: #49529
[#24644]: #24644
dart:developerkInvalidParams,kExtensionError,kExtensionErrorMax, andkExtensionErrorMininServiceExtensionResponsehave been removed. They have been replaced byinvalidParams,extensionError,extensionErrorMax, andextensionErrorMin.UserTag.MAX_USER_TAGSin favor ofUserTag.maxUserTags.dart:ffiPointerhaschanged to
Neverin preparation of completely removing the runtime typeargument.
Pointer.toStringhas changed to not report any type argument.dart:htmlslicetoSharedArrayBuffer.registerElementandregisterElement2inDocumentandHtmlDocument. These APIs were based on the deprecated Web Components v0.5specification and are not supported by browsers today. These APIs are expected
to be deleted in a future release. See the related breaking change request
#49536.
dart:ioBreaking change #49305:
Disallow negative or hexadecimal content-length headers.
Breaking change #49647:
File.createnow takes new optionalexclusiveboolparameter, and when itis
truethe operation will fail if target file already exists.Breaking change #49878: Calling
ResourceHandle.toFile(),ResourceHandle.toSocket(),ResourceHandle.toRawSocket()orResourceHandle.toRawDatagramSocket(), more than once now throws aStateError.The previous behavior would allow multiple Dart objects to refer to the same
file descriptor, which would produce errors when one object was closed or
garbage collected.
Adds three new
FileSystemExceptionsubclasses to handle common error cases:PathAccessException: The necessary access rights are not available.PathExistsException: The path being created already exists.PathNotFoundException: The path being accessed does not exist.dart:isolateIsolate.runto run a function in a new isolate.SendPort.sendis again applying strict checks to thecontents of the message when sending messages between isolates that are not
known to share the same code (e.g. an isolate spawned via
Isolate.spawnUri).These checks were accidentally relaxed in an earlier Dart version allowing
all classes from
dart:coreanddart:collectionthrough. This forexample means that you can't send an instance of a
HashMapto an isolatespawned via
Isolate.spawnUri. SeeSendPort.senddocumentation forthe full list of restrictions.
dart:mirrorsMirrorsUsedandCommenthavebeen removed.
MirrorsUsedwas experimental and deprecated;Commentwaspreviously used internally in dart2js. Both are no longer functional.
Other libraries
package:js@staticInterop:externalgenerative constructors. Use
external factorys for these classes instead,and the behavior should be identical. This includes use of synthetic
constructors. See #48730 and #49941 for more details.
from using type parameters e.g.
external void method<T>(T t). Use anon-
externalextension method for type parameters instead. See #49350for more details.
@JSannotation. You canalso have the
@anonymousannotation with these two annotations for anobject literal constructor, but it isn't required.
annotation. This is to avoid confusing type behavior.
Tools
Analyzer
mustBeOverriddenannotation, and quick fixeslints. There are now quick fixes for over 300 diagnostic codes. These lint
rules have new fixes:
combinators_ordering,dangling_library_doc_comments,implicit_call_tearoffs,library_annotations, andunnecessary_library_directive.body_might_complete_normally_catch_error,cast_from_null_always_fails,cast_from_nullable_always_fails,deprecated_colon_for_default_value, andduplicate_exportinvalid_override_different_default_valuesLinter
Updated the Linter to
1.31.0, which includes changes thatcollection_methods_unrelated_type.combinators_ordering.dangling_library_doc_comments.enable_null_safety.implicit_call_tearoffs.library_annotations.unnecessary_library_directive.unreachable_from_main.use_string_in_part_of_directives.no_leading_underscores_for_local_identifiersto not report super formalsas local variables.
unnecessary_overridesfalse negatives.cancel_subscriptionsfor nullable fields.library_namesto support unnamed libraries.unnecessary_parenthesissupport for as-expressions.use_build_context_synchronouslyto check for context property accesses.comment_references.unnecessary_brace_in_string_interpsforthisexpressions .use_build_context_synchronouslyforBuildContext.mounted.flutter_style_todosto handle more cases.use_build_context_synchronouslyto check forBuildContexts in namedexpressions.
exhaustive_casesto check parenthesized expressionsavoid_redundant_argument_valuesto work with enum declarations.avoid_redundant_argument_valueswhen referencing requiredparameters in legacy libraries.
use_super_parametersfalse positives with repeated superparameter references.
use_late_for_private_fields_and_variablesto handle enums.prefer_containsfalse positives when a start index is non-zero.noop_primitive_operationsto catch.toString()in string interpolations.
public_member_api_docsto report diagnostics on extensionnames (instead of bodies).
use_colored_boxanduse_decorated_boxto not over-report on containers withouta child.
unnecessary_parenthesisfalse positives on a map-or-set literal at the start ofan expression statement.
prefer_final_localsfalse positives reporting on fields.unnecessary_overridesto allow overrides on@Protectedmembers.avoid_multiple_declarations_per_linefalse positives inforstatements.prefer_final_localsfalse positives on declaration lists with at least onenon-final variable.
use_build_context_synchronouslyto handleawaits inifconditions.avoid_escaping_inner_quotes.avoid_null_checks_in_equality_operators.avoid_positional_boolean_parameters.avoid_returning_null.avoid_returning_null.avoid_returning_this.cascade_invocations.diagnostic_describe_all_properties.flutter_style_todos.join_return_with_statement.parameter_assignments.prefer_const_constructors.prefer_constructors_over_static_methods.prefer_constructors_over_static_methods.prefer_contains.prefer_foreach.prefer_interpolation_to_compose_strings.prefer_interpolation_to_compose_strings.recursive_getters.tighten_type_of_initializing_formals.unnecessary_lambdas.use_late_for_private_fields_and_variables.Pub
Treats packages with sdk constraint lower bound
>=2.12.0or more and upperbound
<3.0.0as compatible with<4.0.0.Introduces content-hashes in pubspec.lock, to protect against corrupted
package repositories.
These will show up in the lock file on the first run of
dart pub get.See https://dart.dev/go/content-hashes for more details.
New flag
dart pub get --enforce-lockfilewill fetch dependencies, but failif anything deviates from
pubspec.lock. Useful for ensuring reproducible runsin CI and production.
Remove remaining support for
.packagesfiles. The flag--legacy-packages-fileis no longer supported.The client will now default to the
pub.devrepository instead ofpub.dartlang.org.This will cause a change in
pubspec.lock.Support a new field
fundinginpubspec.yaml.Validate the CRC32c checksum of downloaded archives and retry on failure.
dart pub add foo:<constraint>with an existing dependency will now updatethe constraint rather than fail.
Update
dart pub publishto allowdependency_overridesinpubspec.yaml.They will still cause a publication warning.
Note that only
dependency_overridesfrom the root package effect resolution.Update
dart pub publishto require a working resolution.If publishing a breaking release of mutually dependent packages use
dependency_overridesto obtain a resolution.
dart pub addwill now allow adding multiple packages from any source usingthe same YAML syntax as in
pubspec.yaml.For example:
$ dart pub add retry:^1.0.0 'dev:foo{"git":"https://github.com/foo/foo"}'dart pub publishwill now give a warning ifdart analyzereports any diagnostics.dart pub getnow fails gracefully when run from inside the pub-cache.dart pub publishnow shows the file sizes of large files in your package toprevent accidental publication of large unrelated files.
Fix a bug in
dart pub upgrade --major-versionswhere packages not requiringmajor updates would be held back unless needed.
dart2js
dart2js no longer supports HTTP URIs as inputs.
v2.18.7Compare Source
v2.18.6Compare Source
v2.18.5Compare Source
(issue #50119).
(issue #50392).
v2.18.4Compare Source
This is a patch release that fixes crashes during hot reload
(issue flutter/flutter#113540).
v2.18.3Compare Source
This is a patch release that fixes a regression in code coverage computation
(issue #49887).
v2.18.2Compare Source
This is a patch release that:
Uri.parse.Libraries
dart:coreSecurity advisory CVE-2022-3095:
There is a auth bypass vulnerability in Dart SDK, specifically
dart:uricorelibrary, used to parse and validate URLs. This library is vulnerable to the
backslash-trick wherein backslash is not recognized as equivalent to forward
slash in URLs.
The
Uriclass has been changed to parse a backslash in the path or theauthority separator of a URI as a forward slash. This affects the
Uriconstructor's
pathparameter, and theUri.parsemethod.This change was made to not diverge as much from the browser
URLbehavior.The Dart
Uriclass is still not an implementation of the same standardas the browser's
URLimplementation.v2.18.1Compare Source
This is a patch release that fixes a crash caused by incorrect type inference
(issues flutter/flutter#110715 and flutter/flutter#111088).
v2.18.0Compare Source
Language
The following features are new in the Dart 2.18 language version. To use
them, you must set the lower bound on the SDK constraint for your package to
2.18 or greater (
sdk: '>=2.18.0 <3.0.0').Enhanced type inference for generic invocations with function literals:
Invocations of generic methods/constructors that supply function literal
arguments now have improved type inference. This primarily affects the
Iterable.foldmethod. For example, in previous versions of Dart, thecompiler would fail to infer an appropriate type for the parameter
a:With this improvement,
areceives its type from the initial value,0.On rare occasions, the wrong type will be inferred, leading to a compile-time
error, for example in this code, type inference will infer that
ahas atype of
Null:This can be worked around by supplying the appropriate type as an explicit
type argument to
fold:Mixin of classes that don't extend
Objectis no longer supported:Mixin:time but is now completely removed.
Core libraries
dart:asyncStream.fromIterablestream can now be listened to more than once.dart:collectionBidirectionalIterator.dart:coreunencodedPathpositional argument toUri.httpandUri.httpsto default to an empty path.dart:htmlconnectionStateattribute andconnectionstatechangelistener toRtcPeerConnection.dart:ioBreaking Change #49045:
The
uriproperty ofRedirectExceptionindart:iohas been changed tobe nullable. Programs must be updated to handle the
nullcase.Breaking Change #34218:
Constants in
dart:io's networking APIs following theSCREAMING_CAPSconvention have been removed (they were previously deprecated). Please use
the corresponding
lowerCamelCaseconstants instead.Breaking Change #45630: The Dart VM no longer automatically restores
the initial terminal settings upon exit. Programs that change the
Stdinsettings
lineModeandechoModeare now responsible for restoring thesettings upon program exit. E.g. a program disabling
echoModewill nowneed to restore the setting itself and handle exiting by the appropriate
signals if desired:
This change is needed to fix #36453 where the dart programs not caring
about the terminal settings can inadvertently corrupt the terminal settings
when e.g. piping into less.
Furthermore the
echoModesetting now only controls theecholocal modeand no longer sets the
echonllocal mode on POSIX systems (which controlswhether newline are echoed even if the regular echo mode is disabled). The
echonllocal mode is usually turned off in common shell environments.Programs that wish to control the
echonllocal mode can use the newechoNewlineModesetting.The Windows console code pages (if not UTF-8) and ANSI escape code support
(if disabled) remain restored when the VM exits.
dart:js_utildartifyand a number of minor helper functions.Dart VM
Implementation of
async/async*/sync*is revamped in Dart VM,both in JIT and AOT modes. This also affects Flutter except Flutter Web.
Besides smaller code size and better performance of async methods,
the new implementation carries a few subtle changes in behavior:
If
asyncmethod returns before reaching the firstawait, it nowreturns a completed Future.
Previously
asyncmethods completed resulting Future in separate microtasks.Stack traces no longer have duplicate entries for
asyncmethods.New implementation now correctly throws an error if
nulloccurs asan argument of a logical expression (
&&and||) which also containsan
await.New implementation avoids unnecessary extending the liveness of local
variables in
async/async*/sync*methods, which means that unusedobjects stored in local variables in such methods might be garbage
collected earlier than they were before
(see issue #36983
for details).
Tools
General
Breaking Change #48272:
The
.packagesfile has been fully discontinued. Historically when thecommands
dart pub getorflutter pub getare executed, pub resolved alldependencies, and installs those dependencies to the local pub cache. It
furthermore created a mapping from each used package to their location on the
local file system, and wrote that into two files:
.dart_tool/package_config.json.packages(deprecated in Dart 2.8.0)As of Dart 2.18.0, the
.packagesis now fully desupported, and all toolsdistributed in, and based on, the Dart SDK no longer support it, and thus
solely use the
.dart_tool/package_config.jsonfile. If you've rundart pub getorflutter pub getwith any Dart SDK from the past few years youalready have a
.dart_tool/package_config.jsonand thus should not beimpacted. You can delete any old
.packagesfiles.If you have any third-party tools that for historical reasons depend on a
.packageswe will support the ability to generate a.packagesby passingthe flag
--legacy-packages-filetodart pub get. This support will beremoved in a following stable release.
Dart command line
Breaking change #46100:
The standalone
dart2jsanddartdevctools have been removed as previouslyannounced.
dart2jsis replaced by thedart compile jscommand,dartdevcis no longer exposed as a command-line tool.
Breaking change #46100:
The standalone
dartanalyzertool has been removed as previouslyannounced.
dartanalyzeris replaced by thedart analyzecommand.Analyzer
abstract_field_constructor_initializer,abstract_class_member,always_put_control_body_on_new_line,avoid_print,avoid_renaming_method_parameters,discarded_futures,enum_with_abstract_member,non_bool_condition,super_formal_parameter_without_associated_named,unawaited_futures,unnecessary_finalunused_element_parameter,deprecated_export_useLinter
Updated the Linter to
1.25.0, which includes changes thatdiscarded_futures.unnecessary_null_aware_operator_on_extension_on_nullable.unnecessary_to_list_in_spreads.no_duplicate_case_valueslines_longer_than_80_chars,prefer_const_constructors_in_immutables, andprefer_initializing_formals.prefer_final_parametersto support super parameters.unawaited_futuresto handle string interpolatedfutures.
use_colored_boxto not flag nullable colors,no_leading_underscores_for_local_identifiersto lint local function declarations.
avoid_init_to_nullto correctly handle superinitializing defaults that are non-null.
no_leading_underscores_for_local_identifiersto allow identifiers with just underscores.
flutter_style_todosto support usernames thatstart with a digit.
require_trailing_commasto handle functionsin asserts and multi-line strings.
unsafe_htmlto allow assignments toimg.src.unnecessary_null_checksto properly handle mapliteral entries.
Pub
dart pub getanddart pub upgradeno longer create the.packagesfile. For details, see breaking change #48272 above.dart pub outdatednow shows which of your dependencies are discontinued.dart pub publishwill now list all the files it is about to publish.v2.17.7Compare Source
This is a patch release that:
v2.17.6Compare Source
This is a patch release that:
v2.17.5Compare Source
This is a patch release that:
(issue #49075).
v2.17.3Compare Source
This is a patch release that fixes:
dart pub logincommand (issue #3424).v2.17.1Compare Source
This is a patch release that fixes:
lateFinalizablevariables (issue #49024).dart compileon macOS 10.15 (issue #49010).v2.17.0Compare Source
Language
The following features are new in the Dart 2.17 language version. To use
them, you must set the lower bound on the SDK constraint for your package to
2.17 or greater (
sdk: '>=2.17.0 <3.0.0').Enhanced enums with members: Enum declarations can now define
members including fields, constructors, methods, getters, etc. For example:
Constructors must be
constsince enum values are always constants. If theconstructor takes arguments, they are passed when the enum value is
declared.
The above enum can be used like so:
Super parameters: When extending a class whose constructor takes
parameters, the subclass constructor needs to provide arguments for them.
Often, these are passed as parameters to the subclass constructor, which
then forwards them to the superclass constructor. This is verbose because
the subclass constructor must list the name and type of each parameter in
its parameter list, and then explicitly forward each one as an argument to
the superclass constructor.
@roy-sianez suggested allowing
super.before a subclassconstructor parameter to implicitly forward it to the corresponding
superclass constructor parameter. Applying this feature to Flutter
eliminated nearly 2,000 lines of code. For example, before:
And using super parameters:
From our analysis, over 90% of explicit superclass constructor calls can be
completely eliminated, using
super.parameters instead.Named args everywhere: In a function call, Dart requires positional
arguments to appear before named arguments. This can be frustrating for
arguments like collection literals and function expressions that look best
as the last argument in the argument list but are positional, like the
test()function in the test package:It would be better if the
skipargument appeared at the top of the callto
test()so that it wasn't easily overlooked, but since it's named andthe test body argument is positional,
skipmust be placed at the end.Dart 2.17 removes this restriction. Named arguments can be freely
interleaved with positional arguments, allowing code like:
Core libraries
dart:coreFinalizerandWeakReferencewhich can potentially detect whenobjects are "garbage collected".
isMimeTypemethod toUriDataclass, to allow case-insensitivechecking of the MIME type.
isCharsetandisEncodingmethods toUriDataclass,to allow case-insensitive and alternative-encoding-name aware checking
of the MIME type "charset" parameter.
UriData.fromStringandUriData.fromBytesrecognize and omita "text/plain"
mimeTypeeven if it is not all lower-case.dart:ffiref=and[]=methods to theStructPointerandUnionPointerextensions. They copy a compound instance into a native memory region.
AbiSpecificIntegers for common C types:charunsigned charsigned charshortunsigned shortintunsigned intlongunsigned longlong longunsigned long longuintptr_tsize_twchar_tNativeFinalizerwhich can potentially detect when objects are"garbage collected".
NativeFinalizers run native code wheredart:core'sFinalizers run Dart code on finalization.dart:htmlscrollIntoViewIfNeededtoElement. Previously, this method was nestedwithin
scrollIntoViewbased on theScrollAlignmentvalue.scrollIntoViewis unchanged for now, but users who intend to use the native
Element.scrollIntoViewIfNeededshould use the newscrollIntoViewIfNeededdefinition instead.
Performance.markandPerformance.measureto accept their differentoverloads.
markcan now accept amarkOptionsmap, andmeasurecan nowaccept a
startMarkandendMark, or ameasureOptionsmap. Both methodsreturn their correct return types now as well -
PerformanceEntry?andPerformanceMeasure?, respectively.dart:indexed_dbIdbFactory.supportsDatabaseNameshas been deprecated. It will always returnfalse.dart:ioBreaking Change #47887:
HttpClienthas a newconnectionFactoryproperty, which allows socketcreation to be customized. Classes that
implement HttpClientmay be brokenby this change. Add the following method to your classes to fix them:
Breaking Change #48093:
HttpClienthas a newkeyLogproperty, which allows TLS keys to be loggedfor debugging purposes. Classes that
implement HttpClientmay be broken bythis change. Add the following method to your classes to fix them:
Breaking Change #34218:
Constants in
dart:iofollowing theSCREAMING_CAPSconvention have beenremoved (they were previously deprecated). Please use the corresponding
lowerCamelCaseconstants instead.Breaking Change #48513:
Add a new
allowLegacyUnsafeRenegotiationproperty toSecurityContext,which allows TLS renegotiation for client secure sockets.
Add a optional
keyLogparameter toSecureSocket.connectandSecureSocket.startConnect.Deprecate
SecureSocket.renegotiateandRawSecureSocket.renegotiate,which were no-ops.
Tools
Dart command line
Breaking change #46100:
The standalone
dart2jstool has beenmarked deprecated as previously announced.
Its replacement is the
dart compile jscommand.Should you find any issues, or missing features, in the replacement
command, kindly file an issue.
Breaking change #46100:
The standalone
dartdevctool has been marked deprecated as previouslyannounced and will be deleted in a future Dart stable release. This tool
was intended for use only by build systems like bazel,
build_web_compilersand
flutter_tools. The functionality remains available for those systems,but it is no longer exposed as a command-line tool in the SDK.
Please share any concerns in the
breaking change tracking issue.
Breaking change #46100:
The standalone
dartdoctool has been removed aspreviously announced. Its replacement is the
dart doccommand.The template names used in the
dart createcommand have been simplified,and the current template names are now the set shown below. (Note: for
backwards compatibility the former template names can still be used.)
Analyzer
always_use_package_imports,avoid_void_async,cascade_invocations,default_list_constructor,must_call_super,no_leading_underscores_for_local_identifiers,null_check_on_nullable_type_parameter,prefer_function_declarations_over_variables,sort_constructors_first,sort_unnamed_constructors_first,undefined_enum_constant,unnecessary_late,unnecessary_null_aware_assignments,use_enums,use_raw_strings,use_super_parameters,var_return_typeunnecessary_finalcompound_implements_finalizableLinter
Updated the Linter to
1.22.0, which includes changes thatinvariant_booleans.depend_on_referenced_packagesto treatflutter_genas a virtualpackage, not needing an explicit dependency.
unnecessary_null_checksandnull_check_on_nullable_type_parameterto handlelist/set/map literals, and
yieldandawaitexpressions.unnecessary_null_aware_assignmentsproperty-accessfalse positives.
use_super_parameters.use_enums.use_colored_box.sort_constructors.always_use_package_imports,avoid_print, andavoid_relative_lib_imports.avoid_void_asyncto skipmainfunctions.prefer_final_parametersto not super on super params.features.
unnecessary_lateto report on variable names.null_check_on_nullable_type_parameterstable.Dartdoc
Updated dartdoc to 5.1.0, which includes changes that
[...]linkscategoryOrderoptionv2.16.2Compare Source
This is a patch release that fixes a dart2js crash when building some Flutter
web apps (issue #47916).
v2.16.1Compare Source
This is a patch release that fixes an AOT precompiler crash when building some
Flutter apps (issue flutter/flutter#97301).
v2.16.0Compare Source
Core libraries
dart:coreError.throwWithStackTracewhich canthrowanerror with an existing stack trace, instead of creating
a new stack trace.
dart:ffiAbiandAbiSpecificInteger. These enable specifying integers whichhave different sizes/signs per ABI (hardware and OS combination).
dart:ioCVE-2022-0451,
breaking change #45410:
HttpClientno longer transmits some headers (i.e.authorization,www-authenticate,cookie,cookie2) when processing redirects to adifferent domain.
On Windows,
Directory.renamewill no longer delete a directory ifnewPathspecifies one. Instead, aFileSystemExceptionwill be thrown.The
Platform.packageRootAPI has been removed. It had been marked deprecatedin 2018, as it doesn't work with any Dart 2.x release.
sourcePortparameter toSocket.connect,Socket.startConnect,RawSocket.connectandRawSocket.startConnectdart:isolateThe
Isolate.packageRootAPI has been removed. It had been marked deprecatedin 2018, as it doesn't work with any Dart 2.x release.
Tools
Dart command line
The standalone
dartanalyzertool has beenmarked deprecated as previously announced.
Its replacement is the
dart analyzecommand.Should you find any issues, or missing features, in the replacement
command, kindly file an issue.
The standalone
dartdoctool has beenmarked deprecated as previously announced.
Its replacement is the
dart doccommand.Should you find any issues, or missing features, in the replacement
command, kindly file an issue.
The deprecated standalone
pubtool has been removed.Its replacement is the
dart pubcommand.Should you find any issues, or missing features, in the replacement
command, kindly file an issue.
Pub
Fixed race conditions in
dart pub get,dart runanddart pub global run.It should now be safe to run these concurrently.
If (when) Pub crashes it will save a verbose log in
$PUB_CACHE/log/pub_log.txtThis can be used for filing issues to the issuetracker.
dart --verbose pub [command]will also cause the log file to be written.dart pub global activate --source=gitnow takes arguments--git-pathtospecify the path of the activated package in the pubspec and
--git-reftospecify the branch or revision to check out.
dart pub addcan now add multiple packages in one command.dart pub token addcan now add a token for pub.dev.dart pub uploaderhas been removed. To manage uploaders for a package usethe
https://pub.dev/<packagename>/adminweb-interface.Pub now supports a separate
pubspec_overrides.yamlfile that can containdependency_overrides. This makes it easier to avoid checking the localoverrides into version control.
Linter
Updated the Linter to
1.18.0, which includes changes thatcamel_case_typesto cover enums.no_leading_underscores_for_local_identifiersto notmis-flag field formal parameters with default values.
prefer_function_declarations_over_variablesto notmis-flag non-final fields.
prefer_contains.exhaustive_casesto skip deprecated values thatredirect to other values.
unnecessary_late.prefer_initializing_formals.secure_pubspec_urlsto checkissue_trackerandrepositoryentries.conditional_uri_does_not_exist.missing_whitespace_between_adjacent_strings.avoid_final_parameters.no_leading_underscores_for_library_prefixes.no_leading_underscores_for_local_identifiers.secure_pubspec_urls.sized_box_shrink_expand.use_decorated_box.omit_local_variable_types.v2.15.1Compare Source
This is a patch release that fixes:
dart pub publishfor servers with a path in the URL (prdart-lang/pub#3244).
v2.15.0Compare Source
CVE-2021-22567:
Bidirectional Unicode text can be interpreted and compiled differently than
how it appears in editors and code-review tools. Exploiting this an attacker
could embed source that is invisible to a code reviewer but that modifies the
behavior of a progra
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.