stream_channel
version 2.xVMPauseEvent.atAsyncSuspension
to indicate when an isolate is paused at an await, yield, or yield* statement (only available from VM service version 3.3).VMStep.OverAsyncSuspension
to allow continuing until execution returns from an await, yield, or yield* statement (only valid when VMPauseEvent.atAsyncSuspension
is true
).VMIsolate.setExceptionPauseMode
and VMIsolate.exceptionPauseMode
to return/set pause behaviour for exceptions.Update usage of SDK constants.
Increase minimum Dart SDK to 2.0.0-dev.58.0
.
Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
VMIsolate.observatoryUrl
and VMObjectRef.observatoryUrl
getters that provide access to human-friendly relative Observatory URLs for VM service objects.Isolate.invokeExtension()
would fail if the extension method returned a non-Map
value.source_span
.getSourceReport
to VMIsolateRef
and VMScriptRef
, which return a VMSourceReport
for the target isolate or just the target script respectively.VMScriptToken.offset
is deprecated. This never returned the documented value in the first place, and in practice determining that value isn't possible from the information available in the token.
VMScript.getLocation()
and VMScript.getSpan()
now return spans with the correct line, column, and offset numbers.
Breaking change: new VMServiceClient()
and new VMServiceClient.withoutJson()
now take a StreamChannel
rather than a Stream
/Sink
pair.
Breaking change: the static asynchronous factory VMServiceClient.connect()
is now a synchronous constructor, new VMServiceClient.connect()
.
VMIsolate.pauseEvent
now returns an instance of VMNoneEvent
before the isolate is runnable.crypto
package.Add VMIsolateRef.onExtensionEvent
, which emits events posted by VM service extensions using postEvent
in dart:developer
.
Add VMIsolateRef.selectExtensionEvents()
, which selects events with specific kinds posted by VM service extensions using postEvent
in dart:developer
.
Add VMIsolateRef.onExtensionAdded
, which emits an event when a VM service extension registers a new RPC.
Add VMIsolateRef.waitForExtension()
, which returns when a given extension RPC is available.
Add VMIsolateRef.invokeExtension()
, which invokes VM service extension RPCs registered using registerExtension
in dart:developer
.
Add VMIsolate.extensionRpcs
, which returns the extension RPCs registered in a given isolate.
VMPauseEvent.time
would always be reported as null
or crash.