Viewing version 13.1.0. Open the latest package page.

devtools_shared

13.1.0

Package of shared Dart structures between devtools_app, dds, and other tools.

Download archive

Readme

package:devtools_shared/devtools_shared.dart

This is a package shared between devtools_app, dds, and external users accessing exported JSON files. This package contains structures describing the format of JSON files e.g., HeapSample, memory structures collected from the Dart VM (HeapSpace) and collected memory info from Android's ADB (AdbMemoryInfo).

package:devtools_shared/devtools_server.dart

An implementation of shared devtools server classes.

Terms and Privacy

By using Dart DevTools, you agree to the Google Terms of Service.

Changelog

13.1.0

  • The LocalFileSystem extension APIs are deprecated in favor of a new FileSystemExtension extension, which is based on the FileSystem class from the file package. In detail:
    • fileSystem is a new top-level constant which represents the local (real) file system.
    • LocalFileSystem.devToolsDir() is replaced by a static getter, FileSystemExtension.devToolsDir.
    • LocalFileSystem.maybeMoveLegacyDevToolsStore() is replaced by an instance method, FileSystemExtension.maybeMoveLegacyDevToolsStore().
    • LocalFileSystem.devToolsStoreLocation() is replaced by a static getter, FileSystemExtension.devToolsStoreLocation.
    • LocalFileSystem.ensureDevToolsDirectory() will be removed.
    • LocalFileSystem.devToolsFileFromPath() is replaced by an instance method, FileSystemExtension.devToolsFileFromPath().
    • LocalFileSystem.devToolsFileAsJson() is replaced by an instance method, FileSystemExtension.devToolsFileAsJson().
    • LocalFileSystem.flutterStoreExists() is replaced by an instance getter, FileSystemExtension.flutterStoreExists.

13.0.2

  • Validate the devtoolsOptionsUri query parameter in the extension enabled state handler so it must be a file: URI named devtools_options.yaml, preventing arbitrary file writes by the DevTools server process.
  • The minimum Dart SDK version is bumped to 3.11.0.
  • The minimum Flutter SDK version is bumped to 3.41.0.

13.0.1

  • Handle null values for FlutterStore.flutterClientId.

13.0.0

  • Breaking change: Removed DevToolsStoreKeys.analyticsEnabled and DevToolsStoreKeys.isFirstRun since these were only used for legacy analytics.
  • Breaking change: Removed legacy analytics APIs and state cleanup (e.g. apiGetFlutterGAEnabled, apiGetDevToolsEnabled, apiSetDevToolsEnabled, apiGetDevToolsFirstRun, apiResetDevTools).
  • Breaking change: Removed public constant devToolsEnabledPropertyName.
  • Breaking change: Removed isFirstRun, reset, and analyticsEnabled from DevToolsUsage.

12.1.0

  • Adds additional logging to IntegrationTestRunner.
  • Fixes assertion error when parsing Flutter channel versions using the format X.XX.X-X.X.pre-XXX.
  • Fixes breakage associated with ChromeDriver 138 when using IntegrationTestRunner.
  • Adds sanitizeVersionStr helper to SemanticVersion.
  • Fixes null error when parsing bundleIdentifier or teamIndentifier in UniversalLinkSettings.

12.0.0

  • Update dtd dependency to ^4.0.0.
  • Register and unregister VM service connections on DTD. This change only applies to the case where the DevTools server starts DTD (i.e. when a DTD connection was not passed to the server on startup).

11.2.1

  • Rename 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.

11.2.0

  • Bump vm_service dependency upper bound to <16.0.0.

11.1.0

  • Bump minimum SDK version to 3.6.0.
  • Update package:vm_service to >=13.0.0 <16.0.0.

11.0.0

  • Breaking change: replace apiGetLastReleaseNotesVersion with ReleaseNotesApi.getLastReleaseNotesVersion.
  • Breaking change: replace apiSetLastReleaseNotesVersion with ReleaseNotesApi.setLastReleaseNotesVersion.
  • Breaking change: replace lastReleaseNotesVersionPropertyName.
  • Breaking change: replace apiGetBaseAppSizeFile with AppSizeApi.getBaseAppSizeFile.
  • Breaking change: replace apiGetTestAppSizeFile with AppSizeApi.getTestAppSizeFile.
  • Breaking change: replace baseAppSizeFilePropertyName with AppSizeApi.baseAppSizeFilePropertyName.
  • Breaking change: replace testAppSizeFilePropertyName with AppSizeApi.testAppSizeFilePropertyName.
  • Breaking change: replace apiSetActiveSurvey with SurveyApi.setActiveSurvey.
  • Breaking change: remove activeSurveyName.
  • Breaking change: replace apiGetSurveyActionTaken with SurveyApi.getSurveyActionTaken.
  • Breaking change: replace apiSetSurveyActionTaken with SurveyApi.setSurveyActionTaken.
  • Breaking change: remove surveyActionTakenPropertyName.
  • Breaking change: replace apiGetSurveyShownCount with SurveyApi.getSurveyShownCount.
  • Breaking change: replace apiIncrementSurveyShownCount with SurveyApi.incrementSurveyShownCount.
  • Support Chrome's new headless mode in the integration test runner.
  • Add PreferencesApi to get and set preference values.
  • Deprecate DTDConnectionInfo in favor of DtdInfo which supports tracking two URIs for DTD to better support web/remote environments.

10.0.2

  • Update dependency web_socket_channel: '>=2.4.0 <4.0.0'.

10.0.1

  • Added helper deserialize and deserializeNullable
  • Extended serialization for HeapSample and ExtensionEvents
  • Added mixin Serializable
  • Fix a regression with accessing the Flutter store file.
  • Bump minimum Dart SDK version to Dart stable 3.4.3.

10.0.0-dev.2

  • Support detecting package roots for nested Dart projects in the packageRootFromFileUriString utility method.

10.0.0-dev.1

  • Export DTDConnectionInfo from the devtools_shared.dart library instead of the devtools_server.dart library.

10.0.0-dev.0

  • Breaking change: rename DevToolsExtensionConfig.path to DevToolsExtensionConfig.extensionAssetsPath and update class documentation.
  • Breaking change: rename ExtensionsApi.extensionRootPathPropertyName to ExtensionsApi.packageRootUriPropertyName, and modify the String value for the parameter from 'rootPath' to 'packageRootUri'.
  • Breaking change: add new required JSON fields "devtoolsOptionsUri" and "detectedFromStaticContext" in the DevToolsExtensionConfig.parse factory constructor.
  • Breaking change: remove DevToolsOptions.optionsFileName constant in favor of new constant devtoolsOptionsFileName.
  • Breaking change: modify the ExtensionsApi.apiExtensionEnabledState API to expect a query parameter "devtoolsOptionsUri" instead of "rootPath".
  • Breaking change: replace the 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.
  • Add new fields requiresConnection, devtoolsOptionsUri, and detectedFromStaticContext to DevToolsExtensionConfig.
  • Add ExtensionsApi.devtoolsOptionsUriPropertyName field.
  • Return valid extensions from the apiServeAvailableExtensions endpoint even when an exception is thrown.
  • Add utility extension methods on Completer: safeComplete and safeCompleteError.

9.0.1

  • Restructure devtools_extensions.dart and devtools_extensions_io.dart libraries.

9.0.0

  • Breaking change: remove parameter analytics from ServerApi.handle in favor of DTD implementation.
  • Breaking change: remove DevTools server APIs apiMarkConsentMessageAsShown and apiGetConsentMessage
  • Breaking change: remove parameter buildDir from ExtensionsManager. in favor of DTD implementation.
  • Stop copying DevTools extensions assets to the DevTools build directory.
  • Bump package:dtd to 2.2.0
  • Remove package:unified_analytics dependency.
  • Use DTD in the packageRootFromFileUriString utility to detect the package root.
  • Add runWithRetry utility method.

8.1.1

  • Bump package:dtd to 2.1.0.
  • Bump the minimum Dart SDK version to 3.4.0-282.1.beta.

8.1.0

  • Bump package:dtd to 2.0.0.
  • Bump package:unified_analytics to 5.8.8.

