PackageTrack
Sign in Get early access

vm_service

A library to communicate with a service implementing the Dart VM service protocol.

15.3.0 15M downloads/mo #3 most downloaded on pub.dev dart-lang/sdk

What this package is like to depend on

Last release 5 days ago

18 Aug 2026

Release timing varies

gaps range from 2 weeks to 10 months

Nearly every release is documented

notes for 86 of 90 stable releases

2 versions withdrawn

withdrawn after publishing

7 years old

99 releases · first in 2019

3 releases in the last 12 months

see the full history below

Release timeline

99 releases · Jul 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 99
  1. 15.3.0 18 Aug 2026
    Release notes
    • Add support for WebSocket profiling.
    Open source →
  2. 15.2.0 28 Apr 2026
    Release notes
    • Update to version 4.22 of the spec.
    • Deprecate Message type and messages field of Stack type.
    • Fix an issue introduced in 15.1.0 that could cause parse() methods (such as VM.parse()) to leave collections as null instead of empty lists when they were not present in the JSON.
    Open source →
  3. 15.1.0 14 Apr 2026
    Release notes
    • Update to version 4.21 of the spec.
    • Add Pointer to InstanceKind.
    • Add valueAsString fields to Instance for Pointer kind.
    • Add a default pingInterval of 15s to VM Service connections with the ability to override when calling vmServiceConnectUri.
    • Deprecate streamCpuSamplesWithUserTag RPC.
    • Fix bug where RPCError exceptions thrown by service callbacks were incorrectly wrapped as kServerError, losing the original error code.
    Open source →
  4. 15.0.2 05 Jun 2025
    Release notes
    • Add kTimerSignificantlyOverdue field to EventKind.
    Open source →
  5. 15.0.1 21 May 2025
    Release notes
    • Update to version 4.19 of the spec.
    • Add Timer stream.
    • Add details property to Event.
    • Add getQueuedMicrotasks RPC.
    • Add Microtask and QueuedMicrotasks types.
    • Add RPCErrorKind.kCannotGetQueuedMicrotasks.
    Open source →
  6. 15.0.0 02 Dec 2024
    Release notes
    • Update type of CodeRef.function from FuncRef to dynamic to allow for NativeFunction functions (flutter/devtools #8567).
    Open source →
  7. 14.3.1 22 Oct 2024
    Release notes
    • Fix crash that could occur when trying to send a service extension response after the service connection had already been disposed of (flutter/flutter #157296).
    Open source →
  8. 14.3.0 25 Sep 2024
    Release notes
    • Update to version 4.16 of the spec.
    • Add reloadFailureReason property to Event.
    • Add a new constant (RPCErrorKind.kConnectionDisposed = -32010) for requests failing because the service connection was closed. This value is not currently used but is provided for clients to handle in preperation for a future release that will use it to avoid clients having to read error messages.
    • Add createIdZone, deleteIdZone, and invalidateIdZone RPCs.
    • Add optional idZoneId parameter to evaluate, evaluateInFrame, getInboundReferences, getInstances, getInstancesAsList, getObject, getRetainingPath, getStack, and invoke RPCs.
    Open source →
  9. 14.2.5 16 Aug 2024
    Release notes
    • Include a stack trace in the RPCError that is thrown when an attempt is made to invoke an RPC using a VmService instance that has been disposed.
    Open source →
  10. 14.2.4 14 Jun 2024
    Release notes
    • Improved deserialization performance by utilizing a combination of Utf8Decoder and JsonDecoder to avoid extra type conversions.
    Open source →
  11. 14.2.3 30 May 2024
    Release notes
    • An instance of RPCError is now thrown when attempting to invoke an RPC after the VmService instance has been disposed.
    Open source →
  12. 14.2.2 07 May 2024
    Release notes
    • Fixes issue where outstanding service requests were not automatically completed with an error when the VM service connection was closed.
    Open source →
  13. 14.2.1 16 Apr 2024
    Release notes
    • Fixes heap snapshot decoding error (dart-lang/sdk#55475).
    Open source →
  14. 14.2.0 20 Mar 2024
    Release notes
    • Update to version 4.15 of the spec.
    • Added closureReceiver property to Instance and InstanceRef.
    • Added Finalizer, NativeFinalizer, and FinalizerEntry instance kinds.
    Open source →
  15. 14.1.0 27 Feb 2024
    Release notes
    • Added HeapSnapshotGraph.toChunks().
    • Added optional calculateReferrers, decodeObjectData, decodeExternalProperties, and decodeIdentityHashCodes parameters to HeapSnapshotGraph.fromChunks().
    Open source →
  16. 14.0.0 12 Dec 2023
    Release notes
    • Add the following error codes to RPCErrorKind:
      • kVmMustBePaused
      • kCannotAddBreakpoint
      • kIsolateMustBeRunnable
      • kIsolateCannotBeResumed
      • kIsolateIsReloading
      • kIsolateCannotReload
      • kIsolateNoReloadChangesApplied
      • kInvalidTimelineRequest
    • Update to version 4.0 of the Dart IO service protocol extensions by making the following changes:
      • Change the type of the updatedSince parameter of getHttpProfile from int? to DateTime?.
      • Change the type of the timestamp property of HttpProfile from int to DateTime.
      • Add events property to HttpProfileRequestRef and HttpProfileRequest.
      • Change the type of the startTime property of HttpProfileRequestRef and HttpProfileRequest from int to DateTime.
      • Change the type of the endTime property of HttpProfileRequestRef and HttpProfileRequest from int? to DateTime?.
      • Remove the events and method properties from HttpProfileRequestData.
      • Make the contentLength, cookies, followRedirects, headers, maxRedirects, method, and persistentConnection properties of HttpProfileRequestData nullable.
      • Change the type of the startTime property of HttpProfileResponseData from int to DateTime?.
      • Change the type of the endTime property of HttpProfileResponseData from int? to DateTime?.
      • Make the cookies, headers, compressionState, reasonPhrase, isRedirect, persistentConnection, contentLength, statusCode, and startTime properties of HttpProfileResponseData nullable.
      • Add isDirect and port properties to HttpProfileProxyData.
      • Add arguments property to HttpProfileRequestEvent.
      • Change the type of the timestamp property of HttpProfileRequestEvent from int to DateTime.
    Open source →
  17. 13.0.0 25 Oct 2023
    Release notes
    • Add Dart IO extension methods:
      • isSocketProfilingAvailable
      • isHttpTimelineLoggingAvailable
      • isHttpProfilingAvailable.
    • Remove deprecated Dart IO extension methods:
      • startSocketProfiling
      • pauseSocketProfiling
      • getHttpEnableTimelineLogging
      • setHttpEnableTimelineLogging
    • Remove deprecated vmServiceConnect from package:vm_service/vm_service_io.dart.
    • Remove deprecated constants from RPCError.
    • Add wrapFuture method that can be overridden to add additional logic to each VM service RPC call (like logging, tracking values, etc.).
    • Add vmServiceConnectUriWithFactory helper that can create a generic [VmService] instance and connect it to a web socket URI.
    • Add VmServiceFactory typedef.
    • Add a static method VmService.defaultFactory that provides a VmServiceFactory method for the VmService class.
    • Update SDK constraint to ^3.0.0
    Open source →
  18. 12.0.0 02 Oct 2023
    Release notes
    • Update to version 4.13 of the spec.
    • Add optional librariesAlreadyCompiled parameter to getSourceReport RPC.
    Open source →
  19. 11.10.0 24 Aug 2023
    Release notes
    • Add wsUri property to VmService. If set, this property can be used to associate a VmService instance to its targeted VM service based on its URI.
    Open source →
  20. 11.9.0 03 Aug 2023
    Release notes
    • Update to version 4.12 of the spec.
    • Add TypeParametersRef; change supertype of TypeParameters to Obj.
    Open source →
  21. 11.8.0 17 Jul 2023
    Release notes
    • Update to version 4.11 of the spec.
    • Add isGetter and isSetter properties to FuncRef and Func.
    Open source →
  22. 11.7.2 23 Jun 2023
    Release notes
    • Make Event classes abstract to permit dap event stream extensions.
    Open source →
  23. 11.7.1 12 Jun 2023
    Release notes
    • Expose RPC error codes that were defined in package:dds.
    Open source →
  24. 11.7.0 10 May 2023 withdrawn

    Nothing published for this version

  25. 11.6.0 10 May 2023
    Release notes
    • Update to version 4.7 of the spec.
    • Add deprecation notice to Stack.awaiterFrames.
    • Add deprecation notice to FrameKind.kAsyncActivation.
    Open source →
  26. 11.5.0 04 May 2023
    Release notes
    • Update to version 4.6 of the spec.
    • Add getPerfettoCpuSamples RPC.
    • Add deprecation notice to InstanceKind.TypeRef.
    Open source →
  27. 11.4.0 21 Apr 2023
    Release notes
    • Update to version 4.5 of the spec.
    • Add getPerfettoVMTimeline RPC.
    Open source →
  28. 11.3.0 23 Mar 2023
    Release notes
    • Update to version 4.4 of the spec.
    • Add label property to InstanceRef.
    • Add kUserTag to InstanceKind.
    Open source →
  29. 11.2.1 20 Mar 2023
    Release notes
    • Prevent VmServerConnection from converting SentinelExceptions into RPCErrors.
    Open source →
  30. 11.2.0 27 Feb 2023
    Release notes
    • Update to version 4.3 of the spec.
    • Add isSealed, isMixinClass, isBaseClass, isInterfaceClass, and isFinal properties to Class.
    Open source →
  31. 11.1.0 21 Feb 2023
    Release notes
    • Reduce number of type checks in toJson() methods.
    • Update to version 4.2 of the spec.
    • Add getInstancesAsList RPC.
    Open source →
  32. 11.0.1 07 Feb 2023
    Release notes
    • Fix bug where code would try to call .toJson() on ints.
    Open source →
  33. 11.0.0 06 Feb 2023
    Release notes
    • Change HttpProfileRequestRef.id type from int to String.
    • Change SocketStatistic.id type from int to String.
    • Change ext.dart.io.getHttpProfileRequest id parameter type from int to String.
    • Change ext.dart.io.httpEnableTimelineLogging parameter from 'enable' to 'enabled'.
    Open source →
  34. 10.1.2 27 Jan 2023
    Release notes
    • Fix bug where code would try to call .toJson() on Strings.
    Open source →
  35. 10.1.1 27 Jan 2023 withdrawn

    Nothing published for this version

  36. 10.1.0 19 Jan 2023
    Release notes
    • Update to version 4.1 of the spec.
    • Add optional includeSubclasses and includeImplementers parameters to getInstances.
    Open source →
  37. 10.0.0 10 Jan 2023
    Release notes
    • Update to version 4.0 of the spec.
    • Update for incorrectly documented types for WeakReference's target, WeakProperty's key and value, and MirrorReference's mirrorReferent.
    • Add Set, Record, and RecordType to InstanceKind.
    • Add deprecation notice to the decl property of BoundField.
    • Add name property to BoundField.
    • Add deprecation notice to the parentListIndex property of InboundReference.
    • Change the type of the parentField property of InboundReference from FieldRef to FieldRef|String|int.
    • Add deprecation notice to the parentListIndex property of RetainingObject.
    • Change the type of the parentField property of RetainingObject from String to String|int.
    • Remove deprecated timeSpan property from CpuSamples.
    • Remove deprecated timeSpan property from CpuSamplesEvent.
    Open source →
  38. 9.4.0 06 Sep 2022
    Release notes
    • Update to version 3.61 of the spec.
    • Add isolateGroupId property to @Isolate and Isolate.
    Open source →
  39. 9.3.0 20 Jul 2022
    Release notes
    • Update to version 3.60 of the spec.
    • Add gcType property to Event.
    Open source →
  40. 9.2.0 20 Jul 2022
    Release notes
    • Update to version 3.59 of the spec.
    • Add abstract flag to FuncRef.
    Open source →
  41. 9.0.0 13 Jun 2022
    Release notes
    • Update to version 3.58 of the spec.
    • Added optional local parameter to lookupResolvedPackageUris RPC.
    Open source →
  42. 8.3.0 10 May 2022
    Release notes
    • Update to version 3.57 of the spec.
    • Added optional libraryFilters parameter to getSourceReport RPC.
    Open source →
  43. 8.2.2 17 Mar 2022
    Release notes
    • Updated the following optional fields to be nullable in SocketStatistic:
      • endTime
      • lastReadTime
      • lastWriteTime
    Open source →
  44. 8.2.1 09 Mar 2022
    Release notes
    • Changed type of UriList.uris from dynamic to List<String?>?.
    • Remove example/vm_service_asserts.dart'
    Open source →
  45. 8.2.0 23 Feb 2022
    Release notes
    • Update to version 3.56 of the spec.
    • Added optional line and column properties to SourceLocation.
    • Added a new SourceReportKind, BranchCoverage, which reports branch level coverage information.
    Open source →
  46. 8.1.0 17 Dec 2021
    Release notes
    • Update to version 3.55 of the spec.
    • Added streamCpuSamplesWithUserTag RPC.
    Open source →
  47. 7.5.0 18 Nov 2021
    Release notes
    • Update to version 3.53 of the spec.
    • Added setIsolatePauseMode RPC.
    • Deprecated setExceptionPauseMode in favor of setIsolatePauseMode.
    Open source →
  48. 7.4.0 04 Nov 2021
    Release notes
    • Update to version 3.52 of the spec.
    • Added lookupResolvedPackageUris and lookupPackageUris RPCs and UriList type.
    Open source →
  49. 7.3.0 31 Aug 2021
    Release notes
    • Update to version 3.51 of the spec.
    • Added optional reportLines parameter to getSourceReport RPC.
    Open source →
  50. 7.2.0 28 Jul 2021

    Nothing published for this version

  51. 7.1.1 15 Jul 2021
    Release notes
    • Update to version 3.48 of the spec.
    • Added shows and hides properties to LibraryDependency.
    • Added Profiler stream, UserTagChanged event kind, and updatedTag and previousTag properties to Event.
    • Fixed bug where a response without a type would cause a null type failure (dart-lang/sdk#46559).
    Open source →
  52. 7.1.0 03 Jun 2021
    Release notes
    • Update to version 3.46 of the spec.
    • Move sourcePosition properties into ClassRef, FieldRef, and FuncRef.
    Open source →
  53. 7.0.0 11 May 2021
    Release notes
    • breaking bug fix: Fixed issue where response parsing could fail for Context.
    • Add support for setBreakpointState RPC and updated Breakpoint class to include enabled property.
    Open source →
  54. 6.2.0 29 Mar 2021
    Release notes
    • Added support for getHttpProfile and clearHttpProfile dart:io service extensions.
    Open source →
  55. 6.1.0 18 Feb 2021
    Release notes
    • breaking bug fix: Fixed issue where the root object was omitted from HeapSnapshot.classes and the sentinel HeapSnapshotObject was omitted from HeapSnapshot.objects
    • Added identityHashCode property to HeapSnapshotObject, which can be used to compare objects across heap snapshots.
    • Added successors iterable to HeapSnapshotObject, which provides a convenient way to access children of a given object.
    • Added klass getter to HeapSnapshotObject.
    • Fixed issue where null could be returned instead of InstanceRef of type Null.
    • Added getAllocationTraces and setTraceClassAllocation RPCs.
    • Updated CpuSample to include identityHashCode and classId properties.
    • Updated Class to include traceAllocations property.
    Open source →
  56. 6.1.0+1 19 Feb 2021
    Release notes
    • Documentation update.
    Open source →
  57. 6.0.1 03 Feb 2021
    Release notes
    • Stable null-safe release.
    Open source →
  58. 6.0.1-nullsafety.1 28 Jan 2021 pre-release
    Release notes
    • Fix issue where some Instance properties were not being populated correctly.
    Open source →
  59. 6.0.1-nullsafety.0 22 Jan 2021 pre-release
    Release notes
    • Fix versioning for pub.
    Open source →
  60. 6.0.0-nullsafety-dev 11 Jan 2021 pre-release
    Release notes
    • breaking Migrate to use null safety.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive