Version 3.9.0-293.0.dev
Merge f856d0bb58fedf2235724cae2cba691c12a2c5af into dev
diff --git a/DEPS b/DEPS
index c6a700c..b24932b 100644
--- a/DEPS
+++ b/DEPS
@@ -84,7 +84,7 @@
"download_reclient": True,
# Update from https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core
- "fuchsia_sdk_version": "version:28.20250623.5.1",
+ "fuchsia_sdk_version": "version:28.20250625.5.1",
"download_fuchsia_deps": False,
# Ninja, runs the build based on files generated by GN.
@@ -592,7 +592,7 @@
"packages": [
{
"package": "chromium/fuchsia/test-scripts",
- "version": "2wEtX_lDNhHhDNsP6jc1mchGs3vX7p_HnyTxO1GJwTcC",
+ "version": "ZpnML-jis0gVIvtx5X7tupJAI8emZSB9b7yJSbqVrmMC",
}
],
"condition": 'download_fuchsia_deps',
diff --git a/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart
index bf427f7..7564b33 100644
--- a/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart
@@ -24,9 +24,7 @@
void resolve(FunctionExpressionImpl node, {required DartType contextType}) {
var parent = node.parent;
- // Note: `isFunctionDeclaration` must have an explicit type to work around
- // https://github.com/dart-lang/language/issues/1785.
- bool isFunctionDeclaration = parent is FunctionDeclaration;
+ var isFunctionDeclaration = parent is FunctionDeclaration;
var body = node.body;
if (_resolver.flowAnalysis.flow != null && !isFunctionDeclaration) {
diff --git a/pkg/dartdev/lib/src/commands/dart_mcp_server.dart b/pkg/dartdev/lib/src/commands/dart_mcp_server.dart
index f61229b..1208323 100644
--- a/pkg/dartdev/lib/src/commands/dart_mcp_server.dart
+++ b/pkg/dartdev/lib/src/commands/dart_mcp_server.dart
@@ -12,9 +12,7 @@
static const String cmdName = 'mcp-server';
static const String cmdDescription = '''
-A stdio based Model Context Protocol (MCP) server to aid in Dart and Flutter development.
-
-EXPERIMENTAL: This tool may change dramatically or disappear at any time.''';
+A stdio based Model Context Protocol (MCP) server to aid in Dart and Flutter development.''';
static const _forceRootsFallbackFlag = 'force-roots-fallback';
static const _experimentFlag = 'experimental-mcp-server';
@@ -33,6 +31,9 @@
'support it.',
)
..addFlag(_experimentFlag,
+ // This flag is no longer required but we are leaving it in for
+ // backwards compatibility.
+ hide: true,
defaultsTo: false,
help: 'A required flag in order to use this command. Passing this '
'flag is an acknowledgement that you understand it is an '
@@ -45,10 +46,6 @@
@override
Future<int> run() async {
final args = argResults!;
- if (!args.flag(_experimentFlag)) {
- log.stderr('Missing required flag --$_experimentFlag\n\n$usage');
- return 64;
- }
try {
VmInteropHandler.run(
sdk.dartAotRuntime,
diff --git a/pkg/dartdev/test/commands/mcp_server_test.dart b/pkg/dartdev/test/commands/mcp_server_test.dart
index 071fc62..4e18938 100644
--- a/pkg/dartdev/test/commands/mcp_server_test.dart
+++ b/pkg/dartdev/test/commands/mcp_server_test.dart
@@ -9,34 +9,33 @@
void main() {
group('dart mcp-server', () {
- test('can be connected with a client', () async {
- final client = TestMCPClient();
- addTearDown(client.shutdown);
- final serverConnection = await client.connectStdioServer(
- Platform.resolvedExecutable,
- ['mcp-server', '--experimental-mcp-server']);
- final initializeResult = await serverConnection.initialize(
- InitializeRequest(
- protocolVersion: ProtocolVersion.latestSupported,
- capabilities: client.capabilities,
- clientInfo: client.implementation));
+ for (var withExperiment in const [true, false]) {
+ test(
+ 'can be connected with a client with${withExperiment ? '' : 'out'} the experiment flag',
+ () async {
+ final client = TestMCPClient();
+ addTearDown(client.shutdown);
+ final serverConnection =
+ await client.connectStdioServer(Platform.resolvedExecutable, [
+ 'mcp-server',
+ if (withExperiment) '--experimental-mcp-server',
+ ]);
+ final initializeResult = await serverConnection.initialize(
+ InitializeRequest(
+ protocolVersion: ProtocolVersion.latestSupported,
+ capabilities: client.capabilities,
+ clientInfo: client.implementation));
- expect(initializeResult.protocolVersion, ProtocolVersion.latestSupported);
- serverConnection.notifyInitialized();
+ expect(
+ initializeResult.protocolVersion, ProtocolVersion.latestSupported);
+ serverConnection.notifyInitialized();
- expect(
- await serverConnection.listTools(ListToolsRequest()),
- isNotEmpty,
- );
- });
-
- test('requires the --experimental-mcp-server flag', () async {
- final processResult =
- await Process.run(Platform.resolvedExecutable, ['mcp-server']);
- expect(processResult.exitCode, isNot(0));
- expect(processResult.stderr,
- contains('Missing required flag --experimental-mcp-server'));
- });
+ expect(
+ await serverConnection.listTools(ListToolsRequest()),
+ isNotEmpty,
+ );
+ });
+ }
});
}
diff --git a/runtime/bin/platform_macos.cc b/runtime/bin/platform_macos.cc
index b5215ad..1ba2e47 100644
--- a/runtime/bin/platform_macos.cc
+++ b/runtime/bin/platform_macos.cc
@@ -349,7 +349,14 @@
_LSSetApplicationLaunchServicesServerConnectionStatus(0, nullptr);
- _LSApplicationCheckIn(-2, CFBundleGetInfoDictionary(CFBundleGetMainBundle()));
+ CFMutableDictionaryRef dictionary = CFDictionaryCreateMutableCopy(
+ kCFAllocatorDefault, /*capacity=*/0,
+ CFBundleGetInfoDictionary(CFBundleGetMainBundle()));
+ if (dictionary == nullptr) return;
+ ScopedCFStringRef _kLSUIElement("LSUIElement");
+ CFDictionarySetValue(dictionary, _kLSUIElement.get(), kCFBooleanTrue);
+ _LSApplicationCheckIn(-2, dictionary);
+ CFRelease(dictionary);
CFTypeRef asn;
asn = _LSGetCurrentApplicationASN();
diff --git a/tools/VERSION b/tools/VERSION
index e288b25..b2e1089 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 3
MINOR 9
PATCH 0
-PRERELEASE 292
+PRERELEASE 293
PRERELEASE_PATCH 0