Changelog¶
All notable changes to this project are documented here, newest first. Format follows Keep a Changelog.
[0.1.1] - 2026-09-17¶
Changed¶
- Update README.
[0.1.0] - 2026-09-17¶
Feat¶
- Async non-blocking appends (
appendAnsiTextAsync, progress/finished signals, cancel) with byte-identical output to the sync path. - Pluggable highlight rules (
HighlightRuleprotocol,Span,add_highlight_rule) covering log levels, tracebacks, JSON, CMake, justfiles, URLs, andfile:linelinks. - Theme-following default text colors with manual override
(
setDefaultColors,setColorsFollowTheme) and session persistence. - Font controls (
setFontSize,setFontFamily,useSystemFont). - Strict boolean parsing (
"false"/"0"/"off"work) and symmetricis...()getters for every flag. - Bookmarks stored on text blocks; gutter click, list panel, navigation skips filtered-out lines.
- Sessions (JSON save/load with validation), export (txt/html/md), selection stats, current-line highlight, max-blocks/line-length caps.
- Color knobs (
setLogLevelColors,setBookmarkColor,setSearchHighlightColoractive color,currentLineColor). - Debug diagnostics: every silent fallback logs on the
ansi_text_viewerlogger; contract violations raise with the offender named. - Tooling: pytest suite, ruff (Google docstrings), mypy + ty, MkDocs API docs with gallery, SHA-pinned CI on Python 3.11–3.14, commitizen with conventional commits and Pages deploy workflow.
- Packaging: PyPI metadata (license, classifiers, authors, URLs),
py.typedmarker verified in the wheel viatwine check.
Changed¶
- Default text colors now follow the theme instead of fixed terminal white-on-black.
- Links open on ++ctrl+click++ only (was: single click).
- Python requirement lowered to
>=3.11.
Removed¶
test.pydemo shim — import the demo fromdemoinstead:from demo import TestWindow.