23bd610f97
Copy into pkg/dwds and pkg/dwds_test_common. * https://github.com/dart-lang/webdev/commit/ac63d06eb9a186f5799b5e6ecb97eb097562ed8a * https://github.com/dart-lang/webdev/commit/f9a56607fac5ad0c979d2647cf11d3e3be993bf6 * https://github.com/dart-lang/webdev/commit/b2cd91f6ef8072847cba0cde33fe6e007403fb7b Selectively revert incompatible changes to the pubspec.yaml files. Change-Id: I4fc2bbd7440e699bb010262529edfc19a0fd3433 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/501221 Commit-Queue: Nicholas Shahan <nshahan@google.com> Reviewed-by: Jessy Yameogo <yjessy@google.com>
1262 lines
52 KiB
Markdown
1262 lines
52 KiB
Markdown
## 27.1.2-wip
|
|
|
|
## 27.1.1
|
|
|
|
- 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.
|
|
|
|
## 27.1.0
|
|
|
|
- Add `appName` to `DartDevelopmentServiceConfiguration`.
|
|
|
|
## 27.0.3
|
|
|
|
- Fix `dartExecutable` not being correctly passed to the DebugService.
|
|
|
|
## 27.0.2
|
|
|
|
- Add `dartExecutable` to `DartDevelopmentServiceConfiguration`.
|
|
|
|
## 27.0.1
|
|
|
|
- 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.
|
|
|
|
## 27.0.0
|
|
|
|
- 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.
|
|
|
|
## 26.2.5
|
|
|
|
- Remove `package:built_value` dependency from `ErrorResponse` and `RegisterEvent`; switch to standard Dart JSON serialization.
|
|
- Adding retries to Chrome Proxy Service connections.
|
|
|
|
## 26.2.4
|
|
|
|
- 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.
|
|
|
|
## 26.2.3
|
|
|
|
- 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.
|
|
|
|
## 26.2.2
|
|
|
|
- Fix issue where isolate pause events were not reported correctly when using the web socket proxy service.
|
|
|
|
## 26.2.1
|
|
|
|
- Add support for DDS APIs and serving Dart DevTools when no Chrome Debugger is available.
|
|
|
|
## 26.2.0
|
|
|
|
- Add support for more service APIs over websocket connections when no Chrome Debugger is available.
|
|
|
|
## 26.1.0
|
|
|
|
- `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.
|
|
|
|
## 26.0.0
|
|
|
|
- Bump SDK constraint to ^3.10.0
|
|
- Added 'scriptUri' parameter to compileExpressionToJs
|
|
- Fix an issue in `reloadSources` where a `PauseInterrupted` event was sent. - [#61560](https://github.com/dart-lang/sdk/issues/61560)
|
|
- Expose `dtdUri` via `DebugConnection`.
|
|
|
|
## 25.1.0
|
|
|
|
- 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`.
|
|
|
|
## 25.0.4
|
|
|
|
### Bug Fixes:
|
|
|
|
- Fix issue where `DebugService: Error serving requestsError: Unsupported operation: Cannot send Null`
|
|
would be spammed on the console.
|
|
|
|
## 25.0.3
|
|
|
|
### 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.
|
|
|
|
## 25.0.2
|
|
|
|
### Bug Fixes:
|
|
|
|
- Fix issue where DDS would fail to initialize if DWDS already had existing
|
|
clients.
|
|
|
|
## 25.0.1
|
|
|
|
### 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.
|
|
|
|
## 25.0.0
|
|
|
|
- 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](https://dart.dev/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.
|
|
|
|
## 24.4.1
|
|
|
|
- Implemented a WebSocket-based communication protocol that provides essential developer tooling (hot reload, service extensions) when Chrome debugger access is unavailable. - [#2605](https://github.com/dart-lang/webdev/issues/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.
|
|
|
|
## 24.4.0
|
|
|
|
- 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.
|
|
|
|
## 24.3.11
|
|
|
|
- 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.
|
|
|
|
## 24.3.10
|
|
|
|
- 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](https://github.com/dart-lang/sdk/issues/60186)
|
|
|
|
## 24.3.9
|
|
|
|
- Renamed DWDS Injector parameter `enableDebuggingSupport` to `injectDebuggingSupportCode` for clearer intent.
|
|
|
|
## 24.3.8
|
|
|
|
- Updated DWDS to include a boolean flag that enables debugging support only when set to true. [#60289](https://github.com/dart-lang/sdk/issues/60289)
|
|
|
|
## 24.3.7
|
|
|
|
- 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.
|
|
|
|
## 24.3.6
|
|
|
|
- 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`.
|
|
|
|
## 24.3.5
|
|
|
|
- Allow clients to specify the `packageConfigPath` in `LoadStrategy` class and associated providers.
|
|
|
|
## 24.3.4
|
|
|
|
- Added support for some debugging APIs with the DDC library bundle format. - [#2566](https://github.com/dart-lang/webdev/issues/2566), [#2573](https://github.com/dart-lang/webdev/issues/2573)
|
|
- Added support for hot reload using the DDC library bundle format.
|
|
|
|
## 24.3.3
|
|
|
|
- Added support for some debugging APIs with the DDC library bundle format. - [#2563](https://github.com/dart-lang/webdev/issues/2563)
|
|
- Update `DCM` version to `1.26.0-1`
|
|
- Add support for hot restart using the DDC library bundle format.
|
|
|
|
## 24.3.2
|
|
|
|
- Bump `package:dds` to `>=4.2.5 <6.0.0`.
|
|
|
|
## 24.3.1
|
|
|
|
- Add support for binding DDS to a custom port.
|
|
|
|
## 24.3.0
|
|
|
|
- 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](https://github.com/dart-lang/webdev/issues/2537),[#2544](https://github.com/dart-lang/webdev/issues/2544),[#2548](https://github.com/dart-lang/webdev/issues/2548)
|
|
- Fix issue where batched expression evals were failing if any subexpression failed. - [#2551](https://github.com/dart-lang/webdev/issues/2551)
|
|
- Expose a partial implementation of
|
|
`FrontendServerDdcLibraryBundleStrategyProvider`.
|
|
- Update `package:vm_service_interface` to '^2.0.1'.
|
|
|
|
## 24.2.0
|
|
|
|
- Consolidate `FrontendServerDdcStrategyProvider` and `FrontendServerRequireStrategyProvider` under a shared parent class. - [#2517](https://github.com/dart-lang/webdev/issues/2517)
|
|
- Remove `build_daemon_ddc_and_canary_evaluate_test`. - [2512](https://github.com/dart-lang/webdev/issues/2512)
|
|
- Replace deprecated JS code `this.__proto__` with `Object.getPrototypeOf(this)`. - [#2500](https://github.com/dart-lang/webdev/pull/2500)
|
|
- Migrate injected client code to `package:web`. - [#2491](https://github.com/dart-lang/webdev/pull/2491)
|
|
- Deprecated MetadataProvider's, CompilerOptions', SdkConfiguration's & SdkLayout's soundNullSafety. - [#2427](https://github.com/dart-lang/webdev/issues/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](https://github.com/dart-lang/webdev/issues/2488), [#2534](https://github.com/dart-lang/webdev/issues/2534)
|
|
- Update `package:vm_service` to '>=14.2.4 <16.0.0'.
|
|
- Update `package:vm_service_interface` to '2.0.1'.
|
|
|
|
## 24.1.0
|
|
|
|
- Fix bug where debugging clients are not aware of service extensions when connecting to a new web app. - [#2388](https://github.com/dart-lang/webdev/pull/2388)
|
|
- Respect the value of `pause_isolates_on_start` during page-refreshes. - [#2431](https://github.com/dart-lang/webdev/pull/2431)
|
|
- Fix issue where DAP clients wouldn't resume after a restart. - [#2441](https://github.com/dart-lang/webdev/pull/2441)
|
|
- Add implementation for the VM Service's `getFlagList` API. - [#2438](https://github.com/dart-lang/webdev/pull/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](https://github.com/dart-lang/webdev/pull/2445)
|
|
- Spawn DDS in a separate process using `dart development-service` instead of launching from `package:dds`. - [#2466](https://github.com/dart-lang/webdev/pull/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`.
|
|
|
|
## 24.0.0
|
|
|
|
- Implement `setFlag` when it is called with `pause_isolates_on_start`. - [#2373](https://github.com/dart-lang/webdev/pull/2373)
|
|
- Do not persist breakpoints across hot restarts or page reloads. - [#2371](https://github.com/dart-lang/webdev/pull/2371)
|
|
- If `pause_isolates_on_start` is `true`, wait for `resume` to run the app's `main` method. - [#2378](https://github.com/dart-lang/webdev/pull/2378)
|
|
- Fix bug where setting breakpoints in a project using macros would fail. - [#2403](https://github.com/dart-lang/webdev/pull/2403)
|
|
- Make stack trace calculation resilient against one frame throwing an error. - [#2408](https://github.com/dart-lang/webdev/pull/2408)
|
|
|
|
**Breaking changes**
|
|
|
|
- Rename `dart_library.js` to `ddc_module_loader.js` to match SDK naming changes. - [#2360](https://github.com/dart-lang/webdev/pull/2360)
|
|
|
|
## 23.3.0
|
|
|
|
- Filter out internal type properties from the new DDC type system. - [#2348](https://github.com/dart-lang/webdev/pull/2348)
|
|
- Fix errors on displaying getters when debugging in VS Code. - [#2343](https://github.com/dart-lang/webdev/pull/2343)
|
|
|
|
## 23.2.0
|
|
|
|
- Send untruncated `dart:developer` logs to debugging clients. - [#2333](https://github.com/dart-lang/webdev/pull/2333)
|
|
- Enabling tests that run with the DDC module system and exposing `utilities/ddc_names.dart` - [#2295](https://github.com/dart-lang/webdev/pull/2295)
|
|
|
|
## 23.1.1
|
|
|
|
- Loosen `package:vm_service` constraints to allow `>=13.0.0 <15.0.0`. - [#2329](https://github.com/dart-lang/webdev/pull/2329)
|
|
|
|
## 23.1.0
|
|
|
|
- Update `package:vm_service` constraints to allow version `14.x.x`. - [#2307](https://github.com/dart-lang/webdev/pull/2307)
|
|
|
|
## 23.0.0
|
|
|
|
- Restructure `LoadStrategy` to provide build settings. - [#2270](https://github.com/dart-lang/webdev/pull/2270)
|
|
- Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285)
|
|
- Tolerate failures to detect a Dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286)
|
|
- Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303)
|
|
- Update `package:vm_service` constraint to `^14.0.0`. - [#2307](https://github.com/dart-lang/webdev/pull/2307)
|
|
- Update `package:vm_service_interface` constraint to `1.0.1`. - [#2307](https://github.com/dart-lang/webdev/pull/2307)
|
|
|
|
## 22.1.0
|
|
|
|
- Update `package:vm_service` constraint to `^13.0.0`. - [#2265](https://github.com/dart-lang/webdev/pull/2265)
|
|
|
|
## 22.0.0
|
|
|
|
- Update the interface for ChromeProxyService.getSourceReport to match the VM service. - [#2235](https://github.com/dart-lang/webdev/pull/2235)
|
|
- Update `package:vm_service` constraint to `^12.0.0`. - [#2248](https://github.com/dart-lang/webdev/pull/2248)
|
|
|
|
**Breaking changes**
|
|
|
|
- Refactor the parameters to `Dwds.start`. - [#2231](https://github.com/dart-lang/webdev/pull/2231).
|
|
- Add a new parameter `workspaceName` to the `ToolConfiguration` passed to `Dwds.start`. - [#2237](https://github.com/dart-lang/webdev/pull/2237)
|
|
|
|
## 21.0.0
|
|
|
|
- Update Dart SDK constraint to `>=3.2.0-36.0.dev <4.0.0`. - [#2207](https://github.com/dart-lang/webdev/pull/2207)
|
|
|
|
**Breaking changes**
|
|
|
|
- Allow clients to specify where to find the package config. - [#2203](https://github.com/dart-lang/webdev/pull/2203).
|
|
- Allow clients to specify a way to convert absolute paths to g3-relative paths. - [#2200](https://github.com/dart-lang/webdev/pull/2200)
|
|
|
|
## 20.0.1
|
|
|
|
- Update file dependency to `>=6.0.0 < 8.0.0` - [#123260](https://github.com/flutter/flutter/pull/123260#issuecomment-1674001623).
|
|
|
|
## 20.0.0
|
|
|
|
- Require clients to specify the `basePath` on `AssetReader`. - [#2160](https://github.com/dart-lang/webdev/pull/2160)
|
|
- Update SDK constraint to `>=3.1.0-254.0.dev <4.0.0`. - [#2169](https://github.com/dart-lang/webdev/pull/2169)
|
|
- Require min `build_web_compilers` version `4.0.4` - [#2171](https://github.com/dart-lang/webdev/pull/2171)
|
|
- Switch to using new debugging API from DDC to support new type system. - [#2159](https://github.com/dart-lang/webdev/pull/2159)
|
|
- Fix Flutter crash when calling `resume` when app is not paused. - [#2188](https://github.com/dart-lang/webdev/pull/2188)
|
|
- Update file dependency to `7.0.0`.
|
|
|
|
## 19.0.2
|
|
|
|
- Fix Flutter crash due to potential null value in `setUpChromeConsoleListener`. - [#2162](https://github.com/dart-lang/webdev/pull/2162)
|
|
|
|
## 19.0.1
|
|
|
|
- Do not show async frame errors on evaluation. - [#2073](https://github.com/dart-lang/webdev/pull/2073)
|
|
- Refactor code for presenting record instances. - [#2074](https://github.com/dart-lang/webdev/pull/2074)
|
|
- Display record types concisely. - [#2070](https://github.com/dart-lang/webdev/pull/2070)
|
|
- Display type objects concisely. - [#2103](https://github.com/dart-lang/webdev/pull/2103)
|
|
- Support using scope in `ChromeProxyService.evaluateInFrame`. - [#2122](https://github.com/dart-lang/webdev/pull/2122)
|
|
- Check for new events more often in batched stream. - [#2123](https://github.com/dart-lang/webdev/pull/2123)
|
|
- Map Chrome error on `resume` to the same error returned by the Dart VM. - [#2133](https://github.com/dart-lang/webdev/issues/2133)
|
|
- VM service API methods throw type `RPCError`, same as the Dart VM. - [#2144](https://github.com/dart-lang/webdev/pull/2144)
|
|
|
|
## 19.0.0
|
|
|
|
- Allow clients to specify the connected app's entrypoint file. - [#2047](https://github.com/dart-lang/webdev/pull/2047)
|
|
- Don't include non-instantiated variables in stack frame data. - [#2061](https://github.com/dart-lang/webdev/pull/2061)
|
|
- Fix `getObject` failure on record class - [2063](https://github.com/dart-lang/webdev/pull/2063)
|
|
|
|
## 18.0.2
|
|
|
|
- Support new DDC temp names for patterns. - [#2042](https://github.com/dart-lang/webdev/pull/2042)
|
|
- Make debugger find next dart location when stepping. -[#2043](https://github.com/dart-lang/webdev/pull/2043)
|
|
|
|
## 18.0.1
|
|
|
|
- Fix failure to map JS exceptions to dart. - [#2004](https://github.com/dart-lang/webdev/pull/2004)
|
|
- Fix for listening to custom streams. - [#2011](https://github.com/dart-lang/webdev/pull/2011)
|
|
- Handle unexpected extension debugger disconnect events without crashing the app - [#2021](https://github.com/dart-lang/webdev/pull/2021)
|
|
- Support `Set` inspection. - [#2024](https://github.com/dart-lang/webdev/pull/2024)
|
|
|
|
## 18.0.0
|
|
|
|
- Cleanup `getObject` code for lists and maps.
|
|
- Now works with offset `0` and `null` count.
|
|
- Fix failures on edge cases.
|
|
- Support records:
|
|
- Update SDK constraint to `>=3.0.0-188.0.dev <4.0.0`.
|
|
- Update `package:vm_service` constraint to `>=10.1.2 <12.0.0`.
|
|
- Update `package:dds` constraint to `^2.7.1`.
|
|
- Fill `BoundField.name` for records.
|
|
- Display records as a container of fields.
|
|
- Remove test-only code from `sdk_configuration.dart`.
|
|
- Move shared test-only code to a new `test_common` package.
|
|
- Convert unnecessary async code to sync.
|
|
- Allow empty scopes in expression evaluation in a frame.
|
|
|
|
**Breaking changes**
|
|
|
|
- Require `sdkConfigurationProvider` in `ExpressionCompilerService`
|
|
constructor.
|
|
- Change DWDS parameter `isFlutterApp` from type `bool?` to type
|
|
`Future<bool> Function()?`.
|
|
|
|
## 17.0.0
|
|
|
|
- Include debug information in the event sent from the injected client to the
|
|
Dart Debug Extension notifying that the Dart app is ready.
|
|
- Fix null cast error on expression evaluations after dwds fails to find class
|
|
metadata.
|
|
- Include the entire exception description up to the stacktrace in
|
|
`mapExceptionStackTrace`.
|
|
- Allow enabling experiments in the expression compiler service.
|
|
- Pre-warm expression compiler cache to speed up Flutter Inspector loading.
|
|
- Display full error on failure to start DDS.
|
|
- Fix crash on processing DevTools event when starting DevTools from DevTools
|
|
uri.
|
|
- Prepare or Dart 3 alpha breaking changes:
|
|
- Move weak null safety tests to special branch of `build_web_compilers`.
|
|
- Do not pass `--(no)-sound-null-safety` flag to build daemon.
|
|
- Add back `ChromeProxyService.setExceptionPauseMode()` without override.
|
|
- Make hot restart atomic to prevent races on simultaneous execution.
|
|
- Return error on expression evaluation if expression evaluator stopped.
|
|
- Update SDK constraint to `>=3.0.0-134.0.dev <4.0.0`.
|
|
- Update `package:vm_service` constraint to `>=10.1.0 <12.0.0`.
|
|
- Fix expression compiler throwing when weak SDK summary is not found.
|
|
|
|
**Breaking changes**
|
|
|
|
- Include an optional param to `Dwds.start` to indicate whether it is running
|
|
internally or externally.
|
|
- Include an optional param to `Dwds.start` to indicate whether it a Flutter
|
|
app or not.
|
|
- Remove `sdkConfigurationProvider` parameter from `Dwds.start`.
|
|
- Remove deprecated `ChromeProxyService.setExceptionPauseMode()`.
|
|
- Support dart 3.0-alpha breaking changes:
|
|
- Generate missing SDK assets for tests.
|
|
- Enable frontend server null safe tests.
|
|
- Update `build_web_compilers` constraint to `^4.0.0`.
|
|
- Update `build_runner` constraint to `^2.4.0`.
|
|
- Support changes in the SDK layout for dart 3.0.
|
|
|
|
## 16.0.1
|
|
|
|
- Allow the following API to return `null` and add error handling:
|
|
- `LoadStrategy.serverPathForModule`
|
|
- `LoadStrategy.sourceMapPathForModule`
|
|
- Expression evaluation performance improvement:
|
|
- Batch `ChromeProxyService.evaluate()` requests that are close in time and
|
|
are executed in the same library and scope.
|
|
- Update `package:file` version to `6.13` or greater to handle
|
|
https://github.com/dart-lang/sdk/issues/49647.
|
|
|
|
## 16.0.0
|
|
|
|
- Fix a hang and report errors on hot reload exceptions from the injected
|
|
client.
|
|
- Remove `AppInspector.evaluate` code that has been replaced by expression
|
|
evaluation using a compiler in all scenarios.
|
|
- Fix a bug where evaluation would fail with more than one parameter in the
|
|
scope.
|
|
- Remove showing un-captured values from the stack during evaluation.
|
|
- Refactor code to break most circular dependencies between files.
|
|
- Migrate `package:dwds` to null safety.
|
|
- Make `ChromeProxyService.getStack` wait for the debugger to perform initial
|
|
resume operation. This avoids race conditions on isolate start.
|
|
- Make server paths match directory structure
|
|
- Allows correct relative source map paths resolution.
|
|
- Add `PackageUriMapper` class to allow mapping uris to server paths.
|
|
- Update the min SDK constraint to 2.18.0.
|
|
- Make DartUri work for `google3:` uris.
|
|
|
|
**Breaking changes**
|
|
|
|
- Remove no longer used `ExpressionCompilerService.handler`.
|
|
- Remove `assetHandler` parameter from `ExpressionCompilerService` constructor.
|
|
- Add `packageUriMapper` parameter to the constructor of
|
|
`FrontendServerRequireStrategyProvider`.
|
|
|
|
## 15.0.0
|
|
|
|
- Port some `dwds` files to null safety.
|
|
- Fix failing `frontend_server_evaluate` tests.
|
|
- Prevent `flutter_tools` crash when the Dart execution context cannot be found.
|
|
- Update method signature of `lookupResolvedPackageUris`.
|
|
|
|
## 14.0.3
|
|
|
|
- Make data types null safe.
|
|
- Update `package:vm_service` to 8.3.0.
|
|
- Convert JavaScript stack traces in uncaught exceptions to Dart stack traces.
|
|
- Fix failure to set breakpoints on windows with a base change in index.html.
|
|
- Add the `setIsolatePauseMode` method to Chrome Proxy Service.
|
|
- Batch extension `Debugger.scriptParsed` events and send batches every 1000ms
|
|
to the server.
|
|
- Move `batched_stream.dart` into shared utilities.
|
|
- Update the method signature for `lookupResolvedPackageUris`.
|
|
|
|
## 14.0.2
|
|
|
|
- Update the min SDK constraint to 2.17.0.
|
|
|
|
## 14.0.1
|
|
|
|
- Add `libraryFilters` optional parameter to the vm service implementation of
|
|
`getSourceReport`.
|
|
- Update temp variable detection heuristics so internal JS type objects do not
|
|
show in the debugger.
|
|
|
|
## 14.0.0
|
|
|
|
- Add column information to breakpoints to allow precise breakpoint placement.
|
|
- Split SDK validation methods to allow validation of separate components.
|
|
- Remove dependency on `package:_fe_analyzer_shared`. Note: this removes current
|
|
incomplete support for resolving `dart:` uris.
|
|
- Fix issues discovered when using flutter tools with web server device:
|
|
- Remove `dart:web_sql` from the list of SDK libraries as it is no longer
|
|
used.
|
|
- Fix crash when using flutter tools with web server device.
|
|
- Remove clearing all scripts on page load for extension debugger.
|
|
- Fix breakpoints not hitting after changing a base in index.html.
|
|
- Find best locations for call frames, breakpoints, or expression evaluation.
|
|
- Close the SSE connection when a DebugExtension.detached event is received.
|
|
- Fix issues discovered when using legacy module system, debug extension, and
|
|
JIT modules:
|
|
- Improve step-into times by not stepping into library loading code.
|
|
- Fix incorrect skip lists due to unsorted locations.
|
|
- Fix memory leak in extension debugger by removing stale script IDs.
|
|
- Allow mapping JS locations to Dart locations matching other JS lines, to
|
|
match the behavior of Chrome DevTools.
|
|
- Fix expression evaluation failure if debugger is stopped in the middle of a
|
|
variable definition.
|
|
|
|
**Breaking changes:**
|
|
|
|
- Add `basePath` parameter to `FrontendServerRequireStrategy`.
|
|
- Add `loadLibrariesModule` getter to `LoadStrategy` interface.
|
|
|
|
## 13.1.0
|
|
|
|
- Update \_fe_analyzer_shared to version ^38.0.0.
|
|
|
|
## 13.0.0
|
|
|
|
- Change wording of paused overlay from "Paused in Dart DevTools" to "Paused"
|
|
- Allow sending back the Dart DevTools URL from DWDS instead of launching Dart
|
|
DevTools, to support embedding Dart DevTools in Chrome DevTools.
|
|
- Temporarily disable the paused in debugger overlay.
|
|
- Add `SdkConfiguration` and `SdkConfigurationProvider` classes to allow for
|
|
lazily created SDK configurations.
|
|
- Fix an issue in reporting DevTools stats where the DevTools load time was not
|
|
always recorded.
|
|
- Add an `ide` query parameter to the Dart DevTools URL for analytics.
|
|
- Fix a race where injected client crashed on events send just before hot
|
|
restart.
|
|
- Remove verbose printing on receiving DevTools events.
|
|
- Update `vm_service` version to `^8.2.0`.
|
|
- Migrate .packages to package_config.json.
|
|
- Update error message on expression evaluation using unloaded libraries.
|
|
- Add `screen` field to the `DebuggerReady` event.
|
|
- Report `DebuggerReady` events for DevTools embedded into Chrome Devtools.
|
|
- Fix missing `CallFrame.url` after update to Chrome 100.
|
|
|
|
**Breaking changes:**
|
|
|
|
- `Dwds.start` and `ExpressionCompilerService` now take
|
|
`sdkConfigurationProvider` argument instead of separate SDK-related file
|
|
paths.
|
|
|
|
## 12.1.0
|
|
|
|
- Update \_fe_analyzer_shared to version ^34.0.0.
|
|
|
|
## 12.0.0
|
|
|
|
- Implement `lookupResolvedPackageUris` and `lookupPackageUris` vm service API.
|
|
- Update `vm_service` version to `^8.1.0`.
|
|
- Make `ExpressionCompilerService` infer location of `libraries.json` from
|
|
`sdkDir` parameter.
|
|
- Show an alert in the Dart Debug Extension for a multi-app scenario.
|
|
- Fix a bug where `dartEmitDebugEvents` was set as a `String` instead of `bool`
|
|
in the injected client.
|
|
- Emit a warning instead of crashing on missing `libraries.json`.
|
|
- Remove dead code for reading `'dart.developer.registerExtension'` and
|
|
`'dart.developer.postEvent'` events from the chrome console. These messages
|
|
haven't been written to the console since dwds v11.1.0 and Dart SDK v2.14.0.
|
|
- Batch debug events sent from injected client to dwds to relieve network load.
|
|
- Update `_fe_analyzer_shared` version to `33.0.0`
|
|
- Update the Dart minimum SDK to `>=2.16.0`.
|
|
|
|
**Breaking changes:**
|
|
|
|
- Add `sdkDir` and `librariesPath` arguments to `Dwds.start` to help file
|
|
resolution for sdk uris.
|
|
- Add `emitDebugEvents` argument to `Dwds.start` to suppress emitting debug
|
|
events from the injected client.
|
|
- Replace `sdkRoot` parameter by `sdkDir` in `ExpressionCompilerService`.
|
|
- Adds an additional parameter to launch Dart DevTools in the same window as the
|
|
connected Dart app.
|
|
|
|
## 11.5.1
|
|
|
|
- Update SDK constraint to `>=2.15.0 <3.0.0`.
|
|
|
|
## 11.5.0
|
|
|
|
- Support hot restart in a multi-app scenario with legacy modules.
|
|
- Rename `$dartHotRestart` in the injected client to `$dartHotRestartDwds`.
|
|
- Make `$dartHotRestartDwds` take a `runId`.
|
|
- No change in behavior for single applications.
|
|
- For a multi-app scenario using legacy modules, this will make all sub-apps
|
|
with the same `runId` restart at the same time once.
|
|
|
|
Note that multi-app scenario is currently only supported for legacy modules,
|
|
used by DDR, and is not yet supported for amd modules that are used by flutter
|
|
tools and webdev.
|
|
|
|
- Fix chrome detection in iPhone emulation mode in chrome or edge browsers.
|
|
|
|
- Reliably find unused port for extension backend http service.
|
|
|
|
- Ignore offset / count parameters in getObject if the object has no length.
|
|
|
|
- Include static member information for classes.
|
|
|
|
## 11.4.0
|
|
|
|
- Fix duplicated scripts returned by `VmService.getScripts` API.
|
|
- Handle and log http request serving errors.
|
|
- Encode extension url asynchronously.
|
|
- Use default constant port for debug service.
|
|
- If we fail binding to the port, fall back to previous strategy of finding
|
|
unbound ports.
|
|
- Add metrics measuring
|
|
- DevTools Initial Page Load time
|
|
- Various VM API
|
|
- Hot restart
|
|
- Http request handling exceptions
|
|
- Only return scripts included in the library with Library object.
|
|
- Add `ext.dwds.sendEvent` service extension to dwds so other tools can send
|
|
events to the debugger. Event format:
|
|
```
|
|
{
|
|
'type': '<event type>',
|
|
'payload': {
|
|
'screen: '<screen name>',
|
|
'action: '<action name>'
|
|
}
|
|
}
|
|
```
|
|
Currently supported event values:
|
|
```
|
|
{
|
|
'type: 'DevtoolsEvent',
|
|
'payload': {
|
|
'screen': 'debugger',
|
|
'action': 'pageReady'
|
|
}
|
|
}
|
|
```
|
|
|
|
## 11.3.0
|
|
|
|
- Update SDK constraint to `>=2.14.0 <3.0.0`
|
|
- Depend on `vm_service` version `7.3.0`.
|
|
|
|
## 11.2.3
|
|
|
|
- Fix race causing intermittent `Aww, snap` errors on starting debugger with
|
|
multiple breakpoints in source.
|
|
- Fix needing chrome to be focus in order to wait for the isolate to exit on hot
|
|
restart.
|
|
|
|
## 11.2.2
|
|
|
|
- Depend on `dds` version `2.1.1`.
|
|
- Depend on `vm_service` version `7.2.0`.
|
|
|
|
## 11.2.1
|
|
|
|
- Recover from used port errors when starting debug service.
|
|
- Update min SDK constraint to `2.13.0`.
|
|
|
|
## 11.2.0
|
|
|
|
- Throw `SentinelException` instead of `RPCError` on vm service API on
|
|
unrecognized isolate.
|
|
- Throw `RPCError` in `getStack` if the application is not paused.
|
|
- Recognize `dart:ui` library when debugging flutter apps.
|
|
- Fix hang on hot restart when the application has a breakpoint.
|
|
- Fix out of memory issue during sending debug event notifications.
|
|
|
|
## 11.1.2
|
|
|
|
- Return empty library from `ChromeProxyService.getObject` for libraries present
|
|
in metadata but not loaded at runtime.
|
|
- Log failures to load kernel during expression evaluation.
|
|
- Show lowered final fields using their original dart names.
|
|
- Limit simultaneous connections to asset server to prevent broken sockets.
|
|
- Fix hangs in hot restart.
|
|
- Initial support for passing scope to `ChromeProxyService.evaluate`.
|
|
- Require `build_web_compilers` version `3.0.0` so current version of dwds could
|
|
be used with SDK stable `2.13.x` versions.
|
|
|
|
## 11.1.1
|
|
|
|
- Update versions of `package:sse`, `package:vm_service`, `package:dds`.
|
|
|
|
## 11.1.0
|
|
|
|
- Add global functions to the injected client for `dart.developer.postEvent` and
|
|
`dart.developer.registerExtension`.
|
|
- Register new service extension `ext.dwds.emitEvent` so clients can emit
|
|
events. This is intended to be used for analytics.
|
|
|
|
## 11.0.2
|
|
|
|
- Implement `_flutter.listViews` extension method in dwds vm client.
|
|
|
|
## 11.0.1
|
|
|
|
- Make adding and removing breakpoints match VM behavior:
|
|
- Allow adding existing breakpoints.
|
|
- Throw `RPCError` when removing non-existent breakpoints.
|
|
|
|
## 11.0.0
|
|
|
|
- Do not send `kServiceExtensionAdded` events to subscribers on the terminating
|
|
isolate during hot restart.
|
|
- Support `vm_service` version `6.2.0`.
|
|
- Fix missing sdk libraries in `getObject()` calls.
|
|
- Fix incorrect `rootLib` returned by `ChromeProxyService`.
|
|
- Fix not working breakpoints in library part files.
|
|
- Fix data race in calculating locations for a module.
|
|
- Fix uninitialized isolate after hot restart.
|
|
- Fix intermittent failure caused by evaluation not waiting for dependencies to
|
|
be updated.
|
|
- The injected client now posts a top level event when the Dart application is
|
|
loaded. This event is intended to be consumed by the Dart Debug Extension.
|
|
|
|
**Breaking changes:**
|
|
|
|
- `Dwds.start` no longer supports automatically injecting a devtools server. A
|
|
`devtoolsLauncher` callback must be provided to support launching devtools.
|
|
|
|
## 10.0.1
|
|
|
|
- Support `webkit_inspection_protocol` version `^1.0.0`.
|
|
|
|
## 10.0.0
|
|
|
|
- Support `VMService.evaluate` using expression compiler.
|
|
- Update min sdk constraint to `>=2.13.0-144.0.dev`.
|
|
- Throw `RPCError` on evaluation if the program is not paused.
|
|
- Record `ErrorRef` returned by evaluation in analytics.
|
|
|
|
**Breaking changes:**
|
|
|
|
- Change `ExpressionCompiler.initialize` method to include module format.
|
|
- Add `LoadStrategy.moduleFormat` to be used for communicating current module
|
|
format to the expression compiler.
|
|
|
|
## 9.1.0
|
|
|
|
- Support authentication endpoint for the Dart Debug Extension.
|
|
- Support using WebSockets for the injected client by passing
|
|
`useSseForInjectedClient: false` to `Dwds.start()`. Unlike SSE, WebSockets do
|
|
not currently support keepAlives here (beyond the standard WebSocket pings to
|
|
keep the socket alive).
|
|
|
|
## 9.0.0
|
|
|
|
- Fix an issue where relative worker paths provided to the
|
|
`ExpressionCompilerService` would cause a crash.
|
|
- Fix an issue where the injected client connection could be lost while the
|
|
application is paused.
|
|
- Support keep-alive for debug service connections.
|
|
- Depend on the latest `package:sse`.
|
|
- Filter out DDC temporary variables from the variable inspection view.
|
|
- Add `DwdsEvent`s around stepping and evaluation.
|
|
- Send an event to the Dart Debug Extension that contains VM service protocol
|
|
URI.
|
|
- Depend on `package:vm_service` version `6.1.0+1`.
|
|
- Update the `keepAlive` configs to prevent accidental reuse of a connection
|
|
after stopping a debug session.
|
|
- Support disabling the launching of Dart DevTools through `Alt + d` with
|
|
`enableDevtoolsLaunch`.
|
|
- Opt all dart files out of null safety for min SDK constraint update.
|
|
|
|
**Breaking changes:**
|
|
|
|
- `LoadStrategy`s now require a `moduleInfoForEntrypoint`.
|
|
|
|
## 8.0.3
|
|
|
|
- Fix an issue where failed hot restarts would hang indefinitely.
|
|
|
|
## 8.0.2
|
|
|
|
- Change `ExpressionCompiler` to accept `FutureOr<int>` port configuration.
|
|
- Depend on `package:vm_service` version `6.0.1-nullsafety.1`.
|
|
|
|
## 8.0.1
|
|
|
|
- Support null safe versions of `package:crypto`, `package:uuid` and
|
|
`package:webdriver`.
|
|
|
|
## 8.0.0
|
|
|
|
- Improve logging around execution contexts.
|
|
- Remove the expression compilation dependency update from the create isolate
|
|
critical path.
|
|
- Expose new event stream for future use with analytics.
|
|
- Update `ExpressionCompiler` to include new `initialize` method which has a
|
|
parameter for the null safety mode.
|
|
- Update `ExpressionCompilerService` to change how it is instantiated and
|
|
implement the new `initialize` method.
|
|
- Provide summary module paths to the expression compiler
|
|
- Depend on `package:vm_service` version `6.0.1-nullsafety.0`.
|
|
|
|
**Breaking changes:**
|
|
|
|
- Change `ExpressionCompiler.updateDependencies` method to include module
|
|
summary paths
|
|
|
|
## 7.1.1
|
|
|
|
- Properly handle `requireJS` errors during hot restarts.
|
|
- Fix an issue where Dart frame computation could result in a stack overflow for
|
|
highly nested calls.
|
|
- Fix an issue where calling add breakpoint in quick succession would corrupt
|
|
the internal state.
|
|
- Fix expression evaluation failure inside blocks.
|
|
- Now log the encoded URI of the debug service to both the terminal and
|
|
application console.
|
|
- No longer blacklist the Dart SDK as the `skipLists` support serves the same
|
|
purpose.
|
|
- Fix an issue where running webdev with expression evaluation enabled would
|
|
fail to find `libraries.json` file and emit severe error.
|
|
|
|
## 7.1.0
|
|
|
|
- Fix a potential null issue while resuming.
|
|
- Depend on the latest `package:vm_service`.
|
|
- Fix crash in expression evaluation on null isolate.
|
|
- Fix incorrect file name detection for full kernel files.
|
|
- Add `ExpressionCompilerService.startWithPlatform` API to enable running
|
|
expression compiler worker from a given location.
|
|
- Support Chrome `skipLists` to improve stepping performance.
|
|
- Export `AbsoluteImportUriException`.
|
|
- Depend on the latest `package:vm_service` which supports a new `limit`
|
|
parameter to `getStack`.
|
|
|
|
## 7.0.2
|
|
|
|
- Depend on the latest `package:sse`.
|
|
- Add more verbose logging around `hotRestart`, `fullReload` and entrypoint
|
|
injection.
|
|
|
|
## 7.0.1
|
|
|
|
- Fix an issue where we attempted to find locations for the special
|
|
`dart_library` module.
|
|
|
|
## 7.0.0
|
|
|
|
- Add support for the Dart Development Service (DDS). Introduces 'single client
|
|
mode', which prevents additional direct connections to DWDS when DDS is
|
|
connected.
|
|
- Update metadata reader version to `2.0.0`. Support reading metadata versions
|
|
`2.0.0` and `1.0.0`.
|
|
- Support custom hosts and HTTPs traffic in a `ProxyServerAssetReader`.
|
|
- Remove heuristics from require strategies and use metadata to look up module
|
|
paths.
|
|
- Fix issue where upgrading `build_web_compilers` would cause missing module
|
|
assets (JavaScript code and source maps).
|
|
- Fix issue where open http connections prevent the process for exiting.
|
|
- Add `ExpressionCompilationService` class that runs ddc in worker mode to
|
|
support expression evaluation for clients that use build systems to build the
|
|
code.
|
|
- Require at least `devtools` and `devtools_server` version `0.9.2`.
|
|
- Require at least `dds` version `1.4.1`.
|
|
- Require at least `build_web_compilers` version `2.12.0`.
|
|
- Update min sdk constraint to `>=2.10.0`.
|
|
- Update `MetadataProvider` to throw an `AbsoluteImportUriException` when
|
|
absolute file paths are used in an import uri.
|
|
|
|
**Breaking changes:**
|
|
|
|
- Change `ExpressionCompiler` to require a new `updateDependencies` method.
|
|
- Update a number of `LoadStrategy` APIs to remove heuristics and rely on the
|
|
`MetadataProvider`.
|
|
- No longer require a `LogWriter` and corresponding `verbose` argument but
|
|
instead properly use `package:logger`.
|
|
- `FrontendServerRequireStrategyProvider` now requires a `digestProvider`.
|
|
|
|
## 6.0.0
|
|
|
|
- Depend on the latest `package:devtools` and `package:devtools_server`.
|
|
- Support using WebSockets for the debug backend by passing
|
|
`useSseForDebugBackend: false` to `Dwds.start()`
|
|
- Ensure we run main on a hot restart request even if no modules were updated.
|
|
- Allow reading metadata generated by `dev_compiler` from file to supply module
|
|
information to `Dwds`.
|
|
- Hide JavaScript type errors when hovering over text in the debugger.
|
|
- Fix an issue where reusing a connection could cause a null error.
|
|
- Improve the heuristic which filters JS scopes for debugging needs.
|
|
|
|
**Breaking Changes:**
|
|
|
|
- Require access to the `.ddc_merged_metadata` file.
|
|
- Remove deprecated parameter `restoreBreakpoints` as breakpoints are now set by
|
|
regex URL and Chrome automatically reestablishes them.
|
|
|
|
## 5.0.0
|
|
|
|
- Have unimplemented VM service protocol methods return the RPC error
|
|
'MethodNotFound' / `-32601`.
|
|
- Fix an issue where the application main function was called before a hot
|
|
restart completed.
|
|
- Breaking change `AssetReader` now requires a `metadataContents`
|
|
implementation.
|
|
|
|
## 4.0.1
|
|
|
|
- Fixed issue where `getSupportedProtocols` would return the wrong protocol.
|
|
|
|
## 4.0.0
|
|
|
|
- Pin the `package:vm_service` version to prevent unintended breaks.
|
|
|
|
## 3.1.3
|
|
|
|
- Fix an issue where the injected client served under `https` assumed the
|
|
corresponding SSE handler was also under `https`.
|
|
|
|
## 3.1.2
|
|
|
|
- Gracefully handle multiple injected clients on a single page.
|
|
- Update to the latest `package:vm_service` and use more RPCError error codes on
|
|
call failures.
|
|
- Update the `require_restarter` to rerun main after a hot restart to align with
|
|
the legacy strategy. We therefore no longer send a `RunRequest` after a hot
|
|
restart.
|
|
- Compute only the required top frame for a paused event.
|
|
- Change `streamListen` to return an `RPCError` / error code `-32601` for
|
|
streams that are not handled.
|
|
- Populate information about async Dart frames.
|
|
- Populate the `exception` field in debugger pause event when we break as a
|
|
result of an exception.
|
|
- Prompt users to install the Dart Debug Extension if local debugging does not
|
|
work.
|
|
- Allow for the injected client to run with CSP enforced.
|
|
- Implement the `getMemoryUsage()` call.
|
|
- Fix an issue where the injected client could cause a mixed content error.
|
|
|
|
## 3.1.1
|
|
|
|
- Change the reported names for isolates to be more terse.
|
|
- Implemented the 'PossibleBreakpoints' report kind for `getSourceReport()`.
|
|
- Change the returned errors for the unimplemented `getClassList` and
|
|
`reloadSources` methods to -32601 ('method does not exist / is not
|
|
available').
|
|
- Do not include native JavaScript objects on stack returned from the debugger.
|
|
|
|
## 3.1.0
|
|
|
|
- Support Chromium based Edge.
|
|
- Depend on latest `package:sse` version `3.5.0`.
|
|
- Bypass connection keep-alives when shutting down to avoid delaying process
|
|
shutdown.
|
|
- Fix an issue where the isolate would incorrectly be destroyed after connection
|
|
reuse.
|
|
|
|
## 3.0.3
|
|
|
|
- Support the latest version of `package:shelf_packages_handler`.
|
|
- Throw a more useful error if during a hot restart there is no active isolate.
|
|
- Fix a race condition in which loading module metadata could cause a crash.
|
|
- Correct scope detection for expression evaluation
|
|
- Silence verbose and recoverable exceptions during expression evaluation
|
|
- Return errors from ChromeProxyService.evaluateInFrame as ErrorRef so they are
|
|
not shown when hovering over source in the IDE
|
|
|
|
## 3.0.2
|
|
|
|
- Fix an issue in JS to Dart location translation in `ExpressionEvaluator`. JS
|
|
location returned from Chrome is 0-based, adjusted to 1-based.
|
|
|
|
## 3.0.1
|
|
|
|
- Drop dependency on `package_resolver` and use `package_config` instead.
|
|
- Bump min sdk constraint to `>=2.7.0`.
|
|
|
|
## 3.0.0
|
|
|
|
- Depend on the latest `package:vm_service` version `4.0.0`.
|
|
|
|
**Breaking Changes:**
|
|
|
|
- Delegate to the `LoadStrategy` for module information:
|
|
- moduleId -> serverPath
|
|
- serverPath -> moduleId
|
|
|
|
## 2.0.1
|
|
|
|
- Fix an issue where we would return prematurely during a `hotRestart`.
|
|
- Fix an issue where we would incorrectly fail if a `hotRestart` had to fall
|
|
back to a full reload.
|
|
|
|
## 2.0.0
|
|
|
|
- Depend on the latest `package:vm_service` version `3.0.0+1`.
|
|
|
|
**Breaking Changes:**
|
|
|
|
- Now require a `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 evaluation
|
|
- Provide an implementation of the `RequireStrategy` suitable for use with
|
|
`package:build_runner`.
|
|
- Simplify hot reload logic and no longer provide module level hooks.
|
|
|
|
## 1.0.1
|
|
|
|
- Make the `root` optional for the `ProxyServerAssetReader`.
|
|
|
|
## 1.0.0
|
|
|
|
- Fix an issue where files imported with relative paths containing `../` may
|
|
fail to resolve breakpoint locations.
|
|
- Remove dependency on `package:build_daemon`.
|
|
- Add `FrontendServerAssetReader` for use with Frontend Server builds.
|
|
- Depend on latest `package:sse` for handling client reconnects transparently on
|
|
the server.
|
|
- Fix an issue where a failure to initiate debugging through the Dart Debug
|
|
Extension would cause your development server to crash.
|
|
- Fix an issue where trying to launch DevTools in a non-debug enabled Chrome
|
|
instance could crash your development server.
|
|
|
|
**Breaking Changes:**
|
|
|
|
- No longer use the `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`.
|
|
|
|
## 0.9.0
|
|
|
|
- Expose `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.
|
|
|
|
## 0.8.5
|
|
|
|
- Always bind to `localhost` for the local debug workflow.
|
|
- Fix an issue where breakpoints could cause DevTools to hang.
|
|
|
|
## 0.8.4
|
|
|
|
- Support using WebSockets for the debug (VM Service) proxy by passing
|
|
`useSseForDebugProxy: false` to `Dwds.start()`
|
|
|
|
## 0.8.3
|
|
|
|
- Support nesting Dart applications in iframes.
|
|
|
|
## 0.8.2
|
|
|
|
- Add the ability to receive events from the extension in batches.
|
|
|
|
## 0.8.1
|
|
|
|
- Depend on the latest `package:built_value`.
|
|
|
|
## 0.8.0
|
|
|
|
- Add temporary support for restoring breakpoints. Eventually the Dart VM
|
|
protocol will clearly define how breakpoints should be restored.
|
|
- Depend on latest `package:sse` to get retry logic.
|
|
- Don't spawn DevTools if `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 `enableDebugExtension`is true.
|
|
|
|
## 0.7.9
|
|
|
|
- Properly wait for hot reload to complete with the legacy module system.
|
|
- Fix issue with `getObject` for a class with a generic type.
|
|
|
|
## 0.7.8
|
|
|
|
- Support optional argument `urlEncoder` that is used to encode remote URLs for
|
|
use with the Dart Debug Extension.
|
|
|
|
## 0.7.7
|
|
|
|
- Handle getObject for primitives properly.
|
|
- Properly black box scripts if query parameters are provided.
|
|
|
|
## 0.7.6
|
|
|
|
- Fix issue with source map logic for the legacy module system.
|
|
- Allow setting breakpoints multiple times and just return the old breakpoint.
|
|
- Fix a bug with Maps that contain lists of simple types.
|
|
|
|
## 0.7.5
|
|
|
|
- The injected client's connection is now based off the request URI.
|
|
- Fix an issue where resuming while paused at the start would cause an error.
|
|
- Expose the `ChromeDebugException` class for error handling purposes.
|
|
- Expose the `AppConnectionException` class for error handling purposes.
|
|
- DevTools will now launch immediately and lazily sets up necessary state.
|
|
- Properly set `pauseBreakpoints` on `kPauseBreakpoint` events.
|
|
- Greatly improves handling of List, Map and IdentityMap instances.
|
|
- Lazily parse source maps to improve performance for large applications.
|
|
|
|
## 0.7.4
|
|
|
|
- Deobfuscate DDC extension method stack traces.
|
|
- Properly get all libraries with the `legacy` module system.
|
|
|
|
## 0.7.3
|
|
|
|
- Correctly set `Isolate` state if debugging is initiated after the application
|
|
has already started.
|
|
|
|
## 0.7.2
|
|
|
|
- Account for root directory path when using `package:` URIs with `DartUri`.
|
|
|
|
## 0.7.1
|
|
|
|
- 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.
|
|
- Don't attempt to write a vm service request to a closed connection.
|
|
- Instead we log a warning with the attempted request message and return.
|
|
- Make all `close` methods more robust by allowing them to be called more than
|
|
once and returning the cached future from previous calls.
|
|
- Add explicit handling of app not loaded errors when handling chrome pause
|
|
events.
|
|
|
|
## 0.7.0
|
|
|
|
- `DWDS.start` now requires an `AssetHandler` instead of `applicationPort`,
|
|
`assetServerPort` and `applicationTarget`.
|
|
- Expose a `BuildRunnerAssetHandler` which proxies request to the asset server
|
|
running within build runner.
|
|
- Support the Legacy Module strategy through the injected client.
|
|
- Support DDK sourcemap URIs.
|
|
- Update SDK dependency to minimum of 2.5.0.
|
|
|
|
### Bug Fixes:
|
|
|
|
- Fix handling of chrome pause events when we have no isolate loaded yet.
|
|
|
|
## 0.6.2
|
|
|
|
- Capture any errors that happen when handling SSE requests in the DevHandler
|
|
and return an error response to the client code.
|
|
- Log error responses in the client to the console.
|
|
- Handle empty Chrome exception descriptions.
|
|
|
|
## 0.6.1
|
|
|
|
- Add `isolateRef` to `Isolate`s `pauseEvent`s.
|
|
- Depend on the latest `package:vm_service`.
|
|
- Implements `invoke`.
|
|
- Adds support for VM object IDs for things that don't have Chrome object Ids
|
|
(e.g. int, double, bool, null).
|
|
|
|
## 0.6.0
|
|
|
|
- Add new required parameter `enableDebugging` to `Dwds.start`. If `false` is
|
|
provided, debug services will not run. However, reload logic will continue to
|
|
work with the injected client.
|
|
- Handle injected client SSE errors.
|
|
- Handle a race condition when the browser is refreshed in the middle of setting
|
|
up the debug services.
|
|
|
|
## 0.5.5
|
|
|
|
- Properly set the `pauseEvent` on the `Isolate`.
|
|
- Fix a race condition with Hot Restarts where the Isolate was not created in
|
|
time for pause events.
|
|
|
|
## 0.5.4
|
|
|
|
- Fix issue where certain required fields of VM service protocol objects were
|
|
null.
|
|
- Properly set the `exceptionPauseMode` on the `Isolate`.
|
|
- Depend on the latest `DevTools`.
|
|
|
|
## 0.5.3
|
|
|
|
- Fix issue where certain required fields of VM service protocol objects were
|
|
null.
|
|
|
|
## 0.5.2
|
|
|
|
- Fix issue where certain required fields of VM service protocol objects were
|
|
null.
|
|
- Properly display `Closure` names in the debug view.
|
|
|
|
## 0.5.1
|
|
|
|
- Fix an issue where missing source maps would cause a crash. A warning will now
|
|
be logged to the console instead.
|
|
- Depend on the latest `package:webkit_inspection_protocol`.
|
|
|
|
## 0.5.0
|
|
|
|
- Fix an issue where we source map paths were not normalized.
|
|
- Added a check to tests for the variable DWDS_DEBUG_CHROME to run Chrome with a
|
|
UI rather than headless.
|
|
- Catch unhandled errors in `client.js` and recommend using the
|
|
`--no-injected-client` flag for webdev users.
|
|
- Add support for an SSE connection with Dart DevTools.
|
|
- Rename `wsUri` to `uri` on `DebugConnection` to reflect that the uri may not
|
|
be a websocket.
|
|
- Depend on latest `package:vm_service`.
|
|
|
|
## 0.4.0
|
|
|
|
- Move `data` abstractions from `package:webdev` into `package:dwds`.
|
|
- Move debugging related handlers from `package:webdev` into `package:dwds`.
|
|
- Move injected client from `package:webdev` into `package:dwds`.
|
|
- Create new public entrypoint `dwds.dart`. Existing public API `services.dart`
|
|
is now private.
|
|
|
|
## 0.3.3
|
|
|
|
- Add support for `getScript` for paused isolates.
|
|
- Add support for `onRequest` and `onResponse` listeners for the vm service.
|
|
|
|
## 0.3.2
|
|
|
|
- Add support for `scope` in `evaluate` calls.
|
|
|
|
## 0.3.1
|
|
|
|
- Improve error reporting for evals, give the full JS eval in the error message
|
|
so it can be more easily reproduced.
|
|
|
|
## 0.3.0
|
|
|
|
- Change the exposed type on DebugService to VmServiceInterface
|
|
|
|
## 0.2.1
|
|
|
|
- Support `setExceptionPauseMode`.
|
|
|
|
## 0.2.0
|
|
|
|
- Added custom tokens to the `wsUri` for increased security.
|
|
- 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
|
|
combining the port and host was sufficient.
|
|
|
|
## 0.1.0
|
|
|
|
- Initial version
|