8.0.1

  • Breaking change: rename ServerApi.getCompleted to ServerApi.success and make the value parameter optional.
  • Breaking change: remove the String? dtdUri parameter from ServerApi.handle and replace it with a parameter DTDConnectionInfo? dtd.
  • Introduce a new typedef DTDConnectionInfo.
  • Add a new API apiNotifyForVmServiceConnection that DevTools will call when a VM service connection is connected or disconnected from the client.
  • Add a helper method packageRootFromFileUriString.
  • Refactor yaml extension methods.
  • Add intent filters checking functionality for deep link validation.

7.0.0

  • Breaking change: remove the ServerApi.setCompleted method that was a duplicate of ServerApi.getCompleted.
  • Breaking change: add required parameter analytics to ServerApi.handle, which accepts an instance of Analytics from package:unified_analytics.
  • Add the ability to send debug logs in DevTools server request responses.
  • Add an optional positional parameter logs to the ServerApi.serverError method.
  • Include debug logs with the ExtensionsApi.apiServeAvailableExtensions API response.
  • Devtools server API apiGetConsentMessage added to fetch the consent message from package:unified_analytics.
  • Devtools server API apiMarkConsentMessageAsShown added to mark the consent message for package:unified_analytics as shown to enable telemetry.

6.0.4

  • Add apiGetDtdUri to the server api.
  • Add a description and link to documentation to the devtools_options.yaml file that is created in a user's project.

6.0.3

  • 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.
  • Fix an issue parsing file paths that could prevent extensions from being detected.
  • Bump package:vm_service dependency to >=13.0.0 <15.0.0.

6.0.2

  • Fix an issue parsing file paths on Windows that could prevent extensions from being detected.

6.0.1

  • Bump minimum Dart SDK version to 3.3.0-91.0.dev and minimum Flutter SDK version to 3.17.0-0.0.pre.
  • Add field isPublic to DevToolsExtensionConfig.
  • Add validation for DevToolsExtensionConfig.name field to ensure it is a valid Dart package name.
  • Pass warnings and errors for DevTools extension APIs from the DevTools server to DevTools app.

6.0.0

  • Bump package:vm_service dependency to ^13.0.0.
  • Remove ServiceCreator typedef and replace usages with VmServiceFactory typedef from package:vm_service.

5.0.0

  • Split deeplink exports into devtools_deeplink_io.dart and devtools_deeplink.dart.
  • Bump package:vm_service to ^12.0.0.
  • Adds DeeplinkApi.androidAppLinkSettings, DeeplinkApi.iosBuildOptions, and DeeplinkApi.iosUniversalLinkSettings endpoints to ServerApi.
  • Add shared integration test utilities to package:devtools_shared. These test utilities are exported as part of the existing devtools_test_utils.dart library.

4.0.1

  • Override equality operator and hashCode for DevToolsExtensionConfig to be based on the values of its fields.

4.0.0

  • Bump package:extension_discovery version to ^2.0.0
  • Adds a DeeplinkApi.androidBuildVariants endpoint to ServerApi.
  • BREAKING CHANGE:
    • ServerApi.handle parameters extensionsManager and api were converted to named parameters
    • Adds a new required named parameter deeplinkManager to ServerApi.handle.

3.0.1

  • Bump package:extension_discovery version to ^1.0.1

3.0.0

  • Separate extension-related libraries into those that require 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.

Installing

export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add 'devtools_shared:13.1.0'
pubspec.yaml
# Copyright 2025 The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
name: devtools_shared
description: Package of shared Dart structures between devtools_app, dds, and other tools.

version: 13.1.0

repository: https://github.com/flutter/devtools/tree/master/packages/devtools_shared

environment:
  sdk: ^3.11.0

resolution: workspace

dependencies:
  args: ^2.4.2
  collection: ^1.15.0
  dtd: ^4.0.0
  extension_discovery: ^2.1.0
  file: ^7.0.0
  meta: ^1.9.1
  path: ^1.8.0
  shelf: ^1.1.0
  sse: ^4.1.2
  vm_service: ">=13.0.0 <16.0.0"
  web_socket_channel: '>=2.4.0 <4.0.0'
  webkit_inspection_protocol: ">=0.5.0 <2.0.0"
  yaml: ^3.1.2
  yaml_edit: ^2.1.1

dev_dependencies:
  test: ^1.21.2

Version history

