vm_service 6.0.0-nullsafety-dev vm_service: ^6.0.0-nullsafety-dev copied to clipboard
A library to communicate with a service implementing the Dart VM service protocol.
Changelog #
6.0.0-nullsafety-dev #
- Migrate to use null safety.
5.5.1 #
- Fix issue where
VmService.onDone
could complete before the providedDisposeHandler
had finished executing.
5.5.0 #
- Update to version
3.42.0
of the spec. - Added optional
limit
parameter togetStack
RPC.
5.4.0 #
- Update to version
3.41.0
of the spec. - Added
PortList
class. - Added
getPorts
RPC. - Added optional properties
portId
,allocationLocation
, anddebugName
toInstanceRef
andInstance
.
5.3.1 #
- Rename
State
class to_State
to avoid class name conflicts with Flutter.
5.3.0 #
- Added support for
dart:io
extensions version 1.5. - Added combination getter/setter
socketProfilingEnabled
. - Deprecated
startSocketProfiling
andpauseSocketProfiling
. - Update to version
3.40.0
of the spec. - Added
IsolateFlag
class. - Added
isolateFlags
property toIsolate
.
5.2.0 #
- Added support for
dart:io
extensions version 1.3. - Added combination getter/setter
httpEnableTimelineLogging
. - Deprecated
getHttpEnableTimelineLogging
andsetHttpEnableTimelineLogging
.
5.1.0 #
- Added support for
dart:io
extensions version 1.2. - Added
getOpenFiles
,getOpenFileById
,getSpawnedProcesses
, andgetSpawnedProcessById
RPCs. - Added
OpenFileList
,OpenFileRef
,OpenFile
,SpawnedProcessList
,SpawnedProcessRef
, andSpawnedProcess
objects.
5.0.0 #
- breaking: Update to version
3.39.0
of the spec.- Removes
ClientName
andWebSocketTarget
objects - Removes
getClientName
,getWebSocketTarget
,requirePermissionToResume
, andsetClientName
RPCs.
- Removes
- Added
isSystemIsolate
property toIsolateRef
andIsolate
. - Added
isSystemIsolateGroup
property toIsolateGroupRef
andIsolateGroup
. - Added
serviceIsolates
andserviceIsolateGroups
properties toVM
. - Fixed issue where
VmServerConnection
would always response with a string ID even if the request ID was not a string.
4.2.0 #
- Update to version
3.37.0
of the spec. - Added
getProcessMemoryUsage
RPC andProcessMemoryUsage
andProcessMemoryItem
objects. - Added
getWebSocketTarget
RPC andWebSocketTarget
object.
4.1.0 #
- Update to version
3.35.0
of the spec. - Expose more
@required
parameters on the named constructors of VM service objects.
4.0.4 #
- Update to version
3.34.0
of the spec. - Fixed issue where
TimelineEvents
was 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
TimelineStreamSubscriptionsUpdate
event, which is broadcast whensetVMTimelineFlags
is used to change the set of currently recording timeline streams.
4.0.3 #
- Update to version
3.33.0
of the spec. - Add static error code constants to
RPCError
. - Update the toString() method or
RPCError
and add a toMap() method.
4.0.2 #
- Fixed issue where RPC format did not conform to the JSON-RPC 2.0 specification.
- Added
getClassList
RPC.
4.0.1 #
- Improved documentation.
- Fixed analysis issues.
4.0.0 #
- breaking: RPCs which can return a
Sentinel
will now throw aSentinelException
if aSential
is received as a response. - breaking: RPCs which can return multiple values now return
Future<Response>
rather thanFuture<dynamic>
. RPCError
now implementsException
.
3.0.0 #
- breaking: RPCs which have an isolateId parameter now return
Future<dynamic>
as aSentinel
can 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
, andrequireResumePermission
methods. - Added
ClientName
class.
2.3.1 #
- Fixed issue where
dart:io
extensions were not being exported.
2.3.0 #
- Added
getHttpEnableTimelineLogging
andsetHttpEnableTimelineLogging
methods. - Added
HttpTimelineLoggingState
class.
2.2.1 #
- Fixed issue where
TimelineEvent.toJson
always 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
TimelineEvent
always 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.dispose
is invoked will now complete with anRPCError
exception rather than aString
exception.
2.1.1 #
- Added
getLineNumberFromTokenPos
andgetColumnNumberFromTokenPos
methods toScript
.
2.1.0 #
- Added
HeapSnapshotGraph
class which parses the binary events posted to theHeapSnapshot
stream after arequestHeapSnapshot
invocation. - Fixed issue where listening to
EventStream.kHeapSnapshot
and callingrequestHeapSnapshot
would 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
getCpuSamples
andclearCpuSamples
methods - Added
CpuSamples
,CpuSample
, andProfileFunction
classes.
- Added
1.1.2 #
- Fixed issue where
closureFunction
andclosureContext
were only expected inInstance
objects 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
,getRetainingPath
methods - Added
InboundReferences
,InboundReference
,RetainingPath
, andRetainingObject
objects
- Added
1.0.1 #
- Support service protocol version 3.24:
- Added
operatingSystem
property toVM
object
- Added
1.0.0+1 #
- Updated description and homepage.
1.0.0 #
- Migrated
vm_service_lib
into the Dart SDK. - Renamed from
package:vm_service_lib
topackage:vm_service
. - Switched versioning system to follow semantic versioning standards instead of pinning versions to match the service protocol version.
3.22.2 #
- Fix
registerService
RPC andService
stream not being handled correctly. - Fixed failing tests.
3.22.1 #
- breaking: Changed type of
library
property inClass
objects fromObjectRef
toLibraryRef
.
3.22.0 #
- The
registerService
RPC andService
stream are now public. Event
has been updated to include the optionalservice
,method
, andalias
properties.
3.21.1 #
- breaking: Fixed issue where an
InstanceRef
of typenull
could be returned instead of null for non-InstanceRef
properties 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
InstanceSet
andAllocationProfile
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
getVmWsUriFromObservatoryUri
toconvertToWebSocketUrl
- 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.tokenPosTable
values
3.14.3-dev.4 #
- Add support for the
_Service
stream in theVmServerConnection
directly.
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:developer
should be handled by theVmServiceInterface
implementation (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
ServiceExtensionRegistry
class, which tracks which clients have registered which service extensions. - breaking: Renamed
VmServer
toVmServerConnection
.- One
VmServerConnection
should be created per client connection to the server. These should typically all share the same underlyingVmServiceInterface
instance, as well as the sameServiceExtensionRegistry
instance.
- One
3.14.3-dev.2 #
- Add
callServiceExtension
method to theVmServiceInterface
class.- The
VmServer
will delegate all requests whose methods start withext.
to that implementation.
- The
3.14.3-dev.1 #
- Add
VmServiceInterface
andVmServer
classes, which can handle routing jsonrpc2 requests to aVmServiceInterface
instance, and serializing the responses back.
3.14.3-dev.0 #
- Add
toJson
methods to all classes.
3.14.2 #
- fix code generation for the
getSourceReport
call
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.9
of the spec - expose
invoke
0.3.9 #
- Rename the
Null
type 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
Instance
objects
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
awaiterFrames
field - expose the
frameIndex
param for the step call
0.3.2+1 #
- fix a strong mode issue in the generated Dart library
0.3.2 #
- expose the
PausePostRequest
event
0.3.1 #
- fix a parsing issue with ExtensionData
0.2.4 #
- expose the service protocol timeline API
- add the new
None
event 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
ServiceExtensionAdded
event
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.inspectee
field
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
exceptionPauseMode
to the Isolate class - added
hashCode
andoperator==
methods to classes supporting object identity - work around a VM bug with the
type
field ofBoundVariable
andBoundField
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
setExceptionPauseMode
method - 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