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
escape
utility function - Running
python -m dahlia
now 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
'sdepth
parameter can now beNone
) - Style-specific reset codes
- The
&_
escape code - The
clean_ansi
function should now handle way more ANSI escape codes - The package can now be executed with
python -m dahlia
to 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
&p
to&k
- The custom color syntax was changed from
&[#ffaff3]
to&#ffaff3;
and now supports shorthand 3-digit codes - The
Dahlia.depth
property now returns aDepth | None
instead of anint
- The full reset code is now
&R
instead of&r
- The "Hide" style code was changed from
&k
to&h
- The
no_reset
parameter and property was renamed toauto_reset
and now defaults toTrue
- Type checkers no longer complain about non-lowercase depth strings
Dahlia.reset
Dahlia.test
- Dahlia's
no_color
parameter - The CLI tool
- The
&g
code - The legacy
dahlia
,dprint
, anddinput
functions - The
quantize_ansi
utility 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_ansi
by @Lunarmagpie
2.2.2 - 2023-01-03
- Legacy
dinput
function
- Corrected legacy
dahlia
anddinput
function 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_color
kwarg (has priority over theNO_COLOR
environment 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.typed
file by @Lunarmagpie
__main__.py:main
now usessys.exit
instead ofexit
- Improved project structure
- Fixed 4-bit colors being entirely unused by the
__get_ansi
function
Also thanks to @Sigmanificient for minor improvements!
2.1.1 - 2022-11-01
- Included
dahlia
anddprint
functions in the module's__all__
2.1.0 - 2022-11-01
- 4-bit colors
- Custom marker support
- Legacy
dahlia
anddprint
functions black
andisort
as dev dependencies
2.0.0 - 2022-09-24
- Support for the NO_COLOR environment variable
Depth
enum forDahlia
construction
- Functions
dahlia
,dprint
, anddinput
have been replaced by theDahlia
class with methodsconvert
,print
, andinput
, respectively
- Global
config
variable
1.1.0 - 2022-08-12
dinput
functionreset
functionno_reset
parameter fordahlia
,dprint
,dinput
.
1.0.0 - 2022-07-12
Initial release 🎉