Skip to content
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

chore: update dependency dart to v3.6.0 #43

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Aug 11, 2024

This PR contains the following updates:

Package Update Change
dart (source) minor 3.4.4 -> 3.6.0

Release Notes

dart-lang/sdk (dart)

v3.6.0

Compare Source

Language

Dart 3.6 adds digit separators to the language. To use them, set your
package's [SDK constraint][language version] lower bound to 3.6 or greater
(sdk: '^3.6.0').

Digit separators

Digits in number literals (decimal integer literals, double literals,
scientific notation literals, and hexadecimal literals) can now include
underscores between digits, as "digit separators." The separators do not change
the value of a literal, but can serve to make the number more readable.

100__000_000__000_000__000_000  // one hundred million million millions!
0x4000_0000_0000_0000
0.000_000_000_01
0x00_14_22_01_23_45  // MAC address

Separators are not allowed at the start of a number (this would be parsed as an
identifier), at the end of a number, or adjacent to another character in a
number, like ., x, or the e in scientific notation.

  • Breaking Change #​56065: The context used by the compiler and analyzer
    to perform type inference on the operand of a throw expression has been
    changed from the "unknown type" to Object. This makes the type system more
    self-consistent, because it reflects the fact that it's not legal to throw
    null. This change is not expected to make any difference in practice.
Libraries
dart:io
  • Breaking Change #​52444: Removed the Platform() constructor, which
    has been deprecated since Dart 3.1.

  • Breaking Change #​53618: HttpClient now responds to a redirect
    that is missing a "Location" header by throwing RedirectException, instead
    of StateError.

dart:js_interop
  • Added constructors for JSArrayBuffer, JSDataView, and concrete typed array
    types e.g. JSInt8Array.
  • Added length and []/[]= operators to JSArray.
  • Added toJSCaptureThis so this is passed in from JavaScript to the
    callback as the first parameter.
  • Added a static from method on JSArray to create a JSArray from a given
    JavaScript iterable or array-like object.
Tools
CFE
  • Breaking Change #​56466: The implementation of the UP and
    DOWN algorithms in the CFE are changed to match the specification
    and the corresponding implementations in the Analyzer. The upper and
    lower closures of type schemas are now computed just before they are
    passed into the subtype testing procedure instead of at the very
    beginning of the UP and DOWN algorithms.
Dart format
  • Preserve type parameters on old-style function-typed formals that also use
    this. or super..
  • Correctly format imports with both as and if clauses.
