NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #100 most downloaded on pub.dev
Package of shared Dart structures between devtools_app, dds, and other tools.
Last release 2 months ago
16 Jul 2026
Release timing varies
gaps range from 3 weeks to 8 months
Some releases are documented
notes for 26 of the last 60 stable releases
5 versions withdrawn
withdrawn after publishing
7 years old
134 releases · first in 2020
One column per quarter.
Breaking changes: LocalFileSystem, an extension which provided some handy helpers, has been refactored into an extension on the file package's FileSys…
LocalFileSystem, an extension which provided some handy
helpers, has been refactored into an extension on the file package's
FileSystem abstraction. In detail:
fileSystem is a new top-level constant which represents the local (real)
file system.LocalFileSystem.devToolsDir() is now a static getter,
FileSystemExtension.devToolsDir.LocalFileSystem.maybeMoveLegacyDevToolsStore() is now an instance method,
FileSystemExtension.maybeMoveLegacyDevToolsStore().LocalFileSystem.devToolsStoreLocation() is now a static getter,
FileSystemExtension.devToolsStoreLocation.LocalFileSystem.ensureDevToolsDirectory() is now private.LocalFileSystem.devToolsFileFromPath() is now an instance method,
FileSystemExtension.devToolsFileFromPath().LocalFileSystem.devToolsFileAsJson() is now an instance method,
FileSystemExtension.devToolsFileAsJson().LocalFileSystem.flutterStoreExists() is now an instance getter,
FileSystemExtension.flutterStoreExists.IOPersistentProperties.new accepts a new optional FileSystem fs
argument.LocalFileSystem and IOPersistentProperties to use package:file
instead of dart:io to allow mocking the file system.Nothing published for this version
Handle null values for FlutterStore.flutterClientId.
FlutterStore.flutterClientId.Breaking change: Removed DevToolsStoreKeys.analyticsEnabled and DevToolsStoreKeys.isFirstRun since these were only used for legacy analytics.
DevToolsStoreKeys.analyticsEnabled and
DevToolsStoreKeys.isFirstRun since these were only used for legacy analytics.apiGetFlutterGAEnabled, apiGetDevToolsEnabled, apiSetDevToolsEnabled, apiGetDevToolsFirstRun, apiResetDevTools).devToolsEnabledPropertyName.isFirstRun, reset, and analyticsEnabled from DevToolsUsage.Adds additional logging to IntegrationTestRunner.
IntegrationTestRunner.X.XX.X-X.X.pre-XXX.IntegrationTestRunner.sanitizeVersionStr helper to SemanticVersion.bundleIdentifier or teamIndentifier in UniversalLinkSettings.Update dtd dependency to ^4.0.0.
dtd dependency to ^4.0.0.Rename Handler extension methods to VmServiceHandler. This member was marked @visibleForTesting and should not be used outside of this package, so we
Handler extension methods to VmServiceHandler. This member was
marked @visibleForTesting and should not be used outside of this package, so
we consider this change non-breaking.Bump vm_service dependency upper bound to <16.0.0.
vm_service dependency upper bound to <16.0.0.Bump minimum SDK version to 3.6.0.
3.6.0.package:vm_service to >=13.0.0 <16.0.0.Breaking change: replace apiGetLastReleaseNotesVersion with ReleaseNotesApi.getLastReleaseNotesVersion.
apiGetLastReleaseNotesVersion with ReleaseNotesApi.getLastReleaseNotesVersion.apiSetLastReleaseNotesVersion with ReleaseNotesApi.setLastReleaseNotesVersion.lastReleaseNotesVersionPropertyName.apiGetBaseAppSizeFile with AppSizeApi.getBaseAppSizeFile.apiGetTestAppSizeFile with AppSizeApi.getTestAppSizeFile.baseAppSizeFilePropertyName with AppSizeApi.baseAppSizeFilePropertyName.testAppSizeFilePropertyName with AppSizeApi.testAppSizeFilePropertyName.apiSetActiveSurvey with SurveyApi.setActiveSurvey.activeSurveyName.apiGetSurveyActionTaken with SurveyApi.getSurveyActionTaken.apiSetSurveyActionTaken with SurveyApi.setSurveyActionTaken.surveyActionTakenPropertyName.apiGetSurveyShownCount with SurveyApi.getSurveyShownCount.apiIncrementSurveyShownCount with SurveyApi.incrementSurveyShownCount.PreferencesApi to get and set preference values.DTDConnectionInfo in favor of DtdInfo which supports tracking two URIs for DTD to better support web/remote environments.Nothing published for this version
Update dependency web_socket_channel: '>=2.4.0 <4.0.0'.
web_socket_channel: '>=2.4.0 <4.0.0'.Added helper deserialize and deserializeNullable
deserialize and deserializeNullableHeapSample and ExtensionEventsSerializable3.4.3.Nothing published for this version
Support detecting package roots for nested Dart projects in the packageRootFromFileUriString utility method.
packageRootFromFileUriString utility method.Export DTDConnectionInfo from the devtools_shared.dart library instead of the devtools_server.dart library.
DTDConnectionInfo from the devtools_shared.dart library instead
of the devtools_server.dart library.Breaking change: rename DevToolsExtensionConfig.path to DevToolsExtensionConfig.extensionAssetsPath and update class documentation.
DevToolsExtensionConfig.path to
DevToolsExtensionConfig.extensionAssetsPath and update class documentation.ExtensionsApi.extensionRootPathPropertyName
to ExtensionsApi.packageRootUriPropertyName, and modify the String value
for the parameter from 'rootPath' to 'packageRootUri'.DevToolsExtensionConfig.parse factory constructor.DevToolsOptions.optionsFileName constant in favor of
new constant devtoolsOptionsFileName.ExtensionsApi.apiExtensionEnabledState
API to expect a query parameter "devtoolsOptionsUri" instead of "rootPath".rootUri parameter in the
DevToolsOptions.lookupExtensionEnabledState and
DevToolsOptions.setExtensionEnabledState methods with new parameter
devtoolsOptionsUri. Modify logic to expect a full file URI to the
options file instead of expecting the package root in which it is contained.requiresConnection, devtoolsOptionsUri, and detectedFromStaticContext
to DevToolsExtensionConfig.ExtensionsApi.devtoolsOptionsUriPropertyName field.apiServeAvailableExtensions endpoint even when
an exception is thrown.Completer: safeComplete and safeCompleteError.Restructure devtools_extensions.dart and devtools_extensions_io.dart libraries.
devtools_extensions.dart and devtools_extensions_io.dart libraries.Breaking change: remove parameter analytics from ServerApi.handle in favor of DTD implementation.
analytics from ServerApi.handle in favor
of DTD implementation.apiMarkConsentMessageAsShown and apiGetConsentMessagebuildDir from ExtensionsManager.
in favor of DTD implementation.package:dtd to 2.2.0package:unified_analytics dependency.packageRootFromFileUriString utility to detect the package root.runWithRetry utility method.Bump the minimum Dart SDK version to 3.4.0-282.1.beta.
package:dtd to 2.1.0.3.4.0-282.1.beta.Nothing published for this version
Bump package:unified_analytics to 5.8.8.
package:dtd to 2.0.0.package:unified_analytics to 5.8.8.Breaking change: rename ServerApi.getCompleted to ServerApi.success and make the value parameter optional.
ServerApi.getCompleted to ServerApi.success and make the
value parameter optional.String? dtdUri parameter from ServerApi.handle and replace
it with a parameter DTDConnectionInfo? dtd.DTDConnectionInfo.apiNotifyForVmServiceConnection that DevTools will call when a
VM service connection is connected or disconnected from the client.packageRootFromFileUriString.Nothing published for this version
Breaking change: remove the ServerApi.setCompleted method that was a duplicate of ServerApi.getCompleted.
ServerApi.setCompleted method that was a
duplicate of ServerApi.getCompleted.analytics to ServerApi.handle, which accepts
an instance of Analytics from package:unified_analytics.logs to the ServerApi.serverError method.ExtensionsApi.apiServeAvailableExtensions API response.apiGetConsentMessage added to fetch the consent message from
package:unified_analytics.apiMarkConsentMessageAsShown added to mark the consent message for
package:unified_analytics as shown to enable telemetry.Nothing published for this version
Add apiGetDtdUri to the server api.
apiGetDtdUri to the server api.devtools_options.yaml file that
is created in a user's project.CompareMixin is now generic, implementing Comparable instead of Comparable , and it's operators each therefore accept a T argument.
CompareMixin is now generic, implementing Comparable<T> instead of
Comparable<dynamic>, and it's operators each therefore accept a T
argument.SemanticVersion now mixes in CompareMixin<SemanticVersion>, and it's
compareTo method therefore now accepts a SemanticVersion.package:vm_service dependency to >=13.0.0 <15.0.0.Fix an issue parsing file paths on Windows that could prevent extensions from being detected.
Bump minimum Dart SDK version to 3.3.0-91.0.dev and minimum Flutter SDK version to 3.17.0-0.0.pre.
3.3.0-91.0.dev and minimum Flutter SDK version to 3.17.0-0.0.pre.isPublic to DevToolsExtensionConfig.DevToolsExtensionConfig.name field to ensure it is a valid
Dart package name.Bump package:vm_service dependency to ^13.0.0.
package:vm_service dependency to ^13.0.0.ServiceCreator typedef and replace usages with VmServiceFactory typedef from package:vm_service.Split deeplink exports into devtools_deeplink_io.dart and devtools_deeplink.dart.
devtools_deeplink_io.dart and devtools_deeplink.dart.package:vm_service to ^12.0.0.DeeplinkApi.androidAppLinkSettings, DeeplinkApi.iosBuildOptions, and
DeeplinkApi.iosUniversalLinkSettings endpoints to ServerApi.package:devtools_shared. These test
utilities are exported as part of the existing devtools_test_utils.dart library.Nothing published for this version
Nothing published for this version
Override equality operator and hashCode for DevToolsExtensionConfig to be based on the values of its fields.
DevToolsExtensionConfig
to be based on the values of its fields.Bump package:extension_discovery version to ^2.0.0
package:extension_discovery version to ^2.0.0DeeplinkApi.androidBuildVariants endpoint to ServerApi.ServerApi.handle parameters extensionsManager and api were converted to named
parametersdeeplinkManager to ServerApi.handle.Bump package:extension_discovery version to ^1.0.1
package:extension_discovery version to ^1.0.1Separate extension-related libraries into those that require dart:io (exported as devtools_extensions_io.dart) and those that do not (exported as devt
dart:io (exported as
devtools_extensions_io.dart) and those that do not (exported as devtools_extensions.dart).Prior to version 3.0.0, package:devtools_shared was versioned in lockstep with
package:devtools_app. Both of these packages are developed as part of the broader
DevTools project. To see changes and commits
for package:devtools_shared, prior to version 3.0.0 please view the git log
here.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →