Releases: sanic-org/tracerite
v2.3.1
- 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
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
- 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
v2.1.0 - Renewed UX, Nicer Inspector
What's Changed
- 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
-
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
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
What's Changed
- Fixing Version 1.1.2 not running on Py3.x #20 by @iamjpsonkar in #24
New Contributors
- @iamjpsonkar made their first contribution in #24
Full Changelog: v1.1.2...v1.1.3
Version 1.1.2
What's Changed
- Remove pkg_resources from html.py by @jakewins in #15
- Variable Inspector TypeError on floaty values by @Tronic in #17
- Upgrade dependencies in PyPI publishing workflow by @ChihweiLHBird in #11
New Contributors
- @jakewins made their first contribution in #15
- @ChihweiLHBird made their first contribution in #11
Full Changelog: v1.1.1...v1.1.2
What's Changed
- Remove pkg_resources from html.py by @jakewins in #15
- Variable Inspector TypeError on floaty values by @Tronic in #17
- Upgrade dependencies in PyPI publishing workflow by @ChihweiLHBird in #11
- Update python-publish.yml by @ahopkins in #19
New Contributors
- @jakewins made their first contribution in #15
- @ChihweiLHBird made their first contribution in #11
Full Changelog: v1.1.1...v1.1.2
Version 1.1.1
What's Changed
Full Changelog: v1.1.0...v1.1.1