All Versions
64
Latest Version
Avg Release Cycle
13 days
Latest Release
-

Changelog History
Page 4

  • v0.13.1 Changes

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

    ๐Ÿšš 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 Changes

    • ๐Ÿšš 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 Changes

    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 Changes

    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 Changes

    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 Changes

    • ๐ŸŽ 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
  • v0.9.6 Changes

    June 15, 2019
    • Copy for KeyEvent
    • ๐Ÿ‘ CTRL + Left, Down, Up, Right key support
    • ๐Ÿ‘ SHIFT + Left, Down, Up, Right key support
    • ๐Ÿ›  Fixed UNIX cursor position bug issue, PR
  • v0.9.5 Changes

    May 20, 2019
    • ๐Ÿ Prefetching buffer size for more efficient windows input reads. PR