Wasm compiler (dart2wasm)
  • The condition dart.library.js is now false on conditional imports in
    dart2wasm. Note that it was already a static error to import dart:js
    directly (see #​55266).
Pub
  • Support for workspaces. This allows you to develop and resolve multiple
    packages from the same repo together. See https://dart.dev/go/pub-workspaces
    for more info.

  • New command dart pub bump. Increments the version number of the current
    package.

    For example: dart pub bump minor will change the version from 1.2.3 to
    1.3.0.

  • New validation: dart pub publish will warn if your git status is not
    clean.

  • New flag dart pub upgrade --unlock-transitive.

  • dart pub upgrade --unlock-transitive pkg, will unlock and upgrade all the
    dependencies of pkg instead of just pkg.

Analyzer
  • Add the [use_truncating_division][use_truncating_division] lint rule.
  • Add the experimental [omit_obvious_local_variable_types][omit_obvious_local_variable_types] lint rule.
  • Add the experimental [specify_nonobvious_local_variable_types][specify_nonobvious_local_variable_types] lint rule.
  • Add the experimental [avoid_futureor_void][avoid_futureor_void] lint rule.
  • Add quick fixes for more than 14 diagnostics.
  • Add new assists: "add digit separators", "remove digit separators", and
    "invert conditional expression".

v3.5.4

Compare Source

v3.5.3

Compare Source

  • Fixes an issue with the DevTools Memory tool causing OOMs. and an
    issue resulting in a missing tab bar when DevTools is embedded in
    IntelliJ and Android Studio (issue#​56607).
  • Fixes an issue with the DevTools release notes showing each time
    DevTools is opened instead of only the first time (issue#​56607).
  • Fixes an issue resulting in a missing tab bar when DevTools is
    embedded in IntelliJ and Android Studio (issue#​56607).

v3.5.2

Compare Source

  • Fixes a bug where ZLibDecoder would incorrectly attempt to decompress data
    past the end of the zlib footer (issue #​56481).
  • Fixes issue where running dart from PATH could result in some commands not
    working as expected (issues #​56080, #​56306, #​56499).
  • Fixes analysis server plugins not receiving setContextRoots requests or
    being provided incorrect context roots in multi-package workspaces (issue
    #​56475).

v3.5.1

Compare Source

  • Fixes resolving include: in analysis_options.yaml file in a nested
    folder in the workspace (issue#​56464).
  • Fixes source maps generated by dart compile wasm when optimizations are
    enabled (issue #​56423).
  • Fixes a bug in the dart2wasm compiler in unsound -O3 / -O4 modes where a
    implicit setter for a field of generic type will store null instead of the
    field value (issue #​56374).
  • Fixes a bug in the dart2wasm compiler that can trigger in certain situations
    when using partial instantiations of generic tear-offs (constructors or static
    methods) in constant expressions (issue #​56440).
  • The algorithm for computing the standard upper bound of two types,
    also known is UP, is provided the missing implementation for
    StructuralParameterType objects. In some corner cases cases the
    lacking implementation resulted in a crash of the compiler (issue #​56457).

v3.5.0

Compare Source

Language
  • Breaking Change #​55418: The context used by the compiler to perform
    type inference on the operand of an await expression has been changed to
    match the behavior of the analyzer. This change is not expected to make any
    difference in practice.

  • Breaking Change #​55436: The context used by the compiler to perform
    type inference on the right hand side of an "if-null" expression (e1 ?? e2)
    has been changed to match the behavior of the analyzer. change is expected to
    have low impact on real-world code. But in principle it could cause
    compile-time errors or changes in runtime behavior by changing inferred
    types. The old behavior can be restored by supplying explicit types.

Libraries
dart:core
  • Breaking Change #​44876: DateTime on the web platform now stores
    microseconds. The web implementation is now practically compatible with the
    native implementation, where it is possible to round-trip a timestamp in
    microseconds through a DateTime value without rounding the lower
    digits. This change might be breaking for apps that rely in some way on the
    .microsecond component always being zero, for example, expecting only three
    fractional second digits in the toString() representation. Small
    discrepancies in arithmetic due to rounding of web integers may still occur
    for extreme values, (1) microsecondsSinceEpoch outside the safe range,
    corresponding to dates with a year outside of 1685..2255, and (2) arithmetic
    (add, subtract, difference) where the Duration argument or result
    exceeds 570 years.
dart:io
  • Breaking Change #​55786: SecurityContext is now final. This means
    that SecurityContext can no longer be subclassed. SecurityContext
    subclasses were never able to interoperate with other parts of dart:io.

  • A ConnectionTask can now be created using an existing Future<Socket>.
    Fixes #​55562.

dart:typed_data
  • Breaking Change #​53785: The unmodifiable view classes for typed data
    have been removed. These classes were deprecated in Dart 3.4.

    To create an unmodifiable view of a typed-data object, use the
    asUnmodifiableView() methods added in Dart 3.3.

  • Added superinterface TypedDataList to typed data lists, implementing both
    List and TypedData. Allows abstracting over all such lists without losing
    access to either the List or the TypedData members.
    A ByteData is still only a TypedData, not a list.

dart:js_interop
  • Breaking Change #​55508: importModule now accepts a JSAny instead
    of a String to support other JS values as well, like TrustedScriptURLs.

  • Breaking Change #​55267: isTruthy and not now return JSBoolean
    instead of bool to be consistent with the other operators.

  • Breaking Change ExternalDartReference no longer implements Object.
    ExternalDartReference now accepts a type parameter T with a bound of
    Object? to capture the type of the Dart object that is externalized.
    ExternalDartReferenceToObject.toDartObject now returns a T.
    ExternalDartReferenceToObject and ObjectToExternalDartReference are now
    extensions on T and ExternalDartReference<T>, respectively, where T extends Object?. See #​55342 and #​55536 for more details.

  • Fixed some consistency issues with Function.toJS across all compilers.
    Specifically, calling Function.toJS on the same function gives you a new JS
    function (see issue #​55515), the maximum number of arguments that are
    passed to the JS function is determined by the static type of the Dart
    function, and extra arguments are dropped when passed to the JS function in
    all compilers (see #​48186).

Tools
Analyzer
  • Add the [unintended_html_in_doc_comment][unintended_html_in_doc_comment] lint rule.
  • Add the [invalid_runtime_check_with_js_interop_types][invalid_runtime_check_with_js_interop_types] lint rule.
  • Add the [document_ignores][document_ignores] lint rule.
  • Add quick fixes for more than 70 diagnostics.
  • The "Add missing switch cases" quick fix now adds multiple cases, such that
    the switch becomes exhaustive.
  • The "Remove const" quick fix now adds const keywords to child nodes, where
    appropriate.
Pub
  • New flag dart pub downgrade --tighten to restrict lower bounds of
    dependencies' constraints to the minimum that can be resolved.
Dart Runtime
  • The Dart VM only executes sound null safe code, running of unsound null
    safe code using the option --no-sound-null-safety has been removed.

  • Dart_NewListOf and Dart_IsLegacyType functions are
    removed from Dart C API.

  • Dart_DefaultCanonicalizeUrl is removed from the Dart C API.


Configuration

📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the chore-renovate-dart-3.x branch from ab60ca5 to eb30671 Compare August 16, 2024 15:19
@renovate renovate bot changed the title chore: update dependency dart to v3.5.0 chore: update dependency dart to v3.5.1 Aug 16, 2024
@renovate renovate bot force-pushed the chore-renovate-dart-3.x branch from eb30671 to ade9f06 Compare August 28, 2024 12:42
@renovate renovate bot changed the title chore: update dependency dart to v3.5.1 chore: update dependency dart to v3.5.2 Aug 28, 2024
@renovate renovate bot changed the title chore: update dependency dart to v3.5.2 chore: update dependency dart to v3.5.3 Sep 12, 2024
@renovate renovate bot force-pushed the chore-renovate-dart-3.x branch from ade9f06 to e80c589 Compare September 12, 2024 17:00
@renovate renovate bot force-pushed the chore-renovate-dart-3.x branch from e80c589 to 6152a50 Compare October 17, 2024 20:15
@renovate renovate bot changed the title chore: update dependency dart to v3.5.3 chore: update dependency dart to v3.5.4 Oct 17, 2024
@renovate renovate bot changed the title chore: update dependency dart to v3.5.4 chore: update dependency dart to v3.6.0 Dec 11, 2024
@renovate renovate bot force-pushed the chore-renovate-dart-3.x branch from 6152a50 to 0bbf332 Compare December 11, 2024 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants