Jagoda Estera Ślązak
671c2b4fd4
feat: support merging the borders of blocks ( #1874 )
...
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(), "╆");
```
Co-authored-by: pauladam94 <poladam2002@gmail.com>
Co-authored-by: Paul Adam <65903440+pauladam94@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
Co-authored-by: Josh McKinney <joshka@users.noreply.github.com>
2025-06-04 11:10:26 +02:00
Daksh
12cb5a28fe
fix: allow canvas area to exceed u16::MAX ( #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
2025-06-03 16:04:47 -07:00
Jagoda Estera Ślązak
861fbdf5cf
docs(examples): fix a typo ( #1890 )
...
Makes CI typos check pass again
2025-06-03 14:55:23 +03:00
dependabot[bot]
bf9ecf19de
build(deps): bump clap from 4.5.38 to 4.5.39 ( #1888 )
...
[//]: # (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 [clap](https://github.com/clap-rs/clap ) from 4.5.38 to 4.5.39.
<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.39</h2>
<h2>[4.5.39] - 2025-05-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Show short flag aliases before long</li>
<li><em>(help)</em> Merge the short and long flag alias lists</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.39] - 2025-05-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Show short flag aliases before long</li>
<li><em>(help)</em> Merge the short and long flag alias lists</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed2360f9cd
"><code>ed2360f</code></a>
chore: Release</li>
<li><a
href="196a14b8c9
"><code>196a14b</code></a>
docs: Update changelog</li>
<li><a
href="cd622ab63c
"><code>cd622ab</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5846 ">#5846</a>
from ribru17/alias_fn_dedup</li>
<li><a
href="48ff72be28
"><code>48ff72b</code></a>
fix(complete): Deduplicate bash subcmd cases</li>
<li><a
href="b1b6f17f61
"><code>b1b6f17</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5843 ">#5843</a>
from epage/link</li>
<li><a
href="5900216569
"><code>5900216</code></a>
fix(derive): Update link for derive attributes</li>
<li><a
href="fde45f9aea
"><code>fde45f9</code></a>
chore: Release</li>
<li><a
href="45d5d7edcb
"><code>45d5d7e</code></a>
docs: Update changelog</li>
<li><a
href="4b82b97cd9
"><code>4b82b97</code></a>
chore: Release</li>
<li><a
href="a982adfbbd
"><code>a982adf</code></a>
docs: Update changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.38...clap_complete-v4.5.39 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-06-02 12:56:59 -07:00
dependabot[bot]
ac22d21deb
build(deps): bump color-eyre from 0.6.4 to 0.6.5 ( #1889 )
...
Bumps [color-eyre](https://github.com/eyre-rs/eyre ) from 0.6.4 to 0.6.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f110d78793
"><code>f110d78</code></a>
Bump color-eyre to 0.6.5, color-spantrace to 0.3.0</li>
<li><a
href="6534ecdcbb
"><code>6534ecd</code></a>
Undo eyre version bump (DO NOT PUBLISH EYRE)</li>
<li><a
href="9f35b8c83f
"><code>9f35b8c</code></a>
Exclude images from published crate (<a
href="https://redirect.github.com/eyre-rs/eyre/issues/239 ">#239</a>)</li>
<li><a
href="6e9ced8865
"><code>6e9ced8</code></a>
re-bump eyre version</li>
<li>See full diff in <a
href="https://github.com/eyre-rs/eyre/compare/color-eyre@0.6.4...color-eyre@0.6.5 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-06-02 12:56:08 -07:00
Josh McKinney
770cb7c3c3
chore: add tests for combining list styles ( #1884 )
...
Co-authored-by: Orhun Parmaksız <orhun@archlinux.org>
2025-06-01 13:30:13 -07:00
Sevki
92b6a16bde
docs: fix grammar in ratatui-widgets README ( #1885 )
...
Co-authored-by: Josh McKinney <joshka@users.noreply.github.com>
2025-06-01 13:14:59 -07:00
Aurelien Andreo
89b74214d9
feat(serde): derive Serialize/Deserialize for additional structs/enums ( #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
2025-05-31 14:57:13 -07:00
dependabot[bot]
e32a5bf442
build(deps): bump clap-verbosity-flag from 3.0.2 to 3.0.3 ( #1870 )
...
Bumps
[clap-verbosity-flag](https://github.com/clap-rs/clap-verbosity-flag )
from 3.0.2 to 3.0.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap-verbosity-flag/blob/master/CHANGELOG.md ">clap-verbosity-flag's
changelog</a>.</em></p>
<blockquote>
<h2>[3.0.3] - 2025-05-20</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7ac7bff71e
"><code>7ac7bff</code></a>
chore: Release clap-verbosity-flag version 3.0.3</li>
<li><a
href="496f3ed5e7
"><code>496f3ed</code></a>
docs(readme): Switch to console code blocks</li>
<li><a
href="6ca4f7adc1
"><code>6ca4f7a</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/143 ">#143</a>
from joshka/jm/docs-tracing</li>
<li><a
href="352354610f
"><code>3523546</code></a>
chore(deps): Update Rust Stable to v1.87 (<a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/144 ">#144</a>)</li>
<li><a
href="cda6017809
"><code>cda6017</code></a>
docs: Document tracing support in README and lib.rs</li>
<li><a
href="d97ade1611
"><code>d97ade1</code></a>
chore(deps): Update Rust Stable to v1.86 (<a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/141 ">#141</a>)</li>
<li><a
href="a58fde5b1a
"><code>a58fde5</code></a>
chore(deps): Update Rust crate clap to v4.5.31 (<a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/140 ">#140</a>)</li>
<li><a
href="d5e646395c
"><code>d5e6463</code></a>
chore(deps): Update Rust Stable to v1.85 (<a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/139 ">#139</a>)</li>
<li><a
href="e8151159f5
"><code>e815115</code></a>
chore(deps): Update Rust Stable to v1.84 (<a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/137 ">#137</a>)</li>
<li><a
href="6b0a9d4107
"><code>6b0a9d4</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap-verbosity-flag/issues/138 ">#138</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap-verbosity-flag/compare/v3.0.2...v3.0.3 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-05-26 10:17:01 -07:00
dependabot[bot]
3728a0d90a
build(deps): bump tokio from 1.45.0 to 1.45.1 ( #1871 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.45.0 to 1.45.1.
<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.45.1</h2>
<h1>1.45.1 (May 24th, 2025)</h1>
<p>This fixes a regression on the wasm32-unknown-unknown target, where
code that previously did not panic due to calls to
<code>Instant::now()</code> started failing. This is due to the
stabilization of the first time-based metric.</p>
<h3>Fixed</h3>
<ul>
<li>Disable time-based metrics on wasm32-unknown-unknown (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7322 ">#7322</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/7322 ">#7322</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7322 ">tokio-rs/tokio#7322</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3768696d92
"><code>3768696</code></a>
chore: prepare Tokio v1.45.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7359 ">#7359</a>)</li>
<li><a
href="421a7b001c
"><code>421a7b0</code></a>
rt: do not track time-based metrics on wasm32-unknown-unknown (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7322 ">#7322</a>)</li>
<li><a
href="b1bdb3c57b
"><code>b1bdb3c</code></a>
ci: update macros_type_mismatch for Rust 1.87.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7339 ">#7339</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.45.0...tokio-1.45.1 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-05-26 10:16:03 -07:00
Jagoda Estera Ślązak
b32f78195b
feat(no_std): make ratatui-macros
no-std ( #1865 )
2025-05-20 21:22:48 +03:00
dependabot[bot]
7d84d42103
build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 ( #1864 )
...
Bumps
[DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action )
from 19 to 20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/davidanson/markdownlint-cli2-action/releases ">DavidAnson/markdownlint-cli2-action's
releases</a>.</em></p>
<blockquote>
<h2>Update markdownlint version (markdownlint-cli2 v0.18.1, markdownlint
v0.38.0).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.17.2, markdownlint
v0.37.4).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.17.0, markdownlint
v0.37.0).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.15.0, markdownlint
v0.36.1).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.14.0, markdownlint
v0.35.0).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.13.0, markdownlint
v0.34.0).</h2>
<p>No release notes provided.</p>
<p>Update markdownlint version (markdownlint-cli2 v0.12.1, markdownlint
v0.33.0).</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.11.0, markdownlint
v0.32.1), remove deprecated "command" input.</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.10.0, markdownlint
v0.31.1).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.9.2, markdownlint
v0.30.0).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.8.1, markdownlint
v0.29.0), add "config" and "fix" inputs, deprecate
"command" input.</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.7.1, markdownlint
v0.28.2).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.7.0, markdownlint
v0.28.1), include link to rule information in title of annotations
(clickable in GitHub).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.6.0, markdownlint
v0.27.0).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.5.1, markdownlint
v0.26.2).</h2>
<p>No release notes provided.</p>
<h2>Update markdownlint version (markdownlint-cli2 v0.4.0, markdownlint
v0.25.1)</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="992badcdf2
"><code>992badc</code></a>
Update to version 20.0.0.</li>
<li><a
href="fafa44c8d4
"><code>fafa44c</code></a>
Update dependency: markdownlint-cli2 to 0.18.1.</li>
<li><a
href="052b336194
"><code>052b336</code></a>
Bump eslint-plugin-n from 17.17.0 to 17.18.0</li>
<li><a
href="e0b0869c70
"><code>e0b0869</code></a>
Bump eslint-plugin-unicorn from 59.0.0 to 59.0.1</li>
<li><a
href="96cc31310c
"><code>96cc313</code></a>
Bump <code>@eslint/js</code> from 9.25.1 to 9.26.0</li>
<li><a
href="66095aa687
"><code>66095aa</code></a>
Bump eslint from 9.25.1 to 9.26.0</li>
<li><a
href="51af1d1b7b
"><code>51af1d1</code></a>
Bump eslint-plugin-unicorn from 58.0.0 to 59.0.0</li>
<li><a
href="81f6304570
"><code>81f6304</code></a>
Bump <code>@eslint/js</code> from 9.25.0 to 9.25.1</li>
<li><a
href="e2c95fbdf2
"><code>e2c95fb</code></a>
Bump eslint from 9.25.0 to 9.25.1</li>
<li><a
href="9f58cc3808
"><code>9f58cc3</code></a>
Bump <code>@eslint/js</code> from 9.24.0 to 9.25.0</li>
<li>Additional commits viewable in <a
href="https://github.com/davidanson/markdownlint-cli2-action/compare/v19...v20 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-05-19 11:53:20 -07:00
github-actions[bot]
7407c36849
chore: release ( #1854 )
...
## 🤖 New release
* `ratatui-core`: 0.1.0-alpha.4 -> 0.1.0-alpha.5
* `ratatui-crossterm`: 0.1.0-alpha.3 -> 0.1.0-alpha.4
* `ratatui-widgets`: 0.3.0-alpha.3 -> 0.3.0-alpha.4
* `ratatui-macros`: 0.7.0-alpha.2 -> 0.7.0-alpha.3
* `ratatui-termwiz`: 0.1.0-alpha.3 -> 0.1.0-alpha.4
* `ratatui-termion`: 0.1.0-alpha.3 -> 0.1.0-alpha.4
* `ratatui`: 0.30.0-alpha.3 -> 0.30.0-alpha.4
<details><summary><i><b>Changelog</b></i></summary><p>
## `ratatui-core`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-crossterm`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-widgets`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-macros`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[36e2d1b](36e2d1bda1
)
*(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka
in [#1506 ](https://github.com/ratatui/ratatui/pull/1506 )
-
[4d7704f](4d7704fba5
)
*(uncategorized)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ratatui-v0.30.0-alpha.4
ratatui-termion-v0.1.0-alpha.4
ratatui-termwiz-v0.1.0-alpha.4
ratatui-macros-v0.7.0-alpha.3
ratatui-widgets-v0.3.0-alpha.4
ratatui-crossterm-v0.1.0-alpha.4
ratatui-core-v0.1.0-alpha.5
2025-05-19 01:20:49 -07:00
Tyler Breisacher
dbfb2c3399
chore: upgrade to Rust Edition 2024 ( #1863 )
...
https://doc.rust-lang.org/edition-guide/rust-2024/index.html
Fixes #1727
2025-05-19 01:17:03 -07:00
Tyler Breisacher
7cb35d4be1
chore: Update to Rust version 1.85.0 ( #1860 )
...
This is a small step toward fixing #1727
2025-05-17 17:23:28 +03:00
dependabot[bot]
eacf9b6dbf
build(deps): bump duct from 0.13.7 to 1.0.0 ( #1847 )
2025-05-15 10:05:04 -07:00
Josh McKinney
a07f5bec20
chore: move dependency management to workspace ( #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
2025-05-15 09:55:34 -07:00
Josh McKinney
09cc9ef57d
fix: typo in changelog ( #1857 )
2025-05-15 12:41:41 +03:00
Josh McKinney
702fff501c
feat!: implement stylize methods directly on Style ( #1572 )
...
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
2025-05-14 15:26:29 -07:00
Josh McKinney
e15fefa922
feat(barchar): add BarChart::grouped constructor ( #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.
2025-05-14 15:00:50 +03:00
github-actions[bot]
dcb0e5dffc
chore: release ( #1701 )
...
## 🤖 New release
* `ratatui-core`: 0.1.0-alpha.3 -> 0.1.0-alpha.4
* `ratatui-crossterm`: 0.1.0-alpha.2 -> 0.1.0-alpha.3
* `ratatui-widgets`: 0.3.0-alpha.2 -> 0.3.0-alpha.3
* `ratatui-macros`: 0.7.0-alpha.1 -> 0.7.0-alpha.2
* `ratatui-termwiz`: 0.1.0-alpha.2 -> 0.1.0-alpha.3
* `ratatui-termion`: 0.1.0-alpha.2 -> 0.1.0-alpha.3
* `ratatui`: 0.30.0-alpha.2 -> 0.30.0-alpha.3
<details><summary><i><b>Changelog</b></i></summary><p>
## `ratatui-core`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-crossterm`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-widgets`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[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 )
-
[7b87509](7b875091e1
)
*(uncategorized)* Typo by @marcoieni in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
### Refactor
-
[f132fa1](f132fa1715
)
*(table)* Small readability improvements by @joshka in
[#1510 ](https://github.com/ratatui/ratatui/pull/1510 )
-
[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 )
-
[e461b72](e461b724a6
)
*(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual
files by @joshka in
[#1479 ](https://github.com/ratatui/ratatui/pull/1479 )
### Documentation
-
[d291042](d291042e69
)
*(block)* Revise the block example by @orhun in
[#1520 ](https://github.com/ratatui/ratatui/pull/1520 )
-
[fcde9cb](fcde9cb9c3
)
*(changelog)* Fix typo by @orhun in
[#1463 ](https://github.com/ratatui/ratatui/pull/1463 )
-
[3ae6bf1](3ae6bf1d6f
)
*(contributing)* Use cargo-xtask for instructions by @orhun in
[#1509 ](https://github.com/ratatui/ratatui/pull/1509 )
-
[04e1b32](04e1b32cd2
)
*(layout)* Rename cassowary-rs references to cassowary by @miroim in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
-
[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 )
-
[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 )
-
[dafb716](dafb716f9d
)
*(widgets)* Add example for grouped barchart by @orhun in
[#1566 ](https://github.com/ratatui/ratatui/pull/1566 )
-
[ed5dd73](ed5dd73084
)
*(widgets)* Add example for tabs by @orhun in
[#1559 ](https://github.com/ratatui/ratatui/pull/1559 )
-
[fab5321](fab532171d
)
*(widgets)* Add example for scrollbar by @orhun in
[#1545 ](https://github.com/ratatui/ratatui/pull/1545 )
-
[898aef6](898aef6e2f
)
*(widgets)* Add example for list by @orhun in
[#1542 ](https://github.com/ratatui/ratatui/pull/1542 )
-
[452366a](452366aa9e
)
*(widgets)* Add example for sparkline by @orhun in
[#1556 ](https://github.com/ratatui/ratatui/pull/1556 )
-
[6ddde0e](6ddde0e8a8
)
*(widgets)* Add example for table by @orhun in
[#1557 ](https://github.com/ratatui/ratatui/pull/1557 )
-
[93ad6b8](93ad6b828c
)
*(widgets)* Update values in chart example by @orhun in
[#1558 ](https://github.com/ratatui/ratatui/pull/1558 )
-
[15f442a](15f442a71e
)
*(widgets)* Add example for paragraph by @orhun in
[#1544 ](https://github.com/ratatui/ratatui/pull/1544 )
-
[17bba14](17bba14540
)
*(widgets)* Move the logo example to widgets by @orhun in
[#1543 ](https://github.com/ratatui/ratatui/pull/1543 )
-
[f2451e7](f2451e7f1e
)
*(widgets)* Add example for gauge by @orhun in
[#1539 ](https://github.com/ratatui/ratatui/pull/1539 )
-
[4f0a8b2](4f0a8b21af
)
*(widgets)* Add example for canvas by @orhun in
[#1533 ](https://github.com/ratatui/ratatui/pull/1533 )
-
[91147c4](91147c4d75
)
*(widgets)* Add example for chart by @orhun in
[#1536 ](https://github.com/ratatui/ratatui/pull/1536 )
-
[6dd25a3](6dd25a3111
)
*(widgets)* Add example for calendar by @orhun in
[#1532 ](https://github.com/ratatui/ratatui/pull/1532 )
-
[99ac005](99ac005b06
)
*(widgets)* Add simple barchart example by @joshka in
[#1511 ](https://github.com/ratatui/ratatui/pull/1511 )
-
[da05957](da05957fa0
)
*(uncategorized)* Add widget-ref-container example by @joshka in
[#1603 ](https://github.com/ratatui/ratatui/pull/1603 )
-
[1798512](1798512e94
)
*(uncategorized)* Fix wording in user_input example by @dawedawe in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
-
[03066d8](03066d81bf
)
*(uncategorized)* Fix punctuation in canvas.rs documentation by
@dawedawe in [#1583 ](https://github.com/ratatui/ratatui/pull/1583 )
-
[e411d9e](e411d9ec3e
)
*(uncategorized)* Add input form example by @joshka in
[#1551 ](https://github.com/ratatui/ratatui/pull/1551 )
-
[ed071f3](ed071f3723
)
*(uncategorized)* Add mouse-drawing example by @joshka in
[#1546 ](https://github.com/ratatui/ratatui/pull/1546 )
-
[46902f5](46902f5587
)
*(uncategorized)* Improve docs for workspace crates by @orhun in
[#1490 ](https://github.com/ratatui/ratatui/pull/1490 )
-
[a6b5792](a6b579223f
)
*(uncategorized)* Fix example link in readme by @thomas-tacquet in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
### 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**]
-
[0a47ebd](0a47ebd94b
)
*(bencher)* Update bencher CLI usage by @epompeii in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
-
[a0979d6](a0979d6871
)
*(build)* Remove cargo lint by @joshka in
[#1549 ](https://github.com/ratatui/ratatui/pull/1549 )
-
[eaa4038](eaa403856e
)
*(ci)* Install pre-built binaries for cargo-rdme by @orhun in
[#1477 ](https://github.com/ratatui/ratatui/pull/1477 )
-
[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 )
-
[98df774](98df774d7f
)
*(core)* Move core types to ratatui-core by @joshka in
[#1460 ](https://github.com/ratatui/ratatui/pull/1460 )
-
[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 )
-
[5c021bf](5c021bf344
)
*(examples)* Add chart demo app by @orhun in
[#1579 ](https://github.com/ratatui/ratatui/pull/1579 )
-
[9721300](9721300a47
)
*(examples)* Add canvas demo app by @orhun in
[#1578 ](https://github.com/ratatui/ratatui/pull/1578 )
-
[a6a1368](a6a1368250
)
*(examples)* Add calendar explorer demo app by @orhun in
[#1571 ](https://github.com/ratatui/ratatui/pull/1571 )
-
[819e92c](819e92cd44
)
*(examples)* Add weather demo app by @orhun in
[#1567 ](https://github.com/ratatui/ratatui/pull/1567 )
-
[b5f7e44](b5f7e44183
)
*(examples)* Move async example to apps by @joshka in
[#1503 ](https://github.com/ratatui/ratatui/pull/1503 )
-
[17316ec](17316ec5d0
)
*(github)* Enable sponsorship button by @orhun in
[#1478 ](https://github.com/ratatui/ratatui/pull/1478 )
-
[d3f01eb](d3f01ebf6e
)
*(lint)* Ensure lint config is correct by @joshka in
[#1528 ](https://github.com/ratatui/ratatui/pull/1528 )
-
[2b7ec5c](2b7ec5cb7f
)
*(widgets)* Enable calendar widget as default by @orhun in
[#1521 ](https://github.com/ratatui/ratatui/pull/1521 )
-
[d201b8e](d201b8e5dd
)
*(xtask)* Check lints for only library targets by @orhun in
[#1531 ](https://github.com/ratatui/ratatui/pull/1531 )
-
[6f21319](6f213191ef
)
*(uncategorized)* Rename examples with clashing names by @joshka in
[#1597 ](https://github.com/ratatui/ratatui/pull/1597 )
-
[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 )
-
[357ae7e](357ae7e251
)
*(uncategorized)* Move terminal types to ratatui-core by @joshka in
[#1530 ](https://github.com/ratatui/ratatui/pull/1530 ) [**breaking**]
-
[21e62d8](21e62d84c2
)
*(uncategorized)* Move the demo example to main folder by @joshka in
[#1523 ](https://github.com/ratatui/ratatui/pull/1523 )
-
[fbf6050](fbf6050c86
)
*(uncategorized)* Prepare alpha modularization release by @joshka in
[#1525 ](https://github.com/ratatui/ratatui/pull/1525 )
-
[e4e95bc](e4e95bcecf
)
*(uncategorized)* Remove --color always flags from bacon.toml by @joshka
in [#1502 ](https://github.com/ratatui/ratatui/pull/1502 )
-
[a41c97b](a41c97b413
)
*(uncategorized)* Move unstable widget refs to ratatui by @joshka in
[#1491 ](https://github.com/ratatui/ratatui/pull/1491 ) [**breaking**]
-
[e7085e3](e7085e3a3e
)
*(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in
[#1474 ](https://github.com/ratatui/ratatui/pull/1474 )
-
[f1d0a18](f1d0a18375
)
*(uncategorized)* Move ratatui crate into workspace folder by @joshka in
[#1459 ](https://github.com/ratatui/ratatui/pull/1459 )
-
[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
-
[4a871f9](4a871f993e
)
*(uncategorized)* Refactor xtask / toml formatting by @joshka in
[#1602 ](https://github.com/ratatui/ratatui/pull/1602 )
### New Contributors
* @dawedawe made their first contribution in
[#1611 ](https://github.com/ratatui/ratatui/pull/1611 )
* @Its-Just-Nans made their first contribution in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
* @MarSik made their first contribution in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
* @raylu made their first contribution in
[#1540 ](https://github.com/ratatui/ratatui/pull/1540 )
* @renesat made their first contribution in
[#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
* @HoKim98 made their first contribution in
[#1484 ](https://github.com/ratatui/ratatui/pull/1484 )
* @nilsmartel made their first contribution in
[#1485 ](https://github.com/ratatui/ratatui/pull/1485 )
* @marcoieni made their first contribution in
[#1480 ](https://github.com/ratatui/ratatui/pull/1480 )
* @epompeii made their first contribution in
[#1470 ](https://github.com/ratatui/ratatui/pull/1470 )
* @thomas-tacquet made their first contribution in
[#1462 ](https://github.com/ratatui/ratatui/pull/1462 )
* @miroim made their first contribution in
[#1448 ](https://github.com/ratatui/ratatui/pull/1448 )
**Full Changelog**:
https://github.com/ratatui/ratatui/compare/v0.29.0...0.30.0-alpha.1
</blockquote>
## `ratatui-macros`
<blockquote>
##
[0.30.0-alpha.1](https://github.com/ratatui/ratatui/releases/tag/0.30.0-alpha.1 )
- 2025-01-14
0.30.0-alpha.1 is a pre-release of the upcoming 0.30.0 release. It is
intended for testing and
feedback. Please report any issues you encounter. The primary change is
that we've split the crate
into multiple crates. The main crate is now `ratatui-core` and the
widgets are in `ratatui-widgets`.
This allows for widget crates to depend on a stable core crate, and for
the core crate to be used
without widgets.
### Features
-
[56d5e05](56d5e05762
)
*(bar)* Update label and text_value to accept Into<> by @Emivvvvv in
[#1471 ](https://github.com/ratatui/ratatui/pull/1471 ) [**breaking**]
-
[b76ad3b](b76ad3b02e
)
*(bar)* Impl Styled for Bar by @Emivvvvv in
[#1476 ](https://github.com/ratatui/ratatui/pull/1476 )
-
[369b18e](369b18eef2
)
*(barchart)* Reduce barchart creation verbosity by @Emivvvvv in
[#1453 ](https://github.com/ratatui/ratatui/pull/1453 )
-
[9275d34](9275d3421c
)
*(layout)* Add Offset::new() constructor by @joshka in
[#1547 ](https://github.com/ratatui/ratatui/pull/1547 )
-
[ff729b7](ff729b7607
)
*(scrollbar)* Support retrieving the current position of state by @orhun
in [#1552 ](https://github.com/ratatui/ratatui/pull/1552 )
-
[ce4856a](ce4856a65f
)
*(widgets)* Add the missing constructor to canvas types by @orhun in
[#1538 ](https://github.com/ratatui/ratatui/pull/1538 )
-
[50ba965](50ba96518f
)
*(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in
[#1584 ](https://github.com/ratatui/ratatui/pull/1584 )
-
[1d28c89](1d28c89fe5
)
*(uncategorized)* Add conversions for anstyle by @joshka in
[#1581 ](https://github.com/ratatui/ratatui/pull/1581 )
### Bug Fixes
-
[860e48b](860e48b0f0
)
*(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by
@joshka in [#1447 ](https://github.com/ratatui/ratatui/pull/1447 )
-
[ec30390](ec30390446
)
*(canvas)* Round coordinates to nearest grid cell by @joshka in
[#1507 ](https://github.com/ratatui/ratatui/pull/1507 )
-
[afd1ce1](afd1ce179b
)
*(canvas)* Lines that start outside the visible grid are now drawn by
@renesat in [#1501 ](https://github.com/ratatui/ratatui/pull/1501 )
-
[18e70d3](18e70d3d51
)
*(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in
[#1541 ](https://github.com/ratatui/ratatui/pull/1541 )
-
[a692a6e](a692a6e371
)
*(lint)* Apply rust 1.84 clippy suggestions by @joshka in
[#1612 ](https://github.com/ratatui/ratatui/pull/1612 )
-
[3b13240](3b13240728
)
*(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in
[#1529 ](https://github.com/ratatui/ratatui/pull/1529 )
-
[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 )
-
[2892bdd](2892bddce6
)
*(uncategorized)* Rust 1.83 clippy lints by @joshka in
[#1527 ](https://github.com/ratatui/ratatui/pull/1527 )
-
[36e2d1b](36e2d1bda1
)
*(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka
in [#1506 ](https://github.com/ratatui/ratatui/pull/1506 )
-
[4d7704f](4d7704fba5
)
*(uncategorized)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ratatui-v0.30.0-alpha.3
ratatui-termion-v0.1.0-alpha.3
ratatui-termwiz-v0.1.0-alpha.3
ratatui-macros-v0.7.0-alpha.2
ratatui-widgets-v0.3.0-alpha.3
ratatui-crossterm-v0.1.0-alpha.3
ratatui-core-v0.1.0-alpha.4
2025-05-13 12:48:15 -07:00
Josh McKinney
a0746bad7e
ci: add job to check no-std build ( #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
2025-05-13 12:43:10 -07:00
Josh McKinney
4fcd238e1e
feat: support no-std for calendar widget ( #1852 )
...
Removes the CalendarEventStore::today() function in no-std environments
2025-05-13 11:38:39 -07:00
Jagoda Estera Ślązak
79d5165cae
fix(no_std): propagate std
feature flag to dependencies ( #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.
2025-05-13 10:48:45 -07:00
Jagoda Estera Ślązak
00da8c6203
fix(no_std): provide f64
polyfills for no_std
compatibility ( #1840 )
...
Related: https://github.com/rust-lang/rust/issues/137578
2025-05-13 10:37:18 -07:00
dependabot[bot]
54bb651008
build(deps): bump hashbrown from 0.15.2 to 0.15.3 ( #1821 )
2025-05-12 08:45:08 -07:00
Jagoda Estera Ślązak
daeba85f14
build(deps): bump kasuari
and line-clipping
( #1844 )
2025-05-12 01:55:49 -07:00
Josh McKinney
93143126b3
fix(layout): feature flag cache related types ( #1842 )
2025-05-11 01:55:12 -07:00
Jagoda Estera Ślązak
b46778dd1d
chore(breaking-changes): add details to no_std
-related breaking changes ( #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.
2025-05-11 11:45:30 +03:00
Josh McKinney
8d60e96b2b
refactor(examples): use crossterm event methods ( #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.
2025-05-10 10:35:12 -07:00
Jagoda Estera Ślązak
1874b9dd55
chore: move time to dev-dependencies ( #1835 )
2025-05-10 08:11:00 -07:00
Jagoda Estera Ślązak
2dd1977c59
fix(layout-cache): import NonZeroUsize
only when layout-cache
is enabled ( #1839 )
...
This silences unused import warning, when `layout-cache` is disabled.
2025-05-10 08:09:47 -07:00
三咲雅 · Misaki Masa
c238aca83a
fix: padding_right()
should set right padding instead of left ( #1837 )
...
Fixes https://github.com/ratatui/ratatui/issues/1836
2025-05-09 23:31:16 -07:00
Jagoda Estera Ślązak
60a81913ed
chore(widgets): move crossterm to dev-dependencies ( #1834 )
...
Crossterm in widgets is used only in tests.
2025-05-09 16:16:32 -07:00
Tayfun Bocek
2e54d5e22c
fix(macros): use $crate re-export in text macro ( #1832 )
2025-05-09 09:54:15 -07:00
Jagoda Estera Ślązak
3e1c72fb27
feat(no_std)!: make ratatui compatible with #![no_std]
( #1794 )
...
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?"
2025-05-07 13:42:03 -07:00
Jagoda Estera Ślązak
ab48c06171
feat(no_std)!: option to disable layout cache for no_std
compatibility ( #1795 )
...
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.
2025-05-07 13:00:22 -07:00
Jagoda Estera Ślązak
09173d1829
feat(no_std)!: make TestBackend::Error
Infallible
( #1823 )
...
BREAKING CHANGE: `TestBackend` now uses `core::convert::Infallible` for
error handling instead of `std::io::Error`
2025-05-07 00:33:26 -07:00
Jagoda Estera Ślązak
c7912f3990
docs(breaking-changes): fix header level ( #1825 )
2025-05-06 23:17:37 -07:00
M Arjun Krishna
53cdbbccd5
feat: Enable serde propagation to backend crates (crossterm, termion) ( #1812 )
...
This PR propagates the serde feature from the main ratatui crate to the
ratatui-crossterm and ratatui-termion backend crates. Solves #1805
2025-04-29 13:29:49 -07:00
Josh McKinney
1197b2a02c
docs(contributing): add note about using nightly for formatting ( #1816 )
2025-04-28 21:25:09 +03:00
Tatesa Uradnik
08b08cc45b
feat(rect): centering ( #1814 )
...
Resolves #617
2025-04-28 11:16:58 -07:00
Jagoda Estera Ślązak
007713e50a
feat(no_std)!: replace Backend
's io::Error
usages with associated Error
type ( #1778 )
...
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`.
2025-04-23 15:05:59 -07:00
dependabot[bot]
3745a67ba0
build(deps): bump rand from 0.9.0 to 0.9.1 ( #1804 )
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.9.0 to 0.9.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md ">rand's
changelog</a>.</em></p>
<blockquote>
<h2>[0.9.1] - 2025-04-17</h2>
<h3>Security and unsafe</h3>
<ul>
<li>Revise "not a crypto library" policy again (<a
href="https://redirect.github.com/rust-random/rand/issues/1565 ">#1565</a>)</li>
<li>Remove <code>zerocopy</code> dependency from <code>rand</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1579 ">#1579</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fix feature <code>simd_support</code> for recent nightly rust (<a
href="https://redirect.github.com/rust-random/rand/issues/1586 ">#1586</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Allow <code>fn rand::seq::index::sample_weighted</code> and <code>fn
IndexedRandom::choose_multiple_weighted</code> to return fewer than
<code>amount</code> results (<a
href="https://redirect.github.com/rust-random/rand/issues/1623 ">#1623</a>),
reverting an undocumented change (<a
href="https://redirect.github.com/rust-random/rand/issues/1382 ">#1382</a>)
to the previous release.</li>
</ul>
<h3>Additions</h3>
<ul>
<li>Add <code>rand::distr::Alphabetic</code> distribution. (<a
href="https://redirect.github.com/rust-random/rand/issues/1587 ">#1587</a>)</li>
<li>Re-export <code>rand_core</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1604 ">#1604</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ec6d5c06a5
"><code>ec6d5c0</code></a>
Prepare rand_core v0.9.1 (<a
href="https://redirect.github.com/rust-random/rand/issues/1591 ">#1591</a>)</li>
<li><a
href="6a06056e8a
"><code>6a06056</code></a>
rand_core: introduce an UnwrapMut wrapper (<a
href="https://redirect.github.com/rust-random/rand/issues/1589 ">#1589</a>)</li>
<li><a
href="8929123b4d
"><code>8929123</code></a>
Add <code>Alphabetic</code> distribution (<a
href="https://redirect.github.com/rust-random/rand/issues/1587 ">#1587</a>)</li>
<li><a
href="06b16426bd
"><code>06b1642</code></a>
Remove unnecessary underscore from `impl<T, const N: usize>
Distribution<[T; ...</li>
<li><a
href="49d76cd7b4
"><code>49d76cd</code></a>
rename extract to extract_lane (<a
href="https://redirect.github.com/rust-random/rand/issues/1586 ">#1586</a>)</li>
<li><a
href="e0a70fd8be
"><code>e0a70fd</code></a>
Change to use <code>array::from_fn</code> in <code>Distribution\<[T;
N]> for StandardUniform</code> ...</li>
<li><a
href="0bc3f652c4
"><code>0bc3f65</code></a>
Move rand distr (<a
href="https://redirect.github.com/rust-random/rand/issues/1577 ">#1577</a>)</li>
<li><a
href="2677c49960
"><code>2677c49</code></a>
Revise "not a crypto library" policy and SECURITY.md (<a
href="https://redirect.github.com/rust-random/rand/issues/1565 ">#1565</a>)</li>
<li><a
href="bfd1826c36
"><code>bfd1826</code></a>
SeedableRng docs: add note on (lack of) reproducibility (<a
href="https://redirect.github.com/rust-random/rand/issues/1572 ">#1572</a>)</li>
<li><a
href="c01aee7a13
"><code>c01aee7</code></a>
Fix some links (<a
href="https://redirect.github.com/rust-random/rand/issues/1571 ">#1571</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.1 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-04-21 21:14:44 +03:00
dependabot[bot]
98f77f296b
build(deps): bump clap from 4.5.36 to 4.5.37 ( #1803 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.36 to 4.5.37.
<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.37</h2>
<h2>[4.5.37] - 2025-04-18</h2>
<h3>Features</h3>
<ul>
<li>Added <code>ArgMatches::try_clear_id()</code></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.37] - 2025-04-18</h2>
<h3>Features</h3>
<ul>
<li>Added <code>ArgMatches::try_clear_id()</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c54ffa17f5
"><code>c54ffa1</code></a>
chore: Release</li>
<li><a
href="26eab7b4e5
"><code>26eab7b</code></a>
docs: Update changelog</li>
<li><a
href="f275804c23
"><code>f275804</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5805 ">#5805</a>
from epage/style</li>
<li><a
href="7c7742cae8
"><code>7c7742c</code></a>
fix(complete): Adjust dynamic for MSRV</li>
<li><a
href="f1ae3c0e49
"><code>f1ae3c0</code></a>
style: Make clippy happy</li>
<li><a
href="5c932b7079
"><code>5c932b7</code></a>
chore(deps): Update Rust crate divan to v0.1.15 (<a
href="https://redirect.github.com/clap-rs/clap/issues/5798 ">#5798</a>)</li>
<li><a
href="bc0537f589
"><code>bc0537f</code></a>
chore(deps): Update compatible (dev) (<a
href="https://redirect.github.com/clap-rs/clap/issues/5797 ">#5797</a>)</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.36...clap_complete-v4.5.37 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-04-21 21:01:16 +03:00
Tyler Breisacher
d88cd29079
chore: Add 'const' to functions where possible. ( #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
2025-04-20 18:48:49 -07:00
Josh McKinney
79cc92dfb6
chore(deps): bump proc-macro2 ( #1793 )
2025-04-17 01:03:23 -07:00
Josh McKinney
5a3be12ebd
ci: run clippy using rust stable and beta ( #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.
2025-04-15 11:09:20 -07:00
Josh McKinney
bb068892c9
chore: fix io_other_error clippy lints ( #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
2025-04-15 11:09:05 -07:00
cgzones
deb1b8ec43
test: ensure Style::new() and Style::default() are equivalent ( #1789 )
2025-04-15 10:21:19 -07:00