| ## 1.12.2 | |
| * Relax parsing of V8 traces to allow a missing initial description. | |
| ## 1.12.1 | |
| * Move to `dart-lang/tools` monorepo. | |
| ## 1.12.0 | |
| * Added support for parsing Wasm frames of Chrome (V8), Firefox, Safari. | |
| * Require Dart 3.4 or greater | |
| ## 1.11.1 | |
| * Make use of `@pragma('vm:awaiter-link')` to make package work better with | |
| Dart VM's builtin awaiter stack unwinding. No other changes. | |
| ## 1.11.0 | |
| * Added the parameter `zoneValues` to `Chain.capture` to be able to use custom | |
| zone values with the `runZoned` internal calls. | |
| * Populate the pubspec `repository` field. | |
| * Require Dart 2.18 or greater | |
| ## 1.10.0 | |
| * Stable release for null safety. | |
| * Fix broken test, `test/chain/vm_test.dart`, which incorrectly handles | |
| asynchronous suspension gap markers at the end of stack traces. | |
| ## 1.10.0-nullsafety.6 | |
| * Fix bug parsing asynchronous suspension gap markers at the end of stack | |
| traces, when parsing with `Trace.parse` and `Chain.parse`. | |
| * Update SDK constraints to `>=2.12.0-0 <3.0.0` based on beta release | |
| guidelines. | |
| ## 1.10.0-nullsafety.5 | |
| * Allow prerelease versions of the 2.12 sdk. | |
| ## 1.10.0-nullsafety.4 | |
| * Allow the `2.10.0` stable and dev SDKs. | |
| ## 1.10.0-nullsafety.3 | |
| * Fix bug parsing asynchronous suspension gap markers at the end of stack | |
| traces. | |
| ## 1.10.0-nullsafety.2 | |
| * Forward fix for a change in SDK type promotion behavior. | |
| ## 1.10.0-nullsafety.1 | |
| * Allow 2.10 stable and 2.11.0 dev SDK versions. | |
| ## 1.10.0-nullsafety | |
| * Opt in to null safety. | |
| ## 1.9.6 (backpublish) | |
| * Fix bug parsing asynchronous suspension gap markers at the end of stack | |
| traces. (Also fixed separately in 1.10.0-nullsafety.3) | |
| * Fix bug parsing asynchronous suspension gap markers at the end of stack | |
| traces, when parsing with `Trace.parse` and `Chain.parse`. (Also fixed | |
| separately in 1.10.0-nullsafety.6) | |
| ## 1.9.5 | |
| * Parse the format for `data:` URIs that the Dart VM has used since `2.2.0`. | |
| ## 1.9.4 | |
| * Add support for firefox anonymous stack traces. | |
| * Add support for chrome eval stack traces without a column. | |
| * Change the argument type to `Chain.capture` from `Function(dynamic, Chain)` to | |
| `Function(Object, Chain)`. Existing functions which take `dynamic` are still | |
| fine, but new uses can have a safer type. | |
| ## 1.9.3 | |
| * Set max SDK version to `<3.0.0`. | |
| ## 1.9.2 | |
| * Fix Dart 2.0 runtime cast failure in test. | |
| ## 1.9.1 | |
| * Preserve the original chain for a trace to handle cases where an | |
| error is rethrown. | |
| ## 1.9.0 | |
| * Add an `errorZone` parameter to `Chain.capture()` that makes it avoid creating | |
| an error zone. | |
| ## 1.8.3 | |
| * `Chain.forTrace()` now returns a full stack chain for *all* `StackTrace`s | |
| within `Chain.capture()`, even those that haven't been processed by | |
| `dart:async` yet. | |
| * `Chain.forTrace()` now uses the Dart VM's stack chain information when called | |
| synchronously within `Chain.capture()`. This matches the existing behavior | |
| outside `Chain.capture()`. | |
| * `Chain.forTrace()` now trims the VM's stack chains for the innermost stack | |
| trace within `Chain.capture()` (unless it's called synchronously, as above). | |
| This avoids duplicated frames and makes the format of the innermost traces | |
| consistent with the other traces in the chain. | |
| ## 1.8.2 | |
| * Update to use strong-mode clean Zone API. | |
| ## 1.8.1 | |
| * Use official generic function syntax. | |
| * Updated minimum SDK to 1.23.0. | |
| ## 1.8.0 | |
| * Add a `Trace.original` field to provide access to the original `StackTrace`s | |
| from which the `Trace` was created, and a matching constructor parameter to | |
| `new Trace()`. | |
| ## 1.7.4 | |
| * Always run `onError` callbacks for `Chain.capture()` in the parent zone. | |
| ## 1.7.3 | |
| * Fix broken links in the README. | |
| ## 1.7.2 | |
| * `Trace.foldFrames()` and `Chain.foldFrames()` now remove the outermost folded | |
| frame. This matches the behavior of `.terse` with core frames. | |
| * Fix bug parsing a friendly frame with spaces in the member name. | |
| * Fix bug parsing a friendly frame where the location is a data url. | |
| ## 1.7.1 | |
| * Make `Trace.parse()`, `Chain.parse()`, treat the VM's new causal asynchronous | |
| stack traces as chains. Outside of a `Chain.capture()` block, `new | |
| Chain.current()` will return a stack chain constructed from the asynchronous | |
| stack traces. | |
| ## 1.7.0 | |
| * Add a `Chain.disable()` function that disables stack-chain tracking. | |
| * Fix a bug where `Chain.capture(..., when: false)` would throw if an error was | |
| emitted without a stack trace. | |
| ## 1.6.8 | |
| * Add a note to the documentation of `Chain.terse` and `Trace.terse`. | |
| ## 1.6.7 | |
| * Fix a bug where `new Frame.caller()` returned the wrong depth of frame on | |
| Dartium. | |
| ## 1.6.6 | |
| * `new Trace.current()` and `new Chain.current()` now skip an extra frame when | |
| run in a JS context. This makes their return values match the VM context. | |
| ## 1.6.5 | |
| * Really fix strong mode warnings. | |
| ## 1.6.4 | |
| * Fix a syntax error introduced in 1.6.3. | |
| ## 1.6.3 | |
| * Make `Chain.capture()` generic. Its signature is now `T Chain.capture<T>(T | |
| callback(), ...)`. | |
| ## 1.6.2 | |
| * Fix all strong mode warnings. | |
| ## 1.6.1 | |
| * Use `StackTrace.current` in Dart SDK 1.14 to get the current stack trace. | |
| ## 1.6.0 | |
| * Add a `when` parameter to `Chain.capture()`. This allows capturing to be | |
| easily enabled and disabled based on whether the application is running in | |
| debug/development mode or not. | |
| * Deprecate the `ChainHandler` typedef. This didn't provide any value over | |
| directly annotating the function argument, and it made the documentation less | |
| clear. | |
| ## 1.5.1 | |
| * Fix a crash in `Chain.foldFrames()` and `Chain.terse` when one of the chain's | |
| traces has no frames. | |
| ## 1.5.0 | |
| * `new Chain.parse()` now parses all the stack trace formats supported by `new | |
| Trace.parse()`. Formats other than that emitted by `Chain.toString()` will | |
| produce single-element chains. | |
| * `new Trace.parse()` now parses the output of `Chain.toString()`. It produces | |
| the same result as `Chain.parse().toTrace()`. | |
| ## 1.4.2 | |
| * Improve the display of `data:` URIs in stack traces. | |
| ## 1.4.1 | |
| * Fix a crashing bug in `UnparsedFrame.toString()`. | |
| ## 1.4.0 | |
| * `new Trace.parse()` and related constructors will no longer throw an exception | |
| if they encounter an unparseable stack frame. Instead, they will generate an | |
| `UnparsedFrame`, which exposes no metadata but preserves the frame's original | |
| text. | |
| * Properly parse native-code V8 frames. | |
| ## 1.3.5 | |
| * Properly shorten library names for pathnames of folded frames on Windows. | |
| ## 1.3.4 | |
| * No longer say that stack chains aren't supported on dart2js now that | |
| [sdk#15171][] is fixed. Note that this fix only applies to Dart 1.12. | |
| [sdk#15171]: https://github.com/dart-lang/sdk/issues/15171 | |
| ## 1.3.3 | |
| * When a `null` stack trace is passed to a completer or stream controller in | |
| nested `Chain.capture()` blocks, substitute the inner block's chain rather | |
| than the outer block's. | |
| * Add support for empty chains and chains of empty traces to `Chain.parse()`. | |
| * Don't crash when parsing stack traces from Dart VM stack overflows. | |
| ## 1.3.2 | |
| * Don't crash when running `Trace.terse` on empty stack traces. | |
| ## 1.3.1 | |
| * Support more types of JavaScriptCore stack frames. | |
| ## 1.3.0 | |
| * Support stack traces generated by JavaScriptCore. They can be explicitly | |
| parsed via `new Trace.parseJSCore` and `new Frame.parseJSCore`. | |
| ## 1.2.4 | |
| * Fix a type annotation in `LazyTrace`. | |
| ## 1.2.3 | |
| * Fix a crash in `Chain.parse`. | |
| ## 1.2.2 | |
| * Don't print the first folded frame of terse stack traces. This frame | |
| is always just an internal isolate message handler anyway. This | |
| improves the readability of stack traces, especially in stack chains. | |
| * Remove the line numbers and specific files in all terse folded frames, not | |
| just those from core libraries. | |
| * Make padding consistent across all stack traces for `Chain.toString()`. | |
| ## 1.2.1 | |
| * Add `terse` to `LazyTrace.foldFrames()`. | |
| * Further improve stack chains when using the VM's async/await implementation. | |
| ## 1.2.0 | |
| * Add a `terse` argument to `Trace.foldFrames()` and `Chain.foldFrames()`. This | |
| allows them to inherit the behavior of `Trace.terse` and `Chain.terse` without | |
| having to duplicate the logic. | |
| ## 1.1.3 | |
| * Produce nicer-looking stack chains when using the VM's async/await | |
| implementation. | |
| ## 1.1.2 | |
| * Support VM frames without line *or* column numbers, which async/await programs | |
| occasionally generate. | |
| * Replace `<<anonymous closure>_async_body>` in VM frames' members with the | |
| terser `<async>`. | |
| ## 1.1.1 | |
| * Widen the SDK constraint to include 1.7.0-dev.4.0. | |
| ## 1.1.0 | |
| * Unify the parsing of Safari and Firefox stack traces. This fixes an error in | |
| Firefox trace parsing. | |
| * Deprecate `Trace.parseSafari6_0`, `Trace.parseSafari6_1`, | |
| `Frame.parseSafari6_0`, and `Frame.parseSafari6_1`. | |
| * Add `Frame.parseSafari`. | |
| ## 1.0.3 | |
| * Use `Zone.errorCallback` to attach stack chains to all errors without the need | |
| for `Chain.track`, which is now deprecated. | |
| ## 1.0.2 | |
| * Remove a workaround for [issue 17083][]. | |
| [issue 17083]: https://github.com/dart-lang/sdk/issues/17083 | |
| ## 1.0.1 | |
| * Synchronous errors in the [Chain.capture] callback are now handled correctly. | |
| ## 1.0.0 | |
| * No API changes, just declared stable. | |
| ## 0.9.3+2 | |
| * Update the dependency on path. | |
| * Improve the formatting of library URIs in stack traces. | |
| ## 0.9.3+1 | |
| * If an error is thrown in `Chain.capture`'s `onError` handler, that error is | |
| handled by the parent zone. This matches the behavior of `runZoned` in | |
| `dart:async`. | |
| ## 0.9.3 | |
| * Add a `Chain.foldFrames` method that parallels `Trace.foldFrames`. | |
| * Record anonymous method frames in IE10 as "<fn>". |