Bump ratatui from 0.26.3 to 0.27.0
Bumps ratatui from 0.26.3 to 0.27.0.
Release notes
Sourced from ratatui's releases.
v0.27.0
0.27.0 - 2024-06-24
“I can’t believe it! A real gourmet kitchen, and I get to watch!” – 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 focused on enhancing usability and functionality with new features like background styles for LineGauge, palette colors, and various other improvements including improved performance. Also, we added brand new examples for tracing and creating hyperlinks!
✨ Release highlights: https://ratatui.rs/highlights/v027/
⚠️ List of breaking changes can be found here.
Features
eef1afe (linegauge) Allow LineGauge background styles by
@nowNickin #565This PR deprecates `gauge_style` in favor of `filled_style` and `unfilled_style` which can have it's foreground and background styled.
cargo run --example=line_gauge --features=crosstermhttps://github.com/ratatui-org/ratatui/assets/5149215/5fb2ce65-8607-478f-8be4-092e08612f5b
Implements:ratatui-org/ratatui#424
1365620 (borders) Add FULL and EMPTY border sets by
@joshkain #1182
border::FULLuses a full block symbol, whileborder::EMPTYuses an empty space. This is useful for when you need to allocate space for the border and apply the border style to a block without actually drawing a border. This makes it possible to style the entire title area or a block rather than just the title content.use ratatui::{symbols::border, widgets::Block}; let block = Block::bordered().title("Title").border_set(border::FULL); let block = Block::bordered().title("Title").border_set(border::EMPTY);
7a48c5b (cell) Add EMPTY and (const) new method by
@EdJoPaToin #1143This simplifies calls to `Buffer::filled` in tests.
... (truncated)
Changelog
Sourced from ratatui's changelog.
0.27.0 - 2024-06-24
In this version, we have focused on enhancing usability and functionality with new features like background styles for LineGauge, palette colors, and various other improvements including improved performance. Also, we added brand new examples for tracing and creating hyperlinks!
✨ Release highlights: https://ratatui.rs/highlights/v027/
⚠️ List of breaking changes can be found here.
Features
eef1afe (linegauge) Allow LineGauge background styles by
@nowNickin #565This PR deprecates `gauge_style` in favor of `filled_style` and `unfilled_style` which can have it's foreground and background styled.
cargo run --example=line_gauge --features=crosstermhttps://github.com/ratatui-org/ratatui/assets/5149215/5fb2ce65-8607-478f-8be4-092e08612f5b
Implements:ratatui-org/ratatui#424
1365620 (borders) Add FULL and EMPTY border sets by
@joshkain #1182
border::FULLuses a full block symbol, whileborder::EMPTYuses an empty space. This is useful for when you need to allocate space for the border and apply the border style to a block without actually drawing a border. This makes it possible to style the entire title area or a block rather than just the title content.use ratatui::{symbols::border, widgets::Block}; let block = Block::bordered().title("Title").border_set(border::FULL); let block = Block::bordered().title("Title").border_set(border::EMPTY);
... (truncated)
Commits
0a18dcbchore(release): prepare for 0.27.0 (#1196)7ef2daefeat(text): support constructingLineandTextfromusize(#1167)46977d8feat(list)!: add list navigation methods (first, last, previous, next) (#1159)38bb196docs(breaking-changes): mentionLineGauge::gauge_style(#1194)1908b06docs(borders): add missing closing code blocks (#1195)3f2f2cdfeat(docs): add tracing example (#1192)efa965efix(line): remove newlines when converting strings to Lines (#1191)127d706fix(table): ensure render offset without selection properly (#1187)1365620feat(borders): Add FULL and EMPTY border sets (#1182)cd64367chore(symbols): add tests for line symbols (#1186)- Additional commits viewable in compare view
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 rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
CI -- #2296
The alien and smp ones need _sleeping and _stopped. Both can be patched to be part of the public API.
Why should they be part of the public API? We don't want people to rely on them without a good reason.
The _sleeping doesn't become such, I just move it to existing .wakeup() one. I would be better to hide the latter in internal API indeed, but that's separate task.
The _stopped ... yes, it appears to be a new method, but it's const and lightweight. So maybe it's OK until we hide it together with the wakeup()?
upd:
- marked the new
reactor::stopped()with/// @privatenot to appear in docs - rebased to pick up CI fix
The
_sleepingdoesn't become such, I just move it to existing.wakeup()one. I would be better to hide the latter in internal API indeed, but that's separate task.The
_stopped... yes, it appears to be a new method, but it'sconstand lightweight. So maybe it's OK until we hide it together with thewakeup()?
@avikivity , does this justify the change from you perspective?
@avikivity , reminder ping
upd:
- marked the new
reactor::stopped()with/// @privatenot to appear in docs- rebased to pick up CI fix
I don't understand, you want stopped() to be @private, but not private:?
Reducing friendships is good, but it should cause us to break data hiding. If we want two classes to talk via a private channel, they can be friends.
I don't understand, you want stopped() to be @Private, but not private:?
Yes. We need some way to tell that a specific method is public: but not intended to be used by any code outside of seastar itself. The @private marking looks like good enough approach.
Reducing friendships is good, but it should cause us to break data hiding. If we want two classes to talk via a private channel, they can be friends.
I agree, but friendship is pretty heavy hammer for reactor which is overloaded with functionality.
I'm not totally happy about it, but we're splitting hairs, so okay.
In the past I sued friend free functions in the internal namespace.