Skip to content

v0.26.3-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 27 Apr 00:15
· 54 commits to main since this release
5fbb77a

v0.26.3-alpha.1 - 2024-04-27

Features

Bug Fixes

  • 0a16496
    (uncategorized) Use to_string to serialize Color by @SleepySwords in #934

    Since deserialize now uses `FromStr` to deserialize color, serializing
    `Color` RGB values, as well as index values, would produce an output
    that would no longer be able to be deserialized without causing an
    error.
    

    Color::Rgb will now be serialized as the hex representation of their
    value.
    For example, with serde_json, Color::Rgb(255, 0, 255) would be
    serialized as "#FF00FF" rather than {"Rgb": [255, 0, 255]}.

    Color::Indexed will now be serialized as just the string of the index.
    For example, with serde_json, Color::Indexed(10) would be serialized
    as "10" rather than {"Indexed": 10}.

Other color variants remain the same.

Refactor

Performance

  • 2e71c18
    (buffer) Simplify Buffer::filled with macro by @EdJoPaTo in #1036

    The `vec![]` macro is highly optimized by the Rust team and shorter.
    Don't do it manually.
    
    This change is mainly cleaner code. The only production code that uses
    this is `Terminal::with_options` and `Terminal::insert_before` so it's
    not performance relevant on every render.
    
  • 81b9633
    (calendar) Use const fn by @EdJoPaTo in #1039

    Also, do the comparison without `as u8`. Stays the same at runtime and
    is cleaner code.
    
  • c442dfd
    (canvas) Change map data to const instead of static by @EdJoPaTo in #1037

Miscellaneous Tasks

  • 5fbb77a
    (readme) Use terminal theme for badges by @TadoTheMiner in #1026

    The badges in the readme were all the default theme. Giving them
    prettier colors that match the terminal gif is better. I've used the
    colors from the VHS repo.
    
  • 326a461
    (uncategorized) Add package categories field by @mcskware in #1035

    Add the package categories field in Cargo.toml, with value
    `["command-line-interface"]`. This fixes the (currently non-default)
    clippy cargo group lint
    [`clippy::cargo_common_metadata`](https://rust-lang.github.io/rust-clippy/master/index.html#/cargo_common_metadata).
    
    As per discussion in [Cargo package categories
    suggestions](https://github.com/ratatui-org/ratatui/discussions/1034),
    this lint is not suggested to be run by default in CI, but rather as an
    occasional one-off as part of the larger
    [`clippy::cargo`](https://doc.rust-lang.org/stable/clippy/lints.html#cargo)
    lint group.
    

Build

  • c75aa19
    (uncategorized) Add clippy::cargo lint by @joshka in #1053

    Followup to https://github.com/ratatui-org/ratatui/pull/1035 and
    https://github.com/ratatui-org/ratatui/discussions/1034
    
    It's reasonable to enable this and deal with breakage by fixing any
    specific issues that arise.
    

New Contributors

Full Changelog: v0.26.2...v0.26.3-alpha.1