Skip to content

Releases: sanic-org/tracerite

v2.3.1

30 Dec 22:51

Choose a tag to compare

  • Fix a bug in chain analysis that was causing inner exceptions be lost in some cases
  • Add precise cursor positions with column number for accurate positioning
  • Find source code for python -c and REPL code input (py>=3.13 only)
  • Cleaner message when we still can't find source code
  • Support optional tag output on TTY title line
  • Make chain data structure and especially frinfo fields always filled (code simplification)
  • Nox coverage target made more minimalistic, don't fail on test failure
  • CI and badges handling improved

v2.3.0 - Chronological single trace, ExceptionGroups, all new output formatting

30 Dec 02:19

Choose a tag to compare

What's Changed

  • Single traceback in chronological order: simplified HTML and TTY output by @Tronic in #38
    • Pruned more excess code lines for a shorter overall output and inspect only strictly relevant (marked) variables.
    • Custom logic for combining tracebacks of chained exceptions into a single timeline
    • Special handling of except frames for clarity of flow in exception chains
    • Exception text moved to bottom, where it occurs, rather than at top of call chain
    • Implemented separate h2 / line at top as the title
    • ExceptionGroup (parallel timelines) support with HTML and TTY output
    • Simplified output format with less cruft to see, call frames as oneliners (still expandable in HTML)
    • Removed old HTML view with scrolling logic, nearly all javascript, floating symbols etc.
  • Adding CI and genbadges by @Tronic in #41

Full Changelog: v2.2.1...v2.3.0

v2.2.1

28 Dec 03:24

Choose a tag to compare

  • Add automatic dark mode to HTML (enabled by default, disabled for notebooks).
  • HTML styling updates taking it a bit closer to TTY output.
  • TTY output formatting and colors improved; long exception messages are now line wrapped into a block marked with a vertical line. Strip colors and disable inspector when not a TTY. Color variables renamed after their use rather than colors they have. Various cleanup, removal of dead branches. Capture logging.exception too.
  • [trace] Pretty print things from libdirs with only the relevant part. Smaller code context, start at relevant line, less lines before mark. Cuter chain message. Consider launcher scripts library code (not user code). Use indent as string rather as int no. of spaces.
  • Add typing.

Full Changelog: v2.2.0...v2.2.1

v2.2.0 - SyntaxErrors, terminals and FastAPI

24 Dec 18:04

Choose a tag to compare

What's Changed

  • Syntax error handling by @Tronic in #35
  • Support running in a terminal (TTY) with formatted colored text output by @Tronic in #37
  • FastAPI by @Tronic in #36
  • Change testpypi index to publish url by @ahopkins in #34
  • Various other minor improvements

Full Changelog: v2.1.0...v2.2.0

v2.1.0 - Renewed UX, Nicer Inspector

18 Dec 04:08
fda9cdc

Choose a tag to compare

What's Changed

Nicer UX by @Tronic in #33

  • Tab headers be gone! We have floating sticky headers (not clickable)
  • Drag to scroll (or use normal scroll methods your device offers - no scrollbar anymore)
  • Scroll code to error lines when it loads (smoother UX than the old autoscroll)
  • For Notebook cells, show only the lines with the error (context is obvious from the notebook anyway)
  • Error markers flow to location of error (and work as navigational buttons)
  • Smaller code font size
  • Restricted vertical space usage further
  • Removes existing tracerite reports from Notebooks when a new one is added (leaves behind only exception headings), optional kwarg.

Nicer inspector by @Tronic in #32

  • Format matrices (arrays) with proper handling of ints and floats of different magnitudes.
  • Key-value display of dicts, dataclasses, pydantic and msgspec objects.
  • Styling improved with more space for fields and avoiding wrapped lines better, left aligned most values.
  • Hide type variables from inspector (cleaner for transformers tracebacks).

Additionally contains a small change to trace extractor, that leaves out context lines for Jupyter code cells where it is not useful to show the code that is on the same notebook. This makes the display much cleaner.

Full Changelog: v2.0.0...v2.1.0

Version 2.0.0 - Major rewrite, exact cursor positions

01 Dec 01:00

Choose a tag to compare

  • Reimplement everything based on Python 3.11+ exception handling. Adds exact columns of the error and a caret position if available, removes our own internal data structures but printing HTML tracebacks and usage in Notebooks remains the same.

  • Refactor html output to include the whole error line in a span, but only mark the actual error (yellow background), with additional em (red font) for caret position.

  • Modernize project toolchain, pyproject/uv/ruff. Script and test running via nox.

  • AI-generated tests for 100% coverage, including numpy and torch tensors.

  • Implement tracerite[nb] extra that installs jupyter notebook packages, for convenience.

  • Move tooltips to a separate span, fixing emoji symbol positioning.

  • style: Remove code element default background (that vscode was adding).

  • style: Tooltips are no longer popups but always shown.

  • style: a lot more style, Monaspace fonts

Version 1.2.0 - End of 1.x series

01 Dec 00:32
aad169d

Choose a tag to compare

The legacy tracerite gets bugfixes and a tooling facelift, along with 100% test coverage, and retaining Python 3.8 compatibility. Future development will happen within the 2.x series that is a fairly complete rewrite.

What's Changed

Full Changelog: v1.1.3...v1.2.0

Version 1.1.3

19 Jun 17:47
db95535

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1.2...v1.1.3

Version 1.1.2

18 Jun 01:08
080b172

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1.1...v1.1.2

What's Changed

New Contributors

Full Changelog: v1.1.1...v1.1.2

Version 1.1.1

05 Nov 12:01

Choose a tag to compare

What's Changed

  • Avoid using built-in vars() which fails on objects without dict by @Tronic in #7

Full Changelog: v1.1.0...v1.1.1