All Versions
36
Latest Version
Avg Release Cycle
8 days
Latest Release
-

Changelog History
Page 1

  • v0.13.3

    • ✂ Remove thread from AsyncReader on Windows.
    • 👌 Improve HANDLE management windows.
  • v0.13.2

    November 04, 2019
    • New input::stop_reading_thread() function
      • Temporary workaround for the UNIX platform to stop the background reading thread and close the file descriptor
      • This function will be removed in the next version
  • v0.13.1

    November 04, 2019
    • 🛠 Fix Async Reader, join background thread and avoid looping forever on windows.
  • v0.13.0

    🚚 Major API-change, removed old-api

    • ✂ Remove Crossterm type
    • ✂ Remove TerminalCursor, TerminalColor, Terminal
    • ✂ Remove cursor(), color() , terminal()
    • ✂ Remove re-exports at root, accessible via module::types (cursor::MoveTo)
    • input module
      • Derive 'Copy' for 'KeyEvent'
      • Add the EnableMouseCapture and EnableMouseCapture commands
    • cursor module
      • Introduce static function crossterm::cursor::position in place of TerminalCursor::pos
      • Rename Goto to MoveTo
      • Rename Up to MoveLeft
      • Rename Right to MoveRight
      • Rename Down to MoveDown
      • Rename BlinkOn to EnableBlinking
      • Rename BlinkOff to DisableBlinking
      • Rename ResetPos to ResetPosition
      • Rename SavePos to SavePosition
    • terminal
      • Introduce static function crossterm::terminal::size in place of Terminal::size
      • Introduce static function crossterm::terminal::exit in place of Terminal::exit
    • 💅 style module
      • Rename ObjectStyle to ContentStyle. Now full names are used for methods
      • Rename StyledObject to StyledContent and made members private
      • Rename PrintStyledFont to PrintStyledContent
      • Rename attr method to attribute.
      • Rename Attribute::NoInverse to NoReverse
      • Update documentation
      • Made Colored private, user should use commands instead
      • Rename SetFg -> SetForegroundColor
      • Rename SetBg -> SetBackgroundColor
      • Rename SetAttr -> SetAttribute
      • Rename ContentStyle::fg_color -> ContentStyle::foreground_color
      • Rename ContentStyle::bg_color -> ContentStyle::background_color
      • Rename ContentStyle::attrs -> ContentStyle::attributes
    • 👌 Improve documentation
    • Unix terminal size calculation with TPUT
  • v0.12.1

    • 🚚 Move all the crossterm_ crates code was moved to the crossterm crate
      • crossterm_cursor is in the cursor module, etc.
      • All these modules are public
    • No public API breaking changes
  • v0.12.0

    October 21, 2019
    • 🗄 Following crates are deprecated and no longer maintained
      • crossterm_cursor
      • crossterm_input
      • crossterm_screen
      • crossterm_style
      • crossterm_terminal
      • crossterm_utils

    crossterm_cursor 0.4.0

    • ♻️ Internal refactoring (PR #2)
      • Improved public documentation
      • sys module is no longer public
    • 🛠 Fixed examples link (PR #6)
    • 📚 Sync documentation style (PR #7)
    • ✂ Removed all references to the crossterm book (PR #8)
    • Replaced RAW_MODE_ENABLED with is_raw_mode_enabled (PR #9)
    • 🔀 Use SyncReader & InputEvent::CursorPosition for pos_raw() (PR #10)

    crossterm_input 0.5.0

    • ♻️ Internal refactoring (PR #3)
      • Removed unsafe static mut
      • Documentation update
      • Remove all references to the crossterm book
    • 📚 Sync documentation style (PR #4)
    • 🏁 Sync SyncReader::next() Windows and UNIX behavior (PR #5)
    • ✂ Remove all references to the crossterm book (PR #6)
    • 🔀 Mouse coordinates synchronized with the cursor (PR #7)
      • Upper/left reported as (0, 0)
    • 🛠 Fixed bug that read sync didn't block (Windows) (PR #8)
    • ♻️ Refactored UNIX readers (PR #9)
      • AsyncReader produces mouse events
      • One reading thread per application, not per AsyncReader
      • Cursor position no longer consumed by another AsyncReader
      • Implemented sync reader for read_char (requires raw mode)
      • Fixed SIGTTIN when executed under the LLDB
      • Added mio for reading from FD and more efficient polling (UNIX only)
    • 🏁 Sync UNIX and Windows vertical mouse position (PR #11)
      • Top is always reported as 0

    crossterm_screen 0.3.2

    • to_alternate switch back to main screen if it fails to switch into raw mode (PR #4)
    • 👌 Improve the documentation (PR #5)
      • Public API
      • Include the book content in the documentation
    • ✂ Remove all references to the crossterm book (PR #6)
    • 🆕 New commands introduced (PR #7)
      • EnterAlternateScreen
      • LeaveAlternateScreen
    • 🏁 Sync Windows and UNIX raw mode behavior (PR #8)

    💅 crossterm_style 0.5.2

    • 💅 Refactoring (PR #2)
      • Added unit tests
      • Restructured files
      • Improved documentation and added book page to lib.rs
      • Fixed bug with SetBg command, WinApi logic
      • Fixed bug with StyledObject, used stdout for resetting terminal color
      • Introduced ResetColor command
    • 📚 Sync documentation style (PR #3)
    • ✂ Remove all references to the crossterm book (PR #4)
    • 💅 Windows 7 grey/white foreground/intensity swapped (PR #5)

    crossterm_terminal 0.3.2

    • ✂ Removed crossterm_cursor::sys dependency (PR #2)
    • 📚 Internal refactoring & documentation (PR #3)
    • ✂ Removed all references to the crossterm book (PR #4)

    crossterm_utils 0.4.0

    • ➕ Add deprecation note (PR #3)
    • ✂ Remove all references to the crossterm book (PR #4)
    • ✂ Remove unsafe static mut (PR #5)
      • sys::unix::RAW_MODE_ENABLED replaced with sys::unix::is_raw_mode_enabled() (breaking)
      • New lazy_static dependency

    crossterm_winapi 0.3.0

    • 🏁 Make read sync block for windows systems (PR #2)
  • v0.11.1

    September 25, 2019

    🔖 Version 0.11.1

    • 🚀 Maintenance release
    • 🚚 All sub-crates were moved to their own repositories in the crossterm-rs organization
  • v0.11.0

    September 24, 2019

    🚚 As a preparation for crossterm 0.1.0 we have moved crossterm to an organisation called 'crossterm-rs'.

    Code Quality

    Important Changes

    • Return written bytes: return-written-bytes
    • ➕ Added derives: Debug for ObjectStyle debug-derive, Serialize/Deserialize for key events serde
    • 👌 Improved error handling:
      • Return crossterm::Result from all api's: return_crossterm_result
        • TerminalCursor::pos() returns Result<(u16, u16)>
        • Terminal::size() returns Result<(u16, u16)>
        • TerminalCursor::move_* returns crossterm::Result
        • ExecutableCommand::queue returns crossterm::Result
        • QueueableCommand::queue returns crossterm::Result
        • get_available_color_count returns no result
        • RawScreen::into_raw_mode returns crossterm::Result instead of io::Result
        • RawScreen::disable_raw_mode returns crossterm::Result instead of io::Result
        • AlternateScreen::to_alternate returns crossterm::Result instead of io::Result
        • TerminalInput::read_line returns crossterm::Result instead of io::Result
        • TerminalInput::read_char returns crossterm::Result instead of io::Result
        • Maybe I forgot something, a lot of functions have changed
          • Removed all unwraps/expects from library
    • ➕ Added KeyEvent::Enter and KeyEvent::Tab: added-key-event-enter, added-key-event-tab
    • 🔀 Synced set/get terminal size behaviour: [fixed-get-set-terminal-size]
    • Method renames:
      • AsyncReader::stop_reading() to stop()
      • RawScreen::disable_raw_mode_on_drop to keep_raw_mode_on_drop
      • TerminalCursor::reset_position() to restore_position()
      • Command::get_anis_code() to ansi_code()
      • available_color_count to available_color_count()
      • Terminal::terminal_size to Terminal::size
      • Console::get_handle to Console::handle
    • 🔀 All i16 values for indexing: set size, set cursor pos, scrolling synced to u16 values
    • Command API takes mutable self instead of self

    ⚠ [warning-cleanup]: https://github.com/crossterm-rs/crossterm/pull/198

    💅 [crossterm_style-cleanup]: https://github.com/crossterm-rs/crossterm/pull/208

    🛠 [fixed-get-set-terminal-size]: https://github.com/crossterm-rs/crossterm/pull/242

  • v0.10.1

  • v0.10.0

    • 🐎 Implemented command API, to have better performance and more control over how and when commands are executed. PR, issue
    • 🛠 Fixed showing, hiding cursor windows implementation
    • ✂ Removed some of the parsing logic from windows keys to ansi codes to key events PR
    • Made terminal size 1-based PR
    • ➕ Added some derive implementation