Release 3.6.0

Release date: 2026-07-01

ChangeLog

  • Fix bugs in _logger_shell.HistoryHook (in logger shell, _, __ and ___).

  • Deprecated errortools.partial submodule.

  • Add remove time in fast_ignore class.

  • Refactor logger shell.

  • Add an easteregg in logger shell.

  • Add EasterEgg in _errortools/_logger_shell dir.

  • Add HistoryHook in _errortools/_logger_shell dir than add Display hook that rotates _, __, ___ history variables.

  • Import TracebackType and FrameType from types module in _errortools/typing.py to speedup. [#69]

Starting now, the format for version logs will follow these rules. Each minor release can contain 3 to 4 commits, which will be aggregated together under one minor version during iteration.

  • Move _print_info and _cmd_log function from _errortools/_cli.py to _errortools/cli.py and delete _errortools/_cli.py.

  • Change PEP 604 union type hints (e.g. a | b) to Union[a, b] form across all source files for compatibility with Python 3.8 and 3.9.

  • Add version_info and __version_info__ in _errortools/version.py.

  • Add # type: ignore[no-any-return] in _errortools/version.py line 92 (in VersionInfo.__ne__, commit 7e0a72)

  • Fix VersionInfo.__ne__ return type error by mypy (In github workflows)

  • Rename _get_version_tuple function in _errortools/version.py to get_version_tuple and add it to the public API.

  • Add new class VersionInfo in _errortools/version.py.

  • Add comprehensive tests for VersionInfo and get_version_tuple in testing/meta/test_version.py (43 new tests covering construction, from_str, to_tuple, dunder methods, equality, ordering, sorting, and public-API exposure).

  • Add a dedicated doctest module testing/doctest/test_version.py with 55 doctests that double as runnable documentation for VersionInfo and get_version_tuple.

  • Use typing.Final in _errortools/version.py.