console
A terminal and console abstraction for Rust
0.16.4
324M downloads/mo
#339 most downloaded on crates.io
console-rs/console
What this package is like to depend on
Last release 1 months ago
01 Jul 2026
Ships fairly regularly
a new release about every 3 months
Some releases are documented
notes for 20 of 48 stable releases
4 versions withdrawn
withdrawn after publishing
9 years old
52 releases · first in 2017
4 releases in the last 12 months
see the full history below
Release timeline
52 releases · May 2017 to Jul 2026Releases
latest 52-
0.16.401 Jul 2026Release notes
Open source →What's Changed
- chore: Remove redudant helper and add
TermInnerconstructors by @ChrisDenton in #284 - Style::from_dotted_str ignore non-ascii by @danjl1100 in #287
- feat: add
is_dumbpublic function by @ugur-eren in #290
- chore: Remove redudant helper and add
-
0.16.313 Mar 2026 -
0.16.216 Dec 2025Release notes
Open source →What's Changed
- Implement basic support for true colors by @lord-haffi in #271
- docs: add note about clicolors by @philbucher in #274
- chore: minor improvement for docs by @spuradage in #276
- Exclude development scripts from published package by @weiznich in #278
-
0.16.108 Sep 2025Release notes
Open source →What's Changed
- Add WithoutAnsi struct that implements Display by @ChocolateLoverRaj in #258
- Tweak style for new WithAnsi code by @djc in #266
- Fix QNX 7.1 patch for libc::cfmakeraw by @rafaeling in #267
- Upgrade windows-sys to 0.61 by @djc in #272
-
0.16.027 Jun 2025Release notes
Open source →What's Changed
The 0.15.12 release was yanked after it turned out to be semver-incompatible with existing usage by several of the most popular dependent crates, because it introduced a
stdfeature -- and those crates useddefault-features = falsebut relied on thestd-guarded features.The 0.16.0 API should be semver-compatible with the 0.15.x API except for the need for the
stdfeature.Refer to the 0.15.12 release notes for more information.
-
0.15.1226 Jun 2025 withdrawnRelease notes
Open source →What's Changed
- Use EnumSet instead of a full-blown btreemap for the attributes by @jwiesler in #244
- Tweak Attributes bit set API by @djc in #245
- Implement measure_text_width with no allocation by @remi-dupre in #246
- fix(utils): surprising behavior in truncate_str when tail is larger than width by @remi-dupre in #250
- fix spelling mistake by @Axlefublr in #253
- feat(part): add NO_COLOR env support for windows terminal by @L-Chao in #254
- Update windows-sys requirement from 0.59 to 0.60 by @dependabot in #259
- Add features to work with no_std, and with alloc in no_std by @ChocolateLoverRaj in #256
- Fix CI badge and license URL by @atouchet in #261
- Bump version to 0.15.12 by @felstead in #262
-
0.15.1101 Mar 2025Release notes
Open source →What's Changed
- Don't eagerly close tty fd in read_secure by @Noratrieb in #222
- Make functions on Style const by @tamird in #220
- Fix some typos by @waywardmonkeys in #213
- Improve type safety, extract identical code by @tamird in #223
- Unix tweaks by @djc in #230
- Fix WASI target name by @djc in #236
- Simplify & update by @djc in #237
- fix: 🐛 remove double-width characters correctly by @bestgopher in #234
- Explicitly handle CtrlC on Windows by @ericmarkmartin in #235
- Windows mode tweaks by @djc in #239
-
0.15.1016 Dec 2024 -
0.15.916 Dec 2024 -
0.15.809 Jan 2024Release notes
Open source →Enhancements
- Added
wasm32-unknown-emscriptentarget. (#179) read_line_initial_textnow retains the initial prefix. (#190)- Reading raw input now traps Ctrl+C. (#189)
Bugfixes
- Properly use configured output of
Termto get terminal size (#186) - Aligned
read_lineandread_line_initial_text's behavior. (#181) - Fixed soundness issue in
msys_tty_on. (#183)
- Added
-
0.15.721 May 2023Release notes
Open source →Enhancements
- Set an appropriate lower version of libc for macos changes.
- Improved behavior of
read_single_keyso it does not disturb other threads quite as much. (#165) - More reliably reset raw mode in terminal. (#171)
-
0.15.618 May 2023Release notes
Open source →Enhancements
- Switch to
select()on macOS for polling on TTYs to work around a macOS bug. (#169) - Added blink fast and strikethrough attributes. (#159)
- Switch to
-
0.15.514 Jan 2023Release notes
Open source →Enhancements
- Removed
regexdependency. (#153) - Clarified that
clicolors-controlis no longer used. - Handle non-tty terminals in
read_char. (#124)
- Removed
-
0.15.402 Jan 2023Release notes
Open source →Enhancements
- Fix for regression where console size was misreported on windows. (#151)
-
0.15.327 Dec 2022 -
0.15.228 Sep 2022 -
0.15.127 Jul 2022Release notes
Open source →Enhancements
- ANSI support no longer depends on
regexcrate. - Crate now supports
minver.
- ANSI support no longer depends on
-
0.15.014 Oct 2021Release notes
Open source →Enhancements
- Added more key recognitions
- Exposed
pad_str_withto public API - Added
ReadWritePair - Support
color256inStyle::from_dotted_str
BREAKING
- Added
ReadWritePairtoTermTargetto allow arbitrary read write pairs behave as a term - Removed
CopyandPartialEqfromTermTarget
-
0.14.115 Mar 2021Release notes
Open source →Enhancements
- Added
NO_COLORsupport - Added some more key recognitions
- Undeprecate
Term::is_term
- Added
-
0.14.026 Dec 2020Release notes
Open source →Enhancements
- Added emoji support for newer Windows terminals.
BREAKING
- Made the windows terminal emulation a non default feature (
windows-console-colors)
-
0.13.018 Oct 2020Release notes
Open source →Enhancements
- Added
user_attended_stderrfor checking if stderr is a terminal - Removed
termiosdependency
Bug Fixes
- Better handling of key recognition on unix
Term::terminal_size()on stderr terms correctly returns stderr term info
Deprecated
- Deprecate
Term::is_term()in favor ofTerm::features().is_attended()
BREAKING
- Remove
Term::want_emoji()in favor ofTerm::features().wants_emoji()
- Added
-
0.12.010 Aug 2020Nothing published for this version
-
0.11.318 May 2020Nothing published for this version
-
0.11.228 Apr 2020Nothing published for this version
-
0.11.127 Apr 2020Nothing published for this version
-
0.11.027 Apr 2020 withdrawnNothing published for this version
-
0.10.328 Apr 2020Nothing published for this version
-
0.10.227 Apr 2020Nothing published for this version
-
0.10.126 Apr 2020 withdrawnNothing published for this version
-
0.10.008 Mar 2020Nothing published for this version
-
0.9.225 Jan 2020Nothing published for this version
-
0.9.103 Nov 2019Nothing published for this version
-
0.9.007 Sep 2019Nothing published for this version
-
0.8.023 Aug 2019Nothing published for this version
-
0.7.720 Jun 2019Nothing published for this version
-
0.7.617 Jun 2019Nothing published for this version
-
0.7.517 Jan 2019Nothing published for this version
-
0.7.417 Jan 2019Nothing published for this version
-
0.7.313 Jan 2019Nothing published for this version
-
0.7.224 Dec 2018Nothing published for this version
-
0.7.102 Dec 2018Nothing published for this version
-
0.7.022 Nov 2018Nothing published for this version
-
0.6.211 Sep 2018Nothing published for this version
-
0.6.116 Jan 2018Nothing published for this version
-
0.6.016 Jan 2018 withdrawnNothing published for this version
-
0.5.028 Jun 2017Nothing published for this version
-
0.4.212 May 2017Nothing published for this version
-
0.4.112 May 2017Nothing published for this version
-
0.4.012 May 2017Nothing published for this version
-
0.3.011 May 2017Nothing published for this version
-
0.2.009 May 2017Nothing published for this version
-
0.1.009 May 2017Nothing published for this version