getAvailableCachedCpuSamples and getCachedCpuSamples RPCs.cachedUserTags parameter of DartDevelopmentService.startDartDevelopmentService.DartDevelopmentService.cachedUserTags getter.setBreakpoints request. This improves performance and can avoid breakpoints flickering between unresolved/resolved when adding new breakpoints in the same file.OutputEventss.evaluateRequest that are lists now include indexedVariables to allow for client-side paging.RPCError to be thrown if the application's isolate is disposed mid-RPC.package:shelf_web_socket.getStreamHistory RPC.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 <16.0.0.dap constraint to ^1.4.0.supportsANSIStyling to true in debug adapter capabilities to indicate that Output events might contain ansi color codes.OutputEventss.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.OutputEvents 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.Uris where they previously used String paths. 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.threadIds 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.threadIds 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.isolateIds 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.