stack_trace
A package for manipulating stack traces and printing them readably.
1.12.1
1000K downloads/mo
#88 most downloaded on pub.dev
dart-lang/tools
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 2.0 years
Some releases are documented
notes for 56 of 116 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
123 releases · first in 2013
0 releases in the last 12 months
see the full history below
Release timeline
123 releases · Apr 2013 to Dec 2024Releases
latest 60 of 123-
1.12.120 Dec 2024 -
1.12.027 Sep 2024Release notes
Open source →- Added support for parsing Wasm frames of Chrome (V8), Firefox, Safari.
- Require Dart 3.4 or greater
-
1.11.107 Jul 2023Release notes
Open source →- Make use of
@pragma('vm:awaiter-link')to make package work better with Dart VM's builtin awaiter stack unwinding. No other changes.
- Make use of
-
1.11.019 Oct 2022Release notes
Open source →- Added the parameter
zoneValuestoChain.captureto be able to use custom zone values with therunZonedinternal calls. - Populate the pubspec
repositoryfield. - Require Dart 2.18 or greater
- Added the parameter
-
1.10.002 Feb 2021Release notes
Open source →- 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.604 Nov 2020 pre-releaseRelease notes
Open source →- Fix bug parsing asynchronous suspension gap markers at the end of stack
traces, when parsing with
Trace.parseandChain.parse. - Update SDK constraints to
>=2.12.0-0 <3.0.0based on beta release guidelines.
- Fix bug parsing asynchronous suspension gap markers at the end of stack
traces, when parsing with
-
1.10.0-nullsafety.523 Oct 2020 pre-release -
1.10.0-nullsafety.414 Oct 2020 pre-release -
1.10.0-nullsafety.313 Oct 2020 pre-releaseRelease notes
Open source →- Fix bug parsing asynchronous suspension gap markers at the end of stack traces.
-
1.10.0-nullsafety.224 Sep 2020 pre-release -
1.10.0-nullsafety.122 Sep 2020 pre-release -
1.10.0-nullsafety29 Jul 2020 pre-release -
1.9.605 Nov 2020Release notes
Open source →- 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.parseandChain.parse. (Also fixed separately in 1.10.0-nullsafety.6)
-
1.9.501 Jul 2020 -
1.9.319 Jul 2018 -
1.9.214 Feb 2018 -
1.9.108 Nov 2017Release notes
Open source →- Preserve the original chain for a trace to handle cases where an error is rethrown.
-
1.9.001 Nov 2017Release notes
Open source →- Add an
errorZoneparameter toChain.capture()that makes it avoid creating an error zone.
- Add an
-
1.8.324 Oct 2017Release notes
Open source →-
Chain.forTrace()now returns a full stack chain for allStackTraces withinChain.capture(), even those that haven't been processed bydart:asyncyet. -
Chain.forTrace()now uses the Dart VM's stack chain information when called synchronously withinChain.capture(). This matches the existing behavior outsideChain.capture(). -
Chain.forTrace()now trims the VM's stack chains for the innermost stack trace withinChain.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.221 Sep 2017 -
1.8.115 Sep 2017 -
1.8.010 Jul 2017Release notes
Open source →- Add a
Trace.originalfield to provide access to the originalStackTraces from which theTracewas created, and a matching constructor parameter tonew Trace().
- Add a
-
1.7.429 Jun 2017 -
1.7.310 Mar 2017 -
1.7.208 Mar 2017Release notes
Open source →-
Trace.foldFrames()andChain.foldFrames()now remove the outermost folded frame. This matches the behavior of.tersewith 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.115 Feb 2017Release notes
Open source →- Make
Trace.parse(),Chain.parse(), treat the VM's new causal asynchronous stack traces as chains. Outside of aChain.capture()block,new Chain.current()will return a stack chain constructed from the asynchronous stack traces.
- Make
-
1.7.016 Nov 2016Release notes
Open source →-
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.810 Oct 2016 -
1.6.729 Sep 2016Release notes
Open source →- Fix a bug where
new Frame.caller()returned the wrong depth of frame on Dartium.
- Fix a bug where
-
1.6.614 Jun 2016Release notes
Open source →new Trace.current()andnew Chain.current()now skip an extra frame when run in a JS context. This makes their return values match the VM context.
-
1.6.508 Apr 2016 -
1.6.428 Mar 2016 -
1.6.328 Mar 2016Release notes
Open source →- Make
Chain.capture()generic. Its signature is nowT Chain.capture<T>(T callback(), ...).
- Make
-
1.6.224 Mar 2016 -
1.6.101 Feb 2016 -
1.6.012 Jan 2016Release notes
Open source →-
Add a
whenparameter toChain.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
ChainHandlertypedef. This didn't provide any value over directly annotating the function argument, and it made the documentation less clear.
-
-
1.5.111 Jan 2016Release notes
Open source →- Fix a crash in
Chain.foldFrames()andChain.tersewhen one of the chain's traces has no frames.
- Fix a crash in
-
1.5.003 Nov 2015Release notes
Open source →-
new Chain.parse()now parses all the stack trace formats supported bynew Trace.parse(). Formats other than that emitted byChain.toString()will produce single-element chains. -
new Trace.parse()now parses the output ofChain.toString(). It produces the same result asChain.parse().toTrace().
-
-
1.4.202 Sep 2015 -
1.4.112 Aug 2015 -
1.4.012 Aug 2015Release notes
Open source →-
new Trace.parse()and related constructors will no longer throw an exception if they encounter an unparseable stack frame. Instead, they will generate anUnparsedFrame, which exposes no metadata but preserves the frame's original text. -
Properly parse native-code V8 frames.
-
-
1.3.429 Jun 2015Release notes
Open source →- 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.
-
1.3.309 Jun 2015Release notes
Open source →-
When a
nullstack trace is passed to a completer or stream controller in nestedChain.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.227 Apr 2015 -
1.3.114 Apr 2015 -
1.3.013 Apr 2015Release notes
Open source →- Support stack traces generated by JavaScriptCore. They can be explicitly
parsed via
new Trace.parseJSCoreandnew Frame.parseJSCore.
- Support stack traces generated by JavaScriptCore. They can be explicitly
parsed via
-
1.2.409 Mar 2015 -
1.2.303 Mar 2015 -
1.2.202 Mar 2015Release notes
Open source →-
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.118 Feb 2015Release notes
Open source →-
Add
tersetoLazyTrace.foldFrames(). -
Further improve stack chains when using the VM's async/await implementation.
-
-
1.2.017 Feb 2015Release notes
Open source →- Add a
terseargument toTrace.foldFrames()andChain.foldFrames(). This allows them to inherit the behavior ofTrace.terseandChain.tersewithout having to duplicate the logic.
- Add a
-
1.1.312 Feb 2015Release notes
Open source →- Produce nicer-looking stack chains when using the VM's async/await implementation.
-
1.1.211 Feb 2015Release notes
Open source →-
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.126 Sep 2014 -
1.1.025 Sep 2014Release notes
Open source →-
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, andFrame.parseSafari6_1. -
Add
Frame.parseSafari.
-
-
1.0.317 Sep 2014Release notes
Open source →- Use
Zone.errorCallbackto attach stack chains to all errors without the need forChain.track, which is now deprecated.
- Use
-
1.0.226 Jun 2014 -
1.0.119 Jun 2014Release notes
Open source →- Synchronous errors in the [Chain.capture] callback are now handled correctly.
-
1.0.002 Jun 2014 -
0.9.320 Mar 2014Release notes
Open source →-
Add a
Chain.foldFramesmethod that parallelsTrace.foldFrames. -
Record anonymous method frames in IE10 as "<fn>".
-