vm_service 14.3.1
vm_service: ^14.3.1 copied to clipboard
A library to communicate with a service implementing the Dart VM service protocol.
14.3.1 #
- 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).
14.3.0 #
- Update to version
4.16of the spec. - Add
reloadFailureReasonproperty toEvent. - 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, andinvalidateIdZoneRPCs. - Add optional
idZoneIdparameter toevaluate,evaluateInFrame,getInboundReferences,getInstances,getInstancesAsList,getObject,getRetainingPath,getStack, andinvokeRPCs.
14.2.5 #
- Include a stack trace in the RPCError that is thrown when an attempt is made
to invoke an RPC using a
VmServiceinstance that has been disposed.
14.2.4 #
- Improved deserialization performance by utilizing a combination of
Utf8DecoderandJsonDecoderto avoid extra type conversions.
14.2.3 #
- An instance of RPCError is now thrown when attempting to invoke an RPC after the
VmServiceinstance has been disposed.
14.2.2 #
- Fixes issue where outstanding service requests were not automatically completed with an error when the VM service connection was closed.
14.2.1 #
- Fixes heap snapshot decoding error (dart-lang/sdk#55475).
14.2.0 #
- Update to version
4.15of the spec. - Added
closureReceiverproperty toInstanceandInstanceRef. - Added
Finalizer,NativeFinalizer, andFinalizerEntryinstance kinds.
14.1.0 #
- Added
HeapSnapshotGraph.toChunks(). - Added optional
calculateReferrers,decodeObjectData,decodeExternalProperties, anddecodeIdentityHashCodesparameters toHeapSnapshotGraph.fromChunks().
14.0.0 #
- Add the following error codes to
RPCErrorKind:kVmMustBePausedkCannotAddBreakpointkIsolateMustBeRunnablekIsolateCannotBeResumedkIsolateIsReloadingkIsolateCannotReloadkIsolateNoReloadChangesAppliedkInvalidTimelineRequest
- Update to version
4.0of the Dart IO service protocol extensions by making the following changes:- Change the type of the
updatedSinceparameter ofgetHttpProfilefromint?toDateTime?. - Change the type of the
timestampproperty ofHttpProfilefrominttoDateTime. - Add
eventsproperty toHttpProfileRequestRefandHttpProfileRequest. - Change the type of the
startTimeproperty ofHttpProfileRequestRefandHttpProfileRequestfrominttoDateTime. - Change the type of the
endTimeproperty ofHttpProfileRequestRefandHttpProfileRequestfromint?toDateTime?. - Remove the
eventsandmethodproperties fromHttpProfileRequestData. - Make the
contentLength,cookies,followRedirects,headers,maxRedirects,method, andpersistentConnectionproperties ofHttpProfileRequestDatanullable. - Change the type of the
startTimeproperty ofHttpProfileResponseDatafrominttoDateTime?. - Change the type of the
endTimeproperty ofHttpProfileResponseDatafromint?toDateTime?. - Make the
cookies,headers,compressionState,reasonPhrase,isRedirect,persistentConnection,contentLength,statusCode, andstartTimeproperties ofHttpProfileResponseDatanullable. - Add
isDirectandportproperties toHttpProfileProxyData. - Add
argumentsproperty toHttpProfileRequestEvent. - Change the type of the
timestampproperty ofHttpProfileRequestEventfrominttoDateTime.
- Change the type of the
13.0.0 #
- Add Dart IO extension methods:
isSocketProfilingAvailableisHttpTimelineLoggingAvailableisHttpProfilingAvailable.
- Remove deprecated Dart IO extension methods:
startSocketProfilingpauseSocketProfilinggetHttpEnableTimelineLoggingsetHttpEnableTimelineLogging
- Remove deprecated
vmServiceConnectfrompackage:vm_service/vm_service_io.dart. - Remove deprecated constants from
RPCError. - Add
wrapFuturemethod that can be overridden to add additional logic to each VM service RPC call (like logging, tracking values, etc.). - Add
vmServiceConnectUriWithFactoryhelper that can create a generic [VmService] instance and connect it to a web socket URI. - Add
VmServiceFactorytypedef. - Add a static method
VmService.defaultFactorythat provides aVmServiceFactorymethod for theVmServiceclass. - Update SDK constraint to ^3.0.0
12.0.1 #
- Fix Java VM service version bug.
12.0.0 #
- Update to version
4.13of the spec. - Add optional
librariesAlreadyCompiledparameter togetSourceReportRPC.
11.10.0 #
- Add
wsUriproperty toVmService. If set, this property can be used to associate aVmServiceinstance to its targeted VM service based on its URI.
11.9.0 #
- Update to version
4.12of the spec. - Add
TypeParametersRef; change supertype ofTypeParameterstoObj.
11.8.0 #
- Update to version
4.11of the spec. - Add
isGetterandisSetterproperties toFuncRefandFunc.
11.7.3 #
- Update to version
4.10of the spec. - Add deprecation notice to
Breakpoint.isSyntheticAsyncContinuation.
11.7.2 #
- Make Event classes abstract to permit
dapevent stream extensions.
11.7.1 #
- Expose RPC error codes that were defined in
package:dds.
11.6.0 #
- Update to version
4.7of the spec. - Add deprecation notice to
Stack.awaiterFrames. - Add deprecation notice to
FrameKind.kAsyncActivation.
11.5.0 #
- Update to version
4.6of the spec. - Add
getPerfettoCpuSamplesRPC. - Add deprecation notice to
InstanceKind.TypeRef.
11.4.0 #
- Update to version
4.5of the spec. - Add
getPerfettoVMTimelineRPC.
11.3.0 #
- Update to version
4.4of the spec. - Add
labelproperty toInstanceRef. - Add
kUserTagtoInstanceKind.
11.2.1 #
- Prevent
VmServerConnectionfrom convertingSentinelExceptions intoRPCErrors.
11.2.0 #
- Update to version
4.3of the spec. - Add
isSealed,isMixinClass,isBaseClass,isInterfaceClass, andisFinalproperties toClass.
11.1.0 #
- Reduce number of type checks in
toJson()methods. - Update to version
4.2of the spec. - Add
getInstancesAsListRPC.
11.0.1 #
- Fix bug where code would try to call
.toJson()onints.
11.0.0 #
- Change
HttpProfileRequestRef.idtype frominttoString. - Change
SocketStatistic.idtype frominttoString. - Change
ext.dart.io.getHttpProfileRequestidparameter type frominttoString. - Change
ext.dart.io.httpEnableTimelineLoggingparameter from 'enable' to 'enabled'.
10.1.2 #
- Fix bug where code would try to call
.toJson()onStrings.
10.1.0 #
- Update to version
4.1of the spec. - Add optional
includeSubclassesandincludeImplementersparameters togetInstances.
10.0.0 #
- Update to version
4.0of the spec. - Update for incorrectly documented types for
WeakReference'starget,WeakProperty'skeyandvalue, andMirrorReference'smirrorReferent. - Add
Set,Record, andRecordTypetoInstanceKind. - Add deprecation notice to the
declproperty ofBoundField. - Add
nameproperty toBoundField. - Add deprecation notice to the
parentListIndexproperty ofInboundReference. - Change the type of the
parentFieldproperty ofInboundReferencefromFieldReftoFieldRef|String|int. - Add deprecation notice to the
parentListIndexproperty ofRetainingObject. - Change the type of the
parentFieldproperty ofRetainingObjectfromStringtoString|int. - Remove deprecated
timeSpanproperty fromCpuSamples. - Remove deprecated
timeSpanproperty fromCpuSamplesEvent.
9.4.0 #
- Update to version
3.61of the spec. - Add
isolateGroupIdproperty to@IsolateandIsolate.
9.3.0 #
- Update to version
3.60of the spec. - Add
gcTypeproperty toEvent.
9.2.0 #
- Update to version
3.59of the spec. - Add
abstractflag toFuncRef.
9.1.0 #
- Remove
requiredkeyword from most of the named parameters in the constructors of the Dart API objects.
9.0.0 #
- Update to version
3.58of the spec. - Added optional
localparameter tolookupResolvedPackageUrisRPC.
8.3.0 #
- Update to version
3.57of the spec. - Added optional
libraryFiltersparameter togetSourceReportRPC.
8.2.2+1 #
- Documentation update for
FieldRefandFuncRef.
8.2.2 #
- Updated the following optional fields to be nullable in
SocketStatistic:endTimelastReadTimelastWriteTime
8.2.1 #
- Changed type of
UriList.urisfromdynamictoList<String?>?. - Remove
example/vm_service_asserts.dart'
8.2.0 #
- Update to version
3.56of the spec. - Added optional
lineandcolumnproperties toSourceLocation. - Added a new
SourceReportKind,BranchCoverage, which reports branch level coverage information.
8.1.0 #
- Update to version
3.55of the spec. - Added
streamCpuSamplesWithUserTagRPC.
8.0.0 #
- Update to version
3.54of the spec. - breaking Updated type of
Event.cpuSamplesfromCpuSamplestoCpuSamplesEvent, which is less expensive to generate and serialize. - Added
CpuSamplesEventobject.
7.5.0 #
- Update to version
3.53of the spec. - Added
setIsolatePauseModeRPC. - Deprecated
setExceptionPauseModein favor ofsetIsolatePauseMode.
7.4.0 #
- Update to version
3.52of the spec. - Added
lookupResolvedPackageUrisandlookupPackageUrisRPCs andUriListtype.
7.3.0 #
- Update to version
3.51of the spec. - Added optional
reportLinesparameter togetSourceReportRPC.
7.1.1 #
- Update to version
3.48of the spec. - Added
showsandhidesproperties toLibraryDependency. - Added
Profilerstream,UserTagChangedevent kind, andupdatedTagandpreviousTagproperties toEvent. - Fixed bug where a response without a type would cause a null type failure (dart-lang/sdk#46559).
7.1.0 #
- Update to version
3.46of the spec. - Move
sourcePositionproperties intoClassRef,FieldRef, andFuncRef.
7.0.0 #
- breaking bug fix: Fixed issue where response parsing could fail for
Context. - Add support for
setBreakpointStateRPC and updatedBreakpointclass to includeenabledproperty.
6.2.0 #
- Added support for
getHttpProfileandclearHttpProfiledart:ioservice extensions.
6.1.1 #
- Callsite
StackTraces are now attached toRPCErrors andSentinelExceptions. - Added
identityHashCodeproperty toInstanceRefandInstance.
6.1.0+1 #
- Documentation update.
6.1.0 #
- breaking bug fix: Fixed issue where the root object was omitted from
HeapSnapshot.classesand the sentinelHeapSnapshotObjectwas omitted fromHeapSnapshot.objects - Added
identityHashCodeproperty toHeapSnapshotObject, which can be used to compare objects across heap snapshots. - Added
successorsiterable toHeapSnapshotObject, which provides a convenient way to access children of a given object. - Added
klassgetter toHeapSnapshotObject. - Fixed issue where
nullcould be returned instead ofInstanceRefof typeNull. - Added
getAllocationTracesandsetTraceClassAllocationRPCs. - Updated
CpuSampleto includeidentityHashCodeandclassIdproperties. - Updated
Classto includetraceAllocationsproperty.
6.0.1 #
- Stable null-safe release.
6.0.1-nullsafety.1 #
- Fix issue where some
Instanceproperties were not being populated correctly.
6.0.1-nullsafety.0 #
- Fix versioning for pub.
6.0.0-nullsafety.4 #
- Fixed issue where response parsing could fail for
SourceReportRange.coverageif no coverage information was provided.
6.0.0-nullsafety.3 #
- Fixed issue where
Response.typeand classes which overrideResponse.typewere returning the name of thepackage:vm_servicereference object (e.g., InstanceRef) instead of the type specified in the specification (e.g., @Instance).
6.0.0-nullsafety.2 #
- breaking Updated signature of
Field.staticValuetodynamicin order to properly allow for uninitialized sentinel values.
6.0.0-nullsafety.1 #
- breaking Null safety migration, take two. Assume all object fields are nullable.
6.0.0-nullsafety-dev #
- breaking Migrate to use null safety.
5.5.1 #
- Fix issue where
VmService.onDonecould complete before the providedDisposeHandlerhad finished executing.
5.5.0 #
- Update to version
3.42.0of the spec. - Added optional
limitparameter togetStackRPC.
5.4.0 #
- Update to version
3.41.0of the spec. - Added
PortListclass. - Added
getPortsRPC. - Added optional properties
portId,allocationLocation, anddebugNametoInstanceRefandInstance.
5.3.1 #
- Rename
Stateclass to_Stateto avoid class name conflicts with Flutter.
5.3.0 #
- Added support for
dart:ioextensions version 1.5. - Added combination getter/setter
socketProfilingEnabled. - Deprecated
startSocketProfilingandpauseSocketProfiling. - Update to version
3.40.0of the spec. - Added
IsolateFlagclass. - Added
isolateFlagsproperty toIsolate.
5.2.0 #
- Added support for
dart:ioextensions version 1.3. - Added combination getter/setter
httpEnableTimelineLogging. - Deprecated
getHttpEnableTimelineLoggingandsetHttpEnableTimelineLogging.
5.1.0 #
- Added support for
dart:ioextensions version 1.2. - Added
getOpenFiles,getOpenFileById,getSpawnedProcesses, andgetSpawnedProcessByIdRPCs. - Added
OpenFileList,OpenFileRef,OpenFile,SpawnedProcessList,SpawnedProcessRef, andSpawnedProcessobjects.
5.0.0 #
- breaking: Update to version
3.39.0of the spec.- Removes
ClientNameandWebSocketTargetobjects - Removes
getClientName,getWebSocketTarget,requirePermissionToResume, andsetClientNameRPCs.
- Removes
- Added
isSystemIsolateproperty toIsolateRefandIsolate. - Added
isSystemIsolateGroupproperty toIsolateGroupRefandIsolateGroup. - Added
serviceIsolatesandserviceIsolateGroupsproperties toVM. - Fixed issue where
VmServerConnectionwould always response with a string ID even if the request ID was not a string.
4.2.0 #
- Update to version
3.37.0of the spec. - Added
getProcessMemoryUsageRPC andProcessMemoryUsageandProcessMemoryItemobjects. - Added
getWebSocketTargetRPC andWebSocketTargetobject.
4.1.0 #
- Update to version
3.35.0of the spec. - Expose more
@requiredparameters on the named constructors of VM service objects.
4.0.4 #
- Update to version
3.34.0of the spec. - Fixed issue where
TimelineEventswas not a valid service event kind. - Fixed issue where invoking a service extension with no arguments would result in a TypeError during request routing.
- Added
TimelineStreamSubscriptionsUpdateevent, which is broadcast whensetVMTimelineFlagsis used to change the set of currently recording timeline streams.
4.0.3 #
- Update to version
3.33.0of the spec. - Add static error code constants to
RPCError. - Update the toString() method or
RPCErrorand add a toMap() method.
4.0.2 #
- Fixed issue where RPC format did not conform to the JSON-RPC 2.0 specification.
- Added
getClassListRPC.
4.0.1 #
- Improved documentation.
- Fixed analysis issues.
4.0.0 #
- breaking: RPCs which can return a
Sentinelwill now throw aSentinelExceptionif aSentinelis received as a response. - breaking: RPCs which can return multiple values now return
Future<Response>rather thanFuture<dynamic>. RPCErrornow implementsException.
3.0.0 #
- breaking: RPCs which have an isolateId parameter now return
Future<dynamic>as aSentinelcan be returned if the target isolate no longer exists.
2.3.3 #
- Classes now implement their corresponding reference types to handle cases where the service returns a more specific type than promised.
2.3.2 #
- Added
getClientName,setClientName, andrequireResumePermissionmethods. - Added
ClientNameclass.
2.3.1 #
- Fixed issue where
dart:ioextensions were not being exported.
2.3.0 #
- Added
getHttpEnableTimelineLoggingandsetHttpEnableTimelineLoggingmethods. - Added
HttpTimelineLoggingStateclass.
2.2.1 #
- Fixed issue where
TimelineEvent.toJsonalways returned an empty map.
2.2.0 #
- Added support for interacting with dart:io service extensions.
- Bumped minimum SDK requirement to 2.6.0.
2.1.4 #
- Fixed issue where
TimelineEventalways had no content.
2.1.3 #
- Fixed issue where exception would be thrown when attempting to parse a List entry in a response which is not present. This occurs when connected to a service which does not yet support the latest service protocol supported by this package.
2.1.2 #
- Requests which have not yet completed when
VmService.disposeis invoked will now complete with anRPCErrorexception rather than aStringexception.
2.1.1 #
- Added
getLineNumberFromTokenPosandgetColumnNumberFromTokenPosmethods toScript.
2.1.0 #
- Added
HeapSnapshotGraphclass which parses the binary events posted to theHeapSnapshotstream after arequestHeapSnapshotinvocation. - Fixed issue where listening to
EventStream.kHeapSnapshotand callingrequestHeapSnapshotwould throw an exception.
2.0.0 #
- breaking: VM service objects which have fields now have constructors with
named parameters for each field. Required fields are annotated with
@required.
1.2.0 #
- Support service protocol version 3.27:
- Added
getCpuSamplesandclearCpuSamplesmethods - Added
CpuSamples,CpuSample, andProfileFunctionclasses.
- Added
1.1.2 #
- Fixed issue where
closureFunctionandclosureContextwere only expected inInstanceobjects rather thanInstanceRef.
1.1.1 #
- Fixed issue serializing list arguments for certain VM service methods.
- Issue #37872
1.1.0 #
- Support service protocol version 3.25:
- Added
getInboundReferences,getRetainingPathmethods - Added
InboundReferences,InboundReference,RetainingPath, andRetainingObjectobjects
- Added
1.0.1 #
- Support service protocol version 3.24:
- Added
operatingSystemproperty toVMobject
- Added
1.0.0+1 #
- Updated description and homepage.
1.0.0 #
- Migrated
vm_service_libinto the Dart SDK. - Renamed from
package:vm_service_libtopackage:vm_service. - Switched versioning system to follow semantic versioning standards instead of pinning versions to match the service protocol version.
3.22.2 #
- Fix
registerServiceRPC andServicestream not being handled correctly. - Fixed failing tests.
3.22.1 #
- breaking: Changed type of
libraryproperty inClassobjects fromObjectReftoLibraryRef.
3.22.0 #
- The
registerServiceRPC andServicestream are now public. Eventhas been updated to include the optionalservice,method, andaliasproperties.
3.21.1 #
- breaking: Fixed issue where an
InstanceRefof typenullcould be returned instead of null for non-InstanceRefproperties and return values. As a result, some property and return types have been changed from Obj to their correct types.
3.21.0 #
- support service protocol version 3.21
3.20.0+2 #
- allow optional params in
getVMTimeline
3.20.0+1 #
- handle null isolate ids in
callServiceExtension - add backwards compatibility for
InstanceSetandAllocationProfile
3.20.0 #
- rev to 3.20.0; expose public methods added in 3.17 - 3.20 VM Service Protocol versions
3.17.0+1 #
- generate a list of available event streams
3.17.0 #
- rev to 3.17.0; expose the Logging event and the getMemoryUsage call
3.15.1+2 #
- fix handling of errors in registered service callbacks to return valid JSON-RPC errors and avoid the client getting "Service Disappeared" responses
3.15.1+1 #
- rename
getVmWsUriFromObservatoryUritoconvertToWebSocketUrl - fix an assignment issue in
evaluate
3.15.1 #
- Add
getVmWsUriFromObservatoryUri, a helper function to convert observatory URIs into the required WebSocket URI for connecting to the VM service.
3.15.0 #
- support service protocol version 3.15
- fix an issue decoding null
Script.tokenPosTablevalues
3.14.3-dev.4 #
- Add support for the
_Servicestream in theVmServerConnectiondirectly.
3.14.3-dev.3 #
- Add support for automatically delegating service extension requests to the
client which registered them.
- This is only for services that are registered via the vm service protocol,
services registered through
dart:developershould be handled by theVmServiceInterfaceimplementation (which should invoke the registered callback directly).
- This is only for services that are registered via the vm service protocol,
services registered through
- Added a
ServiceExtensionRegistryclass, which tracks which clients have registered which service extensions. - breaking: Renamed
VmServertoVmServerConnection.- One
VmServerConnectionshould be created per client connection to the server. These should typically all share the same underlyingVmServiceInterfaceinstance, as well as the sameServiceExtensionRegistryinstance.
- One
3.14.3-dev.2 #
- Add
callServiceExtensionmethod to theVmServiceInterfaceclass.- The
VmServerwill delegate all requests whose methods start withext.to that implementation.
- The
3.14.3-dev.1 #
- Add
VmServiceInterfaceandVmServerclasses, which can handle routing jsonrpc2 requests to aVmServiceInterfaceinstance, and serializing the responses back.
3.14.3-dev.0 #
- Add
toJsonmethods to all classes.
3.14.2 #
- fix code generation for the
getSourceReportcall
3.14.1 #
- address an encoding issue with stdout / stderr text
3.14.0 #
- regenerate for
v3.14 - bump to a major version numbering scheme
0.3.10+2 #
- work around an issue de-serializing Instance.closureContext
0.3.10+1 #
- fix an issue de-serializing some object types
0.3.10 #
- regenerate for
v3.12 - expose
isolate.getScripts() - expose
isolate.getInstances()
0.3.9+2 #
- handle nulls for
Script.source - fix a decoding issue for
Script.tokenPosTable
0.3.9+1 #
- rev to version
3.9of the spec - expose
invoke
0.3.9 #
- Rename the
Nulltype toNullVal
0.3.8 #
- upgrades for Dart 2 dependencies
0.3.7 #
- ensure the library works with Dart 2
- regenerate the library based on the 3.8-dev spec
- now require a minimum of a 2.0.0-dev Dart SDK
- update to not use deprecated dart:convert constants
0.3.6 #
- workaround for an issue with the type of @Library refs for VM objects
0.3.5+1 #
- bug fix for deserializing
Instanceobjects
0.3.5 #
- improve access to the profiling APIs
0.3.4 #
- more strong mode runtime fixes
- expose some undocumented (and unsupported) service protocol methods
0.3.3 #
- fix strong mode issues at runtime (with JSLists and Lists)
- expose the ability to evaluate in the scope of another object
- expose the async causal frame info
- expose the
awaiterFramesfield - expose the
frameIndexparam for the step call
0.3.2+1 #
- fix a strong mode issue in the generated Dart library
0.3.2 #
- expose the
PausePostRequestevent
0.3.1 #
- fix a parsing issue with ExtensionData
0.2.4 #
- expose the service protocol timeline API
- add the new
Noneevent type
0.2.3 #
- include the name of the calling method in RPC errors
0.2.2 #
- fixed several strong mode analysis issues
0.2.1 #
- upgrade to service protocol version
3.3
0.2.0 #
- upgrade to service protocol version
3.2
0.1.2 #
- fixed a bug with the
ServiceExtensionAddedevent
0.1.1 #
- expose the new 'Extension' event information
0.1.0 #
- rev to 0.1.0; declare first stable API version
0.0.13 #
- improve the toString() message for RPCError
0.0.12 #
- bug fix for parsing MapAssociations
0.0.11 #
- bug fix to the service extension API
0.0.10 #
- expose a service extension API
0.0.9 #
- update to the latest spec to capture the
Event.inspecteefield
0.0.8 #
- allow listening to arbitrary event types
- use Strings for the enum types (to allow for unknown enum values)
0.0.7 #
- make the diagnostic logging synchronous
- remove a workaround for a VM bug (fixed in 1.13.0-dev.7.3)
- several strong mode fixes
0.0.6 #
- added
exceptionPauseModeto the Isolate class - added
hashCodeandoperator==methods to classes supporting object identity - work around a VM bug with the
typefield ofBoundVariableandBoundField
0.0.5 #
- added more dartdocs
- moved back to using Dart enums
- changed from optional positional params to optional named params
0.0.4 #
- enum redux
0.0.3 #
- update to use a custom enum class
- upgrade to the latest service protocol spec
0.0.2 #
- added the
setExceptionPauseModemethod - fixed an issue with enum parsing
0.0.1 #
- first publish
- upgraded the library to the 3.0 version of the service protocol
- upgraded the library to the 2.0 version of the service protocol
- copied basic Dart API generator from Atom Dart Plugin https://github.com/dart-atom/dartlang/tree/master/tool
- refactored Dart code to generate Java client as well as Dart client