"If you are what you eat, then I only want to eat the good stuff." – Remy
We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements.
New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods.
We have also refined the terminal module and added brand new methods for cursor positions and text operations.
a23ecd9(buffer) Add Buffer::cell, cell_mut and index implementations by @joshka in #1084
Code which previously called buf.get(x, y) or buf.get_mut(x, y)
should now use index operators, or be transitioned to buff.cell() or
buf.cell_mut() for safe access that avoids panics by returning
Option<&Cell> and Option<&mut Cell>.
The new methods accept Into<Position> instead of x and y
coordinates, which makes them more ergonomic to use.
let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10));
let cell = buf[(0, 0)];
let cell = buf[Position::new(0, 0)];
let symbol = buf.cell((0, 0)).map(|cell| cell.symbol());
let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol());
"If you are what you eat, then I only want to eat the good stuff." – Remy
We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements.
New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods.
We have also refined the terminal module and added brand new methods for cursor positions and text operations.
a23ecd9(buffer) Add Buffer::cell, cell_mut and index implementations by @joshka in #1084
Code which previously called buf.get(x, y) or buf.get_mut(x, y)
should now use index operators, or be transitioned to buff.cell() or
buf.cell_mut() for safe access that avoids panics by returning
Option<&Cell> and Option<&mut Cell>.
The new methods accept Into<Position> instead of x and y
coordinates, which makes them more ergonomic to use.
let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10));
let cell = buf[(0, 0)];
let cell = buf[Position::new(0, 0)];
let symbol = buf.cell((0, 0)).map(|cell| cell.symbol());
let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol());
The existing get() and get_mut() methods are marked as deprecated.
These are fairly widely used and we will leave these methods around on
the buffer for a longer time than our normal deprecation approach (2
major release)
... (truncated)
Commits
ec88bb8 chore(release): prepare for 0.28.0 (#1295)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the cargo-dependencies group with 8 updates in the / directory:
4.5.15
4.5.16
0.27.0
0.28.1
0.2.155
0.2.158
0.27.0
0.28.0
0.4.4
0.5.0
1.0.207
1.0.209
1.39.2
1.39.3
0.9.0
0.10.1
Updates
clap
from 4.5.15 to 4.5.16Release notes
Sourced from clap's releases.
Changelog
Sourced from clap's changelog.
Commits
cedb1f0
chore: Releasec22a510
docs(complete): Fix registration commandsUpdates
crossterm
from 0.27.0 to 0.28.1Release notes
Sourced from crossterm's releases.
Changelog
Sourced from crossterm's changelog.
... (truncated)
Commits
Updates
libc
from 0.2.155 to 0.2.158Release notes
Sourced from libc's releases.
Changelog
Sourced from libc's changelog.
... (truncated)
Commits
c809c58
Merge pull request #3857 from rust-lang/release-plz-2024-08-19T05-21-04Z0d28de5
Update CHANGELOG.md284bd9e
chore: release2682681
Merge pull request #3856 from tgross35/backport-wasi-fix71440ab
[wasi] Add use core::iter::Iterator;6637dbe
Merge pull request #3830 from rust-lang/release-plz-2024-08-15T20-50-10Z51d81e3
Update CHANGELOG.md217b2ab
chore: release6d2b8a0
Merge pull request #3852 from tgross35/backport-onion64ee9df
Merge pull request #3851 from tgross35/backport-romaineUpdates
ratatui
from 0.27.0 to 0.28.0Release notes
Sourced from ratatui's releases.
... (truncated)
Changelog
Sourced from ratatui's changelog.
... (truncated)
Commits
ec88bb8
chore(release): prepare for 0.28.0 (#1295)f04bf85
perf: add buffer benchmarks (#1303)4753b72
perf(reflow): eliminate most WordWrapper allocations (#1239)36fa3c1
chore(deps): bump crossterm to 0.28.1 (#1304)69e8ed7
chore(deps): remove anyhow from dev dependencies (#1305)5f7a7fb
docs(examples): update barcharts gifs (#1306)e6d2e04
perf: move benchmarks into a single benchmark harness (#1302)45fcab7
chore: add rect::rows benchmark (#1301)1b9bdd4
docs(contributing): fix minor issues (#1300)c68ee6c
feat!: addget/set_cursor_position()
methods to Terminal and Backend (#1284)Updates
ratatui-macros
from 0.4.4 to 0.5.0Release notes
Sourced from ratatui-macros's releases.
Changelog
Sourced from ratatui-macros's changelog.
Commits
345e6a1
fix: bump version to 0.5.0 (#69)Updates
serde
from 1.0.207 to 1.0.209Release notes
Sourced from serde's releases.
Commits
30752ac
Release 1.0.209b84e6ca
Improve wording of PR 2805 comments87a2fb0
Wrap comments from PR 2805 to 80 columns9eaf7b9
Merge pull request #2805 from Mingun/untagged-tests7bde100
Replace MapRefDeserializer with value::MapDeserializerda7fc79
Fix deserialization of empty struct variant in untagged enums4c5fec1
Test special cases that reaches SeqRefDeserializer::deserialize_any len==0 co...6588b0a
Cover Content::Seq case in VariantRefDeserializer::struct_variant0093f74
Split test newtype_enum into four tests for each variant171c6da
Complete coverage of ContentRefDeserializer::deserialize_newtype_structUpdates
tokio
from 1.39.2 to 1.39.3Release notes
Sourced from tokio's releases.
Commits
3d439ab
chore: prepare Tokio v1.39.3 (#6782)b2ea40b
net: add handling for abstract socket name (#6772)Updates
tui-input
from 0.9.0 to 0.10.1Release notes
Sourced from tui-input's releases.
Commits
0813f9f
Update version7fca78e
add ALT-BACKSPACE to crossterm's to_input_requestbdf2cba
Update ratatui example18ec93b
Update version9006fbc
feat: migrate from crossterm to ratatui::crosstermDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show