NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3 most downloaded on pub.dev
A library to communicate with a service implementing the Dart VM service protocol.
Last release 1 months ago
18 Aug 2026
Release timing varies
gaps range from 2 weeks to 10 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
7 years old
99 releases · first in 2019
Add support for WebSocket profiling.
Deprecate Message type and messages field of Stack type.
4.22 of the spec.Message type and messages field of Stack type.parse() methods (such as
VM.parse()) to leave collections as null instead of empty lists when they
were not present in the JSON.One column per quarter.
Deprecate streamCpuSamplesWithUserTag RPC.
4.21 of the spec.Pointer to InstanceKind.valueAsString fields to Instance for Pointer kind.pingInterval of 15s to VM Service connections with the ability
to override when calling vmServiceConnectUri.streamCpuSamplesWithUserTag RPC.RPCError exceptions thrown by service callbacks were incorrectly
wrapped as kServerError, losing the original error code.Add kTimerSignificantlyOverdue field to EventKind.
kTimerSignificantlyOverdue field to EventKind.Update to version 4.19 of the spec.
4.19 of the spec.Timer stream.details property to Event.getQueuedMicrotasks RPC.Microtask and QueuedMicrotasks types.RPCErrorKind.kCannotGetQueuedMicrotasks.Update type of CodeRef.function from FuncRef to dynamic to allow for NativeFunction functions ([flutter/devtools #8567]).
CodeRef.function from FuncRef to dynamic to allow for NativeFunction
functions (flutter/devtools #8567).Fix crash that could occur when trying to send a service extension response after the service connection had already been disposed of ([flutter/flutte
Update to version 4.16 of the spec.
4.16 of the spec.reloadFailureReason property to Event.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.createIdZone, deleteIdZone, and invalidateIdZone RPCs.idZoneId parameter to evaluate, evaluateInFrame,
getInboundReferences, getInstances, getInstancesAsList, getObject,
getRetainingPath, getStack, and invoke RPCs.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.
VmService instance that has been disposed.Improved deserialization performance by utilizing a combination of Utf8Decoder and JsonDecoder to avoid extra type conversions.
Utf8Decoder and
JsonDecoder to avoid extra type conversions.An instance of RPCError is now thrown when attempting to invoke an RPC after the VmService instance has been disposed.
VmService instance has been disposed.Fixes issue where outstanding service requests were not automatically completed with an error when the VM service connection was closed.
Fixes heap snapshot decoding error (dart-lang/sdk#55475).
Update to version 4.15 of the spec.
4.15 of the spec.closureReceiver property to Instance and InstanceRef.Finalizer, NativeFinalizer, and FinalizerEntry instance kinds.Added HeapSnapshotGraph.toChunks().
HeapSnapshotGraph.toChunks().calculateReferrers, decodeObjectData, decodeExternalProperties,
and decodeIdentityHashCodes parameters to HeapSnapshotGraph.fromChunks().Add the following error codes to RPCErrorKind:
RPCErrorKind:
kVmMustBePausedkCannotAddBreakpointkIsolateMustBeRunnablekIsolateCannotBeResumedkIsolateIsReloadingkIsolateCannotReloadkIsolateNoReloadChangesAppliedkInvalidTimelineRequest4.0 of the Dart IO service protocol extensions by making
the following changes:
updatedSince parameter of getHttpProfile from
int? to DateTime?.timestamp property of HttpProfile from int to
DateTime.events property to HttpProfileRequestRef and HttpProfileRequest.startTime property of HttpProfileRequestRef and
HttpProfileRequest from int to DateTime.endTime property of HttpProfileRequestRef and
HttpProfileRequest from int? to DateTime?.events and method properties from HttpProfileRequestData.contentLength, cookies, followRedirects, headers,
maxRedirects, method, and persistentConnection properties of
HttpProfileRequestData nullable.startTime property of HttpProfileResponseData
from int to DateTime?.endTime property of HttpProfileResponseData
from int? to DateTime?.cookies, headers, compressionState, reasonPhrase,
isRedirect, persistentConnection, contentLength, statusCode, and
startTime properties of HttpProfileResponseData nullable.isDirect and port properties to HttpProfileProxyData.arguments property to HttpProfileRequestEvent.timestamp property of HttpProfileRequestEvent
from int to DateTime.Remove deprecated Dart IO extension methods:
isSocketProfilingAvailableisHttpTimelineLoggingAvailableisHttpProfilingAvailable.startSocketProfilingpauseSocketProfilinggetHttpEnableTimelineLoggingsetHttpEnableTimelineLoggingvmServiceConnect from package:vm_service/vm_service_io.dart.RPCError.wrapFuture method that can be overridden to add additional logic to
each VM service RPC call (like logging, tracking values, etc.).vmServiceConnectUriWithFactory helper that can create a generic [VmService]
instance and connect it to a web socket URI.VmServiceFactory typedef.VmService.defaultFactory that provides a VmServiceFactory method for the VmService class.Update to version 4.13 of the spec.
4.13 of the spec.librariesAlreadyCompiled parameter to getSourceReport RPC.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.
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.Update to version 4.12 of the spec.
4.12 of the spec.TypeParametersRef; change supertype of TypeParameters to Obj.Update to version 4.11 of the spec.
4.11 of the spec.isGetter and isSetter properties to FuncRef and Func.Make Event classes abstract to permit dap event stream extensions.
dap event stream extensions.Expose RPC error codes that were defined in package:dds.
package:dds.Nothing published for this version
Add deprecation notice to Stack.awaiterFrames.
4.7 of the spec.Stack.awaiterFrames.FrameKind.kAsyncActivation.Add deprecation notice to InstanceKind.TypeRef.
4.6 of the spec.getPerfettoCpuSamples RPC.InstanceKind.TypeRef.Update to version 4.5 of the spec.
4.5 of the spec.getPerfettoVMTimeline RPC.Update to version 4.4 of the spec.
4.4 of the spec.label property to InstanceRef.kUserTag to InstanceKind.Prevent VmServerConnection from converting SentinelExceptions into RPCErrors.
VmServerConnection from converting SentinelExceptions into
RPCErrors.Update to version 4.3 of the spec.
4.3 of the spec.isSealed, isMixinClass, isBaseClass, isInterfaceClass, and
isFinal properties to Class.Reduce number of type checks in toJson() methods.
toJson() methods.4.2 of the spec.getInstancesAsList RPC.Fix bug where code would try to call .toJson() on ints.
.toJson() on ints.Change HttpProfileRequestRef.id type from int to String.
HttpProfileRequestRef.id type from int to String.SocketStatistic.id type from int to String.ext.dart.io.getHttpProfileRequest id parameter type from int to String.ext.dart.io.httpEnableTimelineLogging parameter from 'enable' to 'enabled'.Fix bug where code would try to call .toJson() on Strings.
.toJson() on Strings.Nothing published for this version
Update to version 4.1 of the spec.
4.1 of the spec.includeSubclasses and includeImplementers parameters to
getInstances.Add deprecation notice to the decl property of BoundField.
4.0 of the spec.WeakReference's target,
WeakProperty's key and value, and MirrorReference's mirrorReferent.Set, Record, and RecordType to InstanceKind.decl property of BoundField.name property to BoundField.parentListIndex property of
InboundReference.parentField property of InboundReference from
FieldRef to FieldRef|String|int.parentListIndex property of RetainingObject.parentField property of RetainingObject from
String to String|int.timeSpan property from CpuSamples.timeSpan property from CpuSamplesEvent.Update to version 3.61 of the spec.
3.61 of the spec.isolateGroupId property to @Isolate and Isolate.Update to version 3.60 of the spec.
3.60 of the spec.gcType property to Event.Update to version 3.59 of the spec.
3.59 of the spec.abstract flag to FuncRef.Update to version 3.58 of the spec.
3.58 of the spec.local parameter to lookupResolvedPackageUris RPC.Update to version 3.57 of the spec.
3.57 of the spec.libraryFilters parameter to getSourceReport RPC.Updated the following optional fields to be nullable in SocketStatistic:
SocketStatistic:
endTimelastReadTimelastWriteTimeChanged type of UriList.uris from dynamic to List ?.
UriList.uris from dynamic to List<String?>?.example/vm_service_asserts.dart'Update to version 3.56 of the spec.
3.56 of the spec.line and column properties to SourceLocation.SourceReportKind, BranchCoverage, which reports branch level
coverage information.Update to version 3.55 of the spec.
3.55 of the spec.streamCpuSamplesWithUserTag RPC.Deprecated setExceptionPauseMode in favor of setIsolatePauseMode.
3.53 of the spec.setIsolatePauseMode RPC.setExceptionPauseMode in favor of setIsolatePauseMode.Update to version 3.52 of the spec.
3.52 of the spec.lookupResolvedPackageUris and lookupPackageUris RPCs and UriList
type.Update to version 3.51 of the spec.
3.51 of the spec.reportLines parameter to getSourceReport RPC.Nothing published for this version
Update to version 3.48 of the spec.
3.48 of the spec.shows and hides properties to LibraryDependency.Profiler stream, UserTagChanged event kind, and updatedTag and
previousTag properties to Event.Update to version 3.46 of the spec.
3.46 of the spec.sourcePosition properties into ClassRef, FieldRef, and FuncRef.*breaking bug fix*: Fixed issue where response parsing could fail for Context.
Context.setBreakpointState RPC and updated Breakpoint class to include
enabled property.Added support for getHttpProfile and clearHttpProfile dart:io service extensions.
getHttpProfile and clearHttpProfile dart:io service extensions.*breaking bug fix*: Fixed issue where the root object was omitted from HeapSnapshot.classes and the sentinel HeapSnapshotObject was omitted from HeapS
HeapSnapshot.classes and the sentinel HeapSnapshotObject was omitted from
HeapSnapshot.objectsidentityHashCode property to HeapSnapshotObject, which can be used to compare
objects across heap snapshots.successors iterable to HeapSnapshotObject, which provides a convenient way to
access children of a given object.klass getter to HeapSnapshotObject.null could be returned instead of InstanceRef of type Null.getAllocationTraces and setTraceClassAllocation RPCs.CpuSample to include identityHashCode and classId properties.Class to include traceAllocations property.- Documentation update.
- Stable null-safe release.
Fix issue where some Instance properties were not being populated correctly.
Instance properties were not being populated correctly.- Fix versioning for pub.
*breaking* Migrate to use null safety.
Your coding agent can read these notes before it upgrades. Set up the MCP server →