owo-colors
Zero-allocation terminal colors that'll make people go owo
4.3.0
154M downloads/mo
#600 most downloaded on crates.io
owo-colors/owo-colors
What this package is like to depend on
Last release 6 months ago
22 Feb 2026
Ships fairly regularly
a new release about every 4 months
Rarely documented
notes for 6 of 28 stable releases
7 versions withdrawn
withdrawn after publishing
6 years old
41 releases · first in 2020
2 releases in the last 12 months
see the full history below
Release timeline
41 releases · Aug 2020 to Feb 2026Releases
latest 41-
5.0.010 Sep 2024 withdrawnNothing published for this version
-
4.3.022 Feb 2026Release notes
Open source →Fixed
- Scripts in the
scripts/directory are no longer published in the crate package. Thanks weiznich for your first contribution!
Changed
-
Mark methods with
#[rust_analyzer::completions(ignore_flyimport)]and theOwoColorizetrait with#[rust_analyzer::completions(ignore_flyimport_methods)]. This prevents owo-colors methods from being completed with rust-analyzer unless theOwoColorizetrait is included.Unfortunately, this also breaks explicit autocomplete commands such as Ctrl-Space in many editors. (The language server protocol doesn't appear to have a way to differentiate between implicit and explicit autocomplete commands.) On balance we believe this is the right approach, but please do provide feedback on PR #141 if it negatively affects you.
-
Updated MSRV to Rust 1.81.
Release notes
Open source →Fixed
- Scripts in the
scripts/directory are no longer published in the crate package. Thanks weiznich for your first contribution!
Changed
-
Mark methods with
#[rust_analyzer::completions(ignore_flyimport)]and theOwoColorizetrait with#[rust_analyzer::completions(ignore_flyimport_methods)]. This prevents owo-colors methods from being completed with rust-analyzer unless theOwoColorizetrait is included.Unfortunately, this also breaks explicit autocomplete commands such as Ctrl-Space in many editors. (The language server protocol doesn't appear to have a way to differentiate between implicit and explicit autocomplete commands.) On balance we believe this is the right approach, but please do provide feedback on PR #141 if it negatively affects you.
-
Updated MSRV to Rust 1.81.
- Scripts in the
-
4.2.329 Sep 2025Release notes
Open source →Fixed
Replaced obsolete
doc_auto_cfgwithdoc_cfg, to fix Rust nightly builds with thedoc_cfgflag enabled.Release notes
Open source →Fixed
Replaced obsolete
doc_auto_cfgwithdoc_cfg, to fix Rust nightly builds with thedoc_cfgflag enabled. -
4.2.224 Jun 2025Release notes
Open source →Fixed
Fixed applying a background color and a text effect (like underline or italic) at the same time (#145).
Release notes
Open source →Fixed
Fixed applying a background color and a text effect (like underline or italic) at the same time (#145).
-
4.2.115 May 2025Release notes
Open source →Fixed
- Fixed a couple of bugs while rendering custom colors (#144). Thanks https://github.com/MiguelValentine for your first contribution!
Release notes
Open source →Fixed
- Fixed a couple of bugs while rendering custom colors (#144). Thanks https://github.com/MiguelValentine for your first contribution!
-
4.2.023 Feb 2025Release notes
Open source →Added
Style::prefix_formatterandStyle::suffix_formatterreturnDisplayformatters for the prefix and the suffix of a style, respectively.- All the
*Displaytypes now have aninto_styledfunction that converts those types into aStyled, erasing type parameters. - Even more methods are now
const.
Changed
-
The
ColorandDynColortraits are now explicitly marked sealed (i.e. downstream crates cannot implement them).These traits were already effectively sealed due to a number of hidden methods that were not part of the API, but they are now explicitly so. In that sense this is not a breaking change, so it's being released under a new minor version rather than a major version.
Release notes
Open source →Added
Style::prefix_formatterandStyle::suffix_formatterreturnDisplayformatters for the prefix and the suffix of a style, respectively.- All the
*Displaytypes now have aninto_styledfunction that converts those types into aStyled, erasing type parameters. - Even more methods are now
const.
Changed
-
The
ColorandDynColortraits are now explicitly marked sealed (i.e. downstream crates cannot implement them).These traits were already effectively sealed due to a number of hidden methods that were not part of the API, but they are now explicitly so. In that sense this is not a breaking change, so it's being released under a new minor version rather than a major version.
-
4.1.122 Feb 2025Release notes
Open source →Added
- The vast majority of owo-colors is now usable in const contexts.
Fixed
- Documentation for
Streamis now rendered properly. Thanks purplesyringa for the contribution! - Replace brittle const-promotion-based unsafe code with safe code. Thanks Manish for the contribution!
Other
- owo-colors now lives under its own organization, https://github.com/owo-colors.
For information about earlier versions, see the commit history.
Release notes
Open source →Added
- The vast majority of owo-colors is now usable in const contexts.
Fixed
- Documentation for
Streamis now rendered properly. Thanks purplesyringa for the contribution! - Replace brittle const-promotion-based unsafe code with safe code. Thanks Manish for the contribution!
Other
- owo-colors now lives under its own organization, https://github.com/owo-colors.
For information about earlier versions, see the commit history.
-
4.1.010 Sep 2024Nothing published for this version
-
4.0.020 Dec 2023Nothing published for this version
-
4.0.0-rc.113 Oct 2023 pre-release -
4.0.0-rc.012 Oct 2023 pre-release -
3.6.027 Dec 2022 withdrawnNothing published for this version
-
3.5.022 Aug 2022Nothing published for this version
-
3.4.023 Apr 2022Nothing published for this version
-
3.3.019 Mar 2022Nothing published for this version
-
3.2.024 Dec 2021Nothing published for this version
-
3.1.107 Dec 2021Nothing published for this version
-
3.1.002 Nov 2021Nothing published for this version
-
3.0.112 Oct 2021Nothing published for this version
-
3.0.012 Oct 2021Nothing published for this version
-
3.0.0-beta.207 Oct 2021 pre-releaseNothing published for this version
-
3.0.0-beta.104 Oct 2021 pre-releaseNothing published for this version
-
3.0.0-beta.004 Oct 2021 pre-releaseNothing published for this version
-
2.1.022 Sep 2021Nothing published for this version
-
2.1.0-beta.022 Sep 2021 pre-releaseNothing published for this version
-
2.0.028 Mar 2021Nothing published for this version
-
1.4.225 Mar 2021 withdrawnNothing published for this version
-
1.4.125 Mar 2021 withdrawnNothing published for this version
-
1.4.025 Mar 2021 withdrawnNothing published for this version
-
1.3.028 Jan 2021Nothing published for this version
-
1.2.102 Dec 2020Nothing published for this version
-
1.2.002 Dec 2020Nothing published for this version
-
1.1.330 Aug 2020Nothing published for this version
-
1.1.229 Aug 2020 withdrawnNothing published for this version
-
1.1.129 Aug 2020 withdrawnNothing published for this version
-
1.1.029 Aug 2020Nothing published for this version
-
1.0.325 Aug 2020Nothing published for this version
-
1.0.225 Aug 2020Nothing published for this version
-
1.0.125 Aug 2020Nothing published for this version
-
1.0.025 Aug 2020Nothing published for this version
-
0.0.025 Aug 2020Nothing published for this version