PackageTrack
Sign in Get early access

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 2024
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 123
  1. 1.12.1 20 Dec 2024
    Release notes
    • Move to dart-lang/tools monorepo.
    Open source →
  2. 1.12.0 27 Sep 2024
    Release notes
    • Added support for parsing Wasm frames of Chrome (V8), Firefox, Safari.
    • Require Dart 3.4 or greater
    Open source →
  3. 1.11.1 07 Jul 2023
    Release notes
    • Make use of @pragma('vm:awaiter-link') to make package work better with Dart VM's builtin awaiter stack unwinding. No other changes.
    Open source →
  4. 1.11.0 19 Oct 2022
    Release notes
    • 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
    Open source →
  5. 1.10.0 02 Feb 2021
    Release notes
    • 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.
    Open source →
  6. 1.10.0-nullsafety.6 04 Nov 2020 pre-release
    Release notes
    • 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.
    Open source →
  7. 1.10.0-nullsafety.5 23 Oct 2020 pre-release
    Release notes
    • Allow prerelease versions of the 2.12 sdk.
    Open source →
  8. 1.10.0-nullsafety.4 14 Oct 2020 pre-release
    Release notes
    • Allow the 2.10.0 stable and dev SDKs.
    Open source →
  9. 1.10.0-nullsafety.3 13 Oct 2020 pre-release
    Release notes
    • Fix bug parsing asynchronous suspension gap markers at the end of stack traces.
    Open source →
  10. 1.10.0-nullsafety.2 24 Sep 2020 pre-release
    Release notes
    • Forward fix for a change in SDK type promotion behavior.
    Open source →
  11. 1.10.0-nullsafety.1 22 Sep 2020 pre-release
    Release notes
    • Allow 2.10 stable and 2.11.0 dev SDK versions.
    Open source →
  12. 1.10.0-nullsafety 29 Jul 2020 pre-release
    Release notes
    • Opt in to null safety.
    Open source →
  13. 1.9.6 05 Nov 2020
    Release notes
    • 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)
    Open source →
  14. 1.9.5 01 Jul 2020
    Release notes
    • Parse the format for data: URIs that the Dart VM has used since 2.2.0.
    Open source →
  15. 1.9.3 19 Jul 2018
    Release notes
    • Set max SDK version to <3.0.0.
    Open source →
  16. 1.9.2 14 Feb 2018
    Release notes
    • Fix Dart 2.0 runtime cast failure in test.
    Open source →
  17. 1.9.1 08 Nov 2017
    Release notes
    • Preserve the original chain for a trace to handle cases where an error is rethrown.
    Open source →
  18. 1.9.0 01 Nov 2017
    Release notes
    • Add an errorZone parameter to Chain.capture() that makes it avoid creating an error zone.
    Open source →
  19. 1.8.3 24 Oct 2017
    Release notes
    • Chain.forTrace() now returns a full stack chain for all StackTraces 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.

    Open source →
  20. 1.8.2 21 Sep 2017
    Release notes
    • Update to use strong-mode clean Zone API.
    Open source →
  21. 1.8.1 15 Sep 2017
    Release notes
    • Use official generic function syntax.

    • Updated minimum SDK to 1.23.0.

    Open source →
  22. 1.8.0 10 Jul 2017
    Release notes
    • Add a Trace.original field to provide access to the original StackTraces from which the Trace was created, and a matching constructor parameter to new Trace().
    Open source →
  23. 1.7.4 29 Jun 2017
    Release notes
    • Always run onError callbacks for Chain.capture() in the parent zone.
    Open source →
  24. 1.7.3 10 Mar 2017
    Release notes
    • Fix broken links in the README.
    Open source →
  25. 1.7.2 08 Mar 2017
    Release notes
    • 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.

    Open source →
  26. 1.7.1 15 Feb 2017
    Release notes
    • 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.
    Open source →
  27. 1.7.0 16 Nov 2016
    Release notes
    • 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.

    Open source →
  28. 1.6.8 10 Oct 2016
    Release notes
    • Add a note to the documentation of Chain.terse and Trace.terse.
    Open source →
  29. 1.6.7 29 Sep 2016
    Release notes
    • Fix a bug where new Frame.caller() returned the wrong depth of frame on Dartium.
    Open source →
  30. 1.6.6 14 Jun 2016
    Release notes
    • 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.
    Open source →
  31. 1.6.5 08 Apr 2016
    Release notes
    • Really fix strong mode warnings.
    Open source →
  32. 1.6.4 28 Mar 2016
    Release notes
    • Fix a syntax error introduced in 1.6.3.
    Open source →
  33. 1.6.3 28 Mar 2016
    Release notes
    • Make Chain.capture() generic. Its signature is now T Chain.capture<T>(T callback(), ...).
    Open source →
  34. 1.6.2 24 Mar 2016
    Release notes
    • Fix all strong mode warnings.
    Open source →
  35. 1.6.1 01 Feb 2016
    Release notes
    • Use StackTrace.current in Dart SDK 1.14 to get the current stack trace.
    Open source →
  36. 1.6.0 12 Jan 2016
    Release notes
    • 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.

    Open source →
  37. 1.5.1 11 Jan 2016
    Release notes
    • Fix a crash in Chain.foldFrames() and Chain.terse when one of the chain's traces has no frames.
    Open source →
  38. 1.5.0 03 Nov 2015
    Release notes
    • 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().

    Open source →
  39. 1.4.2 02 Sep 2015
    Release notes
    • Improve the display of data: URIs in stack traces.
    Open source →
  40. 1.4.1 12 Aug 2015
    Release notes
    • Fix a crashing bug in UnparsedFrame.toString().
    Open source →
  41. 1.4.0 12 Aug 2015
    Release notes
    • 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.

    Open source →
  42. 1.3.4 29 Jun 2015
    Release notes
    • 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.
    Open source →
  43. 1.3.3 09 Jun 2015
    Release notes
    • 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.

    Open source →
  44. 1.3.2 27 Apr 2015
    Release notes
    • Don't crash when running Trace.terse on empty stack traces.
    Open source →
  45. 1.3.1 14 Apr 2015
    Release notes
    • Support more types of JavaScriptCore stack frames.
    Open source →
  46. 1.3.0 13 Apr 2015
    Release notes
    • Support stack traces generated by JavaScriptCore. They can be explicitly parsed via new Trace.parseJSCore and new Frame.parseJSCore.
    Open source →
  47. 1.2.4 09 Mar 2015
    Release notes
    • Fix a type annotation in LazyTrace.
    Open source →
  48. 1.2.3 03 Mar 2015
    Release notes
    • Fix a crash in Chain.parse.
    Open source →
  49. 1.2.2 02 Mar 2015
    Release notes
    • 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().

    Open source →
  50. 1.2.1 18 Feb 2015
    Release notes
    • Add terse to LazyTrace.foldFrames().

    • Further improve stack chains when using the VM's async/await implementation.

    Open source →
  51. 1.2.0 17 Feb 2015
    Release notes
    • 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.
    Open source →
  52. 1.1.3 12 Feb 2015
    Release notes
    • Produce nicer-looking stack chains when using the VM's async/await implementation.
    Open source →
  53. 1.1.2 11 Feb 2015
    Release notes
    • 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>.

    Open source →
  54. 1.1.1 26 Sep 2014
    Release notes
    • Widen the SDK constraint to include 1.7.0-dev.4.0.
    Open source →
  55. 1.1.0 25 Sep 2014
    Release notes
    • 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.

    Open source →
  56. 1.0.3 17 Sep 2014
    Release notes
    • Use Zone.errorCallback to attach stack chains to all errors without the need for Chain.track, which is now deprecated.
    Open source →
  57. 1.0.2 26 Jun 2014
    Release notes
    Open source →
  58. 1.0.1 19 Jun 2014
    Release notes
    • Synchronous errors in the [Chain.capture] callback are now handled correctly.
    Open source →
  59. 1.0.0 02 Jun 2014
    Release notes
    • No API changes, just declared stable.
    Open source →
  60. 0.9.3 20 Mar 2014
    Release notes
    • Add a Chain.foldFrames method that parallels Trace.foldFrames.

    • Record anonymous method frames in IE10 as "<fn>".

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive