| ## 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>". |