Compare commits

..

42 Commits

Author SHA1 Message Date
github-actions[bot]
fbe6549d05 chore: release beta (#2162)
## 🤖 New release

* `ratatui-core`: 0.1.0-alpha.6 -> 0.1.0-beta.0
* `ratatui-crossterm`: 0.1.0-alpha.5 -> 0.1.0-beta.0
* `ratatui-widgets`: 0.3.0-alpha.5 -> 0.3.0-beta.0
* `ratatui-macros`: 0.7.0-alpha.4 -> 0.7.0-beta.0
* `ratatui-termwiz`: 0.1.0-alpha.5 -> 0.1.0-beta.0
* `ratatui-termion`: 0.1.0-alpha.5 -> 0.1.0-beta.0
* `ratatui`: 0.30.0-alpha.5 -> 0.30.0-beta.0

<details><summary><i><b>Changelog</b></i></summary><p>

##
[v0.30.0-beta.0](https://github.com/ratatui/ratatui/releases/tag/v0.30.0-beta.0)
- 2025-10-28

> _"Rats don't just survive; they discover; they create. ... I mean,
just look at what they do with
the terminal!" – Remy & Orhun_

We are excited to announce the biggest release of `ratatui` so far - a
Rust library that's all about cooking up TUIs 👨‍🍳🐀

 **WIP Release highlights**:
<https://ratatui-0-30.ratatui.pages.dev/highlights/v030/>

⚠️ List of breaking changes can be found
[here](https://github.com/ratatui/ratatui/blob/main/BREAKING-CHANGES.md).

### Features

-
[56d5e05](56d5e05762)
_(bar)_ Update label and text_value to accept Into<> by @Emivvvvv in
[#1471](https://github.com/ratatui/ratatui/pull/1471) [**breaking**]

> BREAKING CHANGE:label and text_value now accept `Into<>` types, which
  > breaks type inference.
  >
  > ```diff
  > - Bar::default().label("foo".into());
  > + Bar::default().label("foo");
  > ```
  >
  > ```diff
  > - Bar::default().text_value("bar".into());
  > + Bar::default().text_value("bar");
  > ```

-
[b76ad3b](b76ad3b02e)
_(bar)_ Impl Styled for Bar by @Emivvvvv in
[#1476](https://github.com/ratatui/ratatui/pull/1476)

  > Related:https://github.com/ratatui/ratatui/issues/683

-
[e15fefa](e15fefa922)
_(barchar)_ Add BarChart::grouped constructor by @joshka in
[#1513](https://github.com/ratatui/ratatui/pull/1513)

> Add a new constructor to the `BarChart` widget that allows creating a
  > grouped barchart with multiple groups of bars.
  >
> Also add a new constructor to the `BarGroup` widget that allows
creating
  > a group of bars with a label.

-
[369b18e](369b18eef2)
_(barchart)_ Reduce barchart creation verbosity by @Emivvvvv in
[#1453](https://github.com/ratatui/ratatui/pull/1453)

  > Adds constructor methods for BarChart, BarGroup, and Bar

-
[2d713d7](2d713d723d)
_(crossterm)_ Allow multiple crossterm versions by @joshka in
[#1841](https://github.com/ratatui/ratatui/pull/1841)

  > This commit introduces feature flags to make it possible for widget
  > library authors to depend on a specific version of crossterm without
> causing version conflicts. This should make it easier for libraries
and
  > apps to update crossterm versions more easily.
  >
> The available feature flags are `crossterm_0_28` and `crossterm_0_29`.
> By default, the latest version is enabled. If a multiple features are
  > enabled we choose the latest version. We will in general support at
  > least the last two major (0.x) versions of crossterm, and will only
  > remove versions in a major version bump.

-
[d99984f](d99984f1e9)
_(layout)_ Add `Flex::SpaceEvenly` by @kdheepak in
[#1952](https://github.com/ratatui/ratatui/pull/1952) [**breaking**]

  > Resolves https://github.com/ratatui/ratatui/issues/1951
  >
> BREAKING CHANGE:Old `Flex::SpaceAround` behavior is available by using
  >
  > `Flex::SpaceEvenly` and new
  >
  > `Flex::SpaceAround` now distributes space evenly around each element
  > except the middle spacers
  > are twice the size of first and last elements
  >
  > With this change, the following variants of `Flex` are supported:
  >
> - `Flex::Start`: Aligns items to the start; excess space appears at
the
  >   end.
  > - `Flex::End`: Aligns items to the end; excess space appears at the
  >   start.
  > - `Flex::Center`: Centers items with equal space on both sides.
> - `Flex::SpaceAround` (**new**): Distributes space _around_ items;
space
  >   between items is _twice_ the edge spacing.
> - `Flex::SpaceBetween`: Distributes space _evenly between_ items
except
  >   no space at the edges.
> - `Flex::SpaceEvenly` (**previously `Flex::SpaceAround`**):
Distributes
  >   space _evenly between_ items and edges.
> - `Flex::Legacy`: Preserves legacy behavior, placing all excess space
at
  >   the end.
  >
  > This aligns behavior of `Flex` with CSS flexbox more closely.
  >
  > The following is a screenshot in action:
  >
  > <img width="1090" alt="image"
  >
>
src="https://github.com/user-attachments/assets/2c7cd797-27bd-4242-a824-4565d369227b"
  > />
  >
  > ***

-
[9275d34](9275d3421c)
_(layout)_ Add Offset::new() constructor by @joshka in
[#1547](https://github.com/ratatui/ratatui/pull/1547)

-
[7ad9c29](7ad9c29eac)
_(linegauge)_ Customized symbols by @sectore in
[#1601](https://github.com/ratatui/ratatui/pull/1601)

  > With this PR any symbol (`&str`) can be used to render `filled` and
  > `unfilled` parts of `LineGauge` now. Before that change, only
>
[`symbols::line::Set`](https://docs.rs/ratatui/latest/ratatui/symbols/line/struct.Set.html)
  > was accepted.
  >
  > Note:New methods are introduced to define those symbols:
  > `filled_symbol` and `unfilled_symbol`. The method
>
[`line_set`](https://docs.rs/ratatui/latest/ratatui/widgets/struct.LineGauge.html#method.line_set)
  > is still there, but marked as `deprecated`.
  >
>
![line_gauge](https://github.com/user-attachments/assets/cae308b8-151b-461d-8af6-9a20012adf2f)

-
[92a19cb](92a19cb604)
_(list)_ Highlight symbol styling by @airblast-dev in
[#1595](https://github.com/ratatui/ratatui/pull/1595) [**breaking**]

  > Allow styling for `List`'s highlight symbol
  >
  > This change makes it so anything that implements `Into<Line>` can be
  > used as a highlight symbol.
  >
> BREAKING CHANGE:`List::highlight_symbol` can no longer be used in
const
  > context
  >
  > BREAKING CHANGE:`List::highlight_symbol` accepted `&str`. Conversion
  > methods that rely on type inference will need to be rewritten as the
  > compiler cannot infer the type.
  >
  > closes:https://github.com/ratatui/ratatui/issues/1443
  >
  > ***

-
[e89a526](e89a526aab)
_(no_std)_ Portable-atomic integration for targets with no atomic types
by @j-g00da in [#2076](https://github.com/ratatui/ratatui/pull/2076)

  > Improves compatibility with no-std targets that don't support atomic
  > types.
  >
  > We support three different scenarios depending on the target:
  >
  > 1. Terminal applications and other std targets (e.g. espidf):
  >
  > - `std` enabled, `portable-atomic` disabled
  >
  > 2. Embedded targets with atomic types, bare metal x86, etc.:
  >
  > - `std` disabled `portable-atomic` disabled
  >
  > 3. Embedded targets without atomic types (e.g. single-core MCUs):
  >
  > - `std` disabled, `portable-atomic` enabled
  >
> Turning on `portable-atomic` together with `std` will fall back to
`std`
  > atomic.

-
[1399d95](1399d95ae0)
_(no_std)_ Make palette and serde features depends on std by @j-g00da in
[#1919](https://github.com/ratatui/ratatui/pull/1919)

-
[b32f781](b32f78195b)
_(no_std)_ Make `ratatui-macros` no-std by @j-g00da in
[#1865](https://github.com/ratatui/ratatui/pull/1865)

-
[3e1c72f](3e1c72fb27)
_(no_std)_ Make ratatui compatible with `#![no_std]` by @j-g00da in
[#1794](https://github.com/ratatui/ratatui/pull/1794) [**breaking**]

  > Resolves #1781
  >
  > This PR makes it possible to compile ratatui with `#![no_std]`.
  > Also makes me answer "We Are So Embedded" to "Are We Embedded Yet?"

-
[ab48c06](ab48c06171)
_(no_std)_ Option to disable layout cache for `no_std` compatibility by
@j-g00da in [#1795](https://github.com/ratatui/ratatui/pull/1795)
[**breaking**]

  > Resolves #1780
  >
  > BREAKING CHANGE:Disabling `default-features` will now disable layout
  > cache, which can have a negative impact on performance.
  >
  > `Layout::init_cache` and `Layout::DEFAULT_CACHE_SIZE` are now only
  > available if `layout-cache` feature is enabled.

-
[09173d1](09173d1829)
_(no_std)_ Make `TestBackend::Error` `Infallible` by @j-g00da in
[#1823](https://github.com/ratatui/ratatui/pull/1823) [**breaking**]

> BREAKING CHANGE:`TestBackend` now uses `core::convert::Infallible` for
  > error handling instead of `std::io::Error`

-
[007713e](007713e50a)
_(no_std)_ Replace `Backend`'s `io::Error` usages with associated
`Error` type by @j-g00da in
[#1778](https://github.com/ratatui/ratatui/pull/1778) [**breaking**]

  > Resolves #1775
  >
> BREAKING CHANGE:Custom backends now have to implement `Backend::Error`
> and `Backend::clear_region`. Additionally some generic `Backend` usage
  > will have to explicitly set trait bounds for `Backend::Error`.

-
[a42a17e](a42a17e184)
_(no_std)_ Make `ratatui-widgets` `no_std` by @j-g00da in
[#1779](https://github.com/ratatui/ratatui/pull/1779)

  > Resolves #1776

-
[5a232a3](5a232a3115)
_(no_std)_ Remove redundant `std` usages in `ratatui-widgets` by
@j-g00da in [#1762](https://github.com/ratatui/ratatui/pull/1762)

-
[ebe10cd](ebe10cd81f)
_(no_std)_ Remove redundant `std` usages in `ratatui-core` by @j-g00da
in [#1753](https://github.com/ratatui/ratatui/pull/1753)

  > Resolves https://github.com/ratatui/ratatui/issues/1751

-
[08b08cc](08b08cc45b)
_(rect)_ Centering by @janTatesa in
[#1814](https://github.com/ratatui/ratatui/pull/1814)

  > Resolves #617

-
[ff729b7](ff729b7607)
_(scrollbar)_ Support retrieving the current position of state by @orhun
in [#1552](https://github.com/ratatui/ratatui/pull/1552)

> As of now it is possible to change the position of the Scrollbar but
not
  > possible to retrieve the position for further use. e.g.
  >
  > ```rust
  > let mut state = ScrollbarState::default();
  > state.next();
  > ```
  >
> This commit adds a new method "`current_position`" (since `position`
is
  > already taken by the fluent setter) for that purpose:
  >
  > ```rust
  > let index = state.get_position(); // yay
  > ```
  >
  > See #1545 for the concrete usage of this.

-
[b9da192](b9da1926a0)
_(serde)_ Derive Serialize/Deserialize for alignment enums by @j-g00da
in [#1957](https://github.com/ratatui/ratatui/pull/1957)

  > Resolves #1954

-
[89b7421](89b74214d9)
_(serde)_ Derive Serialize/Deserialize for additional structs/enums by
@aurreland in [#1883](https://github.com/ratatui/ratatui/pull/1883)

  > This PR adds `#[derive(Serialize, Deserialize)]` to the following
  > structs:
  >
  > - `Constraint`
  > - `Direction`
  > - `Spacing`
  > - `Layout`
  > - `AccentedPalette`
  > - `NonAccentedPalette`
  > - `Palette`
  > - `Padding`
  > - `Borders`
  > - `BorderType`
  > - `ListDirection`
  > - `ScrollbarOrientation`
  > - `ScrollDirection`
  > - `RenderDirection`
  > - `HighlightSpacing`
  >
  > Fixes #1877

-
[03f3f6d](03f3f6df35)
_(style)_ Allow add/sub modifiers to be omitted in Style serialization.
by @rcorre in [#2057](https://github.com/ratatui/ratatui/pull/2057)

  > It's really useful that Style supports Deserialize, this allows TUI
  > apps to have configurable theming without much extra code.
  >
  > However, deserializing a style currently fails if `add_modifier` and
  > `sub_modifier` are
  > not specified. That means the following TOML config:
  >
  > ```toml
  > [theme.highlight]
  > fg = "white"
  > bg = "black"
  > ```
  >
> Will fail to deserialize with "missing field `add_modifier`". It
should
  > be possible
  > to omit modifiers and have them default to "none".

-
[985cd05](985cd05573)
_(symbols)_ Add dashed borders by @theotchlx in
[#1573](https://github.com/ratatui/ratatui/pull/1573)

  > Adds several new border sets:
  >
  > - ratatui::symbols::border::LIGHT_DOUBLE_DASHED
  > - ratatui::symbols::border::HEAVY_DOUBLE_DASHED
  > - ratatui::symbols::border::LIGHT_TRIPLE_DASHED
  > - ratatui::symbols::border::HEAVY_TRIPLE_DASHED
  > - ratatui::symbols::border::LIGHT_QUADRUPLE_DASHED
  > - ratatui::symbols::border::HEAVY_QUADRUPLE_DASHED
  >
  > And corresponding variants to the ratatui::widgets::BorderType enum
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1355

-
[4c301e8](4c301e891d)
_(text)_ Implement `AddAssign` for `Text` by @acuteenvy in
[#1956](https://github.com/ratatui/ratatui/pull/1956)

> This makes it possible to add a second `Text` instance to a first one
using the += operator.
  >
  > ```rust
  > let mut text = Text::from("line 1");
  > text += Text::from("line 2");
  > ```
  >
> Style and alignment applied to the second text is ignored (though
styles and alignment of lines and spans are copied).

-
[ce4856a](ce4856a65f)
_(widgets)_ Add the missing constructor to canvas types by @orhun in
[#1538](https://github.com/ratatui/ratatui/pull/1538)

> Allows constructing `Rectangle`, `Points` and `Circle` using the `new`
  > method instead of initializing with the public fields directly.

-
[75b78be](75b78be09f)
_(uncategorized)_ Add width() impl for tabs by @joshka in
[#2049](https://github.com/ratatui/ratatui/pull/2049)

> The purpose of this is to make it easy for apps to easily calculate
the
  > total tab width including all dividers and padding.

-
[8188ed3](8188ed3950)
_(uncategorized)_ Implement UnicodeWidthStr for Text/Line/Span by
@joshka in [#2030](https://github.com/ratatui/ratatui/pull/2030)

  > You can now calculate the width of any Text/Line/Span using the
> UnicodeWidthStr trait instead of the width method on the type. This
also
  > makes it possible to use the width_cjk() method if needed.

-
[c845fec](c845fec765)
_(uncategorized)_ Add conversion from Size to Rect by @joshka in
[#2028](https://github.com/ratatui/ratatui/pull/2028)

  > `Rect::from(size)` returns a new Rect at the origin (0, 0) with the
  > specified `Size`

-
[017af11](017af11b2b)
_(uncategorized)_ Preserve block titles when merging borders by @j-g00da
in [#1977](https://github.com/ratatui/ratatui/pull/1977)

  > Resolves #1939

-
[6dcd53b](6dcd53bc6b)
_(uncategorized)_ Add ergonomic methods for layouting Rects by @joshka
in [#1909](https://github.com/ratatui/ratatui/pull/1909)

> This commit introduces new methods for the `Rect` struct that simplify
> the process of splitting a `Rect` into sub-rects according to a given
> `Layout`. By putting these methods on the `Rect` struct, we make it a
> bit more natural that a layout is applied to the `Rect` itself, rather
  > than passing a `Rect` to the `Layout` struct to be split.
  >
> Adds:- `Rect::layout` and `Rect::try_layout` methods that allow
splitting a
  > `Rect` into an array of sub-rects according to a given `Layout`.
  >
  > - `Rect::layout_vec` method that returns a `Vec` of sub-rects.
> - `Layout::try_areas` method that returns an array of sub-rects, with
  >   compile-time checks for the number of constraints. This is added
  >   mainly for consistency with the new `Rect` methods.
  >
  > ```rust
  > use ratatui_core::layout::{Layout, Constraint, Rect};
  > let area = Rect::new(0, 0, 10, 10);
  > let layout = Layout::vertical([Constraint::Fill(1); 2]);
  >
  > // Rect::layout() infers the number of constraints at compile time:
  > let [top, main] = area.layout(&layout);
  >
> // Rect::try_layout() and Layout::try_areas() do the same, but return
a
  > // Result:
  > let [top, main] = area.try_layout(&layout)?;
  > let [top, main] = layout.try_areas(area)?;
  >
  > // Rect::layout_vec() returns a Vec of sub-rects:
  > let areas_vec = area.layout_vec(&layout);
  >
  > // you can also explicitly specify the number of constraints:
  > let areas = area.layout::<2>(&layout);
  > let areas = area.try_layout::<2>(&layout)?;
  > let areas = layout.try_areas::<2>(area)?;
  > ```

-
[0c3872f](0c3872f1c5)
_(uncategorized)_ Add Rect::outer() by @joshka in
[#1929](https://github.com/ratatui/ratatui/pull/1929)

  > Fixes:https://github.com/ratatui/ratatui/issues/211

-
[7bc78bc](7bc78bca1b)
_(uncategorized)_ Add ratatui::run() method by @joshka in
[#1707](https://github.com/ratatui/ratatui/pull/1707)

> This introduces a new `ratatui::run()` method which runs a closure
with
> a terminal initialized with reasonable defaults for most applications.
  > This calls `ratatui::init()` before running the closure and
> `ratatui::restore()` after the closure completes, and returns the
result
  > of the closure.
  >
  > A minimal hello world example using the new `ratatui::run()` method:
  >
  > ```rust
  > fn main() -> Result<(), Box<dyn std::error::Error>> {
  >     ratatui::run(|terminal| {
  >         loop {
> terminal.draw(|frame| frame.render_widget("Hello World!",
frame.area()))?;
  >             if crossterm::event::read()?.is_key_press() {
  >                 break Ok(());
  >             }
  >         }
  >     })
  > }
  > ```
  >
  > Of course, this also works both with apps that use free methods and
  > structs:
  >
  > ```rust
> fn run(terminal: &mut DefaultTerminal) -> Result<(), AppError> { ... }
  >
  > ratatui::run(run)?;
  > ```
  >
  > ```rust
  > struct App { ... }
  >
  > impl App {
  >     fn new() -> Self { ... }
> fn run(mut self, terminal: &mut DefaultTerminal) -> Result<(),
AppError> { ... }
  > }
  >
  > ratatui::run(|terminal| App::new().run(terminal))?;
  > ```

-
[b6fbfcd](b6fbfcdd1c)
_(uncategorized)_ Add lifetime to symbol sets by @joshka in
[#1935](https://github.com/ratatui/ratatui/pull/1935)

> This makes it possible to create symbol sets at runtime with
non-static
  > lifetimes.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1722

-
[488e5f0](488e5f020f)
_(uncategorized)_ Make `border!` work without importing `Borders` by
@j-g00da in [#1918](https://github.com/ratatui/ratatui/pull/1918)

> Currently using `border!` macro requires explicit import of `Borders`
  > which is unnecessary.

-
[671c2b4](671c2b4fd4)
_(uncategorized)_ Support merging the borders of blocks by @j-g00da

> When two borders overlap, they will automatically merge into a single,
  > clean border instead of overlapping.
  >
> This improves visual clarity and reduces rendering glitches around
corners.
  >
  > For example:
  >
  > ```
> assert_eq!(Cell::new("┘").merge_symbol("┏",
MergeStrategy::Exact).symbol(), "╆");
  > ```

-
[702fff5](702fff501c)
_(uncategorized)_ Implement stylize methods directly on Style by @joshka
in [#1572](https://github.com/ratatui/ratatui/pull/1572) [**breaking**]

> This makes it possible to create constants using the shorthand
methods.
  >
  > ```rust
  > const MY_STYLE: Style = Style::new().blue().on_black();
  > ```
  >
  > Rather than implementing Styled for Style and then adding extension
  > methods that implement the Stylize shorthands, this implements the
  > methods as const functions directly on Style.
  >
  > BREAKING CHANGE:`Style` no longer implements `Styled`. Any calls to
  > methods implemented by the blanket implementation of Stylize are now
> defined directly on Style. Remove the Stylize import if it is no
longer
  > used by your code.
  >
> The `reset()` method does not have a direct replacement, as it clashes
  > with the existing `reset()` method. Use `Style::reset()` rather than
  > `some_style.reset()`
  >
  > Fixes:#1158

-
[4fcd238](4fcd238e1e)
_(uncategorized)_ Support no-std for calendar widget by @joshka in
[#1852](https://github.com/ratatui/ratatui/pull/1852)

> Removes the CalendarEventStore::today() function in no-std
environments

-
[53cdbbc](53cdbbccd5)
_(uncategorized)_ Enable serde propagation to backend crates (crossterm,
termion) by @ArjunKrish7356 in
[#1812](https://github.com/ratatui/ratatui/pull/1812)

> This PR propagates the serde feature from the main ratatui crate to
the
  > ratatui-crossterm and ratatui-termion backend crates. Solves #1805

-
[6836a69](6836a6903e)
_(uncategorized)_ Implement styled for other primitives by @aschey in
[#1684](https://github.com/ratatui/ratatui/pull/1684)

-
[fcb47d6](fcb47d60f3)
_(uncategorized)_ Rename Alignment to HorizontalAlignment and add
VerticalAlignment by @joshka in
[#1735](https://github.com/ratatui/ratatui/pull/1735) [**breaking**]

> We don't anticipate removing or deprecating the type alias in the near
  > future, but it is recommended to update your imports to use the new
  > name.
  >
> Added a VerticalAlignment enum to make the API more consistent. We
don't
> have a specific use case for it yet, but it's better to add it now and
  > be able to use it in the future.
  >
  > BREAKING-CHANGE:The `Alignment` enum has been renamed to
> `HorizontalAlignment` to better reflect its purpose. A type alias has
> been added to maintain backwards compatibility, however there are some
  > cases where type aliases are not enough to maintain backwards
  > compatibility. E.g. when using glob imports to import all the enum
> variants. This should not affect most users, but it is recommended to
  > update your imports to use the new name.
  >
  > ```diff
  > - use ratatui::layout::Alignment;
  > + use ratatui::layout::HorizontalAlignment;
  >
  > - use Alignment::*;
  > + use HorizontalAlignment::*;
  > ```

-
[2714d6b](2714d6b9c3)
_(uncategorized)_ Add array and tuple RGB color conversion methods by
@joshka in [#1703](https://github.com/ratatui/ratatui/pull/1703)

> Other crates (e.g. colorgrad) that deal with colors can convert colors
> to a tuple of 3 or 4 u8 values. This commit adds conversion methods
from
  > these types to a `Color::Rgb` instance. Any alpha value is ignored.
  >
  > ```rust
  > Color::from([255, 0, 0]);
  > Color::from((255, 0, 0));
  > Color::from([255, 0, 0, 255]);
  > Color::from((255, 0, 0, 255));
  > ```

-
[50ba965](50ba96518f)
_(uncategorized)_ Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584](https://github.com/ratatui/ratatui/pull/1584)

  > Move the Mascot from Demo2 into a new widget.
  > Make the Rat grey and adjust the other colors.
  >
  > ```rust
  > frame.render_widget(RatatuiMascot::default(), frame.area());
  > ```

-
[1d28c89](1d28c89fe5)
_(uncategorized)_ Add conversions for anstyle by @joshka in
[#1581](https://github.com/ratatui/ratatui/pull/1581)
> https://crates.io/crates/anstyle makes it possible to define colors in
> an interoperable way. This makes it possible for applications to
easily
  > load colors from a variety of formats.
  >
> This is gated by the anstyle feature flag which is disabled by
default.
  >
  > ***

### Bug Fixes

-
[a89d3d6](a89d3d62ff)
_(buffer)_ Clear behavior with VS16 wide emojis by @nornagon in
[#2063](https://github.com/ratatui/ratatui/pull/2063)

  > This fixes a bug where certain emojis like ⌨️ would sometimes be
> "overlaid" onto existing content from the buffer, instead of properly
  > clearing.
  >
  > [example demonstrating
>
bug](https://gist.github.com/nornagon/11a79d7a1f2e98aa129fedb4abccc530)
  >
  > This PR was generated by Codex, and validated by me:
  >
> 1. Behavior of the above example code was buggy before this fix
(showed
  >    overlaying "b" on top of the keyboard emoji), and fixed after.
> 2. The U+FE0F check is not strictly required, but I did note that
emoji
> without this char don't exhibit the buggy behavior, even without the
  >    fix.
  >
  > ***

-
[ec30390](ec30390446)
_(canvas)_ Round coordinates to nearest grid cell by @joshka in
[#1507](https://github.com/ratatui/ratatui/pull/1507)

  > Previously the canvas coordinates were rounded towards zero, which
> causes the rendering to be off by one pixel in some cases. It also
meant
> that pixels at the extreme edges of the canvas can only be drawn if
the
  > point was exactly on the edge of the canvas. This commit rounds the
> coordinates to the nearest integer instead. This may change the output
  > for some apps using Canvas / Charts.

-
[afd1ce1](afd1ce179b)
_(canvas)_ Lines that start outside the visible grid are now drawn by
@renesat in [#1501](https://github.com/ratatui/ratatui/pull/1501)

> Previously lines with points that were outside the canvas bounds were
> not drawn at all. Now they are clipped to the bounds of the canvas so
  > that the portion of the line within the canvas is draw.
  >
> To facilitate this, a new `Painter::bounds()` method which returns the
  > bounds of the canvas is added.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1489

-
[2b0a044](2b0a044ced)
_(ci)_ Add contents write permission to release-plz PR by @marcoieni in
[#2119](https://github.com/ratatui/ratatui/pull/2119)

  > https://release-plz.dev/docs/github/quickstart#3-setup-the-workflow
  >
  > Fixes https://github.com/release-plz/release-plz/issues/2439

-
[18e70d3](18e70d3d51)
_(crossterm)_ Terminal should keep Bold when removing Dim by @MarSik in
[#1541](https://github.com/ratatui/ratatui/pull/1541)

  > The Dim removal should behave the same as the logic for Bold removal
> that sends NormalIntensity sequence and then restores Dim when needed.

-
[dca331c](dca331c748)
_(demo)_ Support tab key in demo2 example by @orhun in
[#1726](https://github.com/ratatui/ratatui/pull/1726)

  > see #1721
  >
> Not sure what caused this - it's been there for a while probably and
we
  > didn't realize it since we used `demo2-destroy` mostly.

-
[0fd4753](0fd4753e6b)
_(examples)_ Run the correct example for chart by @orhun in
[#1679](https://github.com/ratatui/ratatui/pull/1679)

  > fixes #1678

-
[39479e2](39479e298c)
_(examples)_ Ensure that example projects are not published by @orhun in
[#1672](https://github.com/ratatui/ratatui/pull/1672)

-
[9314312](93143126b3)
_(layout)_ Feature flag cache related types by @joshka in
[#1842](https://github.com/ratatui/ratatui/pull/1842)

-
[2dd1977](2dd1977c59)
_(layout-cache)_ Import `NonZeroUsize` only when `layout-cache` is
enabled by @j-g00da in
[#1839](https://github.com/ratatui/ratatui/pull/1839)

> This silences unused import warning, when `layout-cache` is disabled.

-
[564a9d7](564a9d76fc)
_(line-gauge)_ Pad default label to display 3 numbers by @martinetd in
[#2053](https://github.com/ratatui/ratatui/pull/2053)

> Display the default label of the LineGauge widget padded to fill 3
cells.
> This makes it so that the label doesn't shift around when going from a
  > single digit to double / triple digits.
  >
> To maintain the existing behavior, use a custom label by calling
`.label()`
  > on the LineGauge.

-
[a692a6e](a692a6e371)
_(lint)_ Apply rust 1.84 clippy suggestions by @joshka in
[#1612](https://github.com/ratatui/ratatui/pull/1612)

  > The canvas map constants are now statics instead.
  > Fixes
>
https://rust-lang.github.io/rust-clippy/master/index.html\#large_const_arrays

-
[2e54d5e](2e54d5e22c)
_(macros)_ Use $crate re-export in text macro by @airblast-dev in
[#1832](https://github.com/ratatui/ratatui/pull/1832)

-
[79d5165](79d5165cae)
_(no_std)_ Propagate `std` feature flag to dependencies by @j-g00da in
[#1838](https://github.com/ratatui/ratatui/pull/1838)

> Disables `std` feature flags in dependencies and only enables them
with
> `ratatui` and `ratatui-core`'s `std` feature flag. This partially
fixes the
> issue of still depending on `std`, when `std` feature flag is
disabled.

-
[00da8c6](00da8c6203)
_(no_std)_ Provide `f64` polyfills for `no_std` compatibility by
@j-g00da in [#1840](https://github.com/ratatui/ratatui/pull/1840)

  > Related:https://github.com/rust-lang/rust/issues/137578

-
[3b13240](3b13240728)
_(scrollbar)_ Check for area.is_empty() before rendering by @farmeroy in
[#1529](https://github.com/ratatui/ratatui/pull/1529)

> This adds the `area.is_empty()` back into the scrollbar render method.
  > Without it, the widget panics if the height is 0.

-
[f57b696](f57b696fdc)
_(span)_ Dont render control characters by @EdJoPaTo in
[#1312](https://github.com/ratatui/ratatui/pull/1312)

-
[2ce958e](2ce958e38c)
_(table)_ Allow display of additional table row, if row height > 1 by
@Lunderberg in [#1452](https://github.com/ratatui/ratatui/pull/1452)

-
[0a25bc1](0a25bc166d)
_(tests)_ Update the stderr snapshot for ratatui-macros by @orhun in
[#2161](https://github.com/ratatui/ratatui/pull/2161)

  > New 🦀 broke the CI

-
[5fa342c](5fa342cc52)
_(widgets)_ Fix centered block title truncation by @ognis1205 in
[#1973](https://github.com/ratatui/ratatui/pull/1973)

  > Previously block titles that were aligned center were
  > truncated poorly (aligned to the left, and the last
  > non-fitting title would be truncated on the left and right.
  > This now truncates the titles more obviously centered.

-
[1fe64de](1fe64de09a)
_(uncategorized)_ Include underline color in anstyle conversion by
@aschey in [#2004](https://github.com/ratatui/ratatui/pull/2004)

  > Underline color wasn't included in the style conversion logic.

-
[c1b8528](c1b8528b69)
_(uncategorized)_ Panic when rendering widgets on too small buffer by
@j-g00da in [#1996](https://github.com/ratatui/ratatui/pull/1996)

> Fixes panic on overflow on horizontal `Barchart` and `RatatuiMascot`
and adds proper tests to all widgets.
  >
  > ***

-
[08b21fa](08b21fa55c)
_(uncategorized)_ Fix panic when rendering a `Paragraph` out of bounds
by @jwodder in [#1670](https://github.com/ratatui/ratatui/pull/1670)

  > Fixes #1667.

-
[80bc818](80bc818723)
_(uncategorized)_ Fix truncation of left aligned block titles by @joshka
in [#1931](https://github.com/ratatui/ratatui/pull/1931)

> truncate the right side of left aligned titles rather than the left
side
> of right aligned titles. This is more obvious as the left side of text
  > often contains more important information. And we generally read
  > left to right.
  >
  > This change makes centered titles overwrite left aligned titles and
  > right aligned titles overwrite centered or left aligned titles.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/358

-
[21e3b59](21e3b598ce)
_(uncategorized)_ Fix handling of multi-byte chars in bar chart by
@joshka in [#1934](https://github.com/ratatui/ratatui/pull/1934)

  > The split_at method requires that the split point is at a valid utf8
  > character boundary.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1928

-
[e1e4004](e1e400406c)
_(uncategorized)_ Derive copy for list state by @janTatesa in
[#1921](https://github.com/ratatui/ratatui/pull/1921)

-
[12cb5a2](12cb5a28fe)
_(uncategorized)_ Allow canvas area to exceed u16::MAX by @Daksh14 in
[#1891](https://github.com/ratatui/ratatui/pull/1891)

> This allows Canvas grids where the width \* height exceeds u16::MAX by
  > converting values to usize earlier in several methods.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1449

-
[09cc9ef](09cc9ef57d)
_(uncategorized)_ Typo in changelog by @joshka in
[#1857](https://github.com/ratatui/ratatui/pull/1857)

-
[c238aca](c238aca83a)
_(uncategorized)_ `padding_right()` should set right padding instead of
left by @sxyazi in [#1837](https://github.com/ratatui/ratatui/pull/1837)

  > Fixes https://github.com/ratatui/ratatui/issues/1836

-
[c90ba97](c90ba9781e)
_(uncategorized)_ Avoid unnecessary imports in minimal build by @cgzones
in [#1787](https://github.com/ratatui/ratatui/pull/1787)

  > core::ops::Range is only used with the feature `scrolling-regions`.
  > Ensure a minimal `cargo check` reports no warnings.

-
[416ebdf](416ebdf8c8)
_(uncategorized)_ Correct clippy errors introduced by rust 1.86.0 update
by @j-g00da in [#1755](https://github.com/ratatui/ratatui/pull/1755)

  > New version of rust (1.86.0) caused CI to fail.

-
[4eac5b2](4eac5b2849)
_(uncategorized)_ Make deprecation notes more helpful by @joshka in
[#1702](https://github.com/ratatui/ratatui/pull/1702)

> AI coding assistants use the deprecation notes to automatically
suggest
> fixes. This commit updates the deprecation notes to push those tools
to
  > suggest the correct replacement methods and types.
  >
> Specifically, AI tools often suggest using `Buffer::get(x, y)`,
because
  > of their training data where this was prevalent. When fixing these
> deprecations, they often incorrectly suggest using `Buffer::get(x, y)`
  > instead of `Buffer[(x, y)]`.

-
[35a8642](35a86427ab)
_(uncategorized)_ `Rect::positions()` should be empty when width is 0
and height is nonzero by @jwodder in
[#1669](https://github.com/ratatui/ratatui/pull/1669)

  > Fixes #1666.

-
[f5fc819](f5fc8197ff)
_(uncategorized)_ Avoid extra line break on whitespace only lines when
wrapping paragraphs by @dotdash in
[#1636](https://github.com/ratatui/ratatui/pull/1636)

  > Currently whitespace only lines produces an extra line break when
  > trimming is disabled, because both the trimmed as well as the
  > non-trimmed line get inserted. Fix this by only inserting the
  > non-trimmed one.

-
[2892bdd](2892bddce6)
_(uncategorized)_ Rust 1.83 clippy lints by @joshka in
[#1527](https://github.com/ratatui/ratatui/pull/1527)

>
https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes

-
[36e2d1b](36e2d1bda1)
_(uncategorized)_ Add feature(doc_cfg) when generating docs by @joshka
in [#1506](https://github.com/ratatui/ratatui/pull/1506)

-
[4d7704f](4d7704fba5)
_(uncategorized)_ Make StatefulWidget and Ref work with unsized State by
@thscharler in [#1505](https://github.com/ratatui/ratatui/pull/1505)

  > StatefulWidget::State and StatefulWidgetRef::State are now ?Sized.
  >
> This allows implementations of the traits to use unsized types for the
  > State associated type. This is turn is useful when doing things like
  > boxing different stateful widget types with State which implements
  > `Any`, are slices or any other dynamically sized type.

-
[7b87509](7b875091e1)
_(uncategorized)_ Typo by @marcoieni in
[#1480](https://github.com/ratatui/ratatui/pull/1480)

### Refactor

-
[8d60e96](8d60e96b2b)
_(examples)_ Use crossterm event methods by @joshka in
[#1792](https://github.com/ratatui/ratatui/pull/1792)

> Crossterm 0.29 introduced methods to easily check / extract the event
  > type. E.g. as_key_press_event() and is_key_press(). This commit
  > updates the examples to use these methods instead of matching on
  > the event type. This makes the code cleaner and easier to read.
  >
> Also does a general cleanup of the event handling code in the
examples.

-
[07bec55](07bec55b7d)
_(no_std)_ Make usages of std explicit in ratatui-core. by @ed-2100 in
[#1782](https://github.com/ratatui/ratatui/pull/1782)

  > ### This commit does the following:
  >
  > - Adds `#[no_std]` to `lib.rs`.
  > - Adds `extern crate std;` to `lib.rs`.
> - Updates `ratatui-core` to explicitly `use` items from std and alloc.
  > - Prefers `use`-ing alloc over std when possible.
  >
  > ### Explanation:
  >
> This allows usages of `std` in `ratatui-core` to be clearly pointed
out
  > and dealt with individually.
  >
  > Eventually, when `std` is to be feature gated, the associated commit
  > will be much cleaner.

-
[f132fa1](f132fa1715)
_(table)_ Small readability improvements by @joshka in
[#1510](https://github.com/ratatui/ratatui/pull/1510)

-
[02e53de](02e53de0f8)
_(uncategorized)_ Make use of iter::repeat_n() by @cgzones in
[#1788](https://github.com/ratatui/ratatui/pull/1788)

  > Applied via clippy --fix.
  > Available since 1.82.0.

-
[a195d59](a195d59a47)
_(uncategorized)_ Move xtask commands to small modules by @joshka in
[#1620](https://github.com/ratatui/ratatui/pull/1620)

-
[904b0aa](904b0aa723)
_(uncategorized)_ Move symbols to modules by @joshka in
[#1594](https://github.com/ratatui/ratatui/pull/1594)

-
[7c8573f](7c8573f575)
_(uncategorized)_ Rearrange selection_spacing code by @raylu in
[#1540](https://github.com/ratatui/ratatui/pull/1540)

-
[217c57c](217c57cd60)
_(uncategorized)_ Modularize backends by @orhun in
[#1508](https://github.com/ratatui/ratatui/pull/1508)

> Backend code is now moved to `ratatui-crossterm`, `ratatui-termion`
and
> `ratatui-termwiz`. This should be backwards compatible with existing
code.

-
[e461b72](e461b724a6)
_(uncategorized)_ Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479](https://github.com/ratatui/ratatui/pull/1479)

> This is a preparatory refactoring for modularization. No user visible
  > changes.

### Documentation

-
[40e96a2](40e96a2a04)
_(block)_ Add collapsed border example by @joshka in
[#1899](https://github.com/ratatui/ratatui/pull/1899)

-
[d291042](d291042e69)
_(block)_ Revise the block example by @orhun in
[#1520](https://github.com/ratatui/ratatui/pull/1520)

  > - Moves the block example from `ratatui` to `ratatui-widgets`
  > - Simplifies the example (bordered, styled, custom borders)
  >
  > see #1512

-
[0951da5](0951da52f9)
_(breaking-changes)_ Improve migration guide for `Backend::Error` by
@j-g00da in [#1908](https://github.com/ratatui/ratatui/pull/1908)

  > Related:https://github.com/fujiapple852/trippy/pull/1588

-
[bbe1cf9](bbe1cf9497)
_(breaking-changes)_ Change MSRV to 1.85 by @j-g00da in
[#1896](https://github.com/ratatui/ratatui/pull/1896)

> The minimum supported Rust version is now for `ratatui` v0.30 is 1.85

-
[c7912f3](c7912f3990)
_(breaking-changes)_ Fix header level by @j-g00da in
[#1825](https://github.com/ratatui/ratatui/pull/1825)

-
[eb24938](eb249382c9)
_(changelog)_ Add note to ratatui-macros' changelog

-
[fcde9cb](fcde9cb9c3)
_(changelog)_ Fix typo by @orhun in
[#1463](https://github.com/ratatui/ratatui/pull/1463)

-
[73488ab](73488abb45)
_(contributing)_ Fix link to `widgets_block_renders` test by @ognis1205
in [#2101](https://github.com/ratatui/ratatui/pull/2101)

  > The `CONTRIBUTING.md` referenced `tests/widgets_block.rs`, but the
> correct path is `ratatui/tests/widgets_block.rs`. Updated the link so
  > that readers can navigate to the test example without 404 error.
  >
  > ***

-
[0b025db](0b025db72b)
_(contributing)_ Fix grammar by @j-g00da in
[#1958](https://github.com/ratatui/ratatui/pull/1958)

-
[1197b2a](1197b2a02c)
_(contributing)_ Add note about using nightly for formatting by @joshka
in [#1816](https://github.com/ratatui/ratatui/pull/1816)

-
[3ae6bf1](3ae6bf1d6f)
_(contributing)_ Use cargo-xtask for instructions by @orhun in
[#1509](https://github.com/ratatui/ratatui/pull/1509)

  > - Updates `CONTRIBUTING.md` about the usage of `xtask`
  > - Removes `Makefile.toml`

-
[22e3e84](22e3e84de8)
_(core)_ Remove link to Paragraph widget by @orhun in
[#1683](https://github.com/ratatui/ratatui/pull/1683)

-
[200b217](200b217722)
_(examples)_ Add VHS tapes and docs for widget examples by @orhun in
[#2114](https://github.com/ratatui/ratatui/pull/2114)

  > fixes #1982
  >
> Later on I'll figure out an easy way to regenerate this in the CI and
  > possibly do the same for the app examples' VHS tapes. That's why I
  > haven't added a script or mentioned anything in the docs yet (hint:
  > #1721)
  >
  > ***

-
[861fbdf](861fbdf5cf)
_(examples)_ Fix a typo by @j-g00da in
[#1890](https://github.com/ratatui/ratatui/pull/1890)

  > Makes CI typos check pass again

-
[882cc3c](882cc3c6c6)
_(examples)_ Update app examples with tapes by @orhun in
[#1673](https://github.com/ratatui/ratatui/pull/1673)

-
[4393fae](4393fae54c)
_(examples)_ Move scrollbar example to examples folder by @orhun in
[#1665](https://github.com/ratatui/ratatui/pull/1665)

-
[9ea70e2](9ea70e28c6)
_(examples)_ Move widget-impl example to examples folder by @orhun in
[#1663](https://github.com/ratatui/ratatui/pull/1663)

-
[774ab78](774ab788d4)
_(examples)_ Move widget-ref-container example to examples folder by
@orhun in [#1664](https://github.com/ratatui/ratatui/pull/1664)

  > see #1512

-
[910d16e](910d16e63a)
_(examples)_ Move user-input example to examples folder by @orhun in
[#1659](https://github.com/ratatui/ratatui/pull/1659)

-
[dbfb7da](dbfb7da9e3)
_(examples)_ Move table example to examples folder by @orhun in
[#1657](https://github.com/ratatui/ratatui/pull/1657)

-
[cb2a58a](cb2a58aaa0)
_(examples)_ Move tracing example to examples folder by @orhun in
[#1658](https://github.com/ratatui/ratatui/pull/1658)

-
[7e00b64](7e00b646fc)
_(examples)_ Move panic example to examples folder by @orhun in
[#1655](https://github.com/ratatui/ratatui/pull/1655)

-
[8127590](8127590812)
_(examples)_ Move modifiers example to examples folder by @orhun in
[#1654](https://github.com/ratatui/ratatui/pull/1654)

-
[7c40c0b](7c40c0bbdd)
_(examples)_ Move popup example to examples folder by @orhun in
[#1656](https://github.com/ratatui/ratatui/pull/1656)

  > see #1512

-
[d87354f](d87354f400)
_(examples)_ Move list example to examples folder by @orhun in
[#1653](https://github.com/ratatui/ratatui/pull/1653)

  > see #1512
  >
  > also renames it to todo-list

-
[621226f](621226f2e2)
_(examples)_ Move inline example to examples folder by @orhun in
[#1651](https://github.com/ratatui/ratatui/pull/1651)

-
[9ba7d25](9ba7d25b71)
_(examples)_ Move hyperlink example to examples folder by @orhun in
[#1650](https://github.com/ratatui/ratatui/pull/1650)

-
[bb94d1c](bb94d1c0fa)
_(examples)_ Move minimal example to examples folder by @orhun in
[#1649](https://github.com/ratatui/ratatui/pull/1649)

-
[9f399ac](9f399ac7a6)
_(examples)_ Move gauge example to examples folder by @orhun in
[#1646](https://github.com/ratatui/ratatui/pull/1646)

-
[104d6a6](104d6a6c2b)
_(examples)_ Move custom-widget example to examples folder by @orhun in
[#1644](https://github.com/ratatui/ratatui/pull/1644)

-
[fa8ca01](fa8ca0121a)
_(examples)_ Move flex example to examples folder by @orhun in
[#1642](https://github.com/ratatui/ratatui/pull/1642)

-
[f5fde0e](f5fde0ef53)
_(examples)_ Move constraints example to examples folder by @orhun in
[#1641](https://github.com/ratatui/ratatui/pull/1641)

-
[fc70288](fc70288954)
_(examples)_ Move constraint-explorer example to examples folder by
@orhun in [#1640](https://github.com/ratatui/ratatui/pull/1640)

-
[325f961](325f96102a)
_(examples)_ Move hello-world example to examples folder by @orhun in
[#1647](https://github.com/ratatui/ratatui/pull/1647)

-
[867c4bc](867c4bc4e9)
_(examples)_ Move colors-rgb example to examples folder by @joshka in
[#1582](https://github.com/ratatui/ratatui/pull/1582)

  > - **docs: move colors-rgb example to examples folder**
  > - **docs: update main examples README**
  >
  > ***

-
[72334ed](72334ed61c)
_(layout)_ Update documentation to point to `kasuari` solver by @a-kenji
in [#2003](https://github.com/ratatui/ratatui/pull/2003)

-
[2be9ccb](2be9ccb120)
_(layout)_ Remove unnecessary path prefix by @j-g00da in
[#1766](https://github.com/ratatui/ratatui/pull/1766)

-
[b669ceb](b669cebcaf)
_(layout)_ Change `cassowary` to `kasuari` crate reference by @j-g00da
in [#1765](https://github.com/ratatui/ratatui/pull/1765)

-
[f907c74](f907c74bb3)
_(license)_ Update copyright years by @LVivona in
[#1639](https://github.com/ratatui/ratatui/pull/1639)

  > Update MIT Licence to copyright year 2025

-
[68b9f67](68b9f67f59)
_(readme)_ Add `Built with Ratatui` badge for downstream projects by
@harilvfs in [#1905](https://github.com/ratatui/ratatui/pull/1905)

-
[088aac1](088aac136d)
_(readme)_ Tweak links and badges by @joshka in
[#1598](https://github.com/ratatui/ratatui/pull/1598)

-
[6e43672](6e436725e4)
_(readme)_ Reimagine README.md by @orhun in
[#1569](https://github.com/ratatui/ratatui/pull/1569)

> This is the result of the re-imagination of a more suitable README.md.
It
  > is simpler and shorter: not giving more information to the user than
  > they actually need.
  >
> Also updates the quickstart code with the up-to-date version and adds
  > link to templates which was missing.
  >
  > ***

-
[8f28247](8f282473b2)
_(readme)_ Correct examples links by @HoKim98 in
[#1484](https://github.com/ratatui/ratatui/pull/1484)

-
[9f90f74](9f90f7495f)
_(readme)_ Fix broken link by @nilsmartel in
[#1485](https://github.com/ratatui/ratatui/pull/1485)

-
[260af68](260af68a34)
_(readme)_ Include iocraft as an alternative by @kdheepak in
[#1483](https://github.com/ratatui/ratatui/pull/1483)

-
[8e5151f](8e5151f83d)
_(rect)_ Fix typo in the Rect::outer function comments by @orhun in
[#2123](https://github.com/ratatui/ratatui/pull/2123)

-
[40f13c6](40f13c6a6c)
_(rect)_ Update the outdated comment for Rect::area() by @eqsdxr in
[#2100](https://github.com/ratatui/ratatui/pull/2100)

> The return value of Rect.area() is no longer of u16 type, and the
value
  > is not being clumped anymore.

-
[ce16692](ce16692b9a)
_(release)_ Fix typo by @j-g00da in
[#1754](https://github.com/ratatui/ratatui/pull/1754)

-
[9a930a6](9a930a6e99)
_(terminal)_ Made usage of Terminal::get_frame() clearer by @Blaeriz in
[#2071](https://github.com/ratatui/ratatui/pull/2071)

  > Closes : https://github.com/ratatui/ratatui/issues/1200
  >
  > ***

-
[b08b4cb](b08b4cbd5e)
_(terminal)_ Add disclaimer about panics to Terminal::new by
@lolbinarycat in [#2088](https://github.com/ratatui/ratatui/pull/2088)

  > part of #2087
  >
  > cc @orhun
  >
  > ***

-
[dafb716](dafb716f9d)
_(widgets)_ Add example for grouped barchart by @orhun in
[#1566](https://github.com/ratatui/ratatui/pull/1566)

  > related #1512
  >
  > ***

-
[ed5dd73](ed5dd73084)
_(widgets)_ Add example for tabs by @orhun in
[#1559](https://github.com/ratatui/ratatui/pull/1559)

  > related #1512
  >
> Also removes the tabs example from ratatui crate since it overlaps
with
> this new example in terms of functionality and it was not following
the
  > general theme of other examples.

-
[fab5321](fab532171d)
_(widgets)_ Add example for scrollbar by @orhun in
[#1545](https://github.com/ratatui/ratatui/pull/1545)

  > Related to: #1512

-
[898aef6](898aef6e2f)
_(widgets)_ Add example for list by @orhun in
[#1542](https://github.com/ratatui/ratatui/pull/1542)

  > Related to: #1512

-
[452366a](452366aa9e)
_(widgets)_ Add example for sparkline by @orhun in
[#1556](https://github.com/ratatui/ratatui/pull/1556)

  > related #1512
  >
> Also removes the sparkline example from ratatui crate since this
example
  > is a simplified and easier to understand version of that

-
[6ddde0e](6ddde0e8a8)
_(widgets)_ Add example for table by @orhun in
[#1557](https://github.com/ratatui/ratatui/pull/1557)

  > related #1512

-
[93ad6b8](93ad6b828c)
_(widgets)_ Update values in chart example by @orhun in
[#1558](https://github.com/ratatui/ratatui/pull/1558)

  > better stonks

-
[15f442a](15f442a71e)
_(widgets)_ Add example for paragraph by @orhun in
[#1544](https://github.com/ratatui/ratatui/pull/1544)

  > related #1512
  >
> Also removes the paragraph example from `ratatui` since these examples
  > are more or less the same.

-
[17bba14](17bba14540)
_(widgets)_ Move the logo example to widgets by @orhun in
[#1543](https://github.com/ratatui/ratatui/pull/1543)

  > related #1512
  >
  > Also updates the code to make it consistent with the other examples

-
[f2451e7](f2451e7f1e)
_(widgets)_ Add example for gauge by @orhun in
[#1539](https://github.com/ratatui/ratatui/pull/1539)

  > related #1512

-
[4f0a8b2](4f0a8b21af)
_(widgets)_ Add example for canvas by @orhun in
[#1533](https://github.com/ratatui/ratatui/pull/1533)

  > related #1512

-
[91147c4](91147c4d75)
_(widgets)_ Add example for chart by @orhun in
[#1536](https://github.com/ratatui/ratatui/pull/1536)

  > stonks

-
[6dd25a3](6dd25a3111)
_(widgets)_ Add example for calendar by @orhun in
[#1532](https://github.com/ratatui/ratatui/pull/1532)

  > related #1512

-
[99ac005](99ac005b06)
_(widgets)_ Add simple barchart example by @joshka in
[#1511](https://github.com/ratatui/ratatui/pull/1511)

-
[f8b0594](f8b0594363)
_(uncategorized)_ Fix: fix typos by @j-g00da in
[#2129](https://github.com/ratatui/ratatui/pull/2129)

  > This fixes the pipeline after bumping typos.

-
[9998000](9998000e36)
_(uncategorized)_ Use shields.io badge by @LitoMore in
[#2040](https://github.com/ratatui/ratatui/pull/2040)

  > Related to:
  >
  > - https://github.com/simple-icons/simple-icons/pull/13593
  > - https://github.com/ratatui/ratatui/pull/1967
  >
  > The Ratatui icon is available on shields.io now ✌️
  >
  > And it's customizable. There are more configurations at
  > https://shields.io/badges.
  >
  > Here are some examples:
  >
  > ```markdown
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff)
>
![](https://img.shields.io/badge/Ratatui-fff?logo=ratatui&logoColor=000)
>
![](https://img.shields.io/badge/Built_With-Ratatui-000?logo=ratatui&logoColor=fff&labelColor=000&color=fff)
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff&style=flat-square)
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff&style=for-the-badge)
  > ```
  >
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff)
>
![](https://img.shields.io/badge/Ratatui-fff?logo=ratatui&logoColor=000)
  >
>
![](https://img.shields.io/badge/Built_With-Ratatui-000?logo=ratatui&logoColor=fff&labelColor=000&color=fff)
  >
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff&style=flat-square)
  >
>
![](https://img.shields.io/badge/Ratatui-000?logo=ratatui&logoColor=fff&style=for-the-badge)
  >
> I also created a PR to the ratatui-website project to update the
badge.
  > Here is the PR:
  >
  > - https://github.com/ratatui/ratatui-website/pull/924

-
[71ef65b](71ef65b624)
_(uncategorized)_ Add section on collaborative development to
contributing doc by @joshka in
[#2029](https://github.com/ratatui/ratatui/pull/2029)

-
[cba5cca](cba5cca2bd)
_(uncategorized)_ Update heading image for Ratatui 0.30.0 release 🎉 by
@j-g00da in [#2000](https://github.com/ratatui/ratatui/pull/2000)

-
[9836f07](9836f0760d)
_(uncategorized)_ Add AI contribution guidelines by @joshka in
[#2013](https://github.com/ratatui/ratatui/pull/2013)

-
[98f85b8](98f85b8650)
_(uncategorized)_ Update link to scrollable widgets RFC by @MatrixFrog
in [#1994](https://github.com/ratatui/ratatui/pull/1994)

-
[055522e](055522ef7b)
_(uncategorized)_ Add docs for authoring widget crates by @j-g00da in
[#1955](https://github.com/ratatui/ratatui/pull/1955)

  > - added Authoring Widget Libraries sub-section
  > - moved built-in and third-party widgets sections higher

-
[617d318](617d31851a)
_(uncategorized)_ Improve Block docs by @joshka in
[#1953](https://github.com/ratatui/ratatui/pull/1953)

-
[8e2d568](8e2d568428)
_(uncategorized)_ Improve layout related docs by @joshka in
[#1948](https://github.com/ratatui/ratatui/pull/1948)

> Adds module level docs and more comprehensive docs on all the types in
  > the layout module
  >
  > Fixes #1937

-
[4c708dd](4c708ddf8a)
_(uncategorized)_ Improve docs for run/init/restore etc. by @joshka in
[#1947](https://github.com/ratatui/ratatui/pull/1947)

  > - **docs: document the init module**
  > - **docs: use the ratatui::run() methods in the main doc**
> - **docs: add more intradoc / website links and historical perspective
  >   on Terminal / backend**
  > - **docs: add notes about new run/init/restore methods and the
  >   defaultterminal type to terminal docs**

-
[5620e06](5620e06b1a)
_(uncategorized)_ Add crate organization sections to workspace by
@joshka in [#1946](https://github.com/ratatui/ratatui/pull/1946)

  > Adds summary-level crate organization documentation to all crates
> explaining the modular workspace structure and when to use each crate.
  > Links to ARCHITECTURE.md for detailed information.

-
[cfb65e6](cfb65e64ba)
_(uncategorized)_ Add examples for handling state by @joshka in
[#1849](https://github.com/ratatui/ratatui/pull/1849)

> Added comprehensive state management examples covering both immutable
  > and mutable patterns and documentation to help developers choose the
  > right approach for their applications.

-
[3de41a8](3de41a8249)
_(uncategorized)_ Document widgets module by @joshka in
[#1932](https://github.com/ratatui/ratatui/pull/1932)

  > Adds a good overview of the use and implementation of widget traits.
  >
  > Goals with the doc rewrite:
  >
> - document the rationale for the ratatui-widgets crate with info for
app
  >   builders and widget makers.
  > - Show how to use the widgets for rendering as well as implement the
  >   traits- document the differences and reasons for each trait
  > - document the historical perspective (to make it easy to understand
  >   older Ratatui apps as well as migrate to newer approaches
  > - give recommended approaches to implementing traits
  > - explain the differences between Consuming and Shared / Mutable
  >   Reference implementations of Widget
  > - explain the differences between using StatefulWidget and Mutable
  >   References
  > - Explain the use case for WidgetRef and StatefulWidgetRef
  > - Link out to third part widget lists
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/366
  >
  > ***

-
[ca2ad4a](ca2ad4a1f9)
_(uncategorized)_ Simplify ratatui-macro docs by @joshka in
[#1923](https://github.com/ratatui/ratatui/pull/1923)

-
[92b6a16](92b6a16bde)
_(uncategorized)_ Fix grammar in ratatui-widgets README by @sevki in
[#1885](https://github.com/ratatui/ratatui/pull/1885)

-
[da05957](da05957fa0)
_(uncategorized)_ Add widget-ref-container example by @joshka in
[#1603](https://github.com/ratatui/ratatui/pull/1603)

  > Implements ideas alluded to by
>
<https://discord.com/channels/1070692720437383208/1072907135664529508/1323061053990637640>
  > and followup conversations.

-
[1798512](1798512e94)
_(uncategorized)_ Fix wording in user_input example by @dawedawe in
[#1611](https://github.com/ratatui/ratatui/pull/1611)

  > Fix wording in `user_input.rs` example.

-
[03066d8](03066d81bf)
_(uncategorized)_ Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583](https://github.com/ratatui/ratatui/pull/1583)

  > Fix end of sentence punctuation in canvas.rs docs.

-
[e411d9e](e411d9ec3e)
_(uncategorized)_ Add input form example by @joshka in
[#1551](https://github.com/ratatui/ratatui/pull/1551)

  > Demonstrates how to manage the cursor and input focus with a simple
  > form. Uses an enum to track the current input field and passes the
  > input events to the active field.
  >
> This is similar to the json tutorial on the website, but a bit simpler

-
[ed071f3](ed071f3723)
_(uncategorized)_ Add mouse-drawing example by @joshka in
[#1546](https://github.com/ratatui/ratatui/pull/1546)

  > Demonstrates how to handle mouse events

-
[46902f5](46902f5587)
_(uncategorized)_ Improve docs for workspace crates by @orhun in
[#1490](https://github.com/ratatui/ratatui/pull/1490)

> Overall makes improvements in the documentation of the workspace
crates and checking them.

-
[a6b5792](a6b579223f)
_(uncategorized)_ Fix example link in readme by @thomas-tacquet in
[#1462](https://github.com/ratatui/ratatui/pull/1462)

### Performance

-
[1f41a61](1f41a61008)
_(paragraph)_ Avoid unnecessary work when rendering by @alexpasmantier
in [#1622](https://github.com/ratatui/ratatui/pull/1622)

  > Improve render times for paragraphs that are scrolled.
  >
> Currently all `LineComposer`s are considered to be state machines
which
> means rendering a paragraph with a given Y offset requires computing
the
  > entire state up to Y before being able to render from Y onwards.
  >
> While this makes sense for Composers such as the `WordWrapper` (where
> one needs to consider all previous lines to determine where a given
line
> will end up), it means it also penalizes Composers which can render a
> given line "statelessely" (such as the `LineTruncator`) which actually
> end up doing a lot of unnecessary work (and on the critical rendering
  > path) when the offset gets high.

-
[ba9eed7](ba9eed7742)
_(table)_ Replace while loop with simple min operation by @EdJoPaTo in
[#1747](https://github.com/ratatui/ratatui/pull/1747)

### Styling

-
[ac60de3](ac60de3960)
_(uncategorized)_ Fix wrapping in doc comment by @joshka in
[#2104](https://github.com/ratatui/ratatui/pull/2104)

-
[2739391](2739391950)
_(uncategorized)_ Use Module imports_granularity by @joshka in
[#1728](https://github.com/ratatui/ratatui/pull/1728)

> I was swayed by the arguments about this made by the compiler team In
> <https://github.com/rust-lang/compiler-team/issues/750> and decided to
> look at how this organization affects ratatui. I found this reduces
the
> number of lines across the codebase by about 350 and makes the imports
  > more readable and definitely more greppable as you usually only have
> to read a single line. I've found in the past that maintaining imports
  > regularly leads to merge conflicts which have to be resolved by hand
  > and this change should reduce the likelihood of that happening.
  >
  > Main change is in rustfmt.toml, and the rest is just the result of
  > running `cargo xtask format`.
  >
  > While implementing this, cargo machete brings up that the various
  > backend crates are unused by the example crates.
  >
> The re-export of each backend crate under ratatui is to make it
possible
  > for libs that rely on a specific version of ratatui to use the same
  > version of the backend crate. Apps in general should use the backend
> crate directly rather than through ratatui as this is less confusing.
  >
> - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in
the
  >   examples.
> - Adds the backend crate to the dependencies of the examples that use
  >   the backend crate directly.

### Testing

-
[db65aa0](db65aa0ef7)
_(bench)_ Add benchmark for text by @orhun in
[#2160](https://github.com/ratatui/ratatui/pull/2160)

  > #2138
  >
  > ***

-
[a21501f](a21501f7f4)
_(bench)_ Added a benchmark for constraints by @kashregister in
[#2043](https://github.com/ratatui/ratatui/pull/2043)

  > I've added a new benchmark for constraints, which only takes into
> account the time it takes to generate a full layout using a single
type
  > of constraints only. Avoided rendering here as it resulted in more
> inaccurate benchmarks, and i believe it should be separated
nonetheless.

-
[39cd313](39cd313b3b)
_(layout)_ Add visual buffer tests for Rect methods by @orhun in
[#2124](https://github.com/ratatui/ratatui/pull/2124)

-
[8aefc06](8aefc06a90)
_(macros)_ Regenerate trybuild stderr by @ognis1205 in
[#2093](https://github.com/ratatui/ratatui/pull/2093)

  > ### Overview
  >
  > Updated the `.stderr` file corresponding to the
  > `ratatui-macros/tests/ui/fails.rs` compile-fail test.
  >
  > ### Changes
  >
  > - Updated `tests/ui/fails.stderr` to match the new compiler output.
  >
  > ### Impact
  >
  > - Affects only the trybuild UI tests
  > - No impact on production code
  >
  > ### Notes
  >
  > - The `.stderr` was generated using `TRYBUILD=overwrite cargo test`.
  >
  > Closes https://github.com/ratatui/ratatui/issues/2094

-
[deb1b8e](deb1b8ec43)
_(uncategorized)_ Ensure Style::new() and Style::default() are
equivalent by @cgzones in
[#1789](https://github.com/ratatui/ratatui/pull/1789)

### Miscellaneous Tasks

-
[abe2f27](abe2f27328)
_(backend)_ Change From<T> impls to new backend specific IntoBackend and
FromBackend traits by @joshka in
[#1464](https://github.com/ratatui/ratatui/pull/1464) [**breaking**]

  > Adds two traits `IntoCrossterm` and `FromCrossterm` for converting
> between ratatui and crossterm types. This is necessary in order to
avoid
> the orphan rule when implementing `From` for crossterm types once the
  > crossterm types are moved to a separate crate.
  >
> Similarly Termwiz and Termwiz gain FromTermion, IntoTermion,
FromTermwiz
  > and IntoTermwiz traits.
  >
> BREAKING CHANGE:The `From` and `Into` impls for backend types are now
  > replaced
  > with specific backend traits.
  >
  > ```diff
  > + use ratatui::backend::{FromCrossterm, IntoCrossterm};
  >
  > let crossterm_color = crossterm::style::Color::Black;
  > - let ratatui_color = crossterm_color.into();
  > - let ratatui_color = ratatui::style::Color::from(crossterm_color);
> + let ratatui_color =
ratatui::style::Color::from_crossterm(crossterm_color);
  > - let crossterm_color = ratatui_color.into();
> - let crossterm_color = crossterm::style::Color::from(ratatui_color);
  > + let crossterm_color = ratatui_color.into_crossterm();
  >
  > let crossterm_attribute = crossterm::style::types::Attribute::Bold;
  > - let ratatui_modifier = crossterm_attribute.into();
> - let ratatui_modifier =
ratatui::style::Modifier::from(crossterm_attribute);
> + let ratatui_modifier =
ratatui::style::Modifier::from_crossterm(crossterm_attribute);
  > - let crossterm_attribute = ratatui_modifier.into();
> - let crossterm_attribute =
crossterm::style::types::Attribute::from(ratatui_modifier);
  > + let crossterm_attribute = ratatui_modifier.into_crossterm();
  > ```
  >
> Similar conversions for `ContentStyle` -> `Style` and `Attributes` ->
  > `Modifier` exist for Crossterm,
  > and all the Termion and Termwiz types.
  >
  > ***

-
[0a47ebd](0a47ebd94b)
_(bencher)_ Update bencher CLI usage by @epompeii in
[#1470](https://github.com/ratatui/ratatui/pull/1470)

-
[b46778d](b46778dd1d)
_(breaking-changes)_ Add details to `no_std`-related breaking changes by
@j-g00da in [#1828](https://github.com/ratatui/ratatui/pull/1828)

  > Some corrections and added details to BREAKING-CHANGES.md.
  >
  > I decided to remove:
  >
  > - `Backend` now uses `Self::Error` for error handling instead of
  >   `std::io::Error`
  > - `Terminal<B>` now uses `B::Error` for error handling instead of
  >   `std::io::Error`
  >
> ...as we are still using `std::io::Error` in built-in backends, so
this
> will only be breaking if a third-party backend decides to use a custom
> error other than `std::io::Error`, which would be a breaking change in
  > downstream and not `ratatui`.
  >
  > The exception to that is `TestBackend`, which uses `Infallible`, but
  > this already has its own breaking changes entry.

-
[a0979d6](a0979d6871)
_(build)_ Remove cargo lint by @joshka in
[#1549](https://github.com/ratatui/ratatui/pull/1549)

  > Duplicate crate lint is too noisy and sensitive to upstream changes

-
[ae43ea7](ae43ea796a)
_(cell)_ Use Option instead of space (" ") for symbol by @joshka

> This change makes the `Cell::symbol` field an `Option<CompactString>`,
  > allowing it to represent an empty cell as `None` instead of an empty
  > string. The rationale for this is to later allow the merge symbol
> functionality to act differently based on whether a cell has
previously
> held a symbol or not, rather than always merging with an empty string.
> This will help make it possible to merge borders with titles with
spaces
  > and other symbols, without assuming that an empty string is always
  > equivalent to no symbol.
  >
  > - Default is now derived as `Option::None` works correctly.
> - PartialEq and Eq implementations are updated to treat `None` the
same
  >   as an empty string.
  > - merge_symbol against an empty cell will now just set the symbol
  >   rather than calling MergeStrategy::merge with an empty string.
  > - PartialEq, and Hash are manually implemented instead of being
  >   derived, and are updated to treat `None` equal to an empty string.

-
[887a636](887a6366e5)
_(ci)_ Override RUSTUP_TOOLCHAIN for the check step by @ognis1205 in
[#2116](https://github.com/ratatui/ratatui/pull/2116)

  > Summary
  > Fixes an issue where the "check" CI jobs for MSRV and stable were
> unintentionally using the stable toolchain from `rust-toolchain.toml`
  > instead of the matrix-specified toolchain.
  >
  > Details
  >
> - Added `RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}` to the "check" job
  >   in CI configuration.
  >
  > Additional Context
  >
  > - https://github.com/ratatui/ratatui/pull/2106
> -
https://discord.com/channels/1070692720437383208/1072879985762762812/1422345357131780177
  > - https://rust-lang.github.io/rustup/overrides.html#overrides

-
[34baaf1](34baaf1137)
_(ci)_ Override the toolchain for CI runs by @ognis1205 in
[#2106](https://github.com/ratatui/ratatui/pull/2106)

  > ### Summary
  >
  > Fixes an issue where the beta CI jobs were unintentionally using the
  > stable
  > toolchain from `rust-toolchain.toml` instead of the matrix-specified
  > toolchain.
  > This caused clippy to run against the wrong version.
  >
  > ### Details
  >
  > - Added `RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}` to the CI
  >   configuration
  >
  > ### Additional Context
  >
> -
https://discord.com/channels/1070692720437383208/1072879985762762812/1421990770482745415
  > - https://rust-lang.github.io/rustup/overrides.html#overrides

-
[e48aa9e](e48aa9ec09)
_(ci)_ Stop publish-alpha from running on forks by @j-g00da in
[#1916](https://github.com/ratatui/ratatui/pull/1916)

> I can't sleep because every Saturday alpha release fails on my ratatui
  > fork. This should fix my insomnia.

-
[b3f3c9b](b3f3c9bfd5)
_(ci)_ Disable running release-plz on forked repositories by @orhun in
[#1730](https://github.com/ratatui/ratatui/pull/1730)

  > See https://github.com/jdssl/ratatui/pull/1#issuecomment-2739366609

-
[eaa4038](eaa403856e)
_(ci)_ Install pre-built binaries for cargo-rdme by @orhun in
[#1477](https://github.com/ratatui/ratatui/pull/1477)

> `install-action` uses `cargo-binstall` to install the pre-built
binaries
  > of `cargo-rdme` (which was released in
  > https://github.com/orium/cargo-rdme/releases/tag/v1.4.7).
  >
> This will make the `check-readme` step faster in CI (now takes only 10
  > seconds).

-
[e5e2316](e5e2316451)
_(ci)_ Add check for keeping README.md up-to-date by @orhun in
[#1473](https://github.com/ratatui/ratatui/pull/1473)

-
[2ef3583](2ef3583eff)
_(ci)_ Replace cargo-make with a custom cargo-xtask by @joshka in
[#1461](https://github.com/ratatui/ratatui/pull/1461)

> This removes the need for cargo-make and replaces it with a custom
xtask
  > binary. See <https://github.com/matklad/cargo-xtask> for info.
  >
  > Rearranges the CI workflow to use the new xtask and simplify which
  > workflows that run.
  >
  > ***

-
[98df774](98df774d7f)
_(core)_ Move core types to ratatui-core by @joshka in
[#1460](https://github.com/ratatui/ratatui/pull/1460)

> The buffer, layout, style, symbols, text, and the top level of widgets
  > modules are moved to ratatui-core. This is the first step in
  > modularizing the library so that the core types can be used in other
  > projects without the need for the backend / widgets types.
  >
  > This helps reduce the need for updating other crates as often due to
  > semver changes outside of the core types.
  >
  > ***

-
[35eba76](35eba76b4d)
_(example)_ Move demo2 to top level folder by @joshka in
[#1524](https://github.com/ratatui/ratatui/pull/1524)

-
[5f57d35](5f57d35234)
_(examples)_ Add colors explorer demo app by @orhun in
[#1580](https://github.com/ratatui/ratatui/pull/1580)

  > related #1512
  >
  > Moves the colors examples to apps

-
[5c021bf](5c021bf344)
_(examples)_ Add chart demo app by @orhun in
[#1579](https://github.com/ratatui/ratatui/pull/1579)

  > related #1512
  >
  > Moves the chart example to apps

-
[9721300](9721300a47)
_(examples)_ Add canvas demo app by @orhun in
[#1578](https://github.com/ratatui/ratatui/pull/1578)

  > related #1512
  >
> This moves the canvas example to the apps and adds some interactivity
  > via changing the marker by pressing enter.

-
[a6a1368](a6a1368250)
_(examples)_ Add calendar explorer demo app by @orhun in
[#1571](https://github.com/ratatui/ratatui/pull/1571)

  > Related to #1512
  >
  > As discussed, this moves the calendar example from ratatui to app
> examples as an "explorer" example. It also adds interactivity where
you
  > can press s to toggle between different styles of calendars.
  >
  > ***

-
[819e92c](819e92cd44)
_(examples)_ Add weather demo app by @orhun in
[#1567](https://github.com/ratatui/ratatui/pull/1567)

  > related to #1512

-
[b5f7e44](b5f7e44183)
_(examples)_ Move async example to apps by @joshka in
[#1503](https://github.com/ratatui/ratatui/pull/1503)

  > Move async example to examples/apps/async as full project.
  > Simplify a little by removing the need for the github api token.

-
[17316ec](17316ec5d0)
_(github)_ Enable sponsorship button by @orhun in
[#1478](https://github.com/ratatui/ratatui/pull/1478)

-
[d02995f](d02995fda1)
_(gitignore)_ Add `.env` to `.gitignore` by @j-g00da in
[#1949](https://github.com/ratatui/ratatui/pull/1949)

-
[b4a71e5](b4a71e5fd5)
_(lint)_ Add `std` instead of `core`/`alloc` lints to `ratatui-widgets`
by @j-g00da in [#1763](https://github.com/ratatui/ratatui/pull/1763)

  > Resolves #1761

-
[cef617c](cef617cc35)
_(lint)_ Add `std` instead of `core`/`alloc` lints to `ratatui-core` by
@j-g00da in [#1759](https://github.com/ratatui/ratatui/pull/1759)

  > Resolves #1752

-
[d3f01eb](d3f01ebf6e)
_(lint)_ Ensure lint config is correct by @joshka in
[#1528](https://github.com/ratatui/ratatui/pull/1528)

  > - Move lints to workspace manifest
  > - Add lint config to backend crates
  > - Fix one small lint error

-
[9fb0544](9fb054453d)
_(release)_ Initialize release-plz by @orhun in
[#1550](https://github.com/ratatui/ratatui/pull/1550)

  > See https://github.com/ratatui/ratatui/pull/1550

-
[60a8191](60a81913ed)
_(widgets)_ Move crossterm to dev-dependencies by @j-g00da in
[#1834](https://github.com/ratatui/ratatui/pull/1834)

  > Crossterm in widgets is used only in tests.

-
[2b7ec5c](2b7ec5cb7f)
_(widgets)_ Enable calendar widget as default by @orhun in
[#1521](https://github.com/ratatui/ratatui/pull/1521)

  > We now expect that you disable the default features if you want less
  > dependencies

-
[d201b8e](d201b8e5dd)
_(xtask)_ Check lints for only library targets by @orhun in
[#1531](https://github.com/ratatui/ratatui/pull/1531)

  > Makes it possible to filter workspace packages by their targets.
> (e.g. when we want to retrieve all the binary targets / examples,
etc.)

-
[297d264](297d264c6b)
_(uncategorized)_ Update maintainers by @orhun in
[#2122](https://github.com/ratatui/ratatui/pull/2122)

-
[91fa249](91fa249cd4)
_(uncategorized)_ Remove obsolete doc_auto_cfg feature by @ognis1205 in
[#2103](https://github.com/ratatui/ratatui/pull/2103)

  > The doc_auto_cfg feature was incorporated into the doc_cfg feature
  > in https://github.com/rust-lang/rust/pull/138907
  >
  > Closes #2102

-
[46e7c6c](46e7c6cbbf)
_(uncategorized)_ Document rustfmt options by @joshka in
[#2055](https://github.com/ratatui/ratatui/pull/2055)

-
[719badb](719badb5b8)
_(uncategorized)_ Skip `alpha` and `beta` tags in `cliff.toml` by
@j-g00da in [#2026](https://github.com/ratatui/ratatui/pull/2026)

  > https://github.com/ratatui/ratatui/pull/2025#issuecomment-3135177683

-
[0afb1a9](0afb1a99af)
_(uncategorized)_ Ignore `beta` and `rc` tags in `cliff.toml` by
@j-g00da in [#2025](https://github.com/ratatui/ratatui/pull/2025)

-
[5ae224b](5ae224b244)
_(uncategorized)_ Prepare for beta release by @j-g00da in
[#2022](https://github.com/ratatui/ratatui/pull/2022)

-
[cfebd68](cfebd68e18)
_(uncategorized)_ Fix typo in CONTRIBUTING.md by @kdheepak in
[#2001](https://github.com/ratatui/ratatui/pull/2001)

  > Removes a hanging opening code block:
  >
  > ````
  > ```suggestion
  > ````

-
[572749f](572749f388)
_(uncategorized)_ Update contributing guidelines and add
copilot-instructions by @joshka in
[#1998](https://github.com/ratatui/ratatui/pull/1998)

  > See
>
https://docs.github.com/en/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review
  >
> These instructions will be used by copilot when it performs automated
PR
> reviews, and helps provide guardrails for our standards. Over time we
> might grow these to capture any consistent problems that we start
seeing
  > when reviewing.
  >
  > ***

-
[0148b62](0148b62f0c)
_(uncategorized)_ Remove cargo_metadata dep from xtask by @joshka in
[#1993](https://github.com/ratatui/ratatui/pull/1993)

  > Removed due to hard N-2 MSRV requirement, whereas we use a soft N-2
> (only update when necessary). This makes it painful to be able to test
> our actual msrv (as the xtask has to be built with the version that
its
> deps support, while still wanting to check the msrv version, so we'd
end
  > up with 2 versions in the one CI task and this would get annoying to
  > check).
  >
> See https://github.com/rust-lang/cargo/issues/15746 for more details.
  >
> Partially implements #1820 - mainly as a problem solution rather than
a
  > specific goal to use cargo-hack

-
[9bc5739](9bc573931c)
_(uncategorized)_ Remove clap-cargo from xtask by @joshka in
[#1992](https://github.com/ratatui/ratatui/pull/1992)

  > Removed to avoid needing to bump our msrv. See
>
https://github.com/rust-lang/cargo/issues/15746\#issuecomment-3071774343
  > for more details.

-
[0e10170](0e10170e19)
_(uncategorized)_ Change Borders::NONE to a proper const by @joshka in
[#1985](https://github.com/ratatui/ratatui/pull/1985)

  > https://docs.rs/bitflags/latest/bitflags/#zero-bit-flags
  >
  > > Flags with no bits set should be avoided because they interact
  > > strangely with
  >
>
[Flags::contains](https://docs.rs/bitflags/latest/bitflags/trait.Flags.html#method.contains)
  > and
  >
>
[Flags::intersects](https://docs.rs/bitflags/latest/bitflags/trait.Flags.html#method.intersects).
> A zero-bit flag is always contained, but is never intersected. The
names
  > of zero-bit flags can be parsed, but are never formatted.
  >
> Removing this simplifies the manual Debug impl that previously had to
  > check for Borders::NONE and now does not.

-
[8e3bd11](8e3bd11d60)
_(uncategorized)_ Add svg logo asset by @LitoMore in
[#1967](https://github.com/ratatui/ratatui/pull/1967)

> Added a shields.io style svg logo and a nicer version of the original
logo.
> The simplified icon will be added and available directly from
shields.io via:
  >
  > - https://github.com/simple-icons/simple-icons/pull/13593

-
[92bb9b2](92bb9b2219)
_(uncategorized)_ Remove `Title` references by @j-g00da in
[#1943](https://github.com/ratatui/ratatui/pull/1943)

-
[d6647db](d6647db744)
_(uncategorized)_ Remove some allow attributes for fixed clippy bugs by
@joshka in [#1944](https://github.com/ratatui/ratatui/pull/1944)

-
[3f48bde](3f48bde3c6)
_(uncategorized)_ Remove OpenSSL license by @joshka in
[#1942](https://github.com/ratatui/ratatui/pull/1942)

  > Only keep licenses in the allow list that are actually used

-
[4c86513](4c86513790)
_(uncategorized)_ Remove block::Title by @joshka in
[#1926](https://github.com/ratatui/ratatui/pull/1926)

> The title alignment is better expressed in the `Line` as this fits
more
  > coherently with the rest of the library.
  >
  > BREAKING CHANGES:
  >
  > - `widgets::block` is no longer exported
  > - `widgets::block::Title` no longer exists
  > - `widgets::block::Position` is now `widgets::TitlePosition`
> - `Block::title()` now accepts `Into::<Line>` instead of `Into<Title>`
  > - `BlockExt` is now exported at widgets::`BlockExt`
  >
  > Closes:https://github.com/ratatui/ratatui/issues/738

-
[272f5c0](272f5c05dc)
_(uncategorized)_ Fix new lints by @joshka in
[#1922](https://github.com/ratatui/ratatui/pull/1922)

-
[770cb7c](770cb7c3c3)
_(uncategorized)_ Add tests for combining list styles by @joshka in
[#1884](https://github.com/ratatui/ratatui/pull/1884)

-
[dbfb2c3](dbfb2c3399)
_(uncategorized)_ Upgrade to Rust Edition 2024 by @MatrixFrog in
[#1863](https://github.com/ratatui/ratatui/pull/1863)

  > https://doc.rust-lang.org/edition-guide/rust-2024/index.html
  >
  > Fixes #1727

-
[7cb35d4](7cb35d4be1)
_(uncategorized)_ Update to Rust version 1.85.0 by @MatrixFrog in
[#1860](https://github.com/ratatui/ratatui/pull/1860)

  > This is a small step toward fixing #1727

-
[a07f5be](a07f5bec20)
_(uncategorized)_ Move dependency management to workspace by @joshka in
[#1858](https://github.com/ratatui/ratatui/pull/1858)

  > Move all dependency management to the workspace level. This makes it
> easier to manage dependencies across multiple crates in the workspace.
  >
> This also changes the versions of each dependency to track based on
the
> semver compatible version of the dependency (e.g. 0.1 instead of 0.1.0
  > or 2.9 instead of 2.9.0 to avoid having to regularly update the toml
  > files and to communicate that Ratatui will still generally work with
> versions of the dependencies that are not the fully latest version.
The
  > exact version of the dependencies is still tracked in the Cargo.lock
  > file.
  >
> Several dependencies that are fairly stable are changed to track a
less
  > specific version (e.g. serde 1 instead of 1.0.x).
  >
  > The following dependencies are updated to their latest versions:
  >
  > - bitflags (2.3 -> 2.9)
  > - strum (0.26 -> 0.27)
  > - strum_macros (0.26 -> 0.27)
  > - all other semver compatible updates

-
[1874b9d](1874b9dd55)
_(uncategorized)_ Move time to dev-dependencies by @j-g00da in
[#1835](https://github.com/ratatui/ratatui/pull/1835)

-
[d88cd29](d88cd29079)
_(uncategorized)_ Add 'const' to functions where possible. by
@MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802)

> The Clippy check for this (missing_const_for_fn) is already enabled,
but
  > catches more cases in upcoming toolchain versions.
  >
  > This is part of the work to unblock #1727

-
[bb06889](bb068892c9)
_(uncategorized)_ Fix io_other_error clippy lints by @joshka in
[#1756](https://github.com/ratatui/ratatui/pull/1756)

> Pre-emptive fix for new lint to be added in 1.87 (currently in beta).
  >
>
https://rust-lang.github.io/rust-clippy/master/index.html\#io_other_error

-
[0f80c5e](0f80c5e87e)
_(uncategorized)_ Use expect() instead of allow() for lint overrides by
@cgzones in [#1786](https://github.com/ratatui/ratatui/pull/1786)
[**breaking**]

  > BREAKING CHANGE:MSRV is now 1.81

-
[fe8577c](fe8577c070)
_(uncategorized)_ Remove paste dependency by @joshka in
[#1713](https://github.com/ratatui/ratatui/pull/1713)

> The paste crate is no longer maintained. Replaces the usages of this
in
> the Stylize declarative macros with hard coded values. These macros
are
> internal implementation detail to ratatui and so the changes should
have
  > no impact on users.
  >
  > Fixes:https://github.com/ratatui/ratatui/issues/1712

-
[255e466](255e4661a8)
_(uncategorized)_ Cargo update - pull in fixed version of ring crate by
@joshka in [#1710](https://github.com/ratatui/ratatui/pull/1710)

-
[f05feac](f05feac337)
_(uncategorized)_ Sort dependencies in Cargo.toml by @canac in
[#1662](https://github.com/ratatui/ratatui/pull/1662)

-
[7eab88f](7eab88fe9a)
_(uncategorized)_ Remove unused deps by @joshka in
[#1661](https://github.com/ratatui/ratatui/pull/1661)

-
[37a1c6f](37a1c6f89b)
_(uncategorized)_ Remove some examples by @orhun in
[#1645](https://github.com/ratatui/ratatui/pull/1645)

-
[6f21319](6f213191ef)
_(uncategorized)_ Rename examples with clashing names by @joshka in
[#1597](https://github.com/ratatui/ratatui/pull/1597)

> These will eventually be moved / consolidated elsewhere, but this
clears
  > the warnings while building for now.

-
[11cbb2b](11cbb2ba87)
_(uncategorized)_ Use cargo xtask for bacon clippy command by @joshka in
[#1592](https://github.com/ratatui/ratatui/pull/1592)

-
[b544e39](b544e394c9)
_(uncategorized)_ Use clap instead of argh for demo example by @joshka
in [#1591](https://github.com/ratatui/ratatui/pull/1591)

-
[9a54198](9a541981b8)
_(uncategorized)_ Make source files non-executable by @orhun in
[#1577](https://github.com/ratatui/ratatui/pull/1577)

  > ```bash
> find . -type f -not -path './.git/*' -not -name '*.bash' -exec chmod
644 {} +
  > ```
  >
  > fixes #1576

-
[357ae7e](357ae7e251)
_(uncategorized)_ Move terminal types to ratatui-core by @joshka in
[#1530](https://github.com/ratatui/ratatui/pull/1530) [**breaking**]

  > - Move Terminal, TerminalOptions, ViewPort, CompletedFrame, Frame to
  >   ratatui-core crate
> - Move render_widget_ref() and render_stateful_widget_ref() to
extension
  >   trait (FrameExt) due as the Ref types are unstable and kept in the
  >   main lib instead of -core
  > - Fix rustdoc errors / feature config issues
  >
  > BREAKING CHANGE:to call `Frame::render_widget_ref()` or
  >
  > `Frame::render_stateful_widget_ref()` you now need to import the
  > FrameExt trait from `ratatui::widgets` and enable the
  > `unstable-widget-ref` feature.

-
[21e62d8](21e62d84c2)
_(uncategorized)_ Move the demo example to main folder by @joshka in
[#1523](https://github.com/ratatui/ratatui/pull/1523)

  > Add a top level examples folder for more app-ish examples
  > Move the demo example into the top level folder.
  >
  > ***

-
[fbf6050](fbf6050c86)
_(uncategorized)_ Prepare alpha modularization release by @joshka in
[#1525](https://github.com/ratatui/ratatui/pull/1525)

> This is the first modularization -alpha release. It captures the
changes
  > necessary to manual publish. And ensures all the crates are properly
> setup and to set a baseline for comparison in future release checks
etc.
  >
  > This does not update / check the git-cliff setup / changelog
  >
  > Part of: #1388

-
[e4e95bc](e4e95bcecf)
_(uncategorized)_ Remove --color always flags from bacon.toml by @joshka
in [#1502](https://github.com/ratatui/ratatui/pull/1502)

  > No longer necessary as of bacon 3.3

-
[a41c97b](a41c97b413)
_(uncategorized)_ Move unstable widget refs to ratatui by @joshka in
[#1491](https://github.com/ratatui/ratatui/pull/1491) [**breaking**]

  > These are less stable than the non-ref traits as we have not yet
  > committed to the exact API. This change moves them to ratatui from
  > ratatui-core.
  >
  > To facilitate this:
  >
> - implementations of WidgetRef for all internal widgets are removed
and
  >   replaced with implementations of Widget for references to those
  >   widgets.
> - Widget is now implemented for Option<W> where W: Widget, allowing
for
  >   rendering of optional widgets.
> - The blanket implementation of Widget for WidgetRef is reversed, to
be
  >   a blanket implementation of WidgetRef for all &W where W: Widget.
  >
> BREAKING CHANGE:implementations of WidgetRef no longer have a blanket
  > implementation of Widget, so Widgets should generally implement the
  > Widget trait on a reference to the widget rather than implementing
  > WidgetRef directly. This has the advantage of not requiring unstable
  > features to be enabled.
  >
  > Part of: https://github.com/ratatui/ratatui/issues/1388

-
[e7085e3](e7085e3a3e)
_(uncategorized)_ Move widgets into ratatui-widgets crate by @joshka in
[#1474](https://github.com/ratatui/ratatui/pull/1474)

> All the widgets now live in their own ratatui-widgets crate, but are
re-exported in the main ratatui crate.
> This makes it easier to use portions of the ratatui library and is
part of the effort to modularize
  >
  > Part of: #1388
  >
  > ***

-
[f1d0a18](f1d0a18375)
_(uncategorized)_ Move ratatui crate into workspace folder by @joshka in
[#1459](https://github.com/ratatui/ratatui/pull/1459)

  > This is the first step towards modularization. Handling the move
  > as a separate step rather than combining it should make it easier
  > to rebase other PRs when necessary.
  >
  > ***

-
[55fb2d2](55fb2d2e56)
_(uncategorized)_ Update repo links to ratatui instead of ratatui-org by
@joshka in [#1458](https://github.com/ratatui/ratatui/pull/1458)

### Continuous Integration

-
[c01b7d4](c01b7d43ea)
_(uncategorized)_ Remove old release workflows by @joshka in
[#2015](https://github.com/ratatui/ratatui/pull/2015)

-
[02ca587](02ca5870c5)
_(uncategorized)_ Add environment to release workflow by @joshka in
[#1983](https://github.com/ratatui/ratatui/pull/1983)

>
https://github.com/rust-lang/crates.io/issues/11564#issuecomment-3066696820

-
[821611f](821611f76f)
_(uncategorized)_ Use trusted publishing by @joshka in
[#1981](https://github.com/ratatui/ratatui/pull/1981)

>
https://blog.rust-lang.org/2025/07/11/crates-io-development-update-2025-07/
  >
  > https://crates.io/docs/trusted-publishing

-
[1f0c2ee](1f0c2ee18e)
_(uncategorized)_ Audit github workflows with zizmor by @joshka in
[#1961](https://github.com/ratatui/ratatui/pull/1961)

  > Fixes https://github.com/ratatui/ratatui/issues/1950

-
[a0746ba](a0746bad7e)
_(uncategorized)_ Add job to check no-std build by @joshka in
[#1851](https://github.com/ratatui/ratatui/pull/1851)

> Uses x86_64-unknown-none as an arbitrary target that does not support
  > the std library
  >
  > Resolves:https://github.com/ratatui/ratatui/issues/1843

-
[5a3be12](5a3be12ebd)
_(uncategorized)_ Run clippy using rust stable and beta by @joshka in
[#1757](https://github.com/ratatui/ratatui/pull/1757)

> This makes it possible to pre-emptively catch upcoming clippy issues.
We
  > should not block PRs on these generally (unless the PR introduces a
> valid clippy warning), so the workflow is set up to not fail on beta.

-
[e7defb3](e7defb36de)
_(uncategorized)_ Remove bencher workflows by @joshka in
[#1719](https://github.com/ratatui/ratatui/pull/1719)

  > These actions are currently unused as we haven't
  > invested the time necessary to understand how best
  > to use them. We can always re-add them later if we
  > find them useful.

-
[9398a25](9398a2550a)
_(uncategorized)_ Add workflow_dispatch trigger for release-plz by
@joshka in [#1693](https://github.com/ratatui/ratatui/pull/1693)

-
[57c2326](57c2326574)
_(uncategorized)_ Run cargo-deny directly rather than via action by
@joshka in [#1621](https://github.com/ratatui/ratatui/pull/1621)

  > Improves CI time

-
[4a871f9](4a871f993e)
_(uncategorized)_ Refactor xtask / toml formatting by @joshka in
[#1602](https://github.com/ratatui/ratatui/pull/1602)

  > - format toml files using taplo
  > - add toml formatting check to CI
  > - use xtask consistently from bacon
> - refactor xtask commands to take params instead of multiple commands

### Reverted Commits

-
[cace1e0](cace1e099c)
_(release)_ Prepare for beta release by @orhun in
[#2117](https://github.com/ratatui/ratatui/pull/2117)

  > This reverts commit 5ae224b244 so that
  > `release-plz` is being triggered again.
  >
> See
https://github.com/ratatui/ratatui/pull/2022#issuecomment-3349094310
  > for rationale.

</details>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2025-11-01 02:22:55 +03:00
Orhun Parmaksız
39cd313b3b test(layout): add visual buffer tests for Rect methods (#2124) 2025-11-01 00:07:15 +03:00
Orhun Parmaksız
db65aa0ef7 test(bench): add benchmark for text (#2160)
#2138

---------

Signed-off-by: Shingo OKAWA <shingo.okawa.g.h.c@gmail.com>
Co-authored-by: Shingo OKAWA <shingo.okawa.g.h.c@gmail.com>
2025-10-31 23:53:51 +03:00
Orhun Parmaksız
0a25bc166d fix(tests): update the stderr snapshot for ratatui-macros (#2161)
New 🦀 broke the CI
2025-10-31 19:46:57 +03:00
Jagoda Estera Ślązak
3582052c30 chore(changelog): fix typos (#2157)
Fix yet more typos in commits...
2025-10-28 23:06:52 +03:00
dependabot[bot]
12d3c78aa4 build(deps): bump taiki-e/install-action from 2.62.33 to 2.62.38 (#2156)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.62.33 to 2.62.38.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.62.38</h2>
<ul>
<li>
<p>Update <code>coreutils@latest</code> to 0.3.0.</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 38.0.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.17.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.34.1.</p>
</li>
</ul>
<h2>2.62.37</h2>
<ul>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.8.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.16.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.16.</p>
</li>
</ul>
<h2>2.62.36</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.36.0.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.19.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.15.</p>
</li>
</ul>
<h2>2.62.35</h2>
<ul>
<li>
<p>Update <code>wasmtime@latest</code> to 38.0.2.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.108.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.14.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.9.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.5.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.13.</p>
</li>
</ul>
<h2>2.62.34</h2>
<ul>
<li>
<p>Update <code>sccache@latest</code> to 0.12.0.</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 38.0.1.</p>
</li>
<li>
<p>Update <code>rclone@latest</code> to 1.71.2.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.12.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.8.</p>
</li>
<li>
<p>Update <code>ubi@latest</code> to 0.8.2.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.34.0.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.10.18.</li>
</ul>
<h2>[2.62.38] - 2025-10-25</h2>
<ul>
<li>
<p>Update <code>coreutils@latest</code> to 0.3.0.</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 38.0.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.17.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.34.1.</p>
</li>
</ul>
<h2>[2.62.37] - 2025-10-24</h2>
<ul>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.8.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.16.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.16.</p>
</li>
</ul>
<h2>[2.62.36] - 2025-10-23</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.36.0.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.19.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.15.</p>
</li>
</ul>
<h2>[2.62.35] - 2025-10-22</h2>
<ul>
<li>
<p>Update <code>wasmtime@latest</code> to 38.0.2.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.108.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.14.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.9.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c5b1b6f479"><code>c5b1b6f</code></a>
Release 2.62.38</li>
<li><a
href="7cd74f6aac"><code>7cd74f6</code></a>
Update <code>coreutils@latest</code> to 0.3.0</li>
<li><a
href="def9901333"><code>def9901</code></a>
Update <code>wasmtime@latest</code> to 38.0.3</li>
<li><a
href="a9d3853729"><code>a9d3853</code></a>
Update coreutils manifest</li>
<li><a
href="958d48b0c9"><code>958d48b</code></a>
Update <code>mise@latest</code> to 2025.10.17</li>
<li><a
href="fb485991fd"><code>fb48599</code></a>
Update <code>cargo-tarpaulin@latest</code> to 0.34.1</li>
<li><a
href="1c7b1d35fc"><code>1c7b1d3</code></a>
Release 2.62.37</li>
<li><a
href="18cba62798"><code>18cba62</code></a>
Update <code>cargo-binstall@latest</code> to 1.15.8</li>
<li><a
href="f3c0c6962a"><code>f3c0c69</code></a>
Update <code>zizmor@latest</code> to 1.16.0</li>
<li><a
href="99fc3e5b1e"><code>99fc3e5</code></a>
Update <code>mise@latest</code> to 2025.10.16</li>
<li>Additional commits viewable in <a
href="e43a5023a7...c5b1b6f479">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.62.33&new-version=2.62.38)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 19:38:20 +03:00
dependabot[bot]
40d3116b2a build(deps): bump bitflags from 2.9.4 to 2.10.0 (#2153)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.9.4 to
2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bitflags/bitflags/releases">bitflags's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement iterator for all named flags by <a
href="https://github.com/ssrlive"><code>@​ssrlive</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/465">bitflags/bitflags#465</a></li>
<li>Depend on serde_core instead of serde by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/467">bitflags/bitflags#467</a></li>
<li>Prepare for 2.10.0 release by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/468">bitflags/bitflags#468</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ssrlive"><code>@​ssrlive</code></a> made
their first contribution in <a
href="https://redirect.github.com/bitflags/bitflags/pull/465">bitflags/bitflags#465</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0">https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's
changelog</a>.</em></p>
<blockquote>
<h1>2.10.0</h1>
<h2>What's Changed</h2>
<ul>
<li>Implement iterator for all named flags by <a
href="https://github.com/ssrlive"><code>@​ssrlive</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/465">bitflags/bitflags#465</a></li>
<li>Depend on serde_core instead of serde by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/467">bitflags/bitflags#467</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ssrlive"><code>@​ssrlive</code></a> made
their first contribution in <a
href="https://redirect.github.com/bitflags/bitflags/pull/465">bitflags/bitflags#465</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0">https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7cc8595e93"><code>7cc8595</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/468">#468</a>
from bitflags/cargo/2.10.0</li>
<li><a
href="ea9b2f7990"><code>ea9b2f7</code></a>
prepare for 2.10.0 release</li>
<li><a
href="7fdc68c7f5"><code>7fdc68c</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/467">#467</a>
from KodrAus/feat/serde_core</li>
<li><a
href="fdc1d4a371"><code>fdc1d4a</code></a>
depend on serde_core instead of serde</li>
<li><a
href="79225854ca"><code>7922585</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/466">#466</a>
from KodrAus/chore/iter-named-tests</li>
<li><a
href="409666ecc1"><code>409666e</code></a>
rename iter_named to iter_defined_names</li>
<li><a
href="50fab9141c"><code>50fab91</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/465">#465</a>
from ssrlive/main</li>
<li><a
href="f88648983a"><code>f886489</code></a>
Fix bitflags_custom_bits.stderr &amp; bitflags_trait_custom.stderr</li>
<li><a
href="39bd761932"><code>39bd761</code></a>
rename all_named_flags to iter_named</li>
<li><a
href="3e52578f1f"><code>3e52578</code></a>
Implement iterator for all named flags</li>
<li>See full diff in <a
href="https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bitflags&package-manager=cargo&previous-version=2.9.4&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-10-27 19:06:20 +03:00
dependabot[bot]
d3017046b9 build(deps): bump document-features from 0.2.11 to 0.2.12 (#2152)
Bumps [document-features](https://github.com/slint-ui/document-features)
from 0.2.11 to 0.2.12.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/slint-ui/document-features/blob/master/CHANGELOG.md">document-features's
changelog</a>.</em></p>
<blockquote>
<h2>0.2.12 - 2025-10-24</h2>
<ul>
<li>Update litrs dependency to 1.0.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="721e708012"><code>721e708</code></a>
Prepare for release</li>
<li><a
href="21ec1eb99c"><code>21ec1eb</code></a>
Update MSRV</li>
<li><a
href="1c70d0aa83"><code>1c70d0a</code></a>
chore: fix wrong test function name (<a
href="https://redirect.github.com/slint-ui/document-features/issues/35">#35</a>)</li>
<li><a
href="21cdfeccbc"><code>21cdfec</code></a>
Update litrs dependency to v1.0</li>
<li><a
href="bb0dea8b10"><code>bb0dea8</code></a>
Fix typo in CHANGELOG.md</li>
<li>See full diff in <a
href="https://github.com/slint-ui/document-features/compare/v0.2.11...v0.2.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=document-features&package-manager=cargo&previous-version=0.2.11&new-version=0.2.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 19:05:01 +03:00
dependabot[bot]
6e5d79747f build(deps): bump indoc from 2.0.6 to 2.0.7 (#2154)
Bumps [indoc](https://github.com/dtolnay/indoc) from 2.0.6 to 2.0.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/indoc/releases">indoc's
releases</a>.</em></p>
<blockquote>
<h2>2.0.7</h2>
<ul>
<li>Support C-string literals <code>indoc! {c&quot;...&quot;}</code>,
<code>indoc! {cr&quot;...&quot;}</code> (<a
href="https://redirect.github.com/dtolnay/indoc/issues/67">#67</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8d78216b3f"><code>8d78216</code></a>
Release 2.0.7</li>
<li><a
href="23472ff7f3"><code>23472ff</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/indoc/issues/67">#67</a> from
dtolnay/cstring</li>
<li><a
href="8d05562cbe"><code>8d05562</code></a>
Hide C-string tests from old toolchain versions</li>
<li><a
href="7c92efb718"><code>7c92efb</code></a>
Recognize C-string literals</li>
<li><a
href="fe39de460f"><code>fe39de4</code></a>
Generalize Error constructors</li>
<li><a
href="27e015160e"><code>27e0151</code></a>
Add C-string tests</li>
<li><a
href="57f6fbb4da"><code>57f6fbb</code></a>
Sort tests</li>
<li><a
href="170a079558"><code>170a079</code></a>
Raise minimum tested compiler to rust 1.76</li>
<li><a
href="2f6ef0452d"><code>2f6ef04</code></a>
Opt in to generate-macro-expansion when building on docs.rs</li>
<li><a
href="ce1bed41bb"><code>ce1bed4</code></a>
Update ui test suite to nightly-2025-09-12</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/indoc/compare/2.0.6...2.0.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indoc&package-manager=cargo&previous-version=2.0.6&new-version=2.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 19:04:16 +03:00
dependabot[bot]
f18154bcfe build(deps): bump clap from 4.5.49 to 4.5.50 (#2155)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.49 to 4.5.50.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.50</h2>
<h2>[4.5.50] - 2025-10-20</h2>
<h3>Features</h3>
<ul>
<li>Accept <code>Cow</code> where <code>String</code> and
<code>&amp;str</code> are accepted</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.50] - 2025-10-20</h2>
<h3>Features</h3>
<ul>
<li>Accept <code>Cow</code> where <code>String</code> and
<code>&amp;str</code> are accepted</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d8acd47298"><code>d8acd47</code></a>
chore: Release</li>
<li><a
href="7c2b8d9ad4"><code>7c2b8d9</code></a>
docs: Update changelog</li>
<li><a
href="e69a2ea55b"><code>e69a2ea</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5987">#5987</a>
from mernen/fix-bash-comp-words-loop</li>
<li><a
href="e03cc2e798"><code>e03cc2e</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5988">#5988</a>
from cordx56/fix-builder-custom-version-docs</li>
<li><a
href="5ab2579844"><code>5ab2579</code></a>
fix: Minor fix for builder docs about version</li>
<li><a
href="2f66432721"><code>2f66432</code></a>
fix(complete): Only parse arguments before current</li>
<li><a
href="4d9d2100f7"><code>4d9d210</code></a>
test(complete): Illustrate current behavior in Bash</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.50">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.49&new-version=4.5.50)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 19:03:47 +03:00
dependabot[bot]
1e11ca4536 build(deps): bump unicode-width from 0.2.1 to 0.2.2 (#2141)
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from
0.2.1 to 0.2.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9d98411769"><code>9d98411</code></a>
Publish 0.2.2 (<a
href="https://redirect.github.com/unicode-rs/unicode-width/issues/79">#79</a>)</li>
<li><a
href="4bba1d1e48"><code>4bba1d1</code></a>
Support Unicode 17 (<a
href="https://redirect.github.com/unicode-rs/unicode-width/issues/75">#75</a>)</li>
<li>See full diff in <a
href="https://github.com/unicode-rs/unicode-width/compare/v0.2.1...v0.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=unicode-width&package-manager=cargo&previous-version=0.2.1&new-version=0.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 23:43:39 -07:00
dependabot[bot]
fa73ff095d build(deps): bump octocrab from 0.44.1 to 0.47.0 (#2143)
Bumps [octocrab](https://github.com/XAMPPRocky/octocrab) from 0.44.1 to
0.47.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/XAMPPRocky/octocrab/releases">octocrab's
releases</a>.</em></p>
<blockquote>
<h2>v0.47.0</h2>
<h3>Added</h3>
<ul>
<li>add <code>immutable</code> Release field (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/806">#806</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>added creating a review (POST
&quot;/repos/{owner}/{repo}/pulls/{pull_number}/reviews&quot;) (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/805">#805</a>)</li>
</ul>
<h2>v0.46.0</h2>
<h3>Fixed</h3>
<ul>
<li>[<strong>breaking</strong>] make CommitAuthor email nullable (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/799">#799</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>Expose <code>digest</code> field in Asset model (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/804">#804</a>)</li>
<li>cargo clippy (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/803">#803</a>)</li>
<li>fix doc url for ProjectHandler (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/802">#802</a>)</li>
</ul>
<h2>v0.45.0</h2>
<h3>Added</h3>
<ul>
<li>add <code>redelivery</code> field for hook deliveries (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/797">#797</a>)</li>
<li>added PATCH /user (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/792">#792</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[<strong>breaking</strong>] change some fields to optional types in
CheckSuite struct (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/784">#784</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>:repos::Commit -&gt; models::commits::Commit (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/781">#781</a>)</li>
<li>cargo clippy --fix (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/783">#783</a>)</li>
<li>cargo clippy --fix (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/774">#774</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/XAMPPRocky/octocrab/blob/main/CHANGELOG.md">octocrab's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/XAMPPRocky/octocrab/compare/v0.46.0...v0.47.0">0.47.0</a>
- 2025-10-06</h2>
<h3>Added</h3>
<ul>
<li>add <code>immutable</code> Release field (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/806">#806</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>added creating a review (POST
&quot;/repos/{owner}/{repo}/pulls/{pull_number}/reviews&quot;) (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/805">#805</a>)</li>
</ul>
<h2><a
href="https://github.com/XAMPPRocky/octocrab/compare/v0.45.0...v0.46.0">0.46.0</a>
- 2025-09-28</h2>
<h3>Fixed</h3>
<ul>
<li>[<strong>breaking</strong>] make CommitAuthor email nullable (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/799">#799</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>Expose <code>digest</code> field in Asset model (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/804">#804</a>)</li>
<li>cargo clippy (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/803">#803</a>)</li>
<li>fix doc url for ProjectHandler (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/802">#802</a>)</li>
</ul>
<h2><a
href="https://github.com/XAMPPRocky/octocrab/compare/v0.44.1...v0.45.0">0.45.0</a>
- 2025-09-14</h2>
<h3>Added</h3>
<ul>
<li>add <code>redelivery</code> field for hook deliveries (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/797">#797</a>)</li>
<li>added PATCH /user (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/792">#792</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[<strong>breaking</strong>] change some fields to optional types in
CheckSuite struct (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/784">#784</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>:repos::Commit -&gt; models::commits::Commit (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/781">#781</a>)</li>
<li>cargo clippy --fix (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/783">#783</a>)</li>
<li>cargo clippy --fix (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/pull/774">#774</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="73a4dd0b1c"><code>73a4dd0</code></a>
chore: release v0.46.1 (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/807">#807</a>)</li>
<li><a
href="0e0e43d8d8"><code>0e0e43d</code></a>
feat: add <code>immutable</code> Release field (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/806">#806</a>)</li>
<li><a
href="eac8ccb6e8"><code>eac8ccb</code></a>
added creating a review (POST
&quot;/repos/{owner}/{repo}/pulls/{pull_number}/revi...</li>
<li><a
href="e37b2c0ea6"><code>e37b2c0</code></a>
chore: release v0.46.0 (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/800">#800</a>)</li>
<li><a
href="a6e52f78cb"><code>a6e52f7</code></a>
Expose <code>digest</code> field in Asset model (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/804">#804</a>)</li>
<li><a
href="ed51c79b77"><code>ed51c79</code></a>
cargo clippy (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/803">#803</a>)</li>
<li><a
href="c14cfa4f9a"><code>c14cfa4</code></a>
doc: fix doc url for ProjectHandler (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/802">#802</a>)</li>
<li><a
href="0b57b29106"><code>0b57b29</code></a>
fix!: make CommitAuthor email nullable (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/799">#799</a>)</li>
<li><a
href="c3169920cb"><code>c316992</code></a>
chore: release v0.45.0 (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/785">#785</a>)</li>
<li><a
href="1cad4325c7"><code>1cad432</code></a>
feat: add <code>redelivery</code> field for hook deliveries (<a
href="https://redirect.github.com/XAMPPRocky/octocrab/issues/797">#797</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/XAMPPRocky/octocrab/compare/v0.44.1...v0.47.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=octocrab&package-manager=cargo&previous-version=0.44.1&new-version=0.47.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 23:21:52 -07:00
dependabot[bot]
efcc633f72 build(deps): bump clap from 4.5.48 to 4.5.49 (#2147)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.48 to 4.5.49.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.49] - 2025-10-13</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Correctly wrap when ANSI escape codes are
present</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6abe2f8c61"><code>6abe2f8</code></a>
chore: Release</li>
<li><a
href="d5c74542ce"><code>d5c7454</code></a>
docs: Update changelog</li>
<li><a
href="5b2e960267"><code>5b2e960</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5985">#5985</a>
from mernen/bash-cur</li>
<li><a
href="e426f4ee7a"><code>e426f4e</code></a>
fix(complete): Improve handling of current word in Bash</li>
<li><a
href="d5229218e8"><code>d522921</code></a>
test(complete): Demonstrate current behavior</li>
<li><a
href="74072bab6f"><code>74072ba</code></a>
chore(deps): Update compatible (dev) (<a
href="https://redirect.github.com/clap-rs/clap/issues/5983">#5983</a>)</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.48&new-version=4.5.49)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 20:35:17 +03:00
dependabot[bot]
817895b554 build(deps): bump trybuild from 1.0.111 to 1.0.112 (#2145)
Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.111 to
1.0.112.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/trybuild/releases">trybuild's
releases</a>.</em></p>
<blockquote>
<h2>1.0.112</h2>
<ul>
<li>Normalize indentation of consteval notes (<a
href="https://redirect.github.com/dtolnay/trybuild/issues/318">#318</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f3b3d1e2d1"><code>f3b3d1e</code></a>
Release 1.0.112</li>
<li><a
href="579b2c39ad"><code>579b2c3</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/trybuild/issues/318">#318</a>
from dtolnay/headingnote</li>
<li><a
href="9485845429"><code>9485845</code></a>
Normalize indentation of consteval notes</li>
<li><a
href="6b1de1e13a"><code>6b1de1e</code></a>
Add test of consteval error with notes</li>
<li><a
href="e1d19ae2e9"><code>e1d19ae</code></a>
Raise required compiler to Rust 1.76</li>
<li><a
href="b4a1fc7dd6"><code>b4a1fc7</code></a>
Opt in to generate-macro-expansion when building on docs.rs</li>
<li>See full diff in <a
href="https://github.com/dtolnay/trybuild/compare/1.0.111...1.0.112">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=trybuild&package-manager=cargo&previous-version=1.0.111&new-version=1.0.112)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 19:01:08 +03:00
dependabot[bot]
8d715e2e51 build(deps): bump tokio from 1.47.1 to 1.48.0 (#2144)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.47.1 to 1.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.48.0</h2>
<h1>1.48.0 (October 14th, 2025)</h1>
<p>The MSRV is increased to 1.71.</p>
<h3>Added</h3>
<ul>
<li>fs: add <code>File::max_buf_size</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7594">#7594</a>)</li>
<li>io: export <code>Chain</code> of <code>AsyncReadExt::chain</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7599">#7599</a>)</li>
<li>net: add <code>SocketAddr::as_abstract_name</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7491">#7491</a>)</li>
<li>net: add <code>TcpStream::quickack</code> and
<code>TcpStream::set_quickack</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7490">#7490</a>)</li>
<li>net: implement <code>AsRef&lt;Self&gt;</code> for
<code>TcpStream</code> and <code>UnixStream</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7573">#7573</a>)</li>
<li>task: add <code>LocalKey::try_get</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7666">#7666</a>)</li>
<li>task: implement <code>Ord</code> for <code>task::Id</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7530">#7530</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>deps: bump windows-sys to version 0.61 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7645">#7645</a>)</li>
<li>fs: preserve <code>max_buf_size</code> when cloning a
<code>File</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7593">#7593</a>)</li>
<li>macros: suppress <code>clippy::unwrap_in_result</code> in
<code>#[tokio::main]</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7651">#7651</a>)</li>
<li>net: remove <code>PollEvented</code> noise from Debug formats (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7675">#7675</a>)</li>
<li>process: upgrade <code>Command::spawn_with</code> to use
<code>FnOnce</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7511">#7511</a>)</li>
<li>sync: remove inner mutex in <code>SetOnce</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7554">#7554</a>)</li>
<li>sync: use <code>UnsafeCell::get_mut</code> in
<code>Mutex::get_mut</code> and <code>RwLock::get_mut</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7569">#7569</a>)</li>
<li>time: reduce the generated code size of
<code>Timeout&lt;T&gt;::poll</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7535">#7535</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>macros: fix hygiene issue in <code>join!</code> and
<code>try_join!</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7638">#7638</a>)</li>
<li>net: fix copy/paste errors in udp peek methods (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7604">#7604</a>)</li>
<li>process: fix error when runtime is shut down on nightly-2025-10-12
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7672">#7672</a>)</li>
<li>runtime: use release ordering in <code>wake_by_ref()</code> even if
already woken (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7622">#7622</a>)</li>
<li>sync: close the <code>broadcast::Sender</code> in
<code>broadcast::Sender::new()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7629">#7629</a>)</li>
<li>sync: fix implementation of unused <code>RwLock::try_*</code>
methods (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7587">#7587</a>)</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>tokio: use cargo features instead of <code>--cfg</code> flags for
<code>taskdump</code> and <code>io_uring</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7655">#7655</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7621">#7621</a>)</li>
<li>fs: support <code>io_uring</code> in <code>fs::write</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7567">#7567</a>)</li>
<li>fs: support <code>io_uring</code> with <code>File::open()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7617">#7617</a>)</li>
<li>fs: support <code>io_uring</code> with <code>OpenOptions</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7321">#7321</a>)</li>
<li>macros: add <code>local</code> runtime flavor (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7375">#7375</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7597">#7597</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li>io: clarify the zero capacity case of
<code>AsyncRead::poll_read</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7580">#7580</a>)</li>
<li>io: fix typos in the docs of <code>AsyncFd</code> readiness guards
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7583">#7583</a>)</li>
<li>net: clarify socket gets closed on drop (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7526">#7526</a>)</li>
<li>net: clarify the behavior of <code>UCred::pid()</code> on Cygwin (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7611">#7611</a>)</li>
<li>net: clarify the supported platform of <code>set_reuseport()</code>
and <code>reuseport()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7628">#7628</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="556820ff84"><code>556820f</code></a>
chore: prepare Tokio v1.48.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7677">#7677</a>)</li>
<li><a
href="fd1659a052"><code>fd1659a</code></a>
chore: prepare tokio-macros v2.6.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7676">#7676</a>)</li>
<li><a
href="53e8acac64"><code>53e8aca</code></a>
ci: update nightly version to 2025-10-12 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7670">#7670</a>)</li>
<li><a
href="9e5527d1d5"><code>9e5527d</code></a>
process: fix error when runtime is shut down on nightly-2025-10-12 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7672">#7672</a>)</li>
<li><a
href="25a24de0e6"><code>25a24de</code></a>
net: remove PollEvented noise from Debug formats (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7675">#7675</a>)</li>
<li><a
href="c1fa25f300"><code>c1fa25f</code></a>
task: clarify the behavior of several <code>spawn_local</code> methods
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7669">#7669</a>)</li>
<li><a
href="e7e02fcf0f"><code>e7e02fc</code></a>
fs: use <code>FileOptions</code> inside <code>fs::File</code> to support
uring (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7617">#7617</a>)</li>
<li><a
href="f7a7f62959"><code>f7a7f62</code></a>
ci: remove cargo-deny Unicode-DFS-2016 license exception config (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7619">#7619</a>)</li>
<li><a
href="d1f1499f63"><code>d1f1499</code></a>
tokio: use cargo feature for taskdump support instead of cfg (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7655">#7655</a>)</li>
<li><a
href="ad6f618952"><code>ad6f618</code></a>
runtime: clarify the behavior of <code>Handle::block_on</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7665">#7665</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.47.1&new-version=1.48.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 19:00:53 +03:00
dependabot[bot]
934a54cd67 build(deps): bump taiki-e/install-action from 2.62.28 to 2.62.33 (#2142)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.62.28 to 2.62.33.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.62.33</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.10.10.</li>
</ul>
<h2>2.62.32</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.34.2.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.7.</p>
</li>
</ul>
<h2>2.62.31</h2>
<ul>
<li>
<p>Update <code>protoc@latest</code> to 3.33.0.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.3.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.34.1.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.9.</p>
</li>
<li>
<p>Update <code>cargo-shear@latest</code> to 1.6.0.</p>
</li>
</ul>
<h2>2.62.30</h2>
<ul>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.6.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.15.2.</p>
</li>
</ul>
<h2>2.62.29</h2>
<ul>
<li>
<p>Update <code>zizmor@latest</code> to 1.15.1.</p>
</li>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.106.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.8.</p>
</li>
<li>
<p>Update <code>ubi@latest</code> to 0.8.1.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.8.</p>
</li>
<li>
<p>Update <code>ubi@latest</code> to 0.8.2.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.34.0.</p>
</li>
<li>
<p>Update <code>cargo-auditable@latest</code> to 0.7.1.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.4.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.11.</p>
</li>
</ul>
<h2>[2.62.33] - 2025-10-17</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.10.10.</li>
</ul>
<h2>[2.62.32] - 2025-10-16</h2>
<ul>
<li>
<p>Update <code>syft@latest</code> to 1.34.2.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.18.7.</p>
</li>
</ul>
<h2>[2.62.31] - 2025-10-16</h2>
<ul>
<li>
<p>Update <code>protoc@latest</code> to 3.33.0.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.3.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.34.1.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.9.</p>
</li>
<li>
<p>Update <code>cargo-shear@latest</code> to 1.6.0.</p>
</li>
</ul>
<h2>[2.62.30] - 2025-10-15</h2>
<ul>
<li>Update <code>vacuum@latest</code> to 0.18.6.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e43a5023a7"><code>e43a502</code></a>
Release 2.62.33</li>
<li><a
href="2ae4258c3d"><code>2ae4258</code></a>
Update <code>mise@latest</code> to 2025.10.10</li>
<li><a
href="e79914c740"><code>e79914c</code></a>
Release 2.62.32</li>
<li><a
href="40168eab5f"><code>40168ea</code></a>
Update <code>syft@latest</code> to 1.34.2</li>
<li><a
href="6d89b16c49"><code>6d89b16</code></a>
Update <code>vacuum@latest</code> to 0.18.7</li>
<li><a
href="0005e0116e"><code>0005e01</code></a>
Release 2.62.31</li>
<li><a
href="6936d999d9"><code>6936d99</code></a>
Update <code>protoc@latest</code> to 3.33.0</li>
<li><a
href="ac7ad6efa1"><code>ac7ad6e</code></a>
Update <code>uv@latest</code> to 0.9.3</li>
<li><a
href="005833aaf1"><code>005833a</code></a>
Update <code>syft@latest</code> to 1.34.1</li>
<li><a
href="2b32ff6f3d"><code>2b32ff6</code></a>
Update <code>mise@latest</code> to 2025.10.9</li>
<li>Additional commits viewable in <a
href="e7ef886cf8...e43a5023a7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.62.28&new-version=2.62.33)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-10-20 19:00:14 +03:00
dependabot[bot]
23ab1f5a68 build(deps): bump rust-lang/crates-io-auth-action from 1.0.1 to 1.0.2 (#2146)
Bumps
[rust-lang/crates-io-auth-action](https://github.com/rust-lang/crates-io-auth-action)
from 1.0.1 to 1.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/crates-io-auth-action/releases">rust-lang/crates-io-auth-action's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>update dependencies</li>
<li>contributing: fix header levels by <a
href="https://github.com/marcoieni"><code>@​marcoieni</code></a> in <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/37">rust-lang/crates-io-auth-action#37</a></li>
<li>document how to publish a new version by <a
href="https://github.com/marcoieni"><code>@​marcoieni</code></a> in <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/38">rust-lang/crates-io-auth-action#38</a></li>
<li>disable node renovate updates by <a
href="https://github.com/marcoieni"><code>@​marcoieni</code></a> in <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/48">rust-lang/crates-io-auth-action#48</a>
and <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/49">rust-lang/crates-io-auth-action#49</a></li>
<li>fix zizmor lint by <a
href="https://github.com/marcoieni"><code>@​marcoieni</code></a> in <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/68">rust-lang/crates-io-auth-action#68</a></li>
<li>ci: Skip fragment check for Zulip client-side routing links by <a
href="https://github.com/kingsword09"><code>@​kingsword09</code></a> in
<a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/80">rust-lang/crates-io-auth-action#80</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/kingsword09"><code>@​kingsword09</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/pull/80">rust-lang/crates-io-auth-action#80</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/crates-io-auth-action/compare/v1.0.1...v1.0.2">https://github.com/rust-lang/crates-io-auth-action/compare/v1.0.1...v1.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="041cce5b4b"><code>041cce5</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/issues/86">#86</a>
from rust-lang/update-dependencies</li>
<li><a
href="0400f617d6"><code>0400f61</code></a>
update dependencies</li>
<li><a
href="6a0951d3a2"><code>6a0951d</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/issues/84">#84</a>
from rust-lang/renovate/github-actions</li>
<li><a
href="be8f8cfa3c"><code>be8f8cf</code></a>
chore(deps): pin dependencies</li>
<li><a
href="deea6c8fa2"><code>deea6c8</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/issues/85">#85</a>
from rust-lang/remove-yaml-anchor-in-github-actions</li>
<li><a
href="f0eb76abb5"><code>f0eb76a</code></a>
remove yaml anchor in github actions</li>
<li><a
href="7d0a98d6f1"><code>7d0a98d</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/issues/83">#83</a>
from rust-lang/fix-renovate-github-actions-update</li>
<li><a
href="52d74a7cdc"><code>52d74a7</code></a>
fix renovate github actions update</li>
<li><a
href="6db1cc5747"><code>6db1cc5</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/crates-io-auth-action/issues/82">#82</a>
from rust-lang/update-pnpm-to-10-18-3</li>
<li><a
href="231886e9ea"><code>231886e</code></a>
update pnpm to 10.18.3</li>
<li>Additional commits viewable in <a
href="e919bc7605...041cce5b4b">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust-lang/crates-io-auth-action&package-manager=github_actions&previous-version=1.0.1&new-version=1.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 18:58:48 +03:00
dependabot[bot]
f50fc86b84 build(deps): bump lru from 0.16.1 to 0.16.2 (#2140)
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.16.1 to 0.16.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md">lru's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/jeromefroe/lru-rs/tree/0.16.2">v0.16.2</a> -
2025-10-14</h2>
<ul>
<li>Upgrade hashbrown dependency to 0.16.0.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c1f843ded0"><code>c1f843d</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/223">#223</a>
from jeromefroe/jerome/prepare-0-16-2-release</li>
<li><a
href="fc4f30953e"><code>fc4f309</code></a>
Prepare 0.16.2 release</li>
<li><a
href="e91ea2bd85"><code>e91ea2b</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/222">#222</a>
from torokati44/hashbrown-0.16</li>
<li><a
href="90d05feff3"><code>90d05fe</code></a>
Update hashbrown to 0.16</li>
<li>See full diff in <a
href="https://github.com/jeromefroe/lru-rs/compare/0.16.1...0.16.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lru&package-manager=cargo&previous-version=0.16.1&new-version=0.16.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 18:57:47 +03:00
dependabot[bot]
71c6ad9de6 build(deps): bump crate-ci/typos from 1.37.2 to 1.38.1 (#2134)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.37.2 to
1.38.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.38.1</h2>
<h2>[1.38.1] - 2025-10-07</h2>
<h3>Fixes</h3>
<ul>
<li>Ignore common golang identifiers</li>
</ul>
<h2>v1.38.0</h2>
<h2>[1.38.0] - 2025-10-06</h2>
<h3>Features</h3>
<ul>
<li>Update type list</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Don't correct <code>typ</code></li>
<li>Consistently error on unused config fields</li>
</ul>
<h2>v1.37.3</h2>
<h2>[1.37.3] - 2025-10-06</h2>
<h3>Fixes</h3>
<ul>
<li>Don't correct <code>PN</code> for <code>bitbake</code> file
types</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a href="https://keepachangelog.com/">Keep a
Changelog</a>
and this project adheres to <a href="https://semver.org/">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased] - ReleaseDate</h2>
<h2>[1.38.1] - 2025-10-07</h2>
<h3>Fixes</h3>
<ul>
<li>Ignore common golang identifiers</li>
</ul>
<h2>[1.38.0] - 2025-10-06</h2>
<h3>Features</h3>
<ul>
<li>Update type list</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Don't correct <code>typ</code></li>
<li>Consistently error on unused config fields</li>
</ul>
<h2>[1.37.3] - 2025-10-06</h2>
<h3>Fixes</h3>
<ul>
<li>Don't correct <code>PN</code> for <code>bitbake</code> file
types</li>
</ul>
<h2>[1.37.2] - 2025-10-03</h2>
<h3>Fixes</h3>
<ul>
<li>Don't suggest <code>diagnostic</code> for <code>diagnotics</code>,
preferring <code>diagnostics</code></li>
</ul>
<h2>[1.37.1] - 2025-10-01</h2>
<h3>Fixes</h3>
<ul>
<li>Don't offer corrections to <code>&quot;&quot;</code></li>
</ul>
<h2>[1.37.0] - 2025-09-30</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1370">September
2025</a> changes</li>
<li>Pull in other dictionary updates</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="80c8a4945e"><code>80c8a49</code></a>
chore: Release</li>
<li><a
href="c1008ce1b6"><code>c1008ce</code></a>
docs: Update changelog</li>
<li><a
href="62a3b5083a"><code>62a3b50</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1398">#1398</a>
from ccoveille-forks/go-exclusions</li>
<li><a
href="e6bedbde77"><code>e6bedbd</code></a>
fix(config): Add some Go exclusions</li>
<li><a
href="90cacd60e8"><code>90cacd6</code></a>
docs(ref): Speak to glob ambiguity</li>
<li><a
href="b81b12ea1b"><code>b81b12e</code></a>
docs(ref): Clarify directories are not spell checked</li>
<li><a
href="eaf25df994"><code>eaf25df</code></a>
docs(ref): Speak to locale's behavior</li>
<li><a
href="a9735e2e14"><code>a9735e2</code></a>
docs(ref): Provide identifier/word config examples</li>
<li><a
href="3c14191fcc"><code>3c14191</code></a>
docs(ref): Talk about include lists</li>
<li><a
href="d0f81dc972"><code>d0f81dc</code></a>
docs(ref): Re-organize help more like cargo</li>
<li>Additional commits viewable in <a
href="7436548694...80c8a4945e">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.37.2&new-version=1.38.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-10-14 07:38:08 +03:00
dependabot[bot]
89a9fa1cfd build(deps): bump taiki-e/install-action from 2.62.21 to 2.62.28 (#2132)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.62.21 to 2.62.28.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.62.28</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.148.</p>
</li>
<li>
<p>Update <code>cargo-sort@latest</code> to 2.0.2.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.7.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.2.</p>
</li>
<li>
<p>Update <code>sccache@latest</code> to 0.11.0.</p>
</li>
</ul>
<h2>2.62.27</h2>
<ul>
<li>Update <code>cargo-llvm-cov@latest</code> to 0.6.21.</li>
</ul>
<h2>2.62.26</h2>
<ul>
<li>
<p>Update <code>trivy@latest</code> to 0.67.2.</p>
</li>
<li>
<p>Update <code>editorconfig-checker@latest</code> to 3.4.1.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.7.</p>
</li>
</ul>
<h2>2.62.25</h2>
<ul>
<li>
<p>Update <code>uv@latest</code> to 0.9.1.</p>
</li>
<li>
<p>Update <code>trivy@latest</code> to 0.67.1.</p>
</li>
<li>
<p>Update <code>cargo-valgrind@latest</code> to 2.3.3.</p>
</li>
</ul>
<h2>2.62.24</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.6.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.0.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.38.1.</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 37.0.2.</p>
</li>
<li>
<p>Update <code>cargo-dinghy@latest</code> to 0.8.2.</p>
</li>
</ul>
<h2>2.62.23</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.5.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.8.24.</p>
</li>
</ul>
<h2>2.62.22</h2>
<ul>
<li>
<p>Update <code>typos@latest</code> to 1.38.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.4.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>Update <code>ubi@latest</code> to 0.8.1.</li>
</ul>
<h2>[2.62.28] - 2025-10-11</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.148.</p>
</li>
<li>
<p>Update <code>cargo-sort@latest</code> to 2.0.2.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.7.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.2.</p>
</li>
<li>
<p>Update <code>sccache@latest</code> to 0.11.0.</p>
</li>
</ul>
<h2>[2.62.27] - 2025-10-10</h2>
<ul>
<li>Update <code>cargo-llvm-cov@latest</code> to 0.6.21.</li>
</ul>
<h2>[2.62.26] - 2025-10-10</h2>
<ul>
<li>
<p>Update <code>trivy@latest</code> to 0.67.2.</p>
</li>
<li>
<p>Update <code>editorconfig-checker@latest</code> to 3.4.1.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.10.7.</p>
</li>
</ul>
<h2>[2.62.25] - 2025-10-10</h2>
<ul>
<li>
<p>Update <code>uv@latest</code> to 0.9.1.</p>
</li>
<li>
<p>Update <code>trivy@latest</code> to 0.67.1.</p>
</li>
<li>
<p>Update <code>cargo-valgrind@latest</code> to 2.3.3.</p>
</li>
</ul>
<h2>[2.62.24] - 2025-10-08</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.10.6.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e7ef886cf8"><code>e7ef886</code></a>
Release 2.62.28</li>
<li><a
href="c493876e9d"><code>c493876</code></a>
Update cargo-sort manifest</li>
<li><a
href="acf024d407"><code>acf024d</code></a>
ci: Mark cargo-sort as glibc_pre_2_34_incompat</li>
<li><a
href="ec66e446df"><code>ec66e44</code></a>
Update <code>release-plz@latest</code> to 0.3.148</li>
<li><a
href="a9a6260eac"><code>a9a6260</code></a>
Update <code>cargo-sort@latest</code> to 2.0.2</li>
<li><a
href="3c80d80324"><code>3c80d80</code></a>
Update <code>cargo-binstall@latest</code> to 1.15.7</li>
<li><a
href="4830d35beb"><code>4830d35</code></a>
codegen: Allow lacking x86_64_macos when aarch64_macos is available</li>
<li><a
href="3c7706401f"><code>3c77064</code></a>
ci: Test macos-15-intel</li>
<li><a
href="7d66b55c1c"><code>7d66b55</code></a>
Update <code>uv@latest</code> to 0.9.2</li>
<li><a
href="bf8fb45a9e"><code>bf8fb45</code></a>
Update <code>sccache@latest</code> to 0.11.0</li>
<li>Additional commits viewable in <a
href="522492a8c1...e7ef886cf8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.62.21&new-version=2.62.28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 07:37:21 +03:00
dependabot[bot]
b176d04e59 build(deps): bump release-plz/action from 0.5.117 to 0.5.118 (#2133)
Bumps [release-plz/action](https://github.com/release-plz/action) from
0.5.117 to 0.5.118.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/release-plz/action/releases">release-plz/action's
releases</a>.</em></p>
<blockquote>
<h2>v0.5.118</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to 0.3.148 by <a
href="https://github.com/marcoieni"><code>@​marcoieni</code></a> in <a
href="https://redirect.github.com/release-plz/action/pull/224">release-plz/action#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-plz/action/compare/v0.5...v0.5.118">https://github.com/release-plz/action/compare/v0.5...v0.5.118</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d529f731ae"><code>d529f73</code></a>
Update to 0.3.148 (<a
href="https://redirect.github.com/release-plz/action/issues/224">#224</a>)</li>
<li>See full diff in <a
href="acb9246af4...d529f731ae">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=release-plz/action&package-manager=github_actions&previous-version=0.5.117&new-version=0.5.118)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 07:36:44 +03:00
Orhun Parmaksız
8e5151f83d docs(rect): fix typo in the Rect::outer function comments (#2123) 2025-10-07 10:49:57 +03:00
Jagoda Estera Ślązak
f8b0594363 docs: fix typos (#2129)
This fixes the pipeline after bumping typos.
2025-10-07 10:12:26 +03:00
dependabot[bot]
f764546ece build(deps): bump serde_json from 1.0.143 to 1.0.145 (#2125)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.143 to
1.0.145.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.145</h2>
<ul>
<li>Raise serde version requirement to &gt;=1.0.220</li>
</ul>
<h2>v1.0.144</h2>
<ul>
<li>Switch serde dependency to serde_core (<a
href="https://redirect.github.com/serde-rs/json/issues/1285">#1285</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="efa66e3a1d"><code>efa66e3</code></a>
Release 1.0.145</li>
<li><a
href="23679e2b9d"><code>23679e2</code></a>
Add serde version constraint</li>
<li><a
href="fc27bafbf7"><code>fc27baf</code></a>
Release 1.0.144</li>
<li><a
href="caef3c6ea6"><code>caef3c6</code></a>
Ignore uninlined_format_args pedantic clippy lint</li>
<li><a
href="81ba3aaaff"><code>81ba3aa</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1285">#1285</a>
from dtolnay/serdecore</li>
<li><a
href="d21e8ce7a7"><code>d21e8ce</code></a>
Switch serde dependency to serde_core</li>
<li><a
href="6beb6cd596"><code>6beb6cd</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1286">#1286</a>
from dtolnay/up</li>
<li><a
href="1dbc803749"><code>1dbc803</code></a>
Raise required compiler to Rust 1.61</li>
<li><a
href="0bf5d87003"><code>0bf5d87</code></a>
Enforce trybuild &gt;= 1.0.108</li>
<li><a
href="d12e943590"><code>d12e943</code></a>
Update actions/checkout@v4 -&gt; v5</li>
<li>See full diff in <a
href="https://github.com/serde-rs/json/compare/v1.0.143...v1.0.145">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.143&new-version=1.0.145)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 19:55:32 +03:00
dependabot[bot]
281459aeae build(deps): bump anstyle from 1.0.12 to 1.0.13 (#2126)
Bumps [anstyle](https://github.com/rust-cli/anstyle) from 1.0.12 to
1.0.13.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="14dd743496"><code>14dd743</code></a>
chore: Release</li>
<li><a
href="2baaec7772"><code>2baaec7</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/271">#271</a>
from epage/template</li>
<li><a
href="5d7026ccf0"><code>5d7026c</code></a>
chore: Update from _rust template</li>
<li><a
href="f218f4ae7a"><code>f218f4a</code></a>
docs(docsrs): Update to new doc_cfg feature name</li>
<li><a
href="676066ac62"><code>676066a</code></a>
chore(deps): Update Rust Stable to v1.90 (<a
href="https://redirect.github.com/rust-cli/anstyle/issues/30">#30</a>)</li>
<li><a
href="3bfcdc25c2"><code>3bfcdc2</code></a>
chore: Add license for libfuzzer</li>
<li><a
href="5afd57342b"><code>5afd573</code></a>
chore(ci): Fix env variable syntax</li>
<li><a
href="addd8718e9"><code>addd871</code></a>
chore(ci): Reduce cached content</li>
<li><a
href="a6942ae749"><code>a6942ae</code></a>
docs: Switch links to https</li>
<li><a
href="5fb0a8e7f3"><code>5fb0a8e</code></a>
chore(deps): Update Rust Stable to v1.89 (<a
href="https://redirect.github.com/rust-cli/anstyle/issues/29">#29</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-cli/anstyle/compare/v1.0.12...v1.0.13">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstyle&package-manager=cargo&previous-version=1.0.12&new-version=1.0.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 19:55:10 +03:00
dependabot[bot]
0ef33d1318 build(deps): bump crate-ci/typos from 1.36.3 to 1.37.2 (#2127)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.36.3 to
1.37.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.37.2</h2>
<h2>[1.37.2] - 2025-10-03</h2>
<h3>Fixes</h3>
<ul>
<li>Don't suggest <code>diagnostic</code> for <code>diagnotics</code>,
preferring <code>diagnostics</code></li>
</ul>
<h2>v1.37.1</h2>
<h2>[1.37.1] - 2025-10-01</h2>
<h3>Fixes</h3>
<ul>
<li>Don't offer corrections to <code>&quot;&quot;</code></li>
</ul>
<h2>v1.37.0</h2>
<h2>[1.37.0] - 2025-09-30</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1370">September
2025</a> changes</li>
<li>Pull in other dictionary updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a href="https://keepachangelog.com/">Keep a
Changelog</a>
and this project adheres to <a href="https://semver.org/">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased] - ReleaseDate</h2>
<h2>[1.37.2] - 2025-10-03</h2>
<h3>Fixes</h3>
<ul>
<li>Don't suggest <code>diagnostic</code> for <code>diagnotics</code>,
preferring <code>diagnostics</code></li>
</ul>
<h2>[1.37.1] - 2025-10-01</h2>
<h3>Fixes</h3>
<ul>
<li>Don't offer corrections to <code>&quot;&quot;</code></li>
</ul>
<h2>[1.37.0] - 2025-09-30</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1370">September
2025</a> changes</li>
<li>Pull in other dictionary updates</li>
</ul>
<h2>[1.36.3] - 2025-09-25</h2>
<h3>Fixes</h3>
<ul>
<li>Fix typo in correction to <code>analysises</code></li>
</ul>
<h2>[1.36.2] - 2025-09-04</h2>
<h3>Fixes</h3>
<ul>
<li>Fix regression from 1.36.1 when rendering an error for a line with
invalid UTF-8</li>
</ul>
<h2>[1.36.1] - 2025-09-03</h2>
<h3>Fixes</h3>
<ul>
<li>Replaced the error rendering for various quality of life
improvements</li>
</ul>
<h2>[1.36.0] - 2025-09-02</h2>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7436548694"><code>7436548</code></a>
chore: Release</li>
<li><a
href="1823e2b025"><code>1823e2b</code></a>
docs: Update changelog</li>
<li><a
href="f0ee432398"><code>f0ee432</code></a>
chore: Release</li>
<li><a
href="c29d486d28"><code>c29d486</code></a>
chore: Release</li>
<li><a
href="38f26066b2"><code>38f2606</code></a>
chore: Release</li>
<li><a
href="e8116273bc"><code>e811627</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1391">#1391</a>
from epage/corrections</li>
<li><a
href="89bd858038"><code>89bd858</code></a>
fix(dict): Remove correction to focus on nearest option</li>
<li><a
href="ac57a77c74"><code>ac57a77</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1390">#1390</a>
from epage/update</li>
<li><a
href="5f38952876"><code>5f38952</code></a>
style: Make clippy happy</li>
<li><a
href="17f77b960b"><code>17f77b9</code></a>
chore: Update dependencies</li>
<li>Additional commits viewable in <a
href="0c17dabcee...7436548694">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.36.3&new-version=1.37.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 19:54:32 +03:00
dependabot[bot]
928ddee9f1 build(deps): bump taiki-e/install-action from 2.62.13 to 2.62.21 (#2128)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.62.13 to 2.62.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.62.21</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.3.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.33.0.</p>
</li>
</ul>
<h2>2.62.20</h2>
<ul>
<li>Update <code>uv@latest</code> to 0.8.23.</li>
</ul>
<h2>2.62.19</h2>
<ul>
<li>Update <code>cargo-llvm-cov@latest</code> to 0.6.20.</li>
</ul>
<h2>2.62.18</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.2.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.2.</p>
</li>
</ul>
<h2>2.62.17</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.105.</li>
</ul>
<h2>2.62.16</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.0.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.1.</p>
</li>
</ul>
<h2>2.62.15</h2>
<ul>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.2.3.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.9.25.</p>
</li>
</ul>
<h2>2.62.14</h2>
<ul>
<li>
<p>Update <code>trivy@latest</code> to 0.67.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.9.24.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<h2>[2.62.21] - 2025-10-06</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.3.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.33.0.</p>
</li>
</ul>
<h2>[2.62.20] - 2025-10-05</h2>
<ul>
<li>Update <code>uv@latest</code> to 0.8.23.</li>
</ul>
<h2>[2.62.19] - 2025-10-04</h2>
<ul>
<li>Update <code>cargo-llvm-cov@latest</code> to 0.6.20.</li>
</ul>
<h2>[2.62.18] - 2025-10-04</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.2.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.2.</p>
</li>
</ul>
<h2>[2.62.17] - 2025-10-03</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.105.</li>
</ul>
<h2>[2.62.16] - 2025-10-02</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.10.0.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.1.</p>
</li>
</ul>
<h2>[2.62.15] - 2025-10-01</h2>
<ul>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.2.3.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.37.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.9.25.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="522492a8c1"><code>522492a</code></a>
Release 2.62.21</li>
<li><a
href="3a71859bab"><code>3a71859</code></a>
Update <code>mise@latest</code> to 2025.10.3</li>
<li><a
href="8df25fe764"><code>8df25fe</code></a>
Update <code>cargo-tarpaulin@latest</code> to 0.33.0</li>
<li><a
href="f355b1dcaf"><code>f355b1d</code></a>
Release 2.62.20</li>
<li><a
href="d839a0e7f9"><code>d839a0e</code></a>
Update <code>uv@latest</code> to 0.8.23</li>
<li><a
href="9f532f95f2"><code>9f532f9</code></a>
Release 2.62.19</li>
<li><a
href="279b968aa6"><code>279b968</code></a>
Update <code>cargo-llvm-cov@latest</code> to 0.6.20</li>
<li><a
href="e825cea3ae"><code>e825cea</code></a>
Release 2.62.18</li>
<li><a
href="0204df0e22"><code>0204df0</code></a>
Update changelog</li>
<li><a
href="5767aec4bd"><code>5767aec</code></a>
Update <code>mise@latest</code> to 2025.10.2</li>
<li>Additional commits viewable in <a
href="d0f4f69b07...522492a8c1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.62.13&new-version=2.62.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 19:49:23 +03:00
Orhun Parmaksız
297d264c6b chore: update maintainers (#2122) 2025-10-05 12:07:06 -07:00
Marco Ieni
2b0a044ced fix(ci): add contents write permission to release-plz PR (#2119)
https://release-plz.dev/docs/github/quickstart#3-setup-the-workflow

Fixes https://github.com/release-plz/release-plz/issues/2439
2025-10-01 12:43:59 -07:00
Orhun Parmaksız
cace1e099c revert(release): prepare for beta release (#2022) (#2117)
This reverts commit 5ae224b244 so that
`release-plz` is being triggered again.

See https://github.com/ratatui/ratatui/pull/2022#issuecomment-3349094310
for rationale.

<!-- Please read CONTRIBUTING.md before submitting any pull request. -->
2025-10-01 10:51:06 +03:00
Orhun Parmaksız
200b217722 docs(examples): add VHS tapes and docs for widget examples (#2114)
fixes #1982

Later on I'll figure out an easy way to regenerate this in the CI and
possibly do the same for the app examples' VHS tapes. That's why I
haven't added a script or mentioned anything in the docs yet (hint:
#1721)

---------

Co-authored-by: Jagoda Estera Ślązak <128227338+j-g00da@users.noreply.github.com>
2025-09-30 22:22:30 +03:00
dependabot[bot]
849f4badbf build(deps): bump crate-ci/typos from 1.36.2 to 1.36.3 (#2115)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.36.2 to
1.36.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.36.3</h2>
<h2>[1.36.3] - 2025-09-25</h2>
<h3>Fixes</h3>
<ul>
<li>Fix typo in correction to <code>analysises</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a href="http://keepachangelog.com/">Keep a
Changelog</a>
and this project adheres to <a href="http://semver.org/">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased] - ReleaseDate</h2>
<h2>[1.36.3] - 2025-09-25</h2>
<h3>Fixes</h3>
<ul>
<li>Fix typo in correction to <code>analysises</code></li>
</ul>
<h2>[1.36.2] - 2025-09-04</h2>
<h3>Fixes</h3>
<ul>
<li>Fix regression from 1.36.1 when rendering an error for a line with
invalid UTF-8</li>
</ul>
<h2>[1.36.1] - 2025-09-03</h2>
<h3>Fixes</h3>
<ul>
<li>Replaced the error rendering for various quality of life
improvements</li>
</ul>
<h2>[1.36.0] - 2025-09-02</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1345">August
2025</a> changes</li>
</ul>
<h2>[1.35.8] - 2025-09-02</h2>
<h2>[1.35.7] - 2025-08-29</h2>
<h3>Documentation</h3>
<ul>
<li>Expand PyPI metadata</li>
</ul>
<h2>[1.35.6] - 2025-08-28</h2>
<h3>Fixes</h3>
<ul>
<li>Track <code>go.mod</code> as a golang file (regression from
1.13.21)</li>
</ul>
<h2>[1.35.5] - 2025-08-18</h2>
<h3>Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c17dabcee"><code>0c17dab</code></a>
chore: Release</li>
<li><a
href="d4a3b7b012"><code>d4a3b7b</code></a>
docs: Update changelog</li>
<li><a
href="8feb042263"><code>8feb042</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1379">#1379</a>
from epage/dict</li>
<li><a
href="6995b89f82"><code>6995b89</code></a>
fix(dict): Don't correct too analysises</li>
<li><a
href="87d09ddc37"><code>87d09dd</code></a>
fix(codespell): Update to 2f3751e</li>
<li><a
href="5e1db27ee9"><code>5e1db27</code></a>
docs(readme): Specify --locked</li>
<li><a
href="2abc5d928a"><code>2abc5d9</code></a>
chore(deps): Update Rust Stable to v1.90 (<a
href="https://redirect.github.com/crate-ci/typos/issues/1375">#1375</a>)</li>
<li>See full diff in <a
href="85f62a8a84...0c17dabcee">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.36.2&new-version=1.36.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 22:22:28 -07:00
Blaeriz
9a930a6e99 docs(terminal): Made usage of Terminal::get_frame() clearer (#2071)
Closes : https://github.com/ratatui/ratatui/issues/1200

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-09-30 07:30:42 +03:00
dependabot[bot]
08afbeef39 build(deps): bump anstyle from 1.0.11 to 1.0.12 (#2112)
Bumps [anstyle](https://github.com/rust-cli/anstyle) from 1.0.11 to
1.0.12.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2a2bebb199"><code>2a2bebb</code></a>
chore: Release</li>
<li><a
href="98b79906a3"><code>98b7990</code></a>
docs: Update changelog</li>
<li><a
href="f28db2de10"><code>f28db2d</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/269">#269</a>
from Muscraft/no-leading-zero</li>
<li><a
href="20258de73f"><code>20258de</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/270">#270</a>
from Muscraft/coverage-rustfmt</li>
<li><a
href="b8a3a15f0b"><code>b8a3a15</code></a>
fix: Ensuse rustfmt is installed for coverage</li>
<li><a
href="ba45662034"><code>ba45662</code></a>
fix: Don't add leading zero to single digit ansi 256</li>
<li><a
href="82b1c6c433"><code>82b1c6c</code></a>
test: Add a test for leading zeros</li>
<li><a
href="d6c494232b"><code>d6c4942</code></a>
chore(deps): Update Rust Stable to v1.90 (<a
href="https://redirect.github.com/rust-cli/anstyle/issues/268">#268</a>)</li>
<li><a
href="d90a7bcb14"><code>d90a7bc</code></a>
style: Fix rustc warning</li>
<li><a
href="942f283356"><code>942f283</code></a>
chore: Release</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/v1.0.11...v1.0.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstyle&package-manager=cargo&previous-version=1.0.11&new-version=1.0.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-09-30 07:29:51 +03:00
dependabot[bot]
424fcbf679 build(deps): bump line-clipping from 0.3.3 to 0.3.4 (#2111)
Bumps [line-clipping](https://github.com/joshka/line-clipping) from
0.3.3 to 0.3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/joshka/line-clipping/releases">line-clipping's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.4</h2>
<h3>Other</h3>
<ul>
<li><em>(deps)</em> bump bitflags in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/pull/17">#17</a>)</li>
<li><em>(deps)</em> bump actions/checkout in the github-actions group
(<a
href="https://redirect.github.com/joshka/line-clipping/pull/16">#16</a>)</li>
<li><em>(deps)</em> bump rstest in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/pull/14">#14</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/joshka/line-clipping/blob/main/CHANGELOG.md">line-clipping's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/joshka/line-clipping/compare/v0.3.3...v0.3.4">0.3.4</a>
- 2025-09-28</h2>
<h3>Other</h3>
<ul>
<li><em>(deps)</em> bump bitflags in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/pull/17">#17</a>)</li>
<li><em>(deps)</em> bump actions/checkout in the github-actions group
(<a
href="https://redirect.github.com/joshka/line-clipping/pull/16">#16</a>)</li>
<li><em>(deps)</em> bump rstest in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/pull/14">#14</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5394ebf7b1"><code>5394ebf</code></a>
chore: release v0.3.4 (<a
href="https://redirect.github.com/joshka/line-clipping/issues/15">#15</a>)</li>
<li><a
href="f30cb0c44f"><code>f30cb0c</code></a>
build(deps): bump bitflags in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/issues/17">#17</a>)</li>
<li><a
href="c403f01190"><code>c403f01</code></a>
build(deps): bump actions/checkout in the github-actions group (<a
href="https://redirect.github.com/joshka/line-clipping/issues/16">#16</a>)</li>
<li><a
href="ce1e44f28a"><code>ce1e44f</code></a>
build(deps): bump rstest in the rust-dependencies group (<a
href="https://redirect.github.com/joshka/line-clipping/issues/14">#14</a>)</li>
<li>See full diff in <a
href="https://github.com/joshka/line-clipping/compare/v0.3.3...v0.3.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=line-clipping&package-manager=cargo&previous-version=0.3.3&new-version=0.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-09-30 07:27:44 +03:00
dependabot[bot]
442fb54ace build(deps): bump lru from 0.16.0 to 0.16.1 (#2109)
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.16.0 to 0.16.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md">lru's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/jeromefroe/lru-rs/tree/0.16.1">v0.16.1</a> -
2025-09-08</h2>
<ul>
<li>Fix <code>Clone</code> for unbounded cache.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c699209232"><code>c699209</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/220">#220</a>
from jeromefroe/jerome/prepare-0-16-1-release</li>
<li><a
href="2bd8207030"><code>2bd8207</code></a>
Prepare 0.16.1 release</li>
<li><a
href="1b21bf1c59"><code>1b21bf1</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/219">#219</a>
from wqfish/bk</li>
<li><a
href="3ec42b6369"><code>3ec42b6</code></a>
Fix clone implementation for unbounded cache</li>
<li>See full diff in <a
href="https://github.com/jeromefroe/lru-rs/compare/0.16.0...0.16.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lru&package-manager=cargo&previous-version=0.16.0&new-version=0.16.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 07:23:10 +03:00
dependabot[bot]
6fb2ec1753 build(deps): bump thiserror from 2.0.16 to 2.0.17 (#2110)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.16 to
2.0.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>2.0.17</h2>
<ul>
<li>Use differently named __private module per patch release (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/434">#434</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="72ae716e6d"><code>72ae716</code></a>
Release 2.0.17</li>
<li><a
href="599fdce83a"><code>599fdce</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/434">#434</a>
from dtolnay/private</li>
<li><a
href="9ec05f6b38"><code>9ec05f6</code></a>
Use differently named __private module per patch release</li>
<li><a
href="d2c492b549"><code>d2c492b</code></a>
Raise minimum tested compiler to rust 1.76</li>
<li><a
href="fc3ab9501d"><code>fc3ab95</code></a>
Opt in to generate-macro-expansion when building on docs.rs</li>
<li><a
href="819fe29dbb"><code>819fe29</code></a>
Update ui test suite to nightly-2025-09-12</li>
<li><a
href="259f48c549"><code>259f48c</code></a>
Enforce trybuild &gt;= 1.0.108</li>
<li><a
href="470e6a681c"><code>470e6a6</code></a>
Update ui test suite to nightly-2025-08-24</li>
<li><a
href="544e191e6e"><code>544e191</code></a>
Update actions/checkout@v4 -&gt; v5</li>
<li><a
href="cbc1ebad3e"><code>cbc1eba</code></a>
Delete duplicate cap-lints flag from build script</li>
<li>See full diff in <a
href="https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=2.0.16&new-version=2.0.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 07:22:52 +03:00
dependabot[bot]
8a5fbd3c58 build(deps): bump serde from 1.0.219 to 1.0.228 (#2113)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.219 to
1.0.228.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.228</h2>
<ul>
<li>Allow building documentation with
<code>RUSTDOCFLAGS='--cfg=docsrs'</code> set for the whole dependency
graph (<a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>)</li>
</ul>
<h2>v1.0.227</h2>
<ul>
<li>Documentation improvements (<a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>)</li>
</ul>
<h2>v1.0.226</h2>
<ul>
<li>Deduplicate variant matching logic inside generated Deserialize impl
for adjacently tagged enums (<a
href="https://redirect.github.com/serde-rs/serde/issues/2935">#2935</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.225</h2>
<ul>
<li>Avoid triggering a deprecation warning in derived Serialize and
Deserialize impls for a data structure that contains its own
deprecations (<a
href="https://redirect.github.com/serde-rs/serde/issues/2879">#2879</a>,
thanks <a
href="https://github.com/rcrisanti"><code>@​rcrisanti</code></a>)</li>
</ul>
<h2>v1.0.224</h2>
<ul>
<li>Remove private types being suggested in rustc diagnostics (<a
href="https://redirect.github.com/serde-rs/serde/issues/2979">#2979</a>)</li>
</ul>
<h2>v1.0.223</h2>
<ul>
<li>Fix serde_core documentation links (<a
href="https://redirect.github.com/serde-rs/serde/issues/2978">#2978</a>)</li>
</ul>
<h2>v1.0.222</h2>
<ul>
<li>Make <code>serialize_with</code> attribute produce code that works
if respanned to 2024 edition (<a
href="https://redirect.github.com/serde-rs/serde/issues/2950">#2950</a>,
thanks <a href="https://github.com/aytey"><code>@​aytey</code></a>)</li>
</ul>
<h2>v1.0.221</h2>
<ul>
<li>Documentation improvements (<a
href="https://redirect.github.com/serde-rs/serde/issues/2973">#2973</a>)</li>
<li>Deprecate <code>serde_if_integer128!</code> macro (<a
href="https://redirect.github.com/serde-rs/serde/issues/2975">#2975</a>)</li>
</ul>
<h2>v1.0.220</h2>
<ul>
<li>Add a way for data formats to depend on serde traits without waiting
for serde_derive compilation: <a
href="https://docs.rs/serde_core">https://docs.rs/serde_core</a> (<a
href="https://redirect.github.com/serde-rs/serde/issues/2608">#2608</a>,
thanks <a
href="https://github.com/osiewicz"><code>@​osiewicz</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a866b336f1"><code>a866b33</code></a>
Release 1.0.228</li>
<li><a
href="5adc9e816c"><code>5adc9e8</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>
from dtolnay/rustdocflags</li>
<li><a
href="ab581789f4"><code>ab58178</code></a>
Workaround for RUSTDOCFLAGS='--cfg=docsrs'</li>
<li><a
href="415d9fc560"><code>415d9fc</code></a>
Release 1.0.227</li>
<li><a
href="7c58427e12"><code>7c58427</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>
from dtolnay/inlinecoredoc</li>
<li><a
href="9d3410e3f4"><code>9d3410e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2992">#2992</a>
from dtolnay/inplaceseed</li>
<li><a
href="2fb6748bf1"><code>2fb6748</code></a>
Remove InPlaceSeed public re-export</li>
<li><a
href="f8137c79a2"><code>f8137c7</code></a>
Inline serde_core into serde in docsrs mode</li>
<li><a
href="b7dbf7e3cb"><code>b7dbf7e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2990">#2990</a>
from dtolnay/integer128</li>
<li><a
href="7c836915fc"><code>7c83691</code></a>
No longer macro_use integer128 module</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.219...v1.0.228">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.219&new-version=1.0.228)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 07:21:28 +03:00
Shingo OKAWA
887a6366e5 chore(ci): override RUSTUP_TOOLCHAIN for the check step (#2116)
Summary
Fixes an issue where the "check" CI jobs for MSRV and stable were
unintentionally using the stable toolchain from `rust-toolchain.toml`
instead of the matrix-specified toolchain.

Details
- Added `RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}` to the "check" job
in CI configuration.

Additional Context
- https://github.com/ratatui/ratatui/pull/2106
-
https://discord.com/channels/1070692720437383208/1072879985762762812/1422345357131780177
- https://rust-lang.github.io/rustup/overrides.html#overrides

Signed-off-by: Shingo OKAWA <shingo.okawa.g.h.c@gmail.com>
2025-09-30 07:19:06 +03:00
dependabot[bot]
b2872fb53c build(deps): bump taiki-e/install-action from 2.62.6 to 2.62.13 (#2107)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.62.6 to 2.62.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.62.13</h2>
<ul>
<li>Update <code>zizmor@latest</code> to 1.14.2.</li>
</ul>
<h2>2.62.12</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.9.23.</li>
</ul>
<h2>2.62.11</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.21.</p>
</li>
<li>
<p>Update <code>just@latest</code> to 1.43.0.</p>
</li>
</ul>
<h2>2.62.10</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.20.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.14.1.</p>
</li>
</ul>
<h2>2.62.9</h2>
<ul>
<li>
<p>Update <code>espup@latest</code> to 0.16.0.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.6.</p>
</li>
</ul>
<h2>2.62.8</h2>
<ul>
<li>
<p>Update <code>typos@latest</code> to 1.36.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.9.19.</p>
</li>
</ul>
<h2>2.62.7</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.18.</p>
</li>
<li>
<p>Update <code>rclone@latest</code> to 1.71.1.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<h2>[2.62.13] - 2025-09-29</h2>
<ul>
<li>Update <code>zizmor@latest</code> to 1.14.2.</li>
</ul>
<h2>[2.62.12] - 2025-09-29</h2>
<ul>
<li>Update <code>mise@latest</code> to 2025.9.23.</li>
</ul>
<h2>[2.62.11] - 2025-09-28</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.21.</p>
</li>
<li>
<p>Update <code>just@latest</code> to 1.43.0.</p>
</li>
</ul>
<h2>[2.62.10] - 2025-09-27</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.20.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.14.1.</p>
</li>
</ul>
<h2>[2.62.9] - 2025-09-26</h2>
<ul>
<li>
<p>Update <code>espup@latest</code> to 0.16.0.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.15.6.</p>
</li>
</ul>
<h2>[2.62.8] - 2025-09-26</h2>
<ul>
<li>
<p>Update <code>typos@latest</code> to 1.36.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2025.9.19.</p>
</li>
</ul>
<h2>[2.62.7] - 2025-09-25</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2025.9.18.</p>
</li>
<li>
<p>Update <code>rclone@latest</code> to 1.71.1.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d0f4f69b07"><code>d0f4f69</code></a>
Release 2.62.13</li>
<li><a
href="79f2c3bc22"><code>79f2c3b</code></a>
Update <code>zizmor@latest</code> to 1.14.2</li>
<li><a
href="1eaae0c172"><code>1eaae0c</code></a>
Update .deny.toml</li>
<li><a
href="5ab30948b9"><code>5ab3094</code></a>
Release 2.62.12</li>
<li><a
href="d108ea068c"><code>d108ea0</code></a>
Update changelog</li>
<li><a
href="33fea01368"><code>33fea01</code></a>
Update <code>mise@latest</code> to 2025.9.23</li>
<li><a
href="9473c731b1"><code>9473c73</code></a>
Update <code>mise@latest</code> to 2025.9.22</li>
<li><a
href="efd8b64311"><code>efd8b64</code></a>
Release 2.62.11</li>
<li><a
href="83dbb79ca7"><code>83dbb79</code></a>
Update <code>mise@latest</code> to 2025.9.21</li>
<li><a
href="dfef5625a2"><code>dfef562</code></a>
Update <code>just@latest</code> to 1.43.0</li>
<li>Additional commits viewable in <a
href="4575ae687e...d0f4f69b07">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.62.6&new-version=2.62.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 20:25:16 +03:00
dependabot[bot]
837af96e98 build(deps): bump Swatinem/rust-cache from 2.8.0 to 2.8.1 (#2108)
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from
2.8.0 to 2.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's
releases</a>.</em></p>
<blockquote>
<h2>v2.8.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Set empty <code>CARGO_ENCODED_RUSTFLAGS</code> in workspace metadata
retrieval by <a href="https://github.com/ark0f"><code>@​ark0f</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/249">Swatinem/rust-cache#249</a></li>
<li>chore(deps): update dependencies by <a
href="https://github.com/reneleonhardt"><code>@​reneleonhardt</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/251">Swatinem/rust-cache#251</a></li>
<li>chore: fix dependabot groups by <a
href="https://github.com/reneleonhardt"><code>@​reneleonhardt</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/253">Swatinem/rust-cache#253</a></li>
<li>Bump the prd-patch group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/254">Swatinem/rust-cache#254</a></li>
<li>chore(dependabot): regenerate and commit dist/ by <a
href="https://github.com/reneleonhardt"><code>@​reneleonhardt</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/257">Swatinem/rust-cache#257</a></li>
<li>Bump <code>@​types/node</code> from 22.16.3 to 24.2.1 in the
dev-major group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/255">Swatinem/rust-cache#255</a></li>
<li>Bump typescript from 5.8.3 to 5.9.2 in the dev-minor group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/256">Swatinem/rust-cache#256</a></li>
<li>Bump actions/setup-node from 4 to 5 in the actions group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/259">Swatinem/rust-cache#259</a></li>
<li>Update README.md by <a
href="https://github.com/Propfend"><code>@​Propfend</code></a> in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/234">Swatinem/rust-cache#234</a></li>
<li>Bump <code>@​types/node</code> from 24.2.1 to 24.3.0 in the
dev-minor group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/258">Swatinem/rust-cache#258</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ark0f"><code>@​ark0f</code></a> made
their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/249">Swatinem/rust-cache#249</a></li>
<li><a
href="https://github.com/reneleonhardt"><code>@​reneleonhardt</code></a>
made their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/251">Swatinem/rust-cache#251</a></li>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
made their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/254">Swatinem/rust-cache#254</a></li>
<li><a href="https://github.com/Propfend"><code>@​Propfend</code></a>
made their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/234">Swatinem/rust-cache#234</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Swatinem/rust-cache/compare/v2...v2.8.1">https://github.com/Swatinem/rust-cache/compare/v2...v2.8.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>2.8.1</h2>
<ul>
<li>Set empty <code>CARGO_ENCODED_RUSTFLAGS</code> when retrieving
metadata</li>
<li>Various dependency updates</li>
</ul>
<h2>2.8.0</h2>
<ul>
<li>Add support for <code>warpbuild</code> cache provider</li>
<li>Add new <code>cache-workspace-crates</code> feature</li>
</ul>
<h2>2.7.8</h2>
<ul>
<li>Include CPU arch in the cache key</li>
</ul>
<h2>2.7.7</h2>
<ul>
<li>Also cache <code>cargo install</code> metadata</li>
</ul>
<h2>2.7.6</h2>
<ul>
<li>Allow opting out of caching $CARGO_HOME/bin</li>
<li>Add runner OS in cache key</li>
<li>Adds an option to do lookup-only of the cache</li>
</ul>
<h2>2.7.5</h2>
<ul>
<li>Support Cargo.lock format cargo-lock v4</li>
<li>Only run macOsWorkaround() on macOS</li>
</ul>
<h2>2.7.3</h2>
<ul>
<li>Work around upstream problem that causes cache saving to hang for
minutes.</li>
</ul>
<h2>2.7.2</h2>
<ul>
<li>Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code>
files of workspace members.</li>
</ul>
<h2>2.7.1</h2>
<ul>
<li>Update toml parser to fix parsing errors.</li>
</ul>
<h2>2.7.0</h2>
<ul>
<li>Properly cache <code>trybuild</code> tests.</li>
</ul>
<h2>2.6.2</h2>
<ul>
<li>Fix <code>toml</code> parsing.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f13886b937"><code>f13886b</code></a>
2.8.1</li>
<li><a
href="5abb1e2a95"><code>5abb1e2</code></a>
update dependencies, prepare for release</li>
<li><a
href="3c68c31fe5"><code>3c68c31</code></a>
Bump <code>@​types/node</code> from 24.2.1 to 24.3.0 in the dev-minor
group (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/258">#258</a>)</li>
<li><a
href="5467cca14c"><code>5467cca</code></a>
Update README.md (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/234">#234</a>)</li>
<li><a
href="94b28bf00e"><code>94b28bf</code></a>
Bump actions/setup-node from 4 to 5 in the actions group (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/259">#259</a>)</li>
<li><a
href="cb8ffc21fa"><code>cb8ffc2</code></a>
Bump typescript from 5.8.3 to 5.9.2 in the dev-minor group (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/256">#256</a>)</li>
<li><a
href="c4f0bbdf58"><code>c4f0bbd</code></a>
Bump <code>@​types/node</code> from 22.16.3 to 24.2.1 in the dev-major
group (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/255">#255</a>)</li>
<li><a
href="d8c5063361"><code>d8c5063</code></a>
chore(dependabot): regenerate and commit dist/ (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/257">#257</a>)</li>
<li><a
href="267a8a94c9"><code>267a8a9</code></a>
Merge pull request <a
href="https://redirect.github.com/swatinem/rust-cache/issues/254">#254</a>
from Swatinem/dependabot/npm_and_yarn/prd-patch-d0e2e...</li>
<li><a
href="46cb408fba"><code>46cb408</code></a>
Bump the prd-patch group with 2 updates</li>
<li>Additional commits viewable in <a
href="98c8021b55...f13886b937">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.8.0&new-version=2.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 20:21:10 +03:00
Shingo OKAWA
34baaf1137 chore(ci): override the toolchain for CI runs (#2106)
### Summary
Fixes an issue where the beta CI jobs were unintentionally using the
stable
toolchain from `rust-toolchain.toml` instead of the matrix-specified
toolchain.
This caused clippy to run against the wrong version.

### Details
- Added `RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}` to the CI
configuration

### Additional Context
-
https://discord.com/channels/1070692720437383208/1072879985762762812/1421990770482745415
- https://rust-lang.github.io/rustup/overrides.html#overrides

Signed-off-by: Shingo OKAWA <shingo.okawa.g.h.c@gmail.com>
2025-09-29 12:10:48 +03:00
38 changed files with 2426 additions and 2057 deletions

115
.cliffignore Normal file
View File

@@ -0,0 +1,115 @@
# skip entries from <https://github.com/ratatui/ratatui/pull/1652>
50af9a5d80ed5446f3e6cc554911f606580edde9
272e9709c6eed45cd7e0c183624b7898f4e0ae69
adc8fdc35aa57d6dad2ae8dd30ec2e9256576c09
31711dbf82a4c7bb3b78692da34d9f469725dd6e
b6356aa7a529a491d63dd6628b8985adae337f16
885558b6f89df642317d39c5b44c94c742d1e0c8
6440eb9d76379340953420629ab0a3d9039d6c48
3870583ea868452191857f9bda97a3d5c35d0a4f
487edc8399683fb8a9a66359729c015780d248f2
250c222cc4aaab09184a28efc68f75ca03133794
590a392ab11c1a215767614931036781f4cf6a29
6443f7408af4a8834bc68cd35d2ba9be47e45f38
8339cce10a51c9c951b3c9750d527d80168626eb
ac342231c344e893f2f630ee38167aab28c736a6
0fb103680028a6e26a1923f87b60bde51acaec4f
4335a90a00aeeedb69a92442c7f2711727944017
71480242a926f98e9081ed6e2dc8c381757b3a42
e1a31db55913bd690bcaef380e9dbc3b6a5dc175
38490ff8da6f11e309ba1bcb3e88a562f7c953c5
a4bb143e4767137d6a9e9927d3da66562611f86f
bc73f2dcbe5ea48fc4d1555a8e931f40d7b0e03f
77dea441e5637b1c428c2aa71ea67fb3aac20c12
06af14107e70e49a4cba3babb8ab0a0c57b4bdf8
9acdab32df69517b93dd2b861b85586d47c71540
2e684c6500be61fbe69744d183c8086564ac0051
b7f8ec0ff9659473d936eae53a57cd9de38cec1f
31a2c4548c304270a8c852f19baa7a4eaac5e75c
57b681b053c019b66e0ed92959638997fea731b1
131b9ec41751163d43d94564363247b60f031486
8b32f82b4dd526580d00fa13f053bf507e8ea933
76d1e5b1733d47a7f05acf563db26cb1a66b540d
57a0a34f924e0d488c9e9f917900e677c3488dc4
12aa58601ddd0704256c56019bd2c7139d41f7a2
2dc81833c60951d16f9bd60f3da003edfc9a11f5
20e41f1d1da6db8abbc2504814531d4d97bdf94b
68b55a12a29e70ebfcc063c2d5d5845de3b5a27e
693003314a25e792ffc5d53146b28bfb6a4582e3
63441e259bc38b56e0369197bed14788b2cb3d54
fa88152c808eeb6c9d9b3662361aab1e57e1b1bf
30d9daa59b1843786cde00e25c3e69cfe818b80b
92540b2f6ab25f3a5400aebb28af3c498ac793a4
29edc3a7a38c512611a80cf5d8d42027558419b2
819499d6ffc0e8453ed3220067645933a4882a74
4756526829a4e849d9e256b6cf821eb66afe3ade
8f35437d5ad78d31cd45c4af888f20f0b5ab4196
39bd72b1f702dadb1ebbaf4e77ad2fada166ac49
c6d2cee3e967c9234176c5229858512b0c79d6a9
bd90e3d928e0f9f0b915933ebbc32c2256fe8cfa
b820c0c7e4c576c1e39b5e482a8aac08076a039c
74194759756bb111b4da3e9a5cdb968275a2fab0
38b2f27efe0e1829bc503df7fd64b94b7bb80d97
21aa3232d762d6e3f81f15fc5b66ba462385ac05
903bb0ae32d22393783edfda96db900739864f0a
5cee13ab6d9c49751cf9283d9099e37f0cc3632c
0a0997702dd4cf2217160f5652f5c39cbd4a1010
778f2f5ec511bef431b54157242b91d083ea9840
7d23bd2ceaf96e81972b5f746fdcba0d17f6391f
2c02a56bce31519386303571e0b66b7d4beb378e
f33d51e7d9ccf9fe52ec3289d04d97c722d9ee17
91cd81aaa032887bb2327bc3fe3cad6b3c9fbacf
5d5a1ccb0b4e2f293f215ce026fba33f1c069689
6b9417db5f2adbdc60e9dd8dc5acbbe2a1f77ba9
dce1e4b138eb1333c9e773bacd579a8cdddd73fb
b4aacb045e2200896b0d0136a2b8688b47828d73
dcba0bcd5d5d6e33ddc1fa94ebb94819fdda600e
6f52350ecfb62e3a5bac16f0824e74b757cc6cd2
2c6f324b9aa5034771e00758b143fd8df94d859d
bf0210602948f8d26ae323996fe7b22fb218a446
07aff91b015b5e7e0504680c12edbce70d7dba1e
f6d49dde14af73ed467d75d8f6ec0f502db2908f
9a7467b30576d5cb7491ea6e09efcae97eadf9bb
a0c35f1d7bcce10e092582b95f5b0a3f20ad7bf3
d24747d46982192b575a40b8cc18d1c948fac3d7
8060f7bc578b29dde6ca0c4c64569f9c73218f46
0dc5b2d2e0aa6438ffc1b3965b1ab31c721adbcc
8ecdd892f53d7db95bbb53a61700d36e3fcefdd4
570c35868147a2400a13331e85d562d1ef96a011
3855c3a84a77037aeee40dbe9e52454fb1f9afee
93372f35c1669da0138ca776890f3ff3d38a6539
6cf08d4a2f0398856fd593f50bf077fd59b08230
f78d3bfec32d07c1124eee8d0249477ce3fb0884
204307fa50aaaa373946342084f7fd3af39f3cd3
c50b01d098e5ab405a50c3e14e858da27d606e8f
f71d1ac73e8290f37d55a67d6a6507a3653ec174
ae2868c0e0b1ac8b5126fd43269383fa533d87b5
be8def963956c605bca28bcd8df673bd7ec3740b
4ac4d9d3ab97176d71e287bcdd6d41e66f2f7ccb
fafabb8dab84e9460a076199ea646262e51c855b
2f97d35bd8618e8c0cc006cb1d4a9b151c1b9b4a
39d5a745acbbd3510de707d4e7c471c17e02ae59
a1acdcdc4c002390a76f01699cfa006a36cf3f56
ad54cf29ad1a4335ba208fb94a8fc5dfbba260e3
c7649575e7b199794be4252f79da80aaecdcee28
8913e2ce1f40d451ddb4527f08ec75f198d5063c
1b9e310300f22bfc72364f027a9caeddadf61a99
89d7dd46031511f0556b2d29ab34035f42e3a24c
ca4fa0b9bf5ba707aa0447ba7c38fbacdadb7eec
8cecfdf2f6dd5b0de507f79b469517cc0fb42add
7eeb6afb3dbc56e52f9387a74f826b186cd19137
d0f75eb371a96f8d5f174e23de074efd840e9e44
f8a70ea9da8e6df2bf7a5f74cce45615fc292afe
f28b9730061bffadb9d87ad63edf7d10b245d2c1
afc5cf2140f22fea6bd6933dd0f9c302229a1980
b75df78cdca58d5dca0c51fb8e106067aa6cb752
28f5a6dbd4091aa3efa86eed6767eeb44a655f0f
345e6a1ebd853858463a33953585ce407a60378c
c45a4de47c601554f6b981d211181468b4798e41
bbaa9a5432ff6ad5518344123c3b56f349347e99
f804c90f96221f334371ccd01b0e6df7b1cfc1e8
16ba867c5877d8c97968987ecb5f8bff966d0a82
38a1474ca12aa6a796afc1e277882d997a999e14
92c4078413fc79fcc83f5d3d8708abb58696ff1a
d4415204e1eb3aed2a74a722aeaaa274975dd2d7
e48bcf5f21f14acb27996fdc02231c140f5b817c

View File

@@ -36,8 +36,8 @@ jobs:
with:
toolchain: nightly
components: rustfmt
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: taplo-cli
- run: cargo xtask format --check
@@ -51,7 +51,7 @@ jobs:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: crate-ci/typos@85f62a8a84f939ae994ab3763f01a0296d61a7ee # master
- uses: crate-ci/typos@80c8a4945eec0f6d464eaf9e65ed98ef085283d1 # master
# Check for any disallowed dependencies in the codebase due to license / security issues.
# See <https://github.com/EmbarkStudios/cargo-deny>
@@ -65,7 +65,7 @@ jobs:
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-deny
- run: cargo deny --log-level info --all-features check
@@ -102,8 +102,10 @@ jobs:
with:
toolchain: ${{ matrix.toolchain }}
components: clippy
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask clippy
env:
RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}
# Run markdownlint on all markdown files in the repository.
lint-markdown:
@@ -132,10 +134,10 @@ jobs:
with:
toolchain: stable
components: llvm-tools
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-llvm-cov
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask coverage
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
with:
@@ -158,11 +160,13 @@ jobs:
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: ${{ matrix.toolchain }}
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-hack
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask check --all-features
env:
RUSTUP_TOOLCHAIN: ${{ matrix.toolchain }}
build-no-std:
name: Build No-Std
@@ -175,7 +179,7 @@ jobs:
with:
toolchain: stable
targets: x86_64-unknown-none
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
# This makes it easier to debug the exact versions of the dependencies
- run: cargo tree --target x86_64-unknown-none -p ratatui-core
- run: cargo tree --target x86_64-unknown-none -p ratatui-widgets
@@ -194,8 +198,8 @@ jobs:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-rdme
- run: cargo xtask readme --check
@@ -217,10 +221,10 @@ jobs:
- uses: dtolnay/install@74f735cdf643820234e37ae1c4089a08fd266d8a # master
with:
crate: cargo-docs-rs
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-hack
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask docs
# Run cargo test on the documentation of the crate. This will catch any code examples that don't
@@ -235,10 +239,10 @@ jobs:
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-hack
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask test-docs
# Run cargo test on the libraries of the crate.
@@ -256,10 +260,10 @@ jobs:
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: taiki-e/install-action@4575ae687efd0e2c78240087f26013fb2484987f # v2
- uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2
with:
tool: cargo-hack
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask test-libs
# Run cargo test on all the backends.
@@ -282,5 +286,5 @@ jobs:
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2
- run: cargo xtask test-backend ${{ matrix.backend }}

View File

@@ -31,10 +31,10 @@ jobs:
uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: rust-lang/crates-io-auth-action@e919bc7605cde86df457cf5b93c5e103838bd879 # v1
- uses: rust-lang/crates-io-auth-action@041cce5b4b821e6b0ebc9c9c38b58cac4e34dcc2 # v1
id: auth
- name: Run release-plz
uses: release-plz/action@acb9246af4d59a270d1d4058a8b9af8c3f3a2559 # v0.5
uses: release-plz/action@d529f731ae3e89610ada96eda34e5c6ba3b12214 # v0.5
with:
command: release
env:
@@ -46,6 +46,7 @@ jobs:
name: Release-plz PR
permissions:
pull-requests: write
contents: write
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'ratatui' }}
concurrency:
@@ -62,7 +63,7 @@ jobs:
with:
toolchain: stable
- name: Run release-plz
uses: release-plz/action@acb9246af4d59a270d1d4058a8b9af8c3f3a2559 # v0.5
uses: release-plz/action@d529f731ae3e89610ada96eda34e5c6ba3b12214 # v0.5
with:
command: release-pr
env:

View File

@@ -1,35 +0,0 @@
name: vhs
on:
push:
branches:
- vhs-test
jobs:
vhs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921 # master
with:
toolchain: stable
- uses: FedericoCarboni/setup-ffmpeg@v3
id: setup-ffmpeg
- uses: actions/setup-go@v6
with:
go-version: "^1.13.1" # The Go version to download (if necessary) and use.
- run: |
cargo build -p demo2
sudo apt update
sudo apt install -y ffmpeg ttyd
go install github.com/charmbracelet/vhs@latest
vhs ./examples/vhs/demo2.tape
- name: Upload GIF artifact
uses: actions/upload-artifact@v4
with:
name: demo2-gif
path: ./target/demo2.gif

File diff suppressed because it is too large Load Diff

194
Cargo.lock generated
View File

@@ -79,9 +79,9 @@ dependencies = [
[[package]]
name = "anstyle"
version = "1.0.11"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
[[package]]
name = "anstyle-parse"
@@ -224,11 +224,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.9.4"
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
dependencies = [
"serde",
"serde_core",
]
[[package]]
@@ -341,7 +341,7 @@ dependencies = [
"num-traits",
"serde",
"wasm-bindgen",
"windows-link",
"windows-link 0.1.3",
]
[[package]]
@@ -373,9 +373,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.48"
version = "4.5.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae"
checksum = "0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623"
dependencies = [
"clap_builder",
"clap_derive",
@@ -393,9 +393,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.48"
version = "4.5.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9"
checksum = "0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0"
dependencies = [
"anstream",
"anstyle",
@@ -405,9 +405,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.47"
version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
dependencies = [
"heck",
"proc-macro2",
@@ -626,7 +626,7 @@ version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"crossterm_winapi",
"mio",
"parking_lot",
@@ -643,7 +643,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"crossterm_winapi",
"derive_more",
"document-features",
@@ -836,9 +836,9 @@ checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921"
[[package]]
name = "document-features"
version = "0.2.11"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
dependencies = [
"litrs",
]
@@ -963,12 +963,6 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "foldhash"
version = "0.2.0"
@@ -1156,11 +1150,6 @@ name = "hashbrown"
version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash 0.1.5",
]
[[package]]
name = "hashbrown"
@@ -1170,7 +1159,7 @@ checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash 0.2.0",
"foldhash",
]
[[package]]
@@ -1470,9 +1459,12 @@ dependencies = [
[[package]]
name = "indoc"
version = "2.0.6"
version = "2.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
dependencies = [
"rustversion",
]
[[package]]
name = "inline"
@@ -1508,17 +1500,6 @@ dependencies = [
"syn 2.0.106",
]
[[package]]
name = "io-uring"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
dependencies = [
"bitflags 2.9.4",
"cfg-if",
"libc",
]
[[package]]
name = "iri-string"
version = "0.7.8"
@@ -1593,7 +1574,7 @@ dependencies = [
"hashbrown 0.16.0",
"portable-atomic",
"portable-atomic-util",
"thiserror 2.0.16",
"thiserror 2.0.17",
]
[[package]]
@@ -1635,18 +1616,18 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"libc",
"redox_syscall",
]
[[package]]
name = "line-clipping"
version = "0.3.3"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51a1679740111eb63b7b4cb3c97b1d5d9f82e142292a25edcfdb4120a48b3880"
checksum = "b9bd35dcd25f8578944c44cd75649d6487d74cf895002f6d86613164f2635b72"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
]
[[package]]
@@ -1678,9 +1659,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
[[package]]
name = "litrs"
version = "0.4.2"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed"
checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
[[package]]
name = "lock_api"
@@ -1700,11 +1681,11 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]]
name = "lru"
version = "0.16.0"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86ea4e65087ff52f3862caff188d489f1fab49a0cb09e01b2e3f1a617b10aaed"
checksum = "96051b46fc183dc9cd4a223960ef37b9af631b55191852a8274bfef064cda20f"
dependencies = [
"hashbrown 0.15.5",
"hashbrown 0.16.0",
]
[[package]]
@@ -1809,7 +1790,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"cfg-if",
"cfg_aliases",
"libc",
@@ -1907,9 +1888,9 @@ dependencies = [
[[package]]
name = "octocrab"
version = "0.44.1"
version = "0.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86996964f8b721067b6ed238aa0ccee56ecad6ee5e714468aa567992d05d2b91"
checksum = "0860f9250b6db66c5a4b46e00b381f063c58ad06a90f95f9ef701dd8679bb2c6"
dependencies = [
"arc-swap",
"async-trait",
@@ -2073,7 +2054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323"
dependencies = [
"memchr",
"thiserror 2.0.16",
"thiserror 2.0.17",
"ucd-trie",
]
@@ -2523,7 +2504,7 @@ name = "ratatui-core"
version = "0.1.0-beta.0"
dependencies = [
"anstyle",
"bitflags 2.9.4",
"bitflags 2.10.0",
"compact_str",
"document-features",
"hashbrown 0.16.0",
@@ -2537,7 +2518,7 @@ dependencies = [
"serde",
"serde_json",
"strum",
"thiserror 2.0.16",
"thiserror 2.0.17",
"unicode-segmentation",
"unicode-truncate",
"unicode-width",
@@ -2600,7 +2581,7 @@ dependencies = [
name = "ratatui-widgets"
version = "0.3.0-beta.0"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"color-eyre",
"crossterm 0.29.0",
"document-features",
@@ -2655,7 +2636,7 @@ version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
]
[[package]]
@@ -2771,11 +2752,11 @@ version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"errno",
"libc",
"linux-raw-sys 0.4.15",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -2784,7 +2765,7 @@ version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"errno",
"libc",
"linux-raw-sys 0.9.4",
@@ -2898,7 +2879,7 @@ version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -2923,18 +2904,28 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
[[package]]
name = "serde"
version = "1.0.219"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
"serde_core",
"serde_derive",
]
[[package]]
name = "serde_core"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.219"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
@@ -2943,14 +2934,15 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.143"
version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
dependencies = [
"itoa",
"memchr",
"ryu",
"serde",
"serde_core",
]
[[package]]
@@ -3076,7 +3068,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb"
dependencies = [
"num-bigint",
"num-traits",
"thiserror 2.0.16",
"thiserror 2.0.17",
"time",
]
@@ -3291,7 +3283,7 @@ checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7"
dependencies = [
"anyhow",
"base64",
"bitflags 2.9.4",
"bitflags 2.10.0",
"fancy-regex",
"filedescriptor",
"finl_unicode",
@@ -3337,11 +3329,11 @@ dependencies = [
[[package]]
name = "thiserror"
version = "2.0.16"
version = "2.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0"
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
dependencies = [
"thiserror-impl 2.0.16",
"thiserror-impl 2.0.17",
]
[[package]]
@@ -3357,9 +3349,9 @@ dependencies = [
[[package]]
name = "thiserror-impl"
version = "2.0.16"
version = "2.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960"
checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
dependencies = [
"proc-macro2",
"quote",
@@ -3439,26 +3431,23 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.47.1"
version = "1.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
dependencies = [
"backtrace",
"io-uring",
"libc",
"mio",
"pin-project-lite",
"slab",
"socket2",
"tokio-macros",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
name = "tokio-macros"
version = "2.5.0"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
@@ -3578,7 +3567,7 @@ version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"bytes",
"futures-util",
"http",
@@ -3707,9 +3696,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
[[package]]
name = "trybuild"
version = "1.0.111"
version = "1.0.112"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ded9fdb81f30a5708920310bfcd9ea7482ff9cba5f54601f7a19a877d5c2392"
checksum = "4d66678374d835fe847e0dc8348fde2ceb5be4a7ec204437d8367f0d8df266a5"
dependencies = [
"dissimilar",
"glob",
@@ -3758,9 +3747,9 @@ dependencies = [
[[package]]
name = "unicode-width"
version = "0.2.1"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
[[package]]
name = "untrusted"
@@ -4072,7 +4061,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -4089,7 +4078,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
"windows-implement",
"windows-interface",
"windows-link",
"windows-link 0.1.3",
"windows-result",
"windows-strings",
]
@@ -4122,13 +4111,19 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-result"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
"windows-link",
"windows-link 0.1.3",
]
[[package]]
@@ -4137,7 +4132,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
"windows-link",
"windows-link 0.1.3",
]
[[package]]
@@ -4167,6 +4162,15 @@ dependencies = [
"windows-targets 0.53.3",
]
[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "windows-targets"
version = "0.52.6"
@@ -4189,7 +4193,7 @@ version = "0.53.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
dependencies = [
"windows-link",
"windows-link 0.1.3",
"windows_aarch64_gnullvm 0.53.0",
"windows_aarch64_msvc 0.53.0",
"windows_i686_gnu 0.53.0",
@@ -4311,7 +4315,7 @@ version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
]
[[package]]

View File

@@ -29,7 +29,7 @@ rust-version = "1.85.0"
[workspace.dependencies]
anstyle = "1"
bitflags = "2.9"
bitflags = "2.10"
clap = { version = "4.5", features = ["derive"] }
color-eyre = "0.6"
compact_str = { version = "0.9", default-features = false }
@@ -45,7 +45,7 @@ itertools = { version = "0.14", default-features = false, features = ["use_alloc
kasuari = { version = "0.4", default-features = false }
line-clipping = "0.3"
lru = "0.16"
octocrab = "0.44"
octocrab = "0.47"
palette = "0.7"
pretty_assertions = "1"
rand = "0.9"
@@ -74,7 +74,7 @@ trybuild = "1"
unicode-segmentation = "1"
unicode-truncate = { version = "2", default-features = false }
# See <https://github.com/ratatui/ratatui/issues/1271> for information about why we pin unicode-width
unicode-width = ">=0.2.0, <=0.2.1"
unicode-width = ">=0.2.0, <=0.2.2"
# Improve benchmark consistency
[profile.bench]

View File

@@ -5,7 +5,7 @@ This file documents current and past maintainers.
- [orhun](https://github.com/orhun)
- [joshka](https://github.com/joshka)
- [kdheepak](https://github.com/kdheepak)
- [Valentin271](https://github.com/Valentin271)
- [j-g00da](https://github.com/j-g00da)
## Past Maintainers
@@ -13,3 +13,4 @@ This file documents current and past maintainers.
- [mindoodoo](https://github.com/mindoodoo)
- [sayanarijit](https://github.com/sayanarijit)
- [EdJoPaTo](https://github.com/EdJoPaTo)
- [Valentin271](https://github.com/Valentin271)

View File

@@ -61,6 +61,18 @@ body = """
{%- endfor -%}
{%- endfor %}
{%- if not release_link -%}
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
### New Contributors
{%- endif %}\
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
* @{{ contributor.username }} made their first contribution
{%- if contributor.pr_number %} in \
[#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
{%- endif %}
{%- endfor -%}
{%- endif -%}
{% if version %}
{% if previous.version %}
{%- if release_link -%}
@@ -104,10 +116,15 @@ commit_preprocessors = [
{ pattern = '(Clarify README.md)', replace = "docs(readme): ${1}" },
{ pattern = '(Update README.md)', replace = "docs(readme): ${1}" },
{ pattern = '(fix typos|Fix typos)', replace = "fix: ${1}" },
# a small typo that squeaked through and which would otherwise trigger the typos linter.
# Typos that squeaked through and which would otherwise trigger the typos linter.
# Regex obsfucation is to avoid triggering the linter in this file until there's a per file config
# See https://github.com/crate-ci/typos/issues/724
{ pattern = '\<[d]eatil\>', replace = "detail" },
{ pattern = '\<[f]eatuers\>', replace = "features" },
{ pattern = '\<[s]pecically\>', replace = "specially" },
{ pattern = '\<[g]ague\>', replace = "gauge" },
{ pattern = '\<[i]ntructions\>', replace = "instructions" },
{ pattern = '\<[i]mplementated\>', replace = "implemented" },
]
# regex for parsing and grouping commits
commit_parsers = [
@@ -121,12 +138,14 @@ commit_parsers = [
{ message = "^style", group = "<!-- 05 -->Styling" },
{ message = "^test", group = "<!-- 06 -->Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore: release", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore\\(deps\\)", skip = true },
{ message = "^chore\\(changelog\\)", skip = true },
{ message = "^[cC]hore", group = "<!-- 07 -->Miscellaneous Tasks" },
{ message = "^build\\(deps\\)", skip = true },
{ message = "^build\\(release\\)", skip = true },
{ message = "^build", group = "<!-- 08 -->Build" },
{ body = ".*security", group = "<!-- 09 -->Security" },
{ message = "^ci", group = "<!-- 10 -->Continuous Integration" },

View File

@@ -1,7 +1,9 @@
# Examples
This folder contains examples that are more application focused.
There are also [widget examples] in `ratatui-widgets`.
> [!TIP]
> There are also [widget examples] in `ratatui-widgets`.
[widget examples]: ../ratatui-widgets/examples
@@ -11,8 +13,9 @@ You can run these examples using:
cargo run -p example-name
```
This folder might use unreleased code. Consider viewing the examples in the `latest` branch instead
of the `main` branch for code which is guaranteed to work with the released ratatui version.
> [!NOTE]
> This folder might use unreleased code. Consider viewing the examples in the `latest` branch instead
> of the `main` branch for code which is guaranteed to work with the released Ratatui version.
> [!WARNING]
>

View File

@@ -130,7 +130,7 @@ impl From<i16> for Spacing {
///
/// When the layout is computed, the result is cached in a thread-local cache, so that subsequent
/// calls with the same parameters are faster. The cache is a `LruCache`, and the size of the cache
/// can be configured using [`Layout::init_cache()`].
/// can be configured using [`Layout::init_cache()`] when the `layout-cache` feature is enabled.
///
/// # Construction
///
@@ -203,8 +203,8 @@ impl Layout {
/// on my laptop's terminal (171+51 = 222) and doubling it for good measure and then adding a
/// bit more to make it a round number. This gives enough entries to store a layout for every
/// row and every column, twice over, which should be enough for most apps. For those that need
/// more, the cache size can be set with [`Layout::init_cache()`].
/// This const is unused if layout cache is disabled.
/// more, the cache size can be set with `Layout::init_cache()` (requires the `layout-cache`
/// feature).
#[cfg(feature = "layout-cache")]
pub const DEFAULT_CACHE_SIZE: usize = 500;
@@ -636,8 +636,8 @@ impl Layout {
///
/// This method stores the result of the computation in a thread-local cache keyed on the layout
/// and area, so that subsequent calls with the same parameters are faster. The cache is a
/// `LruCache`, and grows until [`Self::DEFAULT_CACHE_SIZE`] is reached by default, if the cache
/// is initialized with the [`Layout::init_cache()`] grows until the initialized cache size.
/// `LruCache`, and grows until [`Self::DEFAULT_CACHE_SIZE`] is reached by default. If the cache
/// is initialized with [`Layout::init_cache()`], it grows until the initialized cache size.
///
/// There is a helper method that can be used to split the whole area into smaller ones based on
/// the layout: [`Layout::areas()`]. That method is a shortcut for calling this method. It
@@ -673,8 +673,8 @@ impl Layout {
///
/// This method stores the result of the computation in a thread-local cache keyed on the layout
/// and area, so that subsequent calls with the same parameters are faster. The cache is a
/// `LruCache`, and grows until [`Self::DEFAULT_CACHE_SIZE`] is reached by default, if the cache
/// is initialized with the [`Layout::init_cache()`] grows until the initialized cache size.
/// `LruCache`, and grows until [`Self::DEFAULT_CACHE_SIZE`] is reached by default. If the cache
/// is initialized with [`Layout::init_cache()`], it grows until the initialized cache size.
///
/// # Examples
///

View File

@@ -224,7 +224,7 @@ impl Rect {
/// Returns a new `Rect` outside the current one, with the given margin applied on each side.
///
/// If the margin causes the `Rect`'s bounds to outsdie the range of a `u16`, the `Rect` will
/// If the margin causes the `Rect`'s bounds to be outside the range of a `u16`, the `Rect` will
/// be truncated to keep the bounds within `u16`. This will cause the size of the `Rect` to
/// change.
///

View File

@@ -655,8 +655,8 @@ mod tests {
"abcdef0", // 7 chars is not a color
" bcdefa", // doesn't start with a '#'
"#abcdef00", // too many chars
"#1🦀2", // len 7 but on char boundaries shouldnt panic
"resett", // typo
"#1🦀2", // len 7 but on char boundaries shouldn't panic
"resets", // typo
"lightblackk", // typo
];

View File

@@ -99,7 +99,7 @@ pub enum MergeStrategy {
///
/// The following diagram illustrates how this would apply to several overlapping blocks where
/// the thick bordered blocks are rendered last, merging the previous symbols into a single
/// composite character. All combindations of the plain and thick segments exist, so these
/// composite character. All combinations of the plain and thick segments exist, so these
/// symbols can be merged into a single character:
///
/// ```text
@@ -264,7 +264,7 @@ pub enum MergeStrategy {
/// assert_eq!(strategy.merge("┃", "═"), "╬");
/// assert_eq!(strategy.merge("═", "┃"), "╋");
///
/// // combindations of double with plain that don't exist are merged based on the second symbol
/// // combinations of double with plain that don't exist are merged based on the second symbol
/// assert_eq!(strategy.merge("┐", "╔"), "╦");
/// assert_eq!(strategy.merge("╔", "┐"), "┬");
/// ```

View File

@@ -203,6 +203,40 @@ where
}
/// Get a Frame object which provides a consistent view into the terminal state for rendering.
///
/// # Note
///
/// This exists to support more advanced use cases. Most cases should be fine using
/// [`Terminal::draw`].
///
/// [`Terminal::get_frame`] should be used when you need direct access to the frame buffer
/// outside of draw closure, for example:
///
/// - Unit testing widgets
/// - Buffer state inspection
/// - Cursor manipulation
/// - Multiple rendering passes/Buffer Manipulation
/// - Custom frame lifecycle management
/// - Buffer exporting
///
/// # Example
///
/// Getting the buffer and asserting on some cells after rendering a widget.
///
/// ```rust,ignore
/// use ratatui::{backend::TestBackend, Terminal};
/// use ratatui::widgets::Paragraph;
/// let backend = TestBackend::new(30, 5);
/// let mut terminal = Terminal::new(backend).unwrap();
/// {
/// let mut frame = terminal.get_frame();
/// frame.render_widget(Paragraph::new("Hello"), frame.area());
/// }
/// // When not using `draw`, present the buffer manually:
/// terminal.flush().unwrap();
/// terminal.swap_buffers();
/// terminal.backend_mut().flush().unwrap();
/// ```
pub const fn get_frame(&mut self) -> Frame<'_> {
let count = self.frame_count;
Frame {

148
ratatui-core/tests/rect.rs Normal file
View File

@@ -0,0 +1,148 @@
//! Integration tests for Rect operations visualized with buffers.
use ratatui_core::buffer::Buffer;
use ratatui_core::layout::{Margin, Offset, Rect};
use ratatui_core::widgets::Widget;
/// A minimal widget that fills its entire area with the given symbol.
struct Filled<'a> {
symbol: &'a str,
}
impl Widget for Filled<'_> {
fn render(self, area: Rect, buf: &mut Buffer) {
for y in area.top()..area.bottom() {
for x in area.left()..area.right() {
if let Some(cell) = buf.cell_mut((x, y)) {
cell.set_symbol(self.symbol);
}
}
}
}
}
#[test]
fn inner() {
let base = Rect::new(2, 2, 10, 6);
let inner = base.inner(Margin::new(2, 1));
let mut buf = Buffer::empty(Rect::new(0, 0, 15, 10));
Filled { symbol: "" }.render(base, &mut buf);
Filled { symbol: "" }.render(inner, &mut buf);
let expected = Buffer::with_lines([
" ",
" ",
" ██████████ ",
" ██░░░░░░██ ",
" ██░░░░░░██ ",
" ██░░░░░░██ ",
" ██░░░░░░██ ",
" ██████████ ",
" ",
" ",
]);
assert_eq!(buf, expected);
}
#[test]
fn outer() {
let base = Rect::new(4, 3, 6, 4);
let outer = base.outer(Margin::new(2, 1));
let mut buf = Buffer::empty(Rect::new(0, 0, 15, 10));
Filled { symbol: "" }.render(outer, &mut buf);
Filled { symbol: "" }.render(base, &mut buf);
let expected = Buffer::with_lines([
" ",
" ",
" ░░░░░░░░░░ ",
" ░░██████░░ ",
" ░░██████░░ ",
" ░░██████░░ ",
" ░░██████░░ ",
" ░░░░░░░░░░ ",
" ",
" ",
]);
assert_eq!(buf, expected);
}
#[test]
fn offset() {
let base = Rect::new(2, 2, 5, 3);
let moved = base.offset(Offset { x: 4, y: 2 });
let mut buf = Buffer::empty(Rect::new(0, 0, 15, 10));
Filled { symbol: "" }.render(base, &mut buf);
Filled { symbol: "" }.render(moved, &mut buf);
let expected = Buffer::with_lines([
" ",
" ",
" ░░░░░ ",
" ░░░░░ ",
" ░░░░█████ ",
" █████ ",
" █████ ",
" ",
" ",
" ",
]);
assert_eq!(buf, expected);
}
#[test]
fn intersection() {
let a = Rect::new(2, 2, 6, 4);
let b = Rect::new(5, 3, 6, 4);
let inter = a.intersection(b);
let mut buf = Buffer::empty(Rect::new(0, 0, 15, 10));
Filled { symbol: "" }.render(a, &mut buf);
Filled { symbol: "" }.render(b, &mut buf);
Filled { symbol: "" }.render(inter, &mut buf);
let expected = Buffer::with_lines([
" ",
" ",
" ░░░░░░ ",
" ░░░███▒▒▒ ",
" ░░░███▒▒▒ ",
" ░░░███▒▒▒ ",
" ▒▒▒▒▒▒ ",
" ",
" ",
" ",
]);
assert_eq!(buf, expected);
}
#[test]
fn clamp() {
let area = Rect::new(2, 2, 10, 6);
let rect = Rect::new(8, 5, 8, 4);
let clamped = rect.clamp(area);
let mut buf = Buffer::empty(Rect::new(0, 0, 20, 12));
Filled { symbol: "" }.render(area, &mut buf);
Filled { symbol: "" }.render(rect, &mut buf);
Filled { symbol: "" }.render(clamped, &mut buf);
let expected = Buffer::with_lines([
" ",
" ",
" ██████████ ",
" ██████████ ",
" ██░░░░░░░░ ",
" ██░░░░░░░░▒▒▒▒ ",
" ██░░░░░░░░▒▒▒▒ ",
" ██░░░░░░░░▒▒▒▒ ",
" ▒▒▒▒▒▒▒▒ ",
" ",
" ",
" ",
]);
assert_eq!(buf, expected);
}

View File

@@ -1,9 +1,8 @@
# Changelog
All notable changes to this project will be documented in this file.
See the [top-level changelog](../CHANGELOG.md) for the latest changes.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
This file is obsolete as of 0.30.0 release. [\*](https://github.com/ratatui/ratatui/pull/1652)
## [0.6.0](https://github.com/ratatui/ratatui-macros/compare/v0.5.0...v0.6.0) - 2024-10-21

View File

@@ -50,3 +50,8 @@ error: argument never used
| ------- ^^^^^^^^^^^^^ argument never used
| |
| formatting specifier missing
|
help: format specifiers use curly braces, consider adding a format specifier
|
19 | let _ = span!("hello{}", "hello world");
| ++

View File

@@ -0,0 +1,101 @@
# Widget Examples
This folder contains minimal examples for Ratatui widgets.
There are meant to provide code snippets that can be copy-pasted into your
application.
> [!TIP]
> There are also [application examples] in the top-level `examples` folder.
[application examples]: ../../examples
You can run these examples using:
```shell
cargo run -p ratatui-widgets --example example-name
```
> [!NOTE]
> This folder might use unreleased code. Consider viewing the examples in the `latest` branch instead
> of the `main` branch for code which is guaranteed to work with the released Ratatui version.
## Barchart (grouped)
![Barchart (grouped)][barchart-grouped.gif]
## Barchart
![Barchart][barchart.gif]
## Block
![Block][block.gif]
## Calendar
![Calendar][calendar.gif]
## Canvas
![Canvas][canvas.gif]
## Chart
![Chart][chart.gif]
## Collapsed Borders
![Collapsed Borders][collapsed-borders.gif]
## Gauge
![Gauge][gauge.gif]
## Line Gauge
![Line Gauge][line-gauge.gif]
## List
![List][list.gif]
## Logo
![Logo][logo.gif]
## Paragraph
![Paragraph][paragraph.gif]
## Scrollbar
![Scrollbar][scrollbar.gif]
## Sparkline
![Sparkline][sparkline.gif]
## Table
![Table][table.gif]
## Tabs
![Tabs][tabs.gif]
[barchart-grouped.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/barchart-grouped.gif?raw=true
[barchart.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/barchart.gif?raw=true
[block.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/block.gif?raw=true
[calendar.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/calendar.gif?raw=true
[canvas.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/canvas.gif?raw=true
[chart.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/chart.gif?raw=true
[collapsed-borders.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/collapsed-borders.gif?raw=true
[gauge.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/gauge.gif?raw=true
[line-gauge.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/line-gauge.gif?raw=true
[list.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/list.gif?raw=true
[logo.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/logo.gif?raw=true
[paragraph.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/paragraph.gif?raw=true
[scrollbar.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/scrollbar.gif?raw=true
[sparkline.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/sparkline.gif?raw=true
[table.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/table.gif?raw=true
[tabs.gif]: https://github.com/ratatui/ratatui/blob/images/widget-examples/tabs.gif?raw=true

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/barchart-grouped.tape`
Output "target/barchart-grouped.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 1000
Hide
Type "cargo run -p ratatui-widgets --example barchart-grouped"
Enter
Sleep 1s
Show
Sleep 1s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/barchart.tape`
Output "target/barchart.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 600
Hide
Type "cargo run -p ratatui-widgets --example barchart"
Enter
Sleep 1s
Show
Sleep 1s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/block.tape`
Output "target/block.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 1200
Hide
Type "cargo run -p ratatui-widgets --example block"
Enter
Sleep 2s
Show
Sleep 2s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/calendar.tape`
Output "target/calendar.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 800
Hide
Type "cargo run -p ratatui-widgets --example calendar"
Enter
Sleep 3s
Show
Sleep 5s

View File

@@ -0,0 +1,13 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/canvas.tape`
Output "target/canvas.gif"
Set Theme "Aardvark Blue"
Set FontSize 12
Set Width 1200
Set Height 800
Hide
Type "cargo run -p ratatui-widgets --example canvas"
Enter
Sleep 2s
Show
Sleep 5s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/chart.tape`
Output "target/chart.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 800
Hide
Type "cargo run -p ratatui-widgets --example chart"
Enter
Sleep 1s
Show
Sleep 5s

View File

@@ -1,5 +1,5 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./examples/vhs/gauge.tape`
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/collapsed-borders.tape`
Output "target/collapsed-borders.gif"
Set Theme "Aardvark Blue"
Set Width 1200

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/gauge.tape`
Output "target/gauge.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 850
Hide
Type "cargo run -p ratatui-widgets --example gauge"
Enter
Sleep 2s
Show
Sleep 5s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/line-gauge.tape`
Output "target/line-gauge.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 850
Hide
Type "cargo run -p ratatui-widgets --example line-gauge"
Enter
Sleep 2s
Show
Sleep 5s

View File

@@ -0,0 +1,20 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/list.tape`
Output "target/list.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 612
Hide
Type "cargo run -p ratatui-widgets --example list"
Enter
Sleep 10s
Show
Sleep 2s
Down@1.5s 3
Sleep 1.5s
Down@1.5s 3
Sleep 1.5s
Up@1s 1
Sleep 1s
Up@1s 4
Sleep 2s

View File

@@ -0,0 +1,14 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/logo.tape`
Output "target/logo.gif"
Set Theme "Aardvark Blue"
Set Width 550
Set Height 220
Hide
Type "cargo run -p ratatui-widgets --example logo"
Enter
Sleep 2s
Show
Sleep 2s
Hide
Escape

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/paragraph.tape`
Output "target/paragraph.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 600
Hide
Type "cargo run -p ratatui-widgets --example paragraph"
Enter
Sleep 1s
Show
Sleep 5s

View File

@@ -0,0 +1,17 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/scrollbar.tape`
Output "target/scrollbar.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 600
Hide
Type "cargo run -p ratatui-widgets --example scrollbar"
Enter
Sleep 1s
Show
Sleep 2s
Right@1s 4
Sleep 1s
Left@1s 1
Down@1s 3
Sleep 2s

View File

@@ -0,0 +1,12 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/sparkline.tape`
Output "target/sparkline.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 600
Hide
Type "cargo run -p ratatui-widgets --example sparkline"
Enter
Sleep 1s
Show
Sleep 5s

View File

@@ -0,0 +1,17 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/table.tape`
Output "target/table.gif"
Set Theme "Aardvark Blue"
Set Width 1400
Set Height 768
Hide
Type "cargo run -p ratatui-widgets --example table"
Enter
Sleep 1s
Show
Sleep 2s
Set TypingSpeed 1s
Down 3
Sleep 1s
Right 3
Sleep 2s

View File

@@ -0,0 +1,15 @@
# This is a vhs script. See https://github.com/charmbracelet/vhs for more info.
# To run this script, install vhs and run `vhs ./ratatui-widgets/examples/vhs/tabs.tape`
Output "target/tabs.gif"
Set Theme "Aardvark Blue"
Set Width 1200
Set Height 368
Hide
Type "cargo run -p ratatui-widgets --example tabs"
Enter
Sleep 2s
Show
Sleep 1s
Right@2.5s 3
Left@2.5s 3
Sleep 2s

View File

@@ -9,6 +9,7 @@ pub mod main {
pub mod rect;
pub mod sparkline;
pub mod table;
pub mod text;
}
pub use main::*;
@@ -22,5 +23,6 @@ criterion::criterion_main!(
rect::benches,
sparkline::benches,
table::benches,
text::benches,
constraints::benches,
);

View File

@@ -0,0 +1,63 @@
use criterion::{BatchSize, Bencher, Criterion, criterion_group};
use ratatui::buffer::Buffer;
use ratatui::layout::Rect;
use ratatui::style::Stylize;
use ratatui::text::{Line, Text};
use ratatui::widgets::Widget;
/// Benchmark for rendering a text.
fn text(c: &mut Criterion) {
let mut group = c.benchmark_group("text");
for (width, height) in [
(200, 50), // 1080p fullscreen area with medium font.
(1, u16::MAX), // Heavily vertically skewed area.
(u16::MAX, 1), // Heavily horizontally skewed area.
(4096, 4096), // Max sized area for benchmarking (~sqrt(u16::MAX) * 16, ~768 MB buffer).
] {
let buffer_size = Rect::new(0, 0, width, height);
// Generates sample text content scaled to the given rendering area.
// The number of repeated text blocks is roughly proportional to the area size.
// - Small areas produce a few lines (at least 5 x 1 lines).
// - Large areas produce many lines (up to ~5 x 1000 lines).
let make_text = |height: u16| {
let repeat = (height as usize / 5).clamp(1, 1000);
Text::from(
(0..repeat)
.flat_map(|_| {
vec![
Line::from("The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs."),
Line::from("🦀 Rustaceans unite! 東京・İstanbul・Sydney・San Francisco・Warsaw 🌏 RustConf連携中").bold(),
Line::from("naïve cafés ☕ serve résumé-ready developers 👩‍💻🧑🏾‍💻 testing text rendering engines.").green(),
Line::from("ゼロ幅スペース\u{200B}、結合絵文字👨👩👧👦、全角文字、半角abcが混在。").blue(),
Line::from("Emoji test: 🙂😇🤖👩🏻‍🎨🧑‍🚀 — wrapped in a buffer for layout & clipping check.").italic(),
]
})
.collect::<Vec<_>>(),
)
};
group.bench_with_input(
format!("render/{width}x{height}"),
&make_text(height),
|b, text| render(b, text, buffer_size),
);
}
group.finish();
}
/// Renders the text into a buffer of the given `size`
fn render(bencher: &mut Bencher, text: &Text, size: Rect) {
let mut buffer = Buffer::empty(size);
// We use `iter_batched` to clone the value in the setup function.
// See https://github.com/ratatui/ratatui/pull/377.
bencher.iter_batched(
|| text.to_owned(),
|bench_text| {
bench_text.render(buffer.area, &mut buffer);
},
BatchSize::SmallInput,
);
}
criterion_group!(benches, text);