NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #124 most downloaded on pub.dev
A service that proxies between the Chrome debug protocol and the Dart VM service protocol.
Last release 1 months ago
26 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Most releases are documented
notes for 51 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
155 releases · first in 2019
Depend on the latest package:vm_service version 3.0.0+1.
package:vm_service version 3.0.0+1.Breaking Changes:
LoadStrategy to Dwds.start. This package defines two
compatible load strategies, RequireStrategy and `LegacyStrategy.Dwds.start function signature has been changed to accept one more parameter
of new interface type ExpressionCompiler to support expression evaluationRequireStrategy suitable for use with
package:build_runner.Make the root optional for the ProxyServerAssetReader.
root optional for the ProxyServerAssetReader.One column per quarter.
Fix an issue where files imported with relative paths containing ../ may fail to resolve breakpoint locations.
../ may
fail to resolve breakpoint locations.package:build_daemon.FrontendServerAssetReader for use with Frontend Server builds.package:sse for handling client reconnects transparently on
the server.Breaking Changes:
BuildResult abstraction from package:build_daemon but
require a similar abstraction provided by this package.AssetHandler has been renamed to AssetReader and no longer provides a
generic resource handler. Specific methods for the required resources are now
clearly defined. The new abstraction is now consumed through dwds.dart.BuildRunnerAssetHandler has been renamed to ProxyServerAssetReader and is
now consumed through dwds.dart.Breaking Change: The AssetHandler will not automatically be added the DWDS handler cascade. You must now also add the middleware to your server's pipe…
middleware and handler.Breaking Change: The AssetHandler will not automatically be added the DWDS
handler cascade. You must now also add the middleware to your server's
pipeline.
Always bind to localhost for the local debug workflow.
localhost for the local debug workflow.Support using WebSockets for the debug (VM Service) proxy by passing useSseForDebugProxy: false to Dwds.start()
useSseForDebugProxy: false to Dwds.start()Support nesting Dart applications in iframes.
Depend on the latest package:built_value.
package:built_value.UrlEncoder will also encode the base URI used by the injected client / Dart Debug Extension. \*\* Breaking Change \*\* serveDevTools is not automatica…
package:sse to get retry logic.serveDevTools is false.UrlEncoder will also encode the base URI used by the injected client / Dart
Debug Extension. ** Breaking Change ** serveDevTools is not
automatically considered true if enableDebugExtensionis true.Properly wait for hot reload to complete with the legacy module system.
getObject for a class with a generic type.Support optional argument urlEncoder that is used to encode remote URLs for use with the Dart Debug Extension.
urlEncoder that is used to encode remote URLs for
use with the Dart Debug Extension.Handle getObject for primitives properly.
Fix issue with source map logic for the legacy module system.
The injected client's connection is now based off the request URI.
ChromeDebugException class for error handling purposes.AppConnectionException class for error handling purposes.pauseBreakpoints on kPauseBreakpoint events.Deobfuscate DDC extension method stack traces.
legacy module system.Correctly set Isolate state if debugging is initiated after the application has already started.
Isolate state if debugging is initiated after the application
has already started.Account for root directory path when using package: URIs with DartUri.
package: URIs with DartUri.Fix a bug where we would try to create a new isolate even for a failed hot restart. This created a race condition that would lead to a crash.
close methods more robust by allowing them to be called more than
once and returning the cached future from previous calls.DWDS.start now requires an AssetHandler instead of applicationPort, assetServerPort and applicationTarget.
DWDS.start now requires an AssetHandler instead of applicationPort,
assetServerPort and applicationTarget.BuildRunnerAssetHandler which proxies request to the asset server
running within build runner.Capture any errors that happen when handling SSE requests in the DevHandler and return an error response to the client code.
Add new required parameter enableDebugging to Dwds.start. If false is provided, debug services will not run. However, reload logic will continue to wo
enableDebugging to Dwds.start. If false is
provided, debug services will not run. However, reload logic will continue to
work with the injected client.Properly set the pauseEvent on the Isolate.
pauseEvent on the Isolate.Fix issue where certain required fields of VM service protocol objects were null.
exceptionPauseMode on the Isolate.DevTools.Fix issue where certain required fields of VM service protocol objects were null.
Fix issue where certain required fields of VM service protocol objects were null.
Closure names in the debug view.Fix an issue where missing source maps would cause a crash. A warning will now be logged to the console instead.
package:webkit_inspection_protocol.Fix an issue where we source map paths were not normalized.
client.js and recommend using the
--no-injected-client flag for webdev users.wsUri to uri on DebugConnection to reflect that the uri may not
be a websocket.package:vm_service.Move data abstractions from package:webdev into package:dwds.
data abstractions from package:webdev into package:dwds.package:webdev into package:dwds.package:webdev into package:dwds.dwds.dart. Existing public API services.dart
is now private.Add support for getScript for paused isolates.
getScript for paused isolates.onRequest and onResponse listeners for the vm service.Add support for scope in evaluate calls.
scope in evaluate calls.Improve error reporting for evals, give the full JS eval in the error message so it can be more easily reproduced.
Change the exposed type on DebugService to VmServiceInterface
- Support setExceptionPauseMode.
setExceptionPauseMode.Treating this as a breaking change because you now must use the wsUri getter to get a valid uri for connecting to the service, when previously combini…
wsUri for increased security.
wsUri
getter to get a valid uri for connecting to the service, when previously
combining the port and host was sufficient.- Initial version
Your coding agent can read these notes before it upgrades. Set up the MCP server →