dwds 22.1.0
dwds: ^22.1.0 copied to clipboard
A service that proxies between the Chrome debug protocol and the Dart VM service protocol.
22.0.0 #
21.0.0 #
20.0.0 #
- Require clients to specify the
basePathonAssetReader. - #2160 - Update SDK constraint to
>=3.1.0-254.0.dev <4.0.0. - #2169 - Require min
build_web_compilersversion4.0.4- #2171 - Switch to using new debugging API from DDC to support new type system. - #2159
- Fix Flutter crash when calling
resumewhen app is not paused. - #2188 - Update file dependency to
7.0.0.
19.0.1 #
- 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
resumeto the same error returned by the Dart VM. - #2133 - VM service API methods throw type
RPCError, same as the Dart VM. - #2144
19.0.0 #
18.0.2 #
18.0.1 #
18.0.0 #
- Cleanup
getObjectcode for lists and maps.- Now works with offset
0andnullcount. - Fix failures on edge cases.
- Now works with offset
- Support records:
- Update SDK constraint to
>=3.0.0-188.0.dev <4.0.0. - Update
package:vm_serviceconstraint to>=10.1.2 <12.0.0. - Update
package:ddsconstraint to^2.7.1. - Fill
BoundField.namefor records. - Display records as a container of fields.
- Update SDK constraint to
- Remove test-only code from
sdk_configuration.dart. - Move shared test-only code to a new
test_commonpackage. - Convert unnecessary async code to sync.
- Allow empty scopes in expression evaluation in a frame.
Breaking changes
- Require
sdkConfigurationProviderinExpressionCompilerServiceconstructor. - Change DWDS parameter
isFlutterAppfrom typebool?to typeFuture<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-safetyflag to build daemon.
- Move weak null safety tests to special branch of
- 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_serviceconstraint 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.startto indicate whether it is running internally or externally. - Include an optional param to
Dwds.startto indicate whether it a Flutter app or not. - Remove
sdkConfigurationProviderparameter fromDwds.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_compilersconstraint to^4.0.0. - Update
build_runnerconstraint to^2.4.0. - Support changes in the SDK layout for dart 3.0.
16.0.1 #
- Allow the following API to return
nulland add error handling:LoadStrategy.serverPathForModuleLoadStrategy.sourceMapPathForModule
- Expression evaluation performance improvement:
- Batch
ChromeProxyService.evaluate()requests that are close in time and are executed in the same library and scope.
- Batch
- Update
package:fileversion to6.13or 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.evaluatecode 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:dwdsto null safety. - Make
ChromeProxyService.getStackwait 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
PackageUriMapperclass 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
assetHandlerparameter fromExpressionCompilerServiceconstructor. - Add
packageUriMapperparameter to the constructor ofFrontendServerRequireStrategyProvider.
15.0.0 #
- Port some
dwdsfiles to null safety. - Fix failing
frontend_server_evaluatetests. - Prevent
flutter_toolscrash when the Dart execution context cannot be found. - Update method signature of
lookupResolvedPackageUris.
14.0.3 #
- Make data types null safe.
- Update
package:vm_serviceto 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
setIsolatePauseModemethod to Chrome Proxy Service. - Batch extension
Debugger.scriptParsedevents and send batches every 1000ms to the server. - Move
batched_stream.dartinto shared utilities. - Update the method signature for
lookupResolvedPackageUris.
14.0.2 #
- Update the min SDK constraint to 2.17.0.
14.0.1 #
- Add
libraryFiltersoptional parameter to the vm service implementation ofgetSourceReport. - 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 resolvingdart:uris. - Fix issues discovered when using flutter tools with web server device:
- Remove
dart:web_sqlfrom 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.
- Remove
- 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
basePathparameter toFrontendServerRequireStrategy. - Add
loadLibrariesModulegetter toLoadStrategyinterface.
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
SdkConfigurationandSdkConfigurationProviderclasses 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
idequery 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_serviceversion to^8.2.0. - Migrate .packages to package_config.json.
- Update error message on expression evaluation using unloaded libraries.
- Add
screenfield to theDebuggerReadyevent. - Report
DebuggerReadyevents for DevTools embedded into Chrome Devtools. - Fix missing
CallFrame.urlafter update to Chrome 100.
Breaking changes:
Dwds.startandExpressionCompilerServicenow takesdkConfigurationProviderargument instead of separate SDK-related file paths.
12.1.0 #
- Update _fe_analyzer_shared to version ^34.0.0.
12.0.0 #
- Implement
lookupResolvedPackageUrisandlookupPackageUrisvm service API. - Update
vm_serviceversion to^8.1.0. - Make
ExpressionCompilerServiceinfer location oflibraries.jsonfromsdkDirparameter. - Show an alert in the Dart Debug Extension for a multi-app scenario.
- Fix a bug where
dartEmitDebugEventswas set as aStringinstead ofboolin 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_sharedversion to33.0.0 - Update the Dart minimum SDK to
>=2.16.0.
Breaking changes:
- Add
sdkDirandlibrariesPatharguments toDwds.startto help file resolution for sdk uris. - Add
emitDebugEventsargument toDwds.startto suppress emitting debug events from the injected client. - Replace
sdkRootparameter bysdkDirinExpressionCompilerService. - 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
$dartHotRestartin the injected client to$dartHotRestartDwds. - Make
$dartHotRestartDwdstake arunId. - No change in behavior for single applications.
- For a multi-app scenario using legacy modules, this will make all sub-apps
with the same
runIdrestart 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.
- Rename
-
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.getScriptsAPI. - 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.sendEventservice extension to dwds so other tools can send events to the debugger. Event format:
Currently supported event values:{ 'type': '<event type>', 'payload': { 'screen: '<screen name>', 'action: '<action name>' } }{ 'type: 'DevtoolsEvent', 'payload': { 'screen': 'debugger', 'action': 'pageReady' } }
11.3.0 #
- Update SDK constraint to
>=2.14.0 <3.0.0 - Depend on
vm_serviceversion7.3.0.
11.2.3 #
- Fix race causing intermittent
Aww, snaperrors 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
ddsversion2.1.1. - Depend on
vm_serviceversion7.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
SentinelExceptioninstead ofRPCErroron vm service API on unrecognized isolate. - Throw
RPCErroringetStackif the application is not paused. - Recognize
dart:uilibrary 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.getObjectfor 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_compilersversion3.0.0so current version of dwds could be used with SDK stable2.13.xversions.
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.postEventanddart.developer.registerExtension. - Register new service extension
ext.dwds.emitEventso clients can emit events. This is intended to be used for analytics.
11.0.2 #
- Implement
_flutter.listViewsextension method in dwds vm client.
11.0.1 #
- Make adding and removing breakpoints match VM behavior:
- Allow adding existing breakpoints.
- Throw
RPCErrorwhen removing non-existent breakpoints.
11.0.0 #
- Do not send
kServiceExtensionAddedevents to subscribers on the terminating isolate during hot restart. - Support
vm_serviceversion6.2.0. - Fix missing sdk libraries in
getObject()calls. - Fix incorrect
rootLibreturned byChromeProxyService. - 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.startno longer supports automatically injecting a devtools server. AdevtoolsLaunchercallback must be provided to support launching devtools.
10.0.1 #
- Support
webkit_inspection_protocolversion^1.0.0.
10.0.0 #
- Support
VMService.evaluateusing expression compiler. - Update min sdk constraint to
>=2.13.0-144.0.dev. - Throw
RPCErroron evaluation if the program is not paused. - Record
ErrorRefreturned by evaluation in analytics.
Breaking changes:
- Change
ExpressionCompiler.initializemethod to include module format. - Add
LoadStrategy.moduleFormatto 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: falsetoDwds.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
ExpressionCompilerServicewould 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
DwdsEvents around stepping and evaluation. - Send an event to the Dart Debug Extension that contains VM service protocol URI.
- Depend on
package:vm_serviceversion6.1.0+1. - Update the
keepAliveconfigs to prevent accidental reuse of a connection after stopping a debug session. - Support disabling the launching of Dart DevTools through
Alt + dwithenableDevtoolsLaunch. - Opt all dart files out of null safety for min SDK constraint update.
Breaking changes:
LoadStrategys now require amoduleInfoForEntrypoint.
8.0.3 #
- Fix an issue where failed hot restarts would hang indefinitely.
8.0.2 #
- Change
ExpressionCompilerto acceptFutureOr<int>port configuration. - Depend on
package:vm_serviceversion6.0.1-nullsafety.1.
8.0.1 #
- Support null safe versions of
package:crypto,package:uuidandpackage: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
ExpressionCompilerto include newinitializemethod which has a parameter for the null safety mode. - Update
ExpressionCompilerServiceto change how it is instantiated and implement the newinitializemethod. - Provide summary module paths to the expression compiler
- Depend on
package:vm_serviceversion6.0.1-nullsafety.0.
Breaking changes:
- Change
ExpressionCompiler.updateDependenciesmethod to include module summary paths
7.1.1 #
- Properly handle
requireJSerrors 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
skipListssupport serves the same purpose. - Fix an issue where running webdev with expression evaluation enabled would
fail to find
libraries.jsonfile 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.startWithPlatformAPI to enable running expression compiler worker from a given location. - Support Chrome
skipListsto improve stepping performance. - Export
AbsoluteImportUriException. - Depend on the latest
package:vm_servicewhich supports a newlimitparameter togetStack.
7.0.2 #
- Depend on the latest
package:sse. - Add more verbose logging around
hotRestart,fullReloadand entrypoint injection.
7.0.1 #
- Fix an issue where we attempted to find locations for the special
dart_librarymodule.
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 versions2.0.0and1.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_compilerswould cause missing module assets (JavaScript code and source maps).
- Fix issue where upgrading
- Fix issue where open http connections prevent the process for exiting.
- Add
ExpressionCompilationServiceclass that runs ddc in worker mode to support expression evaluation for clients that use build systems to build the code. - Require at least
devtoolsanddevtools_serverversion0.9.2. - Require at least
ddsversion1.4.1. - Require at least
build_web_compilersversion2.12.0. - Update min sdk constraint to
>=2.10.0. - Update
MetadataProviderto throw anAbsoluteImportUriExceptionwhen absolute file paths are used in an import uri.
Breaking changes:
- Change
ExpressionCompilerto require a newupdateDependenciesmethod. - Update a number of
LoadStrategyAPIs to remove heuristics and rely on theMetadataProvider. - No longer require a
LogWriterand correspondingverboseargument but instead properly usepackage:logger. FrontendServerRequireStrategyProvidernow requires adigestProvider.
6.0.0 #
- Depend on the latest
package:devtoolsandpackage:devtools_server. - Support using WebSockets for the debug backend by passing
useSseForDebugBackend: falsetoDwds.start() - Ensure we run main on a hot restart request even if no modules were updated.
- Allow reading metadata generated by
dev_compilerfrom file to supply module information toDwds. - 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_metadatafile. - Remove deprecated parameter
restoreBreakpointsas 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
AssetReadernow requires ametadataContentsimplementation.
4.0.1 #
- Fixed issue where
getSupportedProtocolswould return the wrong protocol.
4.0.0 #
- Pin the
package:vm_serviceversion to prevent unintended breaks.
3.1.3 #
- Fix an issue where the injected client served under
httpsassumed the corresponding SSE handler was also underhttps.
3.1.2 #
- Gracefully handle multiple injected clients on a single page.
- Update to the latest
package:vm_serviceand use more RPCError error codes on call failures. - Update the
require_restarterto rerun main after a hot restart to align with the legacy strategy. We therefore no longer send aRunRequestafter a hot restart. - Compute only the required top frame for a paused event.
- Change
streamListento return anRPCError/ error code-32601for streams that are not handled. - Populate information about async Dart frames.
- Populate the
exceptionfield 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
getClassListandreloadSourcesmethods 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:sseversion3.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_resolverand usepackage_configinstead. - Bump min sdk constraint to
>=2.7.0.
3.0.0 #
- Depend on the latest
package:vm_serviceversion4.0.0.
Breaking Changes:
- Delegate to the
LoadStrategyfor 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
hotRestarthad to fall back to a full reload.
2.0.0 #
- Depend on the latest
package:vm_serviceversion3.0.0+1.
Breaking Changes:
- Now require a
LoadStrategytoDwds.start. This package defines two compatible load strategies,RequireStrategyand `LegacyStrategy. Dwds.startfunction signature has been changed to accept one more parameter of new interface typeExpressionCompilerto support expression evaluation- Provide an implementation of the
RequireStrategysuitable for use withpackage:build_runner. - Simplify hot reload logic and no longer provide module level hooks.
1.0.1 #
- Make the
rootoptional for theProxyServerAssetReader.
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
FrontendServerAssetReaderfor use with Frontend Server builds. - Depend on latest
package:ssefor 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
BuildResultabstraction frompackage:build_daemonbut require a similar abstraction provided by this package. AssetHandlerhas been renamed toAssetReaderand no longer provides a generic resource handler. Specific methods for the required resources are now clearly defined. The new abstraction is now consumed throughdwds.dart.BuildRunnerAssetHandlerhas been renamed toProxyServerAssetReaderand is now consumed throughdwds.dart.
0.9.0 #
- Expose
middlewareandhandler.
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
localhostfor 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: falsetoDwds.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:sseto get retry logic. - Don't spawn DevTools if
serveDevToolsis false. UrlEncoderwill also encode the base URI used by the injected client / Dart Debug Extension. ** Breaking Change **serveDevToolsis not automatically considered true ifenableDebugExtensionis true.
0.7.9 #
- Properly wait for hot reload to complete with the legacy module system.
- Fix issue with
getObjectfor a class with a generic type.
0.7.8 #
- Support optional argument
urlEncoderthat 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
ChromeDebugExceptionclass for error handling purposes. - Expose the
AppConnectionExceptionclass for error handling purposes. - DevTools will now launch immediately and lazily sets up necessary state.
- Properly set
pauseBreakpointsonkPauseBreakpointevents. - 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
legacymodule system.
0.7.3 #
- Correctly set
Isolatestate if debugging is initiated after the application has already started.
0.7.2 #
- Account for root directory path when using
package:URIs withDartUri.
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
closemethods 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.startnow requires anAssetHandlerinstead ofapplicationPort,assetServerPortandapplicationTarget.- Expose a
BuildRunnerAssetHandlerwhich 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
isolateReftoIsolatespauseEvents. - 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
enableDebuggingtoDwds.start. Iffalseis 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
pauseEventon theIsolate. - 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
exceptionPauseModeon theIsolate. - 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
Closurenames 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.jsand recommend using the--no-injected-clientflag for webdev users. - Add support for an SSE connection with Dart DevTools.
- Rename
wsUritourionDebugConnectionto reflect that the uri may not be a websocket. - Depend on latest
package:vm_service.
0.4.0 #
- Move
dataabstractions frompackage:webdevintopackage:dwds. - Move debugging related handlers from
package:webdevintopackage:dwds. - Move injected client from
package:webdevintopackage:dwds. - Create new public entrypoint
dwds.dart. Existing public APIservices.dartis now private.
0.3.3 #
- Add support for
getScriptfor paused isolates. - Add support for
onRequestandonResponselisteners for the vm service.
0.3.2 #
- Add support for
scopeinevaluatecalls.
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
wsUrifor increased security.- Treating this as a breaking change because you now must use the
wsUrigetter to get a valid uri for connecting to the service, when previously combining the port and host was sufficient.
- Treating this as a breaking change because you now must use the
0.1.0 #
- Initial version