PackageTrack
Sign in Get early access

dwds

A service that proxies between the Chrome debug protocol and the Dart VM service protocol.

27.1.2 5.9M downloads/mo #125 most downloaded on pub.dev dart-lang/webdev

What this package is like to depend on

Last release 2 months ago

15 Jun 2026

Ships fairly regularly

a new release about every 3 weeks

Nearly every release is documented

notes for 139 of 154 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

154 releases · first in 2019

18 releases in the last 12 months

see the full history below

Release timeline

154 releases · Mar 2019 to Jun 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 154
  1. 27.1.2 15 Jun 2026
    Release notes
    • Bump the min sdk to 3.13.0-107.0.dev.
    • Allow package_config 3.x.x.
    • Internal only changes.
    Open source →
    Release notes
    • Bump the min sdk to 3.13.0-107.0.dev.

    • Internal only changes.

    • Allow package_config 3.x.x.

    Open source →
  2. 27.1.1 30 Apr 2026
    Release notes
    • Fix deserialization errors appearing in the chrome console.
      Replace raw map for client ping checks with a proper PingRequest class and
      update client deserialization handling.
    Open source →
    Release notes
    • Fix deserialization errors appearing in the chrome console. Replace raw map for client ping checks with a proper PingRequest class and update client deserialization handling.
    Open source →
  3. 27.1.0 10 Apr 2026
    Release notes
    • Add appName to DartDevelopmentServiceConfiguration.
    • Add dartExecutable to DartDevelopmentServiceConfiguration.
    Open source →
    Release notes
    • Add appName to DartDevelopmentServiceConfiguration.
    Open source →
  4. 27.0.3 14 Apr 2026
    Release notes

    fix dartExecutable passed through to dwds by @schultek in #2816

    Open source →
    Release notes
    • Fix dartExecutable not being correctly passed to the DebugService.
    Open source →
  5. 27.0.2 13 Apr 2026
    Release notes

    What's Changed

    • Throwing an error when reloaded sources when reloaded_sources.json is empty or null by @Markzipan in #2810
    • Add dartExecutable to DartDevelopmentServiceConfiguration. by @Markzipan in #2814

    Cherry-picked above changes to avoid release block by Dart 4.12. We should await its release before pinning dwds 27.1.0.

    Open source →
    Release notes
    • Add dartExecutable to DartDevelopmentServiceConfiguration.
    Open source →
  6. 27.0.1 08 Apr 2026
    Release notes
    • Replace package:uuid dependency with internal Uuid class for generating version 4 UUIDs.
    • Add DDC Library Bundle tests in dwds/test/integration/instances.
    • Fix WebSocket reconnection hang by ensuring Dart isolate recreation when a new browser client reuses an AppDebugServices.
    • Don't inject script loads from within DWDS when executing with build_runner + DDC Module Bundles.
    • Handle out of order disconnects and reconnects.
      • Update dwds to support ignoring disconnects for the SseHandler. This is
        useful to prevent incorrect behavior when a disconnect event arrives after
        a new connection request.
    • Add sourcemap logic fixes to DDC Library Bundle + build_runner execution scheme.
    • Update pathing logic for Windows and the DDC Library Bundle module system.
    • Fix serialization of HotRestartRequest in AppConnection.
    • Split integration tests across DDC module systems.
    • Split additional tests across DDC module systems.
    • Fix issue where DebugConnection did not complete onDone if WebkitDebugger fails to reconnect to the debugger after the connection closes.
    • Fix FormatException in ExtensionDebugger by making ExtensionEvent.fromJson robust to missing headers and Map-typed params.
    • Fix StateError in DwdsInjector during AOT execution by bundling client.js as a statically compiled asset.
    Open source →
    Release notes
    • Replace package:uuid dependency with internal Uuid class for generating version 4 UUIDs.
    • Add DDC Library Bundle tests in dwds/test/integration/instances.
    • Fix WebSocket reconnection hang by ensuring Dart isolate recreation when a new browser client reuses an AppDebugServices.
    • Don't inject script loads from within DWDS when executing with build_runner + DDC Module Bundles.
    • Handle out of order disconnects and reconnects.
      • Update dwds to support ignoring disconnects for the SseHandler. This is useful to prevent incorrect behavior when a disconnect event arrives after a new connection request.
    • Add sourcemap logic fixes to DDC Library Bundle + build_runner execution scheme.
    • Update pathing logic for Windows and the DDC Library Bundle module system.
    • Fix serialization of HotRestartRequest in AppConnection.
    • Split integration tests across DDC module systems.
    • Split additional tests across DDC module systems.
    • Fix issue where DebugConnection did not complete onDone if WebkitDebugger fails to reconnect to the debugger after the connection closes.
    • Fix FormatException in ExtensionDebugger by making ExtensionEvent.fromJson robust to missing headers and Map-typed params.
    • Fix StateError in DwdsInjector during AOT execution by bundling client.js as a statically compiled asset.
    • Report errors when an empty reloaded_sources.json is seen in the DDC Library Bundle module system.
    Open source →
  7. 27.0.0 20 Feb 2026
    Release notes
    • Remove package:built_value, package:built_value_generator, and package:built_collection dependencies.
    • Remove serializers.dart and data_serializers.dart.
    • Remove package:built_value dependency from ConnectFailure, DebugStateChange, DevToolsOpener, DevToolsUrl, IsolateStart, IsolateExit, DevToolsRequest, DevToolsResponse, ExtensionRequest, ExtensionResponse, ExtensionEvent, and BatchedEvents; switch to standard Dart JSON serialization.
    • Update ConnectFailure, DebugStateChange, DevToolsOpener, DevToolsUrl, DevToolsRequest, DevToolsResponse, ExtensionRequest, ExtensionResponse, ExtensionEvent, BatchedEvents and DebugInfo serialization to mimic built_value's list-based format to resolve compatibility issues with the debug extension.
    • Remove build, build_daemon, build_runner, build_version, build_web_compilers, and pubspec_parse dependencies, along with build.yaml which originally generated client.js using build_runner. client.js is now compiled via dart compile js in a new tool/build.dart script.
    • Throw RPCError when providing invalid pause_isolates_on_start values to the Chrome Proxy Service.
    • Fix deserialization of HotRestartRequest, HotReloadResponse, HotRestartResponse, and ServiceExtensionResponse in the DevHandler.
    • Add and export BuildRunnerDdcLibraryBundleStrategyProvider.
    • Add support for Build Runner + DDC Module Bundle in test fixtures.
    • Unify assetHandler and assetReader in BuildRunnerStrategyProviderMixin.
    • Resolve test suite flakiness for port discovery.
    • Bump build_web_compilers to ^4.4.12.
    Open source →
  8. 26.2.5 15 Jan 2026
    Release notes
    • Remove package:built_value dependency from ErrorResponse and RegisterEvent; switch to standard Dart JSON serialization.
    • Adding retries to Chrome Proxy Service connections.
    Open source →
  9. 26.2.4 13 Jan 2026
    Release notes
    • Remove package:built_value dependency from DebugEvent, BatchedDebugEvents, ConnectRequest, RunRequest, DebugInfo, HotReloadRequest, HotReloadResponse, HotRestartRequest, HotRestartResponse, ServiceExtensionRequest, ServiceExtensionResponse and BuildResult; switch to standard Dart JSON serialization.
    • Adding guards for dwds-injected library loading for Flutter Web.
    Open source →
  10. 26.2.3 19 Dec 2025
    Release notes
    • Bump build_web_compilers to ^4.4.1.
    • Remove unused clientFuture arg from DwdsVmClient methods.
    • Fix pausing starting of main after the hot restart.
    • Updating bootstrapper for DDC library bundler module format + Frontend Server.
    • Fix setting up breakpoints when handling in-app restarts with attached debugger.
    • Fix issue where the web socket connections with the target application and Chrome debugger close when the computer sleeps.
    • Fix setting up breakpoints when handling full reloads from attached debugger / page refreshes.
    Open source →
  11. 26.2.2 07 Nov 2025
    Release notes
    • Fix issue where isolate pause events were not reported correctly when using the web socket proxy service.
    Open source →
  12. 26.2.1 05 Nov 2025
    Release notes
    • Add support for DDS APIs and serving Dart DevTools when no Chrome Debugger is available.
    Open source →
  13. 26.2.0 20 Oct 2025
    Release notes
    • Add support for more service APIs over websocket connections when no Chrome Debugger is available.
    Open source →
  14. 26.1.0 20 Oct 2025
    Release notes
    • reloadSources and hotRestart now throw an RPC error with kServerError code when NoClientsAvailableException is caught (no browser clients are connected), allowing tooling to detect and handle this scenario.
    • pause now does not send a PauseInterrupted event in WebSocketProxyService as we didn't actually pause.
    Open source →
  15. 26.0.0 09 Oct 2025
    Release notes
    • Bump SDK constraint to ^3.10.0
    • Added 'scriptUri' parameter to compileExpressionToJs
    • Fix an issue in reloadSources where a PauseInterrupted event was sent. - #61560
    • Expose dtdUri via DebugConnection.
    Open source →
  16. 25.1.0 29 Aug 2025
    Release notes
    • Added DartDevelopmentServiceConfiguration to allow for configuring DDS behavior.
    • Added support for serving DevTools via DDS. This will become the sole method of serving DevTools from DWDS in a future major release.
    • Deprecated spawnDds, ddsPort, and devToolsLauncher properties in DebugSettings.
    • Added ddsConfiguration to DebugSettings.
    Open source →
  17. 25.1.0+1 09 Oct 2025

    Nothing published for this version

  18. 25.1.0+2 22 Oct 2025

    Nothing published for this version

  19. 25.0.4 27 Aug 2025
    Release notes

    Bug Fixes:

    • Fix issue where DebugService: Error serving requestsError: Unsupported operation: Cannot send Null would be spammed on the console.
    Open source →
  20. 25.0.3 25 Aug 2025
    Release notes

    Bug Fixes:

    • Fix issue in hot restart with the web socket where we didn't pass the reloaded sources path, resulting in a null assertion.
    Open source →
  21. 25.0.2 22 Aug 2025
    Release notes

    Bug Fixes:

    • Fix issue where DDS would fail to initialize if DWDS already had existing clients.
    Open source →
  22. 25.0.1 18 Aug 2025
    Release notes

    Bug Fixes:

    • Fix issue in hot restart where a hot restart with no changes followed by one with changes, a Future was completed again, resulting in a crash.
    Open source →
  23. 25.0.0 14 Aug 2025
    Release notes
    • Implemented hot restart over websockets with multi window support.
    • Fix refresh race condition bug by adding an isolate destruction grace period.
    • Update a call to the package:shelf_web_socket webSocketHandler() function.

    Breaking changes

    • Remove deprecated parameter injectDebuggingSupportCode from Dwds.start().
    • Remove all deprecated fields, getters, and parameters related to the null safety compilation mode. Dart 3 only supports sound null safety.
    • Rename FrontendServerDdcLibraryBundleStrategy.hotReloadSourcesUri to reloadedSourcesUri. The file that the Uri points to should now be updated for both a hot restart and a hot reload.
    Open source →
  24. 24.4.1 29 Jul 2025
    Release notes
    • Implemented a WebSocket-based communication protocol that provides essential developer tooling (hot reload, service extensions) when Chrome debugger access is unavailable. - #2605
    • Added WebSocket-based hot reload and service extension support via new WebSocketProxyService class that implements VM service protocol over WebSockets.
    • Enhanced DevHandler with useWebSocketConnection flag to toggle between Chrome-based and WebSocket-based communication protocols.
    • Fixed an issue where we didn't wait until all scripts were parsed before recomputing metadata on a hot reload.
    Open source →
  25. 24.4.0 05 Jul 2025
    Release notes
    • Added support for breakpoint registering on a hot reload with the DDC library bundle format using PausePostRequests.
    • FrontendServerDdcLibraryBundleStrategy.hotReloadSourceUri is now expected to also provide the reloaded modules.
    Open source →
  26. 24.4.0+1 22 Aug 2025

    Nothing published for this version

  27. 24.4.0+2 27 Aug 2025

    Nothing published for this version

  28. 24.3.11 16 Jun 2025
    Release notes
    • Changed DWDS to always inject the client and added useDwdsWebSocketConnection flag to control communication protocol: when true uses socket-based implementation, when false uses Chrome-based communication protocol.
    • Added WebSocket-based hot reload support: reloadSources in ChromeProxyService and DevHandler now handle hot reload requests and responses over WebSockets.
    • Refactored the injected client to use a reusable function for handling hot reload requests and responses over WebSockets.
    • Added support for breakpoint registering on a hot restart with the DDC library bundle format using PausePostRequests.
    Open source →
  29. 24.3.10 07 Apr 2025
    Release notes
    • Disabled breakpoints on changed files in a hot reload. They currently do not map to the correct locations or are broken, so disable them for now. - #60186
    Open source →
  30. 24.3.9 24 Mar 2025
    Release notes
    • Renamed DWDS Injector parameter enableDebuggingSupport to injectDebuggingSupportCode for clearer intent.
    Open source →
  31. 24.3.8 21 Mar 2025
    Release notes
    • Updated DWDS to include a boolean flag that enables debugging support only when set to true. #60289
    Open source →
  32. 24.3.7 11 Mar 2025
    Release notes
    • The registered extension reassemble is now no longer called when calling reloadSources. Users should call reassemble using callServiceExtension.

    • callServiceExtension now checks the runtime for the list of registered service extensions. It also now throws a RPCError with RPCErrorKind.kMethodNotFound when a service extension is not found instead of throwing a JS evaluation error.

    Open source →
  33. 24.3.6 04 Mar 2025
    Release notes
    • Bump minimum sdk version to 3.7.0
    • use 'compile js-dev' instead of directly invoking the ddc snapshot.
    • FrontendServerDdcLibraryBundleStrategy now takes a hotReloadSourcesUri parameter in order to fetch the file that contains the changed sources and libraries instead of assuming it exists in the global window.
    Open source →
  34. 24.3.5 11 Feb 2025
    Release notes
    • Allow clients to specify the packageConfigPath in LoadStrategy class and associated providers.
    Open source →
  35. 24.3.4 31 Jan 2025
    Release notes
    • Added support for some debugging APIs with the DDC library bundle format. - #2566, #2573
    • Added support for hot reload using the DDC library bundle format.
    Open source →
  36. 24.3.3 23 Jan 2025
    Release notes
    • Added support for some debugging APIs with the DDC library bundle format. - #2563
    • Update DCM version to 1.26.0-1
    • Add support for hot restart using the DDC library bundle format.
    Open source →
  37. 24.3.2 10 Jan 2025
    Release notes
    • Bump package:dds to >=4.2.5 <6.0.0.
    Open source →
  38. 24.3.1 10 Jan 2025
    Release notes
    • Add support for binding DDS to a custom port.
    Open source →
  39. 24.3.0 07 Jan 2025
    Release notes
    • Update to be forward compatible with changes to package:shelf_web_socket.
    • Added support for some debugging APIs with the DDC library bundle format. - #2537,#2544,#2548
    • Fix issue where batched expression evals were failing if any subexpression failed. - #2551
    • Expose a partial implementation of FrontendServerDdcLibraryBundleStrategyProvider.
    • Update package:vm_service_interface to '^2.0.1'.
    Open source →
  40. 24.2.0 06 Dec 2024
    Release notes
    • Consolidate FrontendServerDdcStrategyProvider and FrontendServerRequireStrategyProvider under a shared parent class. - #2517
    • Remove build_daemon_ddc_and_canary_evaluate_test. - 2512
    • Replace deprecated JS code this.__proto__ with Object.getPrototypeOf(this). - #2500
    • Migrate injected client code to package:web. - #2491
    • Deprecated MetadataProvider's, CompilerOptions', SdkConfiguration's & SdkLayout's soundNullSafety. - #2427
    • Add load strategy and an unimplemented hot restart strategy for DDC library bundle format.
    • Added useModuleName option to MetadataProvider to determine whether or not to use the provided name in a ModuleMetadata. Metadata provided by DDC when using the library bundle format does not provide a useful bundle name.
    • Migrate to package:web v1.1.0.
    • Added support for some debugging APIs with the DDC library bundle format. - #2488, #2534
    • Update package:vm_service to '>=14.2.4 <16.0.0'.
    • Update package:vm_service_interface to '2.0.1'.
    Open source →
  41. 24.1.0 07 Aug 2024
    Release notes
    • Fix bug where debugging clients are not aware of service extensions when connecting to a new web app. - #2388
    • Respect the value of pause_isolates_on_start during page-refreshes. - #2431
    • Fix issue where DAP clients wouldn't resume after a restart. - #2441
    • Add implementation for the VM Service's getFlagList API. - #2438
    • Hide more variables from the local scope when debugging. These variables were synthetically added by the compiler to support late local variables and don't appear in the original source code. - #2445
    • Spawn DDS in a separate process using dart development-service instead of launching from package:dds. - #2466
    • Update package web_socket_channel: '>=2.2.0 <4.0.0'.
    • Require Dart ^3.4
    • Prepare to update package:vm_service_interface constraint to 2.0.0.
    Open source →
  42. 24.0.0 23 Apr 2024
    Release notes
    • Implement setFlag when it is called with pause_isolates_on_start. - #2373
    • Do not persist breakpoints across hot restarts or page reloads. - #2371
    • If pause_isolates_on_start is true, wait for resume to run the app's main method. - #2378
    • Fix bug where setting breakpoints in a project using macros would fail. - #2403
    • Make stack trace calculation resilient against one frame throwing an error. - #2408

    Breaking changes

    • Rename dart_library.js to ddc_module_loader.js to match SDK naming changes. - #2360
    Open source →
  43. 23.3.0 23 Jan 2024
    Release notes
    • Filter out internal type properties from the new DDC type system. - #2348
    • Fix errors on displaying getters when debugging in VS Code. - #2343
    Open source →
  44. 23.2.0 17 Jan 2024
    Release notes
    • Send untruncated dart:developer logs to debugging clients. - #2333
    • Enabling tests that run with the DDC module system and exposing utilities/ddc_names.dart - #2295
    Open source →
  45. 23.1.1 09 Jan 2024
    Release notes
    • Loosen package:vm_service constraints to allow >=13.0.0 <15.0.0. - #2329
    Open source →
  46. 23.1.0 03 Jan 2024
    Release notes
    • Update package:vm_service constraints to allow version 14.x.x. - #2307
    Open source →
  47. 23.0.0 27 Dec 2023
    Release notes
    • Restructure LoadStrategy to provide build settings. - #2270
    • Add FrontendServerLegacyStrategyProvider and update bootstrap generation logic for LegacyStrategy - #2285
    • Tolerate failures to detect a Dart execution context. - #2286
    • Fix a null cast error when debugging a Class from VS Code. - #2303
    • Update package:vm_service constraint to ^14.0.0. - #2307
    • Update package:vm_service_interface constraint to 1.0.1. - #2307
    Open source →
  48. 23.0.0+1 24 Jan 2024

    Nothing published for this version

  49. 22.1.0 26 Oct 2023
    Release notes
    • Update package:vm_service constraint to ^13.0.0. - #2265
    Open source →
  50. 22.1.0+1 28 Dec 2023

    Nothing published for this version

  51. 22.0.0 17 Oct 2023
    Release notes
    • Update the interface for ChromeProxyService.getSourceReport to match the VM service. - #2235
    • Update package:vm_service constraint to ^12.0.0. - #2248

    Breaking changes

    • Refactor the parameters to Dwds.start. - #2231.
    • Add a new parameter workspaceName to the ToolConfiguration passed to Dwds.start. - #2237
    Open source →
  52. 21.0.0 08 Sep 2023
    Release notes
    • Update Dart SDK constraint to >=3.2.0-36.0.dev <4.0.0. - #2207

    Breaking changes

    • Allow clients to specify where to find the package config. - #2203.
    • Allow clients to specify a way to convert absolute paths to g3-relative paths. - #2200
    Open source →
  53. 21.0.0+1 28 Dec 2023

    Nothing published for this version

  54. 20.0.1 10 Aug 2023
    Release notes
    • Update file dependency to >=6.0.0 < 8.0.0 - #123260.
    Open source →
  55. 20.0.0 10 Aug 2023
    Release notes
    • Require clients to specify the basePath on AssetReader. - #2160
    • Update SDK constraint to >=3.1.0-254.0.dev <4.0.0. - #2169
    • Require min build_web_compilers version 4.0.4 - #2171
    • Switch to using new debugging API from DDC to support new type system. - #2159
    • Fix Flutter crash when calling resume when app is not paused. - #2188
    • Update file dependency to 7.0.0.
    Open source →
  56. 19.0.2 05 Jul 2023
    Release notes
    • Fix Flutter crash due to potential null value in setUpChromeConsoleListener. - #2162
    Open source →
  57. 19.0.2+1 10 Aug 2023

    Nothing published for this version

  58. 19.0.1 20 Jun 2023
    Release notes
    • Do not show async frame errors on evaluation. - #2073
    • Refactor code for presenting record instances. - #2074
    • Display record types concisely. - #2070
    • Display type objects concisely. - #2103
    • Support using scope in ChromeProxyService.evaluateInFrame. - #2122
    • Check for new events more often in batched stream. - #2123
    • Map Chrome error on resume to the same error returned by the Dart VM. - #2133
    • VM service API methods throw type RPCError, same as the Dart VM. - #2144
    Open source →
  59. 19.0.1+1 09 Aug 2023

    Nothing published for this version

  60. 19.0.0 04 Apr 2023
    Release notes
    • Allow clients to specify the connected app's entrypoint file. - #2047
    • Don't include non-instantiated variables in stack frame data. - #2061
    • Fix getObject failure on record class - 2063
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive