dwds 3.0.3 copy "dwds: ^3.0.3" to clipboard
dwds: ^3.0.3 copied to clipboard

outdated

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

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 middelware 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 enableDebugExtensionis 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 Isolates pauseEvents.
  • 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