All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.1.0 - 2024-12-28
- Python 3.13 support
- An
escapeutility function - Running
python -m dahlianow displays the lib version
- Improved error message for an invalid marker type (by @cadaniel02)
- Corrected edge case behavior when trying to use a regex character (e.g.
?or$) as a marker - Fixed custom color processing
- Python 3.8 support
3.0.0 - 2024-06-02
This release follows the Dahlia Specification v1.0.0.
- Automatic color depth detection (as a consequence,
Dahlia'sdepthparameter can now beNone) - Style-specific reset codes
- The
&_escape code - The
clean_ansifunction should now handle way more ANSI escape codes - The package can now be executed with
python -m dahliato show the current terminal emulator's capabilities - Various performance improvements:
- String conversions are now approximately ~70% faster
- A comprehensive benchmark showed an overall library speedup of 20%
- The "Blink" style code was changed from
&pto&k - The custom color syntax was changed from
&[#ffaff3]to&#ffaff3;and now supports shorthand 3-digit codes - The
Dahlia.depthproperty now returns aDepth | Noneinstead of anint - The full reset code is now
&Rinstead of&r - The "Hide" style code was changed from
&kto&h - The
no_resetparameter and property was renamed toauto_resetand now defaults toTrue
- Type checkers no longer complain about non-lowercase depth strings
Dahlia.resetDahlia.test- Dahlia's
no_colorparameter - The CLI tool
- The
&gcode - The legacy
dahlia,dprint, anddinputfunctions - The
quantize_ansiutility function
2.3.2 - 2023-04-19
- Dahlia objects with different markers are no longer considered equal
2.3.1 - 2023-02-20
- Python 3.8 compatibility
2.3.0 - 2023-02-16
quantize_ansiby @Lunarmagpie
2.2.2 - 2023-01-03
- Legacy
dinputfunction
- Corrected legacy
dahliaanddinputfunction typehints
2.2.1 - 2022-12-27
- Minor CLI improvements
- Changed the default depth in the Dahlia CLI to 4
2.2.0 - 2022-12-21
- New format codes:
i- invertj- dimk- hidep- blink
- String and integer literals can now be used to specify the depth, e.g.
dprint("&3hi", depth="tty")orDahlia(depth=24) no_colorkwarg (has priority over theNO_COLORenvironment variable)
- Changed the default depth to LOW (4-bit)
- Fixed encoding background colors for lower color depths
2.1.3 - 2022-12-02
- Added depth 4 as a valid option in the Dahlia CLI
- Fixed Python 3.8 compatibility
- Fixed non-HIGH depths failing during conversion
2.1.2 - 2022-12-01
py.typedfile by @Lunarmagpie
__main__.py:mainnow usessys.exitinstead ofexit- Improved project structure
- Fixed 4-bit colors being entirely unused by the
__get_ansifunction
Also thanks to @Sigmanificient for minor improvements!
2.1.1 - 2022-11-01
- Included
dahliaanddprintfunctions in the module's__all__
2.1.0 - 2022-11-01
- 4-bit colors
- Custom marker support
- Legacy
dahliaanddprintfunctions blackandisortas dev dependencies
2.0.0 - 2022-09-24
- Support for the NO_COLOR environment variable
Depthenum forDahliaconstruction
- Functions
dahlia,dprint, anddinputhave been replaced by theDahliaclass with methodsconvert,print, andinput, respectively
- Global
configvariable
1.1.0 - 2022-08-12
dinputfunctionresetfunctionno_resetparameter fordahlia,dprint,dinput.
1.0.0 - 2022-07-12
Initial release 🎉