2.7.7

  • [DAP] Debug adapters now only call setLibraryDebuggable when the debuggable flag changes from the default/current values, reducing the amount of VM Service traffic for new isolates/reloads.
  • [DAP] breakpoint events are no longer sometimes sent prior to the response to the setBreakpointsRequest that created them.

2.7.6

  • [DAP] scopesRequest now returns a Globals scope containing global variables for the current frame.
  • [DAP] Responses to setBreakpointsRequest will now have verified: false and will send breakpoint events to update verified and/or line/column as the VM resolves them.

2.7.5

  • Updated vm_service version to >=9.0.0 <12.0.0.

2.7.4

  • [DAP] Added support for ,d (decimal), ,h (hex) and ,nq (no quotes) format specifiers to be used as suffixes to evaluation requests.
  • [DAP] Added support for format.hex in variablesRequest and evaluateRequest.

2.7.3

  • [DAP] Added support for displaying records in responses to variablesRequest.
  • A new exception 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.

2.7.2

  • Update DDS protocol version to 1.4.
  • [DAP] Forward any events from the VM Service's ToolEvent stream as dart.toolEvent DAP events.

2.7.1

  • Updated vm_service version to >=9.0.0 <11.0.0.
  • Simplified the DevTools URI composed by DDS.
  • Fix issue where DDS was invoking an unimplemented RPC against a non-VM target.

2.7.0

  • Added DartDevelopmentService.setExternalDevToolsUri(Uri uri), adding support for registering an external DevTools server with DDS.

2.6.1

  • [DAP] Fix a crash handling errors when fetching full strings in evaluation and logging events.

2.6.0

  • Add support for registering and subscribing to custom service streams.
  • [DAP] Supplying incorrect types of arguments in launch/attach requests will now result in a clear error message in an error response instead of terminating the adapter.

2.5.0

  • [DAP] variables requests now treat lists from dart:typed_data (such as Uint8List) like standard List instances and return their elements instead of class fields.
  • [DAP] variables requests now return information about the number of items in lists to allow the client to page through them.
  • [DAP] terminated events are now always sent when detaching whether or not the debuggee terminates after unpause.
  • [DAP] Debug adapters can now add/overwrite orgDartlangSdkMappings to control mappings of org-dartlang-sdk:/// paths.

2.4.0

  • [DAP] Added support for sending progress notifications via 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.

2.3.1

  • Fixed issue where DDS wasn't correctly handling Sentinel responses in IsolateManager.initialize().

2.3.0

  • [DAP] Removed an unused parameter resumeIfStarting from DartDebugAdapter.connectDebugger.
  • [DAP] Fixed some issues where removing breakpoints could fail if an isolate exited during an update or multiple client breakpoints mapped to the same VM breakpoint.
  • [DAP] Paths provided to DAP now always have Windows drive letters normalized to uppercase to avoid some issues where paths may be treated case sensitively.
  • Fixed issue where DDS wasn't correctly handling Sentinel responses in IsolateManager.initialize().

2.2.6

  • Fixed an issue where debug adapters would not automatically close after terminating/disconnecting from the debugee.

2.2.5

  • Updated devtools_shared version to 2.14.1.

2.2.4

  • Fix an issue where DAP adapters could try to remove the same breakpoint multiple times.

2.2.3

  • Internal DAP changes.

2.2.2

  • Updated vm_service version to 9.0.0.

2.2.1

  • Reduce latency of streamListen calls through improved locking behavior.

2.2.0

  • Add support for serving DevTools via package:dds/devtools_server.dart.

2.1.7

  • Re-release 2.1.6+1.

2.1.6+3

  • Roll back to 2.1.4.

2.1.6+2

  • Roll back to 2.1.5.

2.1.6+1

  • Fix dependencies.

2.1.6

  • Improve performance of CPU sample caching.

2.1.5

  • Update to new CpuSamplesEvent format for CPU sample caching for improved performance.
  • Add additional context in the case of failure to ascii decode headers caused by utf8 content on the stream.

