Flutter
). This means the enableDds
and enableAuthCodes
arguments to the DartDebugAdapter
base class have been deprecated and have any effect. Suppressing DDS (or auth codes) should be done in launch configuration (for example using vmAdditionalArgs
or toolArgs
depending on the target tool).devtools_shared
dependency to version ^11.0.0
.runDartDevelopmentServiceFromCLI
pass the specified bind address directly into startDartDevelopmentService
without resolving the address.vm_service
constraint to ^14.3.0.dap
constraint to ^1.4.0.supportsANSIStyling
to true
in debug adapter capabilities to indicate that Output
events might contain ansi color codes.package:shelf_web_socket
version 3.x
.RpcErrorCodes.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.google3WorkspaceRoot
parameter to DartDevelopmentServiceLauncher.start
from Uri?
to Object?
. This parameter will eventually be changed to String?
, but will allow both Uri?
and String?
values for now.google3WorkspaceRoot
parameter to DartDevelopmentServiceLauncher.start
.DartDevelopmentServiceException.fromJson
would throw a StateError
whenever called, except when called to create an ExistingDartDevelopmentServiceException
.format.hex
in variablesRequest
would not apply to values from lists such as Uint8List
from dart:typed_data
.package:dds/dds_launcher.dart
, a library which can be used to launch DDS instances using dart development-service
.Event
in postEvent
.variables
responses.bin/dds.dart
now closes the stderr
pipe after writing its JSON to the stream.WebSocketChannel.ready
in startDartDevelopmentService
.console
OutputEvent
and the adapter will shut down gracefully.changed
events might contain incorrect location information when new isolates are created, causing breakpoints to appear to move in the editor.toString()
invocations for debugger views no longer expand long strings and instead show truncated values. Full values continue to be returned for evaluation (context=="repl"
) and when copying to the clipboard (context=="clipboard"
).variables
responses. This prevents entire map/list requests from failing when only some values inside are sentinels.requirePermissionToResume
and requireUserPermissionToResume
for onPauseStart
and onPauseExit
so that DDS waits for DAP's permission before resuming the isolate.OutputEvent
s are now scanned for stack frames to attach source
metadata to. The [parseStackFrames] parameter for sendOutput
is ignored and deprecated.DevToolsUtils.initializeAnalytics
and prepared DDS for using unified_analytics
through the Dart Tooling Daemon.analytics
parameter from the DevTools server defaultHandler
method.README.md
and added contributing guide (CONTRIBUTING.md
).package:dds_service_extensions
constraint to ^2.0.0.requireUserPermissionToResume
values from the pause_isolates_on_start
and pause_isolates_on_exit
flags.package:web_socket_channel
2.x and 3.xpackage:shelf_web_socket
1.x and 2.xdevtools_shared
dependency to version ^9.0.1
.package:unified_analytics
dependency.readyToResume
and requireUserPermissionToResume
RPCs.resume
is now treated as a user-initiated resume request and force resumes paused isolates, regardless of required resume approvals. Tooling relying on resume permissions should use the readyToResume
RPC to indicate to DDS that they are ready to resume.Source.name
could contain a file paths when a package:
or dart:
URI should have been used.package:devtools_shared
version to ^8.0.1.Uri
s where they previously used String path
s. This is to support communicating with the DAP client using URIs instead of file paths. URIs may be used only when the client sets the custom supportsDartUris
client capability during initialization.dart-macro+file:///
URIs in communication with the client if the supportsDartUris
flag is set in arguments for initializeRequest
.package:dap
version to 1.2.0.unified_analytics
as a dependency and added static method DevToolsUtils.initializeAnalytics
to create analytics instance for DevTools.devtools_shared
constraint to ^7.0.0.package:
URI.devtools_shared
to ^6.0.4.--dtd-uri=<uri>
flag to DevTools server.vm_service
constraint to ^14.0.0.devtools_shared
constraint to ^6.0.3.stackTraceRequest
now returns an empty stack instead of throwing if called for a thread that has exited.vm_service
constraint to ^13.0.0.vm_service
constraint to ^14.0.0.Hot-fix release of changes in 3.1.2 without the changes in 3.1.1
devtools_shared
constraint to ^6.0.3.stackTraceRequest
now returns an empty stack instead of throwing if called for a thread that has exited.devtools_shared
to ^6.0.0.vm_service
to ^13.0.0.DartDebugAdapter.vmService
from VmServiceInterface
to VmService
.restartFrameRequest
is now supported for frames up until the first async boundary (that are not also the top frame).vm_service
version to >=11.0.0 <13.0.0.devtools_shared
to ^4.0.0.devtools_shared
to ^3.0.0.threadId
s has been reverted because Isolate numbers can be larger than the 32-bit integers allowed in DAP.threadsRequest
from the DDS DAP handler now include isolateId
fields to allow mapping back to VM Service Isolates.devtools_shared
to ^2.26.1.threadId
s generated by the debug adapter now match the Isolate numbers of the underlying isolates.frameId
) is now available for top-levels if a file://
URI for a script is provided as the context
for an evaluate
request.source.path
field if the working directory of the debug adapter did not match that of the launch/attach request.bool? allowAnsiColorOutput
can enable using ansi color codes in Output
events to improve readability of stack traces (fading out frames that are not user code).bool? showGettersInDebugViews
allows getters to be shown wrapped in Variables/Evaluation responses so that they can be lazily expanded by the user. evaluateGettersInDebugViews
must be false
for this behaviour.runInTerminal
requests are now sent after first responding to the launchRequest
.!
instead of ✓
in Output
events.pause
request.IsolateReload
events (see https://dartbug.com/49491).getPerfettoVMTimelineWithCpuSamples
RPC.vm_service
version to >=11.0.0 <12.0.0.scopesRequest
/variablesRequest
to fail, instead showing appropriate text (like “”) against the variable.setLibraryDebuggable
when the debuggable flag changes from the default/current values, reducing the amount of VM Service traffic for new isolates/reloads.breakpoint
events are no longer sometimes sent prior to the response to the setBreakpointsRequest
that created them.scopesRequest
now returns a Globals
scope containing global variables for the current frame.setBreakpointsRequest
will now have verified: false
and will send breakpoint
events to update verified
and/or line
/column
as the VM resolves them.vm_service
version to >=9.0.0 <12.0.0.,d
(decimal), ,h
(hex) and ,nq
(no quotes) format specifiers to be used as suffixes to evaluation requests.format.hex
in variablesRequest
and evaluateRequest
.variablesRequest
.ExistingDartDevelopmentServiceException
(extending DartDevelopmentServiceException
) is thrown when trying to connect DDS to a VM Service that already has a DDS instance. This new exception contains a ddsUri
field that is populated with the URI of the existing DDS instance if provided by the target VM Service.ToolEvent
stream as dart.toolEvent
DAP events.vm_service
version to >=9.0.0 <11.0.0.DartDevelopmentService.setExternalDevToolsUri(Uri uri)
, adding support for registering an external DevTools server with DDS.launch
/attach
requests will now result in a clear error message in an error response instead of terminating the adapter.variables
requests now treat lists from dart:typed_data
(such as Uint8List
) like standard List
instances and return their elements instead of class fields.variables
requests now return information about the number of items in lists to allow the client to page through them.terminated
events are now always sent when detaching whether or not the debuggee terminates after unpause.orgDartlangSdkMappings
to control mappings of org-dartlang-sdk:///
paths.DartDebugAdapter.startProgressNotification
. Standard progress events are sent when a clients sets supportsProgressReporting: true
in its capabilities, unless sendCustomProgressEvents: true
is included in launch configuration, in which case prefixed (dart.
) custom notifications will be sent instead.Sentinel
responses in IsolateManager.initialize()
.resumeIfStarting
from DartDebugAdapter.connectDebugger
.Sentinel
responses in IsolateManager.initialize()
.devtools_shared
version to 2.14.1.vm_service
version to 9.0.0.streamListen
calls through improved locking behavior.package:dds/devtools_server.dart
.package:dds/dap.dart
exposes classes required to build a custom DAP debug-adapter on top of the base Dart DAP functionality in DDS. For more details on DAP support in Dart see this README.StateError
to be thrown.LateInitializationError
being thrown when trying to cleanup after an error during initialization.LateInitializationError
being thrown when trying to cleanup after an error during initialization.package:vm_service
to ^7.0.0.streamListen
requests to the VM service.package:vm_service
to 6.0.1-nullsafety.0.kServiceDisappeared
if the VM service connection disappears with an outstanding forwarded request.package:dds/vm_service_extensions.dart
, which adds DDS functionality to package:vm_service
when imported.onEventWithHistory
method and onLoggingEventWithHistory
, onStdoutEventWithHistory
, onStderrEventWithHistory
, and onExtensionEventWithHistory
getters.getStreamHistory
RPC.StateError
that could be thrown if the VM service disconnected while a request was outstanding.errorCode
to DartDevelopmentServiceException
to communicate the underlying reason of the failure.Stdout
, Stderr
, and Extension
streams. When a client subscribes to one of these streams, they will be sent up to 10,000 historical events from the stream.evaluate
and evaluateInFrame
requests were not being forwarded to the VM service properly when no external compilation service was registered.done
property to DartDevelopmentService
.DartDeveloperServiceException
when shutdown occurs during startup.StateError
was thrown when DDS was shutdown with pending requests.Service
stream were not being sent ServiceRegistered
events on connection.isolateId
s were expected to take the form isolates/123
although this is not required by the VM service specification.DartDevelopmentService.sseUri
did not return a URI with a sse
scheme.StateError
could be raised within DartDevelopmentService
when a client has disconnected after the target VM service has shutdown.compileExpression
to return a response with two layers of response
objects.StateError
could be raised within DartDevelopmentService
when a client has disconnected after the target VM service has shutdown.evaluate
and evaluateInFrame
were not invoking client provided implementations of compileExpression
.getDartDevelopmentServiceVersion
RPC.getSupportedProtocols
response.jsonrpc
parameter.