"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)
Fix a bug in processing string escapes in big-endian architectures (#1173, thanks @purplesyringa)
v1.0.123
Optimize string parsing by applying SIMD-within-a-register: 30.3% improvement on twitter.json from 613 MB/s to 799 MB/s (#1161, thanks @purplesyringa)
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 in /client with 4 updates: bytes, ratatui, serde_json and tui-term.
Updates
bytes
from 1.6.1 to 1.7.1Release notes
Sourced from bytes's releases.
Changelog
Sourced from bytes's changelog.
Commits
dc4fb3e
chore: prepare bytes v1.7.1 (#727)f488be4
Revert "Reuse capacity when possible in <BytesMut as Buf>::advance impl" (#726)03fdde9
chore: prepare v1.7.0 (#724)f8c7b57
Merge 'v1.6.1' into 'master' (#721)9965a04
Remove unnecessary file (#719)3443ca5
docs: clarify the behavior ofBuf::chunk
(#717)8cc9407
Allow reclaiming the current allocation (#686)7a5154b
Clarify howBytesMut::zeroed
works and advantages to manual impl (#714)fa1daac
Change Bytes::make_mut to impl From<Bytes> for BytesMut (closes #709) (#710)caf520a
Fix iter tests to use the actual bytes IntoIter instead of std (#707)Updates
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
serde_json
from 1.0.120 to 1.0.124Release notes
Sourced from serde_json's releases.
Commits
cf771a0
Release 1.0.1248b314a7
Merge pull request #1173 from iex-rs/fix-big-endian8eba786
Fix skip_to_escape on BE architectures2cab07e
Release 1.0.123346189a
Fix needless_borrow clippy lint in new control character test859ead8
Merge pull request #1161 from iex-rs/vectorized-string-parsinge43da5e
Immediately bail-out on empty strings8389d8a
Don't run the slow algorithm from the beginning1f0dcf7
Allow clippy::items_after_statementsa95d6df
Big endian supportUpdates
tui-term
from 0.1.12 to 0.1.13Release notes
Sourced from tui-term's releases.
Changelog
Sourced from tui-term's changelog.
Commits
9e427e2
Fix: Changelog entry9e9bd42
chore: update release version09f62d9
Merge pull request #223 from a-kenji/update/ratatui-get-mut3c250f8
Merge pull request #222 from a-kenji/update/ratatui-changesdd5e5e5
refactor: remove deprecatedbuf.get_mut()
functionf676616
refactor: preferarea()
tosize()
f14aebc
Merge pull request #221 from a-kenji/update/ratatui5a7b41a
chore: update ratatui and crosstermc4b4ed9
chore: update rust-toolchain ->1.80.0
458f9c1
flake.lock: UpdateDependabot 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