2.1.4

  • A new library 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.

2.1.3

  • Ensure cancelling multiple historical streams with the same name doesn't cause an asynchronous StateError to be thrown.

2.1.2

  • Silently handle exceptions that occur within RPC request handlers.

2.1.1

  • Fix another possibility of LateInitializationError being thrown when trying to cleanup after an error during initialization.

2.1.0

  • Added getAvailableCachedCpuSamples and getCachedCpuSamples.

2.0.2

  • Fix possibility of LateInitializationError being thrown when trying to cleanup after an error during initialization.

2.0.1

  • Update package:vm_service to ^7.0.0.

2.0.0

  • Breaking change: add null safety support.
  • Breaking change: minimum Dart SDK revision bumped to 2.12.0.

1.8.0

  • Add support for launching DevTools from DDS.
  • Fixed issue where two clients subscribing to the same stream in close succession could result in DDS sending multiple streamListen requests to the VM service.

1.7.6

  • Update dependencies.

1.7.5

  • Add 30 second keep alive period for SSE connections.

1.7.4

  • Update package:vm_service to 6.0.1-nullsafety.0.

1.7.3

  • Return an RpcException error with code kServiceDisappeared if the VM service connection disappears with an outstanding forwarded request.

1.7.2

1.7.1

  • Fixed issue where DartDevelopmentServiceException could have a null message.

1.7.0

  • Added package:dds/vm_service_extensions.dart, which adds DDS functionality to package:vm_service when imported.
    • Added onEventWithHistory method and onLoggingEventWithHistory, onStdoutEventWithHistory, onStderrEventWithHistory, and onExtensionEventWithHistory getters.
  • Added getStreamHistory RPC.

1.6.1

  • Fixed unhandled StateError that could be thrown if the VM service disconnected while a request was outstanding.

1.6.0

  • Added errorCode to DartDevelopmentServiceException to communicate the underlying reason of the failure.

1.5.1

  • Improve internal error handling for situations with less than graceful shutdowns.

1.5.0

  • Added event caching for 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.

1.4.1

  • Fixed issue where evaluate and evaluateInFrame requests were not being forwarded to the VM service properly when no external compilation service was registered.

1.4.0

  • Added done property to DartDevelopmentService.
  • Throw DartDeveloperServiceException when shutdown occurs during startup.
  • Fixed issue where StateError was thrown when DDS was shutdown with pending requests.

1.3.5

  • Fixed issue where clients subscribing to the Service stream were not being sent ServiceRegistered events on connection.

1.3.4

  • Fixed issue where isolateIds were expected to take the form isolates/123 although this is not required by the VM service specification.

1.3.3

  • Fixed issue where DartDevelopmentService.sseUri did not return a URI with a sse scheme.

1.3.2

  • Add IPv6 hosting support.
  • Fix handling of requests that are outstanding when a client channel is closed.

1.3.1

  • Fixed issue where an exception could be thrown during startup if the target process had an isolate without an associated pause event.

1.3.0

  • Added support for SSE connections from web-based clients.

1.2.4

  • Fixed another issue where a StateError could be raised within DartDevelopmentService when a client has disconnected after the target VM service has shutdown.

1.2.3

  • Fixed issue where DDS was expecting a client provided implementation of compileExpression to return a response with two layers of response objects.

1.2.2

  • Fixed issue where a StateError could be raised within DartDevelopmentService when a client has disconnected after the target VM service has shutdown.

1.2.1

  • Fixed issue where evaluate and evaluateInFrame were not invoking client provided implementations of compileExpression.

1.2.0

  • Fixed issue where forwarding requests with no RPC parameters would return an RPC error.

1.1.0

  • Added getDartDevelopmentServiceVersion RPC.
  • Added DDS protocol to VM service getSupportedProtocols response.
  • Added example/example.dart.
  • Allow for JSON-RPC 2.0 requests which are missing the jsonrpc parameter.

1.0.0

  • Initial release.