VersionPublishedArchiveSHA-256
0.0.1On demandDownload8cb5a217…3fef71
0.1.0On demandDownload53123540…cdf3a5
0.2.0On demandDownload69ca5cdc…f3d1c3
0.2.1On demandDownload3bdc700e…51fd57
0.2.2On demandDownload256d4597…2f443b
0.2.3On demandDownloada3d91f1a…8b0f0a
0.2.4-dev.1On demandDownload26857695…0be74c
0.2.4-dev.3On demandDownload3411c352…aa6265
0.2.4On demandDownload9cee0cb9…2feadc
0.2.4+1On demandDownload4e734459…4369ee
0.2.5On demandDownload4cd3eb56…2f8223
0.2.6-dev.1On demandDownload70a58d05…fdea63
0.2.6-dev.3On demandDownloadd6585324…f316db
0.8.0-dev.1On demandDownload5a0ffbe1…2153e9
0.8.0On demandDownload3edb46ca…19f3bd
0.8.0+1On demandDownloadcd234712…4eb398
0.8.0+2On demandDownload34aaa6d1…376a6d
0.8.0+3On demandDownload463a0550…52588a
0.8.1-dev.1On demandDownload4a20d851…a70955
0.9.0On demandDownload7d8a1787…bebc5c
0.9.1-dev.1On demandDownload4253164e…8009c1
0.9.1-dev.2On demandDownloadd833bc9d…bfcb66
0.9.1-dev.3On demandDownloadbab72794…e248f2
0.9.1On demandDownload0ade662d…dfa53e
0.9.2-dev.1On demandDownload4f83ac7a…46dcb3
0.9.2On demandDownload867493e7…b6934d
0.9.3-dev.1On demandDownload6a4ce832…99e5ee
0.9.3On demandDownloaddcf2f52e…7f4199
0.9.3+1On demandDownloada4aa23d2…44d194
0.9.3+2On demandDownload46c0b3b7…3d10be
0.9.3+3On demandDownloadfb0472ce…b5f9e4
0.9.3+4On demandDownload87cc3214…e90a5a
0.9.4On demandDownloadaa230190…6d326a
0.9.5On demandDownload0f2902dc…236296
0.9.5+1On demandDownload4d2d4a01…372378
0.9.5+2On demandDownloade824aea0…7deaf4
0.9.6On demandDownload05f9c1f7…eecf01
0.9.6+1On demandDownloade3e8f39c…fece3e
0.9.6+2On demandDownloadef04fb3c…580818
0.9.6+3On demandDownload79baf2bd…ba8e50
0.9.7On demandDownload7168efa3…f0a11e
0.9.7+1On demandDownload195ec367…b280d4
0.9.7+2On demandDownload69c82364…951068
0.9.7+3On demandDownloade85998a4…e9d222
0.9.8-dev.1On demandDownload6666eeba…024828
2.0.0-dev.1On demandDownload980ad7b9…2bc4a1
2.0.0-dev.2On demandDownload136282ab…264a3b
2.0.0On demandDownload37c59beb…ffd36c
2.0.0+1On demandDownloadf5629606…c5ae89
2.0.0+2On demandDownload8ea5a312…953262
2.0.0+3On demandDownloadfdcaf940…c10f76
2.0.0+4On demandDownload9769e8e7…c4e507
2.1.0On demandDownload3be3b4be…07f790
2.1.1On demandDownload78d08f20…6aaa74
2.2.0On demandDownload8e6cc80e…8a2452
2.2.1On demandDownloadaa052178…d41856
2.2.2On demandDownloadc88e8734…0dcb81
2.2.3On demandDownload006b698b…04be83
2.2.4On demandDownload9530c5f2…04c20d
2.3.0On demandDownload5f52ee86…b136df
2.3.1On demandDownloadd019b735…3224dd
2.3.2On demandDownload7a5d9034…3c1478
2.3.3-dev.1On demandDownload801729ae…f26b79
2.3.3On demandDownloadc1a793b5…be265b
2.4.0-dev.1On demandDownload138e81e4…d76d82
2.4.0-dev.2On demandDownload4ce35ec8…2f7a67
2.4.0On demandDownload6989ba9b…c65439
2.5.0On demandDownloadcdff0bc1…cc028d
2.6.0On demandDownload27e83eeb…9db04e
2.7.0On demandDownload3422e7bb…cdaa20
2.8.0On demandDownload11254dda…b95fd3
2.9.2On demandDownloada498df6e…df6b59
2.9.3On demandDownloade832e2a0…d3e9ee
2.9.4On demandDownloadc75a8e69…6436d3
2.11.0On demandDownload2177869d…55aee6
2.11.1On demandDownload7438aa97…0c2b8e
2.11.2On demandDownload903cde30…25af96
2.11.3On demandDownloaded22d7c7…d33250
2.11.4On demandDownload412c2894…214150
2.12.1On demandDownload8178129c…81d64a
2.13.0On demandDownload4ea1bf03…df9e69
2.13.1On demandDownload922ea242…f314a5
2.14.0On demandDownloade99460e8…9dec50
2.14.1On demandDownload8436efed…dd15d9
2.16.0On demandDownloadfc788012…966494
2.17.0On demandDownload2016ada1…f38e2a
2.18.0On demandDownload15f4d194…4d991f
2.20.0On demandDownloadbb941e48…099952
2.20.1On demandDownload0f426403…ed10da
2.21.0-dev.0On demandDownloada10984a3…815e24
2.21.1On demandDownloade810bef7…396c2a
2.22.2On demandDownloadb0bdcdc9…58ca90
2.23.0On demandDownload726cacca…1ad32e
2.24.0On demandDownloadad58ac3a…b6df49
2.25.0On demandDownload7f6b6600…a4beec
2.26.1On demandDownload2fc4a90b…7f1f42
3.0.0On demandDownloadad7e7814…12c49d
3.0.1On demandDownload6447f962…3d5c55
4.0.0On demandDownload816bf329…485fc7
4.0.1On demandDownload81528e76…c4a4c1
4.1.0On demandDownloadc048de84…c5e194
4.2.0On demandDownloade2c6b7cf…7e0593
5.0.0On demandDownload2a042fef…5f89cb
6.0.0On demandDownload8759e586…84d046
6.0.1On demandDownload86d9f967…8e3320
6.0.2On demandDownloade905b483…ac029e
6.0.3On demandDownload7f173eda…164df1
6.0.4On demandDownload1f46a18c…4135e8
6.0.5On demandDownloadd3164d20…19dfde
7.0.0On demandDownloadedd3d6e4…9ebab6
8.0.0On demandDownload09abe668…bb1cd4
8.0.1On demandDownloadd171bacb…0d504f
8.1.0On demandDownload8d3452f1…b321be
8.1.1-dev.0On demandDownloadfe2b91b1…9aeb25
8.1.1On demandDownloade5fa35a0…92d10e
9.0.0On demandDownload802334fe…4ae2fa
9.0.1On demandDownload779f8785…8b4e86
10.0.0-dev.0On demandDownloada2609b86…77a9b4
10.0.0-dev.1On demandDownloadfbe1657c…1a0c49
10.0.0-dev.2On demandDownload34da80fd…07783a
10.0.0On demandDownloadfc3f4696…0e9dd6
10.0.1On demandDownloada6e66165…a06fb0
10.0.2On demandDownload72369878…437f50
10.1.0On demandDownload4e51ad6c…041342
11.0.0On demandDownloadb9151dce…de3a40
11.1.0On demandDownloadef256850…b0887c
11.2.0On demandDownloadfa71f070…001bee
11.2.1On demandDownload659e2d65…dc1096
12.0.0On demandDownload275e48a8…e2c887
12.1.0On demandDownload2daf7a9f…419dea
13.0.0On demandDownloadd626d5d6…fbf314
13.0.1On demandDownload5ab724cf…862556
13.1.0Cached · Upstream SHA-256 matchedDownload13df2c17…67554b
14.0.0On demandDownload42f9b1df…0e2444

Dependencies

args "^2.4.2"

collection "^1.15.0"

dtd "^4.0.0"

extension_discovery "^2.1.0"

file "^7.0.0"

meta "^1.9.1"

path "^1.8.0"

shelf "^1.1.0"

sse "^4.1.2"

vm_service "\u003e=13.0.0 \u003c16.0.0"

web_socket_channel "\u003e=2.4.0 \u003c4.0.0"

webkit_inspection_protocol "\u003e=0.5.0 \u003c2.0.0"

yaml "^3.1.2"

yaml_edit "^2.1.1"