Releases: MPCodeWriter21/log21
Releases · MPCodeWriter21/log21
Version 3.0.0 release
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
log21remain supported.
-
Argumentify exception renames
- Several exceptions were renamed to follow a consistent
*Errornaming convention:TooFewArguments→TooFewArgumentsErrorRequiredArgument→RequiredArgumentErrorIncompatibleArguments→IncompatibleArgumentsError
- Code that explicitly raises or catches these exceptions must be updated.
- Several exceptions were renamed to follow a consistent
Changes
-
Crash reporter behavior improvement
- Prevented the default file crash reporter from creating
.crash_reportfiles when it is not actually used. - Implemented using an internal
FakeModulehelper.
- Prevented the default file crash reporter from creating
-
Argparse compatibility update
- Bundled and used the Python 3.13
argparseimplementation to ensure consistent behavior across supported Python versions.
- Bundled and used the Python 3.13
-
Progress bar module rename
- Renamed the internal progress bar module to
progress_barfor 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 theFakeModulehelper.
- Renamed the internal progress bar module to
-
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
verminto 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.
- V3 Update by @MPCodeWriter21 in #4
Full Changelog: 2.10.2...3.0.0
Auto Build
Chores
- Added config for markdownlint (CodeWriter21)
- Update LICENSE.txt (CodeWriter21)
Auto Build
Commits
- d2f264c: Update the CHANGELOG. (CodeWriter21)
Auto Build
2.10.0 New exception classes to use with `argumentify`!
Auto Build
2.9.2 Added more features to the ArgumentParser and fixed issues with Argum…
Auto Build
2.9.1 Update `README.md`.
Auto Build
Added the left shift and right shift to the Logger. - Added the cin and cout functionalities. - Moved Examples out of `README.md`.
Auto Build
2.8.1b0 fix: 2.8.1b0
Auto Build
Commits
- 9f7cf7a: Update pypi workflow (CodeWriter21)
Auto Build
2.8.0b1 fix: Renamed `crash_report.log` to `.crash_report.log`.