diff --git a/CHANGELOG.md b/CHANGELOG.md index ab807ccbb7e..deb69f5138b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 3.9.0 + ## 3.8.0 **Released on:** Unreleased diff --git a/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart b/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart index 039242195aa..0f552d24df7 100644 --- a/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart +++ b/pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart @@ -6,7 +6,7 @@ // // Instead modify 'tools/experimental_features.yaml' and run // 'dart pkg/front_end/tool/cfe.dart generate-experimental-flags' to update. -const Version defaultLanguageVersion = const Version(3, 8); +const Version defaultLanguageVersion = const Version(3, 9); /// Enum for experimental flags shared between the CFE and the analyzer. enum ExperimentalFlag { @@ -29,7 +29,7 @@ enum ExperimentalFlag { isEnabledByDefault: false, isExpired: false, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion), + experimentReleasedVersion: const Version(3, 8)), constantUpdate2018( name: 'constant-update-2018', @@ -64,7 +64,7 @@ enum ExperimentalFlag { isEnabledByDefault: false, isExpired: false, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion), + experimentReleasedVersion: const Version(3, 8)), enhancedEnums( name: 'enhanced-enums', @@ -99,7 +99,7 @@ enum ExperimentalFlag { isEnabledByDefault: false, isExpired: false, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion), + experimentReleasedVersion: const Version(3, 8)), inferenceUpdate1( name: 'inference-update-1', @@ -127,7 +127,7 @@ enum ExperimentalFlag { isEnabledByDefault: false, isExpired: false, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion), + experimentReleasedVersion: const Version(3, 8)), inferenceUsingBounds( name: 'inference-using-bounds', @@ -274,7 +274,7 @@ enum ExperimentalFlag { isEnabledByDefault: false, isExpired: false, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion), + experimentReleasedVersion: const Version(3, 8)), wildcardVariables( name: 'wildcard-variables', diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart index eee4eb29e7d..80780c6ef38 100644 --- a/pkg/analyzer/lib/src/dart/analysis/driver.dart +++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart @@ -100,7 +100,7 @@ import 'package:meta/meta.dart'; // TODO(scheglov): Clean up the list of implicitly analyzed files. class AnalysisDriver { /// The version of data format, should be incremented on every format change. - static const int DATA_VERSION = 450; + static const int DATA_VERSION = 451; /// The number of exception contexts allowed to write. Once this field is /// zero, we stop writing any new exception contexts in this process. diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart index c38465d7f38..c50ac00eedc 100644 --- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart +++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart @@ -12,7 +12,7 @@ part of 'experiments.dart'; /// The current version of the Dart language (or, for non-stable releases, the /// version of the language currently in the process of being developed). -const _currentVersion = '3.8.0'; +const _currentVersion = '3.9.0'; /// A map containing information about all known experimental flags. final _knownFeatures = { @@ -212,7 +212,7 @@ class ExperimentalFeatures { isExpired: IsExpired.const_functions, documentation: 'Allow more of the Dart language to be executed in const expressions.', - experimentalReleaseVersion: null, + experimentalReleaseVersion: Version.parse('3.8.0'), releaseVersion: null, channels: ["stable", "beta", "dev", "main"], ); @@ -268,7 +268,7 @@ class ExperimentalFeatures { isEnabledByDefault: IsEnabledByDefault.dot_shorthands, isExpired: IsExpired.dot_shorthands, documentation: 'Shorter dot syntax for static accesses.', - experimentalReleaseVersion: null, + experimentalReleaseVersion: Version.parse('3.8.0'), releaseVersion: null, channels: ["stable", "beta", "dev", "main"], ); @@ -325,7 +325,7 @@ class ExperimentalFeatures { isExpired: IsExpired.getter_setter_error, documentation: 'Stop reporting errors about mismatching types in a getter/setter pair.', - experimentalReleaseVersion: null, + experimentalReleaseVersion: Version.parse('3.8.0'), releaseVersion: null, channels: ["stable", "beta", "dev", "main"], ); @@ -371,7 +371,7 @@ class ExperimentalFeatures { isEnabledByDefault: IsEnabledByDefault.inference_update_4, isExpired: IsExpired.inference_update_4, documentation: 'A bundle of updates to type inference.', - experimentalReleaseVersion: null, + experimentalReleaseVersion: Version.parse('3.8.0'), releaseVersion: null, channels: ["stable", "beta", "dev", "main"], ); @@ -605,7 +605,7 @@ class ExperimentalFeatures { isEnabledByDefault: IsEnabledByDefault.variance, isExpired: IsExpired.variance, documentation: 'Sound variance', - experimentalReleaseVersion: null, + experimentalReleaseVersion: Version.parse('3.8.0'), releaseVersion: null, channels: ["stable", "beta", "dev", "main"], ); diff --git a/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart index 25752f5f748..e39e6733d0f 100644 --- a/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart +++ b/pkg/analyzer/test/src/diagnostics/invalid_language_override_greater_test.dart @@ -27,7 +27,7 @@ class InvalidLanguageOverrideGreaterTest extends PubPackageResolutionTest { // @dart = ${latestVersion.major}.${latestVersion.minor + 1} class A {} ''', [ - error(WarningCode.INVALID_LANGUAGE_VERSION_OVERRIDE_GREATER, 0, 14), + error(WarningCode.INVALID_LANGUAGE_VERSION_OVERRIDE_GREATER, 0, 15), ]); _assertUnitLanguageVersion( package: latestVersion, diff --git a/pkg/dart_internal/pubspec.yaml b/pkg/dart_internal/pubspec.yaml index 7a543cc57b5..1843b96f34b 100644 --- a/pkg/dart_internal/pubspec.yaml +++ b/pkg/dart_internal/pubspec.yaml @@ -9,7 +9,7 @@ repository: https://github.com/dart-lang/sdk/tree/main/pkg/dart_internal environment: # Restrict the upper bound so that we can remove support for this in a later # version of the SDK without it being a breaking change. - sdk: '>=3.5.0 <3.9.0' + sdk: '>=3.5.0 <3.10.0' resolution: workspace diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart index 19d097f17ab..fe107fe9ffe 100644 --- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart +++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart @@ -81,7 +81,7 @@ class ExperimentalFlag { isExpired: false, enabledVersion: defaultLanguageVersion, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion); + experimentReleasedVersion: const Version(3, 8)); static const ExperimentalFlag constantUpdate2018 = const ExperimentalFlag( name: 'constant-update-2018', @@ -121,7 +121,7 @@ class ExperimentalFlag { isExpired: false, enabledVersion: defaultLanguageVersion, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion); + experimentReleasedVersion: const Version(3, 8)); static const ExperimentalFlag enhancedEnums = const ExperimentalFlag( name: 'enhanced-enums', @@ -161,7 +161,7 @@ class ExperimentalFlag { isExpired: false, enabledVersion: defaultLanguageVersion, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion); + experimentReleasedVersion: const Version(3, 8)); static const ExperimentalFlag inferenceUpdate1 = const ExperimentalFlag( name: 'inference-update-1', @@ -193,7 +193,7 @@ class ExperimentalFlag { isExpired: false, enabledVersion: defaultLanguageVersion, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion); + experimentReleasedVersion: const Version(3, 8)); static const ExperimentalFlag inferenceUsingBounds = const ExperimentalFlag( name: 'inference-using-bounds', @@ -361,7 +361,7 @@ class ExperimentalFlag { isExpired: false, enabledVersion: defaultLanguageVersion, experimentEnabledVersion: defaultLanguageVersion, - experimentReleasedVersion: defaultLanguageVersion); + experimentReleasedVersion: const Version(3, 8)); static const ExperimentalFlag wildcardVariables = const ExperimentalFlag( name: 'wildcard-variables', diff --git a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.expect b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.expect index 20f8d69da80..41ae4ad2163 100644 --- a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.expect +++ b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.expect @@ -1,7 +1,7 @@ // // Problems outside component: // -// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.9. // // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // ^ // diff --git a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.modular.expect b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.modular.expect index 20f8d69da80..41ae4ad2163 100644 --- a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.modular.expect @@ -1,7 +1,7 @@ // // Problems outside component: // -// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.9. // // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // ^ // diff --git a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.outline.expect b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.outline.expect index 20f8d69da80..41ae4ad2163 100644 --- a/pkg/front_end/testcases/general/too_high_version/main.dart.strong.outline.expect +++ b/pkg/front_end/testcases/general/too_high_version/main.dart.strong.outline.expect @@ -1,7 +1,7 @@ // // Problems outside component: // -// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.9. // // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // ^ // diff --git a/pkg/front_end/testcases/general/version_too_high.dart.strong.expect b/pkg/front_end/testcases/general/version_too_high.dart.strong.expect index 3fc3380fd01..9bed2ff2a8c 100644 --- a/pkg/front_end/testcases/general/version_too_high.dart.strong.expect +++ b/pkg/front_end/testcases/general/version_too_high.dart.strong.expect @@ -2,7 +2,7 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.9. // // @dart=100.200 // ^^^^^^^^^^^^^^^^ // diff --git a/pkg/front_end/testcases/general/version_too_high.dart.strong.modular.expect b/pkg/front_end/testcases/general/version_too_high.dart.strong.modular.expect index 3fc3380fd01..9bed2ff2a8c 100644 --- a/pkg/front_end/testcases/general/version_too_high.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/version_too_high.dart.strong.modular.expect @@ -2,7 +2,7 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.9. // // @dart=100.200 // ^^^^^^^^^^^^^^^^ // diff --git a/pkg/front_end/testcases/general/version_too_high.dart.strong.outline.expect b/pkg/front_end/testcases/general/version_too_high.dart.strong.outline.expect index 4bf1b99a8d8..d0eb4db0522 100644 --- a/pkg/front_end/testcases/general/version_too_high.dart.strong.outline.expect +++ b/pkg/front_end/testcases/general/version_too_high.dart.strong.outline.expect @@ -2,7 +2,7 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.9. // // @dart=100.200 // ^^^^^^^^^^^^^^^^ // diff --git a/pkg/front_end/testcases/general/version_too_high.dart.strong.transformed.expect b/pkg/front_end/testcases/general/version_too_high.dart.strong.transformed.expect index 3fc3380fd01..9bed2ff2a8c 100644 --- a/pkg/front_end/testcases/general/version_too_high.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/general/version_too_high.dart.strong.transformed.expect @@ -2,7 +2,7 @@ library; // // Problems in library: // -// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.8. +// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.9. // // @dart=100.200 // ^^^^^^^^^^^^^^^^ // diff --git a/pkg/kernel/lib/default_language_version.dart b/pkg/kernel/lib/default_language_version.dart index d107afdbb4d..1652442550e 100644 --- a/pkg/kernel/lib/default_language_version.dart +++ b/pkg/kernel/lib/default_language_version.dart @@ -9,4 +9,4 @@ import "ast.dart"; -const Version defaultLanguageVersion = const Version(3, 8); +const Version defaultLanguageVersion = const Version(3, 9); diff --git a/sdk_packages.yaml b/sdk_packages.yaml index 49be0e9c5ac..8d0c3b7efdb 100644 --- a/sdk_packages.yaml +++ b/sdk_packages.yaml @@ -2,3 +2,4 @@ version: 1 sdk: dart # Note that paths are relative to the root of the built SDK. +packages: [] diff --git a/tools/VERSION b/tools/VERSION index 940f07d1348..5429ee7dbcb 100644 --- a/tools/VERSION +++ b/tools/VERSION @@ -25,7 +25,7 @@ # CHANNEL main MAJOR 3 -MINOR 8 +MINOR 9 PATCH 0 PRERELEASE 0 PRERELEASE_PATCH 0 diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml index 115478df5db..8b72cf3736d 100644 --- a/tools/experimental_features.yaml +++ b/tools/experimental_features.yaml @@ -110,13 +110,15 @@ # default 'language' "category" with code generated for both CFE and Analyzer, # while other categories can be tailored more specifically. -current-version: '3.8.0' +current-version: '3.9.0' features: variance: + experimentalReleaseVersion: '3.8.0' help: "Sound variance" const-functions: + experimentalReleaseVersion: '3.8.0' help: "Allow more of the Dart language to be executed in const expressions." macros: @@ -143,12 +145,15 @@ features: help: "Augmentations - enhancing declarations from outside" inference-update-4: + experimentalReleaseVersion: '3.8.0' help: "A bundle of updates to type inference." dot-shorthands: + experimentalReleaseVersion: '3.8.0' help: "Shorter dot syntax for static accesses." getter-setter-error: + experimentalReleaseVersion: '3.8.0' help: "Stop reporting errors about mismatching types in a getter/setter pair." sound-flow-analysis: