Skip to content

Releases: MPCodeWriter21/log21

Version 3.0.0 release

24 Jan 09:08

Choose a tag to compare

What's Changed

This release introduces a cleaned-up internal structure, stricter naming conventions, and several quality-of-life improvements. While most users will not notice behavioral changes, v3 contains breaking changes for code that relies on internal imports or specific exception names.

Breaking Changes

  • Internal module renaming and normalization

    • All internal modules were renamed to lowercase and, in some cases, split or reorganized.
    • Imports such as log21.Colors, log21.Logger, log21.ProgressBar, etc. are no longer valid.
    • Users importing from internal modules must update their imports to the new module names.
    • Public imports from log21 remain supported.
  • Argumentify exception renames

    • Several exceptions were renamed to follow a consistent *Error naming convention:
      • TooFewArgumentsTooFewArgumentsError
      • RequiredArgumentRequiredArgumentError
      • IncompatibleArgumentsIncompatibleArgumentsError
    • Code that explicitly raises or catches these exceptions must be updated.

Changes

  • Crash reporter behavior improvement

    • Prevented the default file crash reporter from creating .crash_report files when it is not actually used.
    • Implemented using an internal FakeModule helper.
  • Argparse compatibility update

    • Bundled and used the Python 3.13 argparse implementation to ensure consistent behavior across supported Python versions.
  • Progress bar module rename

    • Renamed the internal progress bar module to progress_bar for consistency with the new naming scheme.
    • This will not break the usages of log21.progress_bar(...) since the call functionality was added to the module using the FakeModule helper.
  • Examples added and updated

    • Added new example code files.
    • Updated existing examples to match the v3 API and conventions.

Fixes

  • Resolved various linting and static-analysis issues across the codebase.
  • Addressed minor compatibility issues uncovered by running linters and pre-commit hooks.
  • Resolved errors occurring in environments with newer versions of argparse.

Internal and Maintenance Changes

  • Migrated the build system configuration to uv.
  • Updated Python version classifiers and set the supported Python version to 3.9+.
  • Added vermin to the pre-commit configuration.
  • Updated .gitignore, license metadata, and tool configurations.
  • Silenced and resolved a large number of linter warnings.
  • General internal refactoring with no intended user-visible behavioral changes.

Notes

  • There are no intentional behavioral changes in logging output, argument parsing logic, or UI components.
  • Most projects will require minimal or no changes unless they depend on internal modules or renamed exceptions.
  • See MIGRATION-V2-V3.md for detailed upgrade instructions.

Full Changelog: 2.10.2...3.0.0

Auto Build

21 Sep 11:17

Choose a tag to compare

Auto Build Pre-release
Pre-release

Chores

Auto Build

07 Dec 14:36

Choose a tag to compare

Auto Build Pre-release
Pre-release

Commits

  • d2f264c: Update the CHANGELOG. (CodeWriter21)

Auto Build

13 May 12:47

Choose a tag to compare

Auto Build Pre-release
Pre-release
2.10.0

New exception classes to use with `argumentify`!

Auto Build

12 Apr 08:21

Choose a tag to compare

Auto Build Pre-release
Pre-release
2.9.2

Added more features to the ArgumentParser and fixed issues with Argum…

Auto Build

05 Apr 21:28

Choose a tag to compare

Auto Build Pre-release
Pre-release
2.9.1

Update `README.md`.

Auto Build

05 Apr 21:08

Choose a tag to compare

Auto Build Pre-release
Pre-release
Added the left shift and right shift to the Logger.

- Added the cin and cout functionalities.
- Moved Examples out of `README.md`.

Auto Build

27 Mar 14:55

Choose a tag to compare

Auto Build Pre-release
Pre-release
2.8.1b0

fix: 2.8.1b0

Auto Build

27 Mar 22:00

Choose a tag to compare

Auto Build Pre-release
Pre-release

Commits

  • 9f7cf7a: Update pypi workflow (CodeWriter21)

Auto Build

06 Jan 16:27

Choose a tag to compare

Auto Build Pre-release
Pre-release
2.8.0b1

fix: Renamed `crash_report.log` to `.crash_report.log`.