From dcb0e5dffc51f70465ab13f7937e8240ba37dfa9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 12:48:15 -0700 Subject: [PATCH] chore: release (#1701) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 🤖 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
Changelog

## `ratatui-core`

## [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](https://github.com/ratatui/ratatui/commit/56d5e057625378f1bdf732dabb57208453fb84d6) *(bar)* Update label and text_value to accept Into<> by @Emivvvvv in [#1471](https://github.com/ratatui/ratatui/pull/1471) [**breaking**] - [b76ad3b](https://github.com/ratatui/ratatui/commit/b76ad3b02ea1c3381b6434c40e620f28d642948e) *(bar)* Impl Styled for Bar by @Emivvvvv in [#1476](https://github.com/ratatui/ratatui/pull/1476) - [369b18e](https://github.com/ratatui/ratatui/commit/369b18eef2e4220147e7c7264ad7f8e023a1d2dd) *(barchart)* Reduce barchart creation verbosity by @Emivvvvv in [#1453](https://github.com/ratatui/ratatui/pull/1453) - [9275d34](https://github.com/ratatui/ratatui/commit/9275d3421c088174bcf9de0832340bcbea76367a) *(layout)* Add Offset::new() constructor by @joshka in [#1547](https://github.com/ratatui/ratatui/pull/1547) - [ff729b7](https://github.com/ratatui/ratatui/commit/ff729b7607e0099a155f10dfe0ce42320641b74d) *(scrollbar)* Support retrieving the current position of state by @orhun in [#1552](https://github.com/ratatui/ratatui/pull/1552) - [ce4856a](https://github.com/ratatui/ratatui/commit/ce4856a65f3c76db714a45338ba3be9b638c6c35) *(widgets)* Add the missing constructor to canvas types by @orhun in [#1538](https://github.com/ratatui/ratatui/pull/1538) - [50ba965](https://github.com/ratatui/ratatui/commit/50ba96518f01454cff185784a1e9676093ce06cf) *(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in [#1584](https://github.com/ratatui/ratatui/pull/1584) - [1d28c89](https://github.com/ratatui/ratatui/commit/1d28c89fe50f1a11cf1719233acca1a12d5e2d7b) *(uncategorized)* Add conversions for anstyle by @joshka in [#1581](https://github.com/ratatui/ratatui/pull/1581) ### Bug Fixes - [860e48b](https://github.com/ratatui/ratatui/commit/860e48b0f0ec51c8596bc12985a8b37bad4fba00) *(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by @joshka in [#1447](https://github.com/ratatui/ratatui/pull/1447) - [ec30390](https://github.com/ratatui/ratatui/commit/ec30390446b998cba97a25db63b2e3d27db7a12d) *(canvas)* Round coordinates to nearest grid cell by @joshka in [#1507](https://github.com/ratatui/ratatui/pull/1507) - [afd1ce1](https://github.com/ratatui/ratatui/commit/afd1ce179b74f10ea786ed6f9b2999288bc94e7a) *(canvas)* Lines that start outside the visible grid are now drawn by @renesat in [#1501](https://github.com/ratatui/ratatui/pull/1501) - [18e70d3](https://github.com/ratatui/ratatui/commit/18e70d3d51b654bb895843224edf0c21a3114dc9) *(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in [#1541](https://github.com/ratatui/ratatui/pull/1541) - [a692a6e](https://github.com/ratatui/ratatui/commit/a692a6e37114f39a3eb15b0cdc486dee8a7e91ff) *(lint)* Apply rust 1.84 clippy suggestions by @joshka in [#1612](https://github.com/ratatui/ratatui/pull/1612) - [3b13240](https://github.com/ratatui/ratatui/commit/3b13240728597a8c459c4bb5f913372185e9df91) *(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in [#1529](https://github.com/ratatui/ratatui/pull/1529) - [f57b696](https://github.com/ratatui/ratatui/commit/f57b696fdc3bac381bccda0414400453f5abecf2) *(span)* Dont render control characters by @EdJoPaTo in [#1312](https://github.com/ratatui/ratatui/pull/1312) - [2ce958e](https://github.com/ratatui/ratatui/commit/2ce958e38cf1ebab49b1817b669631dc349a0ebb) *(table)* Allow display of additional table row, if row height > 1 by @Lunderberg in [#1452](https://github.com/ratatui/ratatui/pull/1452) - [2892bdd](https://github.com/ratatui/ratatui/commit/2892bddce66daf0b285a6d9f6fb3fdb2581cda2b) *(uncategorized)* Rust 1.83 clippy lints by @joshka in [#1527](https://github.com/ratatui/ratatui/pull/1527) - [36e2d1b](https://github.com/ratatui/ratatui/commit/36e2d1bda1d8b4e1d0fbd09ba2894d56bd7eeeca) *(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka in [#1506](https://github.com/ratatui/ratatui/pull/1506) - [4d7704f](https://github.com/ratatui/ratatui/commit/4d7704fba5dcebda34c8c04bf4b5ac48e3a22008) *(uncategorized)* Make StatefulWidget and Ref work with unsized State by @thscharler in [#1505](https://github.com/ratatui/ratatui/pull/1505) - [7b87509](https://github.com/ratatui/ratatui/commit/7b875091e18b894f53af6331a8ad5b7101a75d1e) *(uncategorized)* Typo by @marcoieni in [#1480](https://github.com/ratatui/ratatui/pull/1480) ### Refactor - [f132fa1](https://github.com/ratatui/ratatui/commit/f132fa1715ea0893c52e35c65d505abadb75cec6) *(table)* Small readability improvements by @joshka in [#1510](https://github.com/ratatui/ratatui/pull/1510) - [904b0aa](https://github.com/ratatui/ratatui/commit/904b0aa723e63d3fb68802b797949619506bf3a9) *(uncategorized)* Move symbols to modules by @joshka in [#1594](https://github.com/ratatui/ratatui/pull/1594) - [7c8573f](https://github.com/ratatui/ratatui/commit/7c8573f5750ea8cf87101f81314803c834ea4942) *(uncategorized)* Rearrange selection_spacing code by @raylu in [#1540](https://github.com/ratatui/ratatui/pull/1540) - [217c57c](https://github.com/ratatui/ratatui/commit/217c57cd60628abde1ca2f0c39b014e22c9edc4e) *(uncategorized)* Modularize backends by @orhun in [#1508](https://github.com/ratatui/ratatui/pull/1508) - [e461b72](https://github.com/ratatui/ratatui/commit/e461b724a6b010fe242f9bd6d9746007cbf24219) *(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual files by @joshka in [#1479](https://github.com/ratatui/ratatui/pull/1479) ### Documentation - [d291042](https://github.com/ratatui/ratatui/commit/d291042e69ad930ae0d3c5d1f991d9e68320c00e) *(block)* Revise the block example by @orhun in [#1520](https://github.com/ratatui/ratatui/pull/1520) - [fcde9cb](https://github.com/ratatui/ratatui/commit/fcde9cb9c3c5e9752fefbcc7cdeac95e2db9d684) *(changelog)* Fix typo by @orhun in [#1463](https://github.com/ratatui/ratatui/pull/1463) - [3ae6bf1](https://github.com/ratatui/ratatui/commit/3ae6bf1d6f24407de400024dcb5924d841a2e1ba) *(contributing)* Use cargo-xtask for instructions by @orhun in [#1509](https://github.com/ratatui/ratatui/pull/1509) - [04e1b32](https://github.com/ratatui/ratatui/commit/04e1b32cd2e77653266fa8e7269a2e08d774220e) *(layout)* Rename cassowary-rs references to cassowary by @miroim in [#1448](https://github.com/ratatui/ratatui/pull/1448) - [088aac1](https://github.com/ratatui/ratatui/commit/088aac136d8b22557081ab4c657f5c9f5cde80d8) *(readme)* Tweak links and badges by @joshka in [#1598](https://github.com/ratatui/ratatui/pull/1598) - [6e43672](https://github.com/ratatui/ratatui/commit/6e436725e4f8c58be527b07c464a0d8b5d306eb6) *(readme)* Reimagine README.md by @orhun in [#1569](https://github.com/ratatui/ratatui/pull/1569) - [8f28247](https://github.com/ratatui/ratatui/commit/8f282473b21d7693f20b5f0cdad2f12b9ed209ff) *(readme)* Correct examples links by @HoKim98 in [#1484](https://github.com/ratatui/ratatui/pull/1484) - [9f90f74](https://github.com/ratatui/ratatui/commit/9f90f7495fd46b3b7ac34160f094bc1583f82b70) *(readme)* Fix broken link by @nilsmartel in [#1485](https://github.com/ratatui/ratatui/pull/1485) - [260af68](https://github.com/ratatui/ratatui/commit/260af68a347b527281265f7bf259eb1336aa49b2) *(readme)* Include iocraft as an alternative by @kdheepak in [#1483](https://github.com/ratatui/ratatui/pull/1483) - [dafb716](https://github.com/ratatui/ratatui/commit/dafb716f9d8acb5dda303dc1e155dc90eb54b926) *(widgets)* Add example for grouped barchart by @orhun in [#1566](https://github.com/ratatui/ratatui/pull/1566) - [ed5dd73](https://github.com/ratatui/ratatui/commit/ed5dd73084e2c8ccf3d36bc23048d67755a90e6a) *(widgets)* Add example for tabs by @orhun in [#1559](https://github.com/ratatui/ratatui/pull/1559) - [fab5321](https://github.com/ratatui/ratatui/commit/fab532171d1c8e9639298550565e4eefb8737275) *(widgets)* Add example for scrollbar by @orhun in [#1545](https://github.com/ratatui/ratatui/pull/1545) - [898aef6](https://github.com/ratatui/ratatui/commit/898aef6e2f38655e58684a2d842f03bcde0ebf0c) *(widgets)* Add example for list by @orhun in [#1542](https://github.com/ratatui/ratatui/pull/1542) - [452366a](https://github.com/ratatui/ratatui/commit/452366aa9e666f26946ebccf6046a0bed393f5c1) *(widgets)* Add example for sparkline by @orhun in [#1556](https://github.com/ratatui/ratatui/pull/1556) - [6ddde0e](https://github.com/ratatui/ratatui/commit/6ddde0e8a84b0909ba5631afac2dfc7878764786) *(widgets)* Add example for table by @orhun in [#1557](https://github.com/ratatui/ratatui/pull/1557) - [93ad6b8](https://github.com/ratatui/ratatui/commit/93ad6b828c3a34be982447390d17b7953a9c328e) *(widgets)* Update values in chart example by @orhun in [#1558](https://github.com/ratatui/ratatui/pull/1558) - [15f442a](https://github.com/ratatui/ratatui/commit/15f442a71ed4ce3faeaac3b2a3a7798940eb1846) *(widgets)* Add example for paragraph by @orhun in [#1544](https://github.com/ratatui/ratatui/pull/1544) - [17bba14](https://github.com/ratatui/ratatui/commit/17bba14540449ae584a9cafbe2a39cc7fa451ef4) *(widgets)* Move the logo example to widgets by @orhun in [#1543](https://github.com/ratatui/ratatui/pull/1543) - [f2451e7](https://github.com/ratatui/ratatui/commit/f2451e7f1ed1d5bd38e8901f139bc2916a4b005e) *(widgets)* Add example for gauge by @orhun in [#1539](https://github.com/ratatui/ratatui/pull/1539) - [4f0a8b2](https://github.com/ratatui/ratatui/commit/4f0a8b21af49b825debb13695f8c1f368f4f56b5) *(widgets)* Add example for canvas by @orhun in [#1533](https://github.com/ratatui/ratatui/pull/1533) - [91147c4](https://github.com/ratatui/ratatui/commit/91147c4d75bee207052b06a7dca4b610df321de1) *(widgets)* Add example for chart by @orhun in [#1536](https://github.com/ratatui/ratatui/pull/1536) - [6dd25a3](https://github.com/ratatui/ratatui/commit/6dd25a311152abf3e0938c9a59e54c98e2a327a6) *(widgets)* Add example for calendar by @orhun in [#1532](https://github.com/ratatui/ratatui/pull/1532) - [99ac005](https://github.com/ratatui/ratatui/commit/99ac005b06f807c79060dba43b33ec9b1f7c1a3a) *(widgets)* Add simple barchart example by @joshka in [#1511](https://github.com/ratatui/ratatui/pull/1511) - [da05957](https://github.com/ratatui/ratatui/commit/da05957fa01fcc420519400d82ef9df6acace0e8) *(uncategorized)* Add widget-ref-container example by @joshka in [#1603](https://github.com/ratatui/ratatui/pull/1603) - [1798512](https://github.com/ratatui/ratatui/commit/1798512e94b277fdfafeddb4043f7174ce2ac64a) *(uncategorized)* Fix wording in user_input example by @dawedawe in [#1611](https://github.com/ratatui/ratatui/pull/1611) - [03066d8](https://github.com/ratatui/ratatui/commit/03066d81bfc7fb4356e8d188f3d6a15b45509c15) *(uncategorized)* Fix punctuation in canvas.rs documentation by @dawedawe in [#1583](https://github.com/ratatui/ratatui/pull/1583) - [e411d9e](https://github.com/ratatui/ratatui/commit/e411d9ec3e921e812b7e8d2836c2ad0b60a0e6f8) *(uncategorized)* Add input form example by @joshka in [#1551](https://github.com/ratatui/ratatui/pull/1551) - [ed071f3](https://github.com/ratatui/ratatui/commit/ed071f37232fae47a2193235d57934cc5c678baa) *(uncategorized)* Add mouse-drawing example by @joshka in [#1546](https://github.com/ratatui/ratatui/pull/1546) - [46902f5](https://github.com/ratatui/ratatui/commit/46902f5587efe2b27c39b5e3c39109c62a636ba3) *(uncategorized)* Improve docs for workspace crates by @orhun in [#1490](https://github.com/ratatui/ratatui/pull/1490) - [a6b5792](https://github.com/ratatui/ratatui/commit/a6b579223fd83c36e024428df49a3027cd1c21bc) *(uncategorized)* Fix example link in readme by @thomas-tacquet in [#1462](https://github.com/ratatui/ratatui/pull/1462) ### Miscellaneous Tasks - [abe2f27](https://github.com/ratatui/ratatui/commit/abe2f273289d3798968a645a38a7a38571530065) *(backend)* Change From impls to new backend specific IntoBackend and FromBackend traits by @joshka in [#1464](https://github.com/ratatui/ratatui/pull/1464) [**breaking**] - [0a47ebd](https://github.com/ratatui/ratatui/commit/0a47ebd94bbc7a89c9e2aa893cf13a988756ec19) *(bencher)* Update bencher CLI usage by @epompeii in [#1470](https://github.com/ratatui/ratatui/pull/1470) - [a0979d6](https://github.com/ratatui/ratatui/commit/a0979d68715b2c67b32b8909189bc103f0e81f6e) *(build)* Remove cargo lint by @joshka in [#1549](https://github.com/ratatui/ratatui/pull/1549) - [eaa4038](https://github.com/ratatui/ratatui/commit/eaa403856ecb60338619e2e727a0388187ae017c) *(ci)* Install pre-built binaries for cargo-rdme by @orhun in [#1477](https://github.com/ratatui/ratatui/pull/1477) - [e5e2316](https://github.com/ratatui/ratatui/commit/e5e2316451fb4c085f205b4884cc82ba8a4930e6) *(ci)* Add check for keeping README.md up-to-date by @orhun in [#1473](https://github.com/ratatui/ratatui/pull/1473) - [2ef3583](https://github.com/ratatui/ratatui/commit/2ef3583effdeb6492d76d977177b4363129a8c8c) *(ci)* Replace cargo-make with a custom cargo-xtask by @joshka in [#1461](https://github.com/ratatui/ratatui/pull/1461) - [98df774](https://github.com/ratatui/ratatui/commit/98df774d7f9b69a2a474d25adf38e38a428f1b77) *(core)* Move core types to ratatui-core by @joshka in [#1460](https://github.com/ratatui/ratatui/pull/1460) - [35eba76](https://github.com/ratatui/ratatui/commit/35eba76b4dff047dde2d1e01bc427eb1b992b490) *(example)* Move demo2 to top level folder by @joshka in [#1524](https://github.com/ratatui/ratatui/pull/1524) - [5f57d35](https://github.com/ratatui/ratatui/commit/5f57d3523436e944b60ccc7a937d69336c9f82b8) *(examples)* Add colors explorer demo app by @orhun in [#1580](https://github.com/ratatui/ratatui/pull/1580) - [5c021bf](https://github.com/ratatui/ratatui/commit/5c021bf344b17fc4075e9663dfb270bead180e25) *(examples)* Add chart demo app by @orhun in [#1579](https://github.com/ratatui/ratatui/pull/1579) - [9721300](https://github.com/ratatui/ratatui/commit/9721300a473096daf6b34f6cc7c13643d61a4e00) *(examples)* Add canvas demo app by @orhun in [#1578](https://github.com/ratatui/ratatui/pull/1578) - [a6a1368](https://github.com/ratatui/ratatui/commit/a6a13682507846320a79538ffad673a58c1143f0) *(examples)* Add calendar explorer demo app by @orhun in [#1571](https://github.com/ratatui/ratatui/pull/1571) - [819e92c](https://github.com/ratatui/ratatui/commit/819e92cd44b6bee7d21115ff465c2f3f8c82ed9b) *(examples)* Add weather demo app by @orhun in [#1567](https://github.com/ratatui/ratatui/pull/1567) - [b5f7e44](https://github.com/ratatui/ratatui/commit/b5f7e4418364c9710d14567c73122af67e0a63ae) *(examples)* Move async example to apps by @joshka in [#1503](https://github.com/ratatui/ratatui/pull/1503) - [17316ec](https://github.com/ratatui/ratatui/commit/17316ec5d0a4807600dd116736d66938b985e718) *(github)* Enable sponsorship button by @orhun in [#1478](https://github.com/ratatui/ratatui/pull/1478) - [d3f01eb](https://github.com/ratatui/ratatui/commit/d3f01ebf6ea97e71bcda8c84b054943e1f24cd4e) *(lint)* Ensure lint config is correct by @joshka in [#1528](https://github.com/ratatui/ratatui/pull/1528) - [2b7ec5c](https://github.com/ratatui/ratatui/commit/2b7ec5cb7f34edb65fc81d362d3b512b98d246ac) *(widgets)* Enable calendar widget as default by @orhun in [#1521](https://github.com/ratatui/ratatui/pull/1521) - [d201b8e](https://github.com/ratatui/ratatui/commit/d201b8e5ddd98a1887252179dec8f09e1f342b0c) *(xtask)* Check lints for only library targets by @orhun in [#1531](https://github.com/ratatui/ratatui/pull/1531) - [6f21319](https://github.com/ratatui/ratatui/commit/6f213191efd528fd7e0d5c99fda3e6d028ee0f98) *(uncategorized)* Rename examples with clashing names by @joshka in [#1597](https://github.com/ratatui/ratatui/pull/1597) - [11cbb2b](https://github.com/ratatui/ratatui/commit/11cbb2ba87e557a04674973a39d59124d8683ed1) *(uncategorized)* Use cargo xtask for bacon clippy command by @joshka in [#1592](https://github.com/ratatui/ratatui/pull/1592) - [b544e39](https://github.com/ratatui/ratatui/commit/b544e394c97fffdeddaccd44bea2214ebffa1616) *(uncategorized)* Use clap instead of argh for demo example by @joshka in [#1591](https://github.com/ratatui/ratatui/pull/1591) - [9a54198](https://github.com/ratatui/ratatui/commit/9a541981b8accd9efe17c0893d18b520bc569b15) *(uncategorized)* Make source files non-executable by @orhun in [#1577](https://github.com/ratatui/ratatui/pull/1577) - [357ae7e](https://github.com/ratatui/ratatui/commit/357ae7e251721f2e7fcb539de5e6fc60eaa30e29) *(uncategorized)* Move terminal types to ratatui-core by @joshka in [#1530](https://github.com/ratatui/ratatui/pull/1530) [**breaking**] - [21e62d8](https://github.com/ratatui/ratatui/commit/21e62d84c2d2fa2d5563caf0c0974c2514e56ee5) *(uncategorized)* Move the demo example to main folder by @joshka in [#1523](https://github.com/ratatui/ratatui/pull/1523) - [fbf6050](https://github.com/ratatui/ratatui/commit/fbf6050c867b63276ae3d6f5bca4d741c2ce355c) *(uncategorized)* Prepare alpha modularization release by @joshka in [#1525](https://github.com/ratatui/ratatui/pull/1525) - [e4e95bc](https://github.com/ratatui/ratatui/commit/e4e95bcecf15deb09416a0e53193d261f012222a) *(uncategorized)* Remove --color always flags from bacon.toml by @joshka in [#1502](https://github.com/ratatui/ratatui/pull/1502) - [a41c97b](https://github.com/ratatui/ratatui/commit/a41c97b413b28d0db6d1ea09dcc1d5b8556148b1) *(uncategorized)* Move unstable widget refs to ratatui by @joshka in [#1491](https://github.com/ratatui/ratatui/pull/1491) [**breaking**] - [e7085e3](https://github.com/ratatui/ratatui/commit/e7085e3a3ec4b3b90a4e69d49add96e7ba65616c) *(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in [#1474](https://github.com/ratatui/ratatui/pull/1474) - [f1d0a18](https://github.com/ratatui/ratatui/commit/f1d0a1837564d69f00e4b5d9eb94cc001cd3a3a7) *(uncategorized)* Move ratatui crate into workspace folder by @joshka in [#1459](https://github.com/ratatui/ratatui/pull/1459) - [55fb2d2](https://github.com/ratatui/ratatui/commit/55fb2d2e56b492f0f4131fde9d44951b504cf50c) *(uncategorized)* Update repo links to ratatui instead of ratatui-org by @joshka in [#1458](https://github.com/ratatui/ratatui/pull/1458) ### Continuous Integration - [4a871f9](https://github.com/ratatui/ratatui/commit/4a871f993ea38069da513660707a072be299b791) *(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
## `ratatui-crossterm`
## [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](https://github.com/ratatui/ratatui/commit/56d5e057625378f1bdf732dabb57208453fb84d6) *(bar)* Update label and text_value to accept Into<> by @Emivvvvv in [#1471](https://github.com/ratatui/ratatui/pull/1471) [**breaking**] - [b76ad3b](https://github.com/ratatui/ratatui/commit/b76ad3b02ea1c3381b6434c40e620f28d642948e) *(bar)* Impl Styled for Bar by @Emivvvvv in [#1476](https://github.com/ratatui/ratatui/pull/1476) - [369b18e](https://github.com/ratatui/ratatui/commit/369b18eef2e4220147e7c7264ad7f8e023a1d2dd) *(barchart)* Reduce barchart creation verbosity by @Emivvvvv in [#1453](https://github.com/ratatui/ratatui/pull/1453) - [9275d34](https://github.com/ratatui/ratatui/commit/9275d3421c088174bcf9de0832340bcbea76367a) *(layout)* Add Offset::new() constructor by @joshka in [#1547](https://github.com/ratatui/ratatui/pull/1547) - [ff729b7](https://github.com/ratatui/ratatui/commit/ff729b7607e0099a155f10dfe0ce42320641b74d) *(scrollbar)* Support retrieving the current position of state by @orhun in [#1552](https://github.com/ratatui/ratatui/pull/1552) - [ce4856a](https://github.com/ratatui/ratatui/commit/ce4856a65f3c76db714a45338ba3be9b638c6c35) *(widgets)* Add the missing constructor to canvas types by @orhun in [#1538](https://github.com/ratatui/ratatui/pull/1538) - [50ba965](https://github.com/ratatui/ratatui/commit/50ba96518f01454cff185784a1e9676093ce06cf) *(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in [#1584](https://github.com/ratatui/ratatui/pull/1584) - [1d28c89](https://github.com/ratatui/ratatui/commit/1d28c89fe50f1a11cf1719233acca1a12d5e2d7b) *(uncategorized)* Add conversions for anstyle by @joshka in [#1581](https://github.com/ratatui/ratatui/pull/1581) ### Bug Fixes - [860e48b](https://github.com/ratatui/ratatui/commit/860e48b0f0ec51c8596bc12985a8b37bad4fba00) *(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by @joshka in [#1447](https://github.com/ratatui/ratatui/pull/1447) - [ec30390](https://github.com/ratatui/ratatui/commit/ec30390446b998cba97a25db63b2e3d27db7a12d) *(canvas)* Round coordinates to nearest grid cell by @joshka in [#1507](https://github.com/ratatui/ratatui/pull/1507) - [afd1ce1](https://github.com/ratatui/ratatui/commit/afd1ce179b74f10ea786ed6f9b2999288bc94e7a) *(canvas)* Lines that start outside the visible grid are now drawn by @renesat in [#1501](https://github.com/ratatui/ratatui/pull/1501) - [18e70d3](https://github.com/ratatui/ratatui/commit/18e70d3d51b654bb895843224edf0c21a3114dc9) *(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in [#1541](https://github.com/ratatui/ratatui/pull/1541) - [a692a6e](https://github.com/ratatui/ratatui/commit/a692a6e37114f39a3eb15b0cdc486dee8a7e91ff) *(lint)* Apply rust 1.84 clippy suggestions by @joshka in [#1612](https://github.com/ratatui/ratatui/pull/1612) - [3b13240](https://github.com/ratatui/ratatui/commit/3b13240728597a8c459c4bb5f913372185e9df91) *(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in [#1529](https://github.com/ratatui/ratatui/pull/1529) - [f57b696](https://github.com/ratatui/ratatui/commit/f57b696fdc3bac381bccda0414400453f5abecf2) *(span)* Dont render control characters by @EdJoPaTo in [#1312](https://github.com/ratatui/ratatui/pull/1312) - [2ce958e](https://github.com/ratatui/ratatui/commit/2ce958e38cf1ebab49b1817b669631dc349a0ebb) *(table)* Allow display of additional table row, if row height > 1 by @Lunderberg in [#1452](https://github.com/ratatui/ratatui/pull/1452) - [2892bdd](https://github.com/ratatui/ratatui/commit/2892bddce66daf0b285a6d9f6fb3fdb2581cda2b) *(uncategorized)* Rust 1.83 clippy lints by @joshka in [#1527](https://github.com/ratatui/ratatui/pull/1527) - [36e2d1b](https://github.com/ratatui/ratatui/commit/36e2d1bda1d8b4e1d0fbd09ba2894d56bd7eeeca) *(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka in [#1506](https://github.com/ratatui/ratatui/pull/1506) - [4d7704f](https://github.com/ratatui/ratatui/commit/4d7704fba5dcebda34c8c04bf4b5ac48e3a22008) *(uncategorized)* Make StatefulWidget and Ref work with unsized State by @thscharler in [#1505](https://github.com/ratatui/ratatui/pull/1505) - [7b87509](https://github.com/ratatui/ratatui/commit/7b875091e18b894f53af6331a8ad5b7101a75d1e) *(uncategorized)* Typo by @marcoieni in [#1480](https://github.com/ratatui/ratatui/pull/1480) ### Refactor - [f132fa1](https://github.com/ratatui/ratatui/commit/f132fa1715ea0893c52e35c65d505abadb75cec6) *(table)* Small readability improvements by @joshka in [#1510](https://github.com/ratatui/ratatui/pull/1510) - [904b0aa](https://github.com/ratatui/ratatui/commit/904b0aa723e63d3fb68802b797949619506bf3a9) *(uncategorized)* Move symbols to modules by @joshka in [#1594](https://github.com/ratatui/ratatui/pull/1594) - [7c8573f](https://github.com/ratatui/ratatui/commit/7c8573f5750ea8cf87101f81314803c834ea4942) *(uncategorized)* Rearrange selection_spacing code by @raylu in [#1540](https://github.com/ratatui/ratatui/pull/1540) - [217c57c](https://github.com/ratatui/ratatui/commit/217c57cd60628abde1ca2f0c39b014e22c9edc4e) *(uncategorized)* Modularize backends by @orhun in [#1508](https://github.com/ratatui/ratatui/pull/1508) - [e461b72](https://github.com/ratatui/ratatui/commit/e461b724a6b010fe242f9bd6d9746007cbf24219) *(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual files by @joshka in [#1479](https://github.com/ratatui/ratatui/pull/1479) ### Documentation - [d291042](https://github.com/ratatui/ratatui/commit/d291042e69ad930ae0d3c5d1f991d9e68320c00e) *(block)* Revise the block example by @orhun in [#1520](https://github.com/ratatui/ratatui/pull/1520) - [fcde9cb](https://github.com/ratatui/ratatui/commit/fcde9cb9c3c5e9752fefbcc7cdeac95e2db9d684) *(changelog)* Fix typo by @orhun in [#1463](https://github.com/ratatui/ratatui/pull/1463) - [3ae6bf1](https://github.com/ratatui/ratatui/commit/3ae6bf1d6f24407de400024dcb5924d841a2e1ba) *(contributing)* Use cargo-xtask for instructions by @orhun in [#1509](https://github.com/ratatui/ratatui/pull/1509) - [04e1b32](https://github.com/ratatui/ratatui/commit/04e1b32cd2e77653266fa8e7269a2e08d774220e) *(layout)* Rename cassowary-rs references to cassowary by @miroim in [#1448](https://github.com/ratatui/ratatui/pull/1448) - [088aac1](https://github.com/ratatui/ratatui/commit/088aac136d8b22557081ab4c657f5c9f5cde80d8) *(readme)* Tweak links and badges by @joshka in [#1598](https://github.com/ratatui/ratatui/pull/1598) - [6e43672](https://github.com/ratatui/ratatui/commit/6e436725e4f8c58be527b07c464a0d8b5d306eb6) *(readme)* Reimagine README.md by @orhun in [#1569](https://github.com/ratatui/ratatui/pull/1569) - [8f28247](https://github.com/ratatui/ratatui/commit/8f282473b21d7693f20b5f0cdad2f12b9ed209ff) *(readme)* Correct examples links by @HoKim98 in [#1484](https://github.com/ratatui/ratatui/pull/1484) - [9f90f74](https://github.com/ratatui/ratatui/commit/9f90f7495fd46b3b7ac34160f094bc1583f82b70) *(readme)* Fix broken link by @nilsmartel in [#1485](https://github.com/ratatui/ratatui/pull/1485) - [260af68](https://github.com/ratatui/ratatui/commit/260af68a347b527281265f7bf259eb1336aa49b2) *(readme)* Include iocraft as an alternative by @kdheepak in [#1483](https://github.com/ratatui/ratatui/pull/1483) - [dafb716](https://github.com/ratatui/ratatui/commit/dafb716f9d8acb5dda303dc1e155dc90eb54b926) *(widgets)* Add example for grouped barchart by @orhun in [#1566](https://github.com/ratatui/ratatui/pull/1566) - [ed5dd73](https://github.com/ratatui/ratatui/commit/ed5dd73084e2c8ccf3d36bc23048d67755a90e6a) *(widgets)* Add example for tabs by @orhun in [#1559](https://github.com/ratatui/ratatui/pull/1559) - [fab5321](https://github.com/ratatui/ratatui/commit/fab532171d1c8e9639298550565e4eefb8737275) *(widgets)* Add example for scrollbar by @orhun in [#1545](https://github.com/ratatui/ratatui/pull/1545) - [898aef6](https://github.com/ratatui/ratatui/commit/898aef6e2f38655e58684a2d842f03bcde0ebf0c) *(widgets)* Add example for list by @orhun in [#1542](https://github.com/ratatui/ratatui/pull/1542) - [452366a](https://github.com/ratatui/ratatui/commit/452366aa9e666f26946ebccf6046a0bed393f5c1) *(widgets)* Add example for sparkline by @orhun in [#1556](https://github.com/ratatui/ratatui/pull/1556) - [6ddde0e](https://github.com/ratatui/ratatui/commit/6ddde0e8a84b0909ba5631afac2dfc7878764786) *(widgets)* Add example for table by @orhun in [#1557](https://github.com/ratatui/ratatui/pull/1557) - [93ad6b8](https://github.com/ratatui/ratatui/commit/93ad6b828c3a34be982447390d17b7953a9c328e) *(widgets)* Update values in chart example by @orhun in [#1558](https://github.com/ratatui/ratatui/pull/1558) - [15f442a](https://github.com/ratatui/ratatui/commit/15f442a71ed4ce3faeaac3b2a3a7798940eb1846) *(widgets)* Add example for paragraph by @orhun in [#1544](https://github.com/ratatui/ratatui/pull/1544) - [17bba14](https://github.com/ratatui/ratatui/commit/17bba14540449ae584a9cafbe2a39cc7fa451ef4) *(widgets)* Move the logo example to widgets by @orhun in [#1543](https://github.com/ratatui/ratatui/pull/1543) - [f2451e7](https://github.com/ratatui/ratatui/commit/f2451e7f1ed1d5bd38e8901f139bc2916a4b005e) *(widgets)* Add example for gauge by @orhun in [#1539](https://github.com/ratatui/ratatui/pull/1539) - [4f0a8b2](https://github.com/ratatui/ratatui/commit/4f0a8b21af49b825debb13695f8c1f368f4f56b5) *(widgets)* Add example for canvas by @orhun in [#1533](https://github.com/ratatui/ratatui/pull/1533) - [91147c4](https://github.com/ratatui/ratatui/commit/91147c4d75bee207052b06a7dca4b610df321de1) *(widgets)* Add example for chart by @orhun in [#1536](https://github.com/ratatui/ratatui/pull/1536) - [6dd25a3](https://github.com/ratatui/ratatui/commit/6dd25a311152abf3e0938c9a59e54c98e2a327a6) *(widgets)* Add example for calendar by @orhun in [#1532](https://github.com/ratatui/ratatui/pull/1532) - [99ac005](https://github.com/ratatui/ratatui/commit/99ac005b06f807c79060dba43b33ec9b1f7c1a3a) *(widgets)* Add simple barchart example by @joshka in [#1511](https://github.com/ratatui/ratatui/pull/1511) - [da05957](https://github.com/ratatui/ratatui/commit/da05957fa01fcc420519400d82ef9df6acace0e8) *(uncategorized)* Add widget-ref-container example by @joshka in [#1603](https://github.com/ratatui/ratatui/pull/1603) - [1798512](https://github.com/ratatui/ratatui/commit/1798512e94b277fdfafeddb4043f7174ce2ac64a) *(uncategorized)* Fix wording in user_input example by @dawedawe in [#1611](https://github.com/ratatui/ratatui/pull/1611) - [03066d8](https://github.com/ratatui/ratatui/commit/03066d81bfc7fb4356e8d188f3d6a15b45509c15) *(uncategorized)* Fix punctuation in canvas.rs documentation by @dawedawe in [#1583](https://github.com/ratatui/ratatui/pull/1583) - [e411d9e](https://github.com/ratatui/ratatui/commit/e411d9ec3e921e812b7e8d2836c2ad0b60a0e6f8) *(uncategorized)* Add input form example by @joshka in [#1551](https://github.com/ratatui/ratatui/pull/1551) - [ed071f3](https://github.com/ratatui/ratatui/commit/ed071f37232fae47a2193235d57934cc5c678baa) *(uncategorized)* Add mouse-drawing example by @joshka in [#1546](https://github.com/ratatui/ratatui/pull/1546) - [46902f5](https://github.com/ratatui/ratatui/commit/46902f5587efe2b27c39b5e3c39109c62a636ba3) *(uncategorized)* Improve docs for workspace crates by @orhun in [#1490](https://github.com/ratatui/ratatui/pull/1490) - [a6b5792](https://github.com/ratatui/ratatui/commit/a6b579223fd83c36e024428df49a3027cd1c21bc) *(uncategorized)* Fix example link in readme by @thomas-tacquet in [#1462](https://github.com/ratatui/ratatui/pull/1462) ### Miscellaneous Tasks - [abe2f27](https://github.com/ratatui/ratatui/commit/abe2f273289d3798968a645a38a7a38571530065) *(backend)* Change From impls to new backend specific IntoBackend and FromBackend traits by @joshka in [#1464](https://github.com/ratatui/ratatui/pull/1464) [**breaking**] - [0a47ebd](https://github.com/ratatui/ratatui/commit/0a47ebd94bbc7a89c9e2aa893cf13a988756ec19) *(bencher)* Update bencher CLI usage by @epompeii in [#1470](https://github.com/ratatui/ratatui/pull/1470) - [a0979d6](https://github.com/ratatui/ratatui/commit/a0979d68715b2c67b32b8909189bc103f0e81f6e) *(build)* Remove cargo lint by @joshka in [#1549](https://github.com/ratatui/ratatui/pull/1549) - [eaa4038](https://github.com/ratatui/ratatui/commit/eaa403856ecb60338619e2e727a0388187ae017c) *(ci)* Install pre-built binaries for cargo-rdme by @orhun in [#1477](https://github.com/ratatui/ratatui/pull/1477) - [e5e2316](https://github.com/ratatui/ratatui/commit/e5e2316451fb4c085f205b4884cc82ba8a4930e6) *(ci)* Add check for keeping README.md up-to-date by @orhun in [#1473](https://github.com/ratatui/ratatui/pull/1473) - [2ef3583](https://github.com/ratatui/ratatui/commit/2ef3583effdeb6492d76d977177b4363129a8c8c) *(ci)* Replace cargo-make with a custom cargo-xtask by @joshka in [#1461](https://github.com/ratatui/ratatui/pull/1461) - [98df774](https://github.com/ratatui/ratatui/commit/98df774d7f9b69a2a474d25adf38e38a428f1b77) *(core)* Move core types to ratatui-core by @joshka in [#1460](https://github.com/ratatui/ratatui/pull/1460) - [35eba76](https://github.com/ratatui/ratatui/commit/35eba76b4dff047dde2d1e01bc427eb1b992b490) *(example)* Move demo2 to top level folder by @joshka in [#1524](https://github.com/ratatui/ratatui/pull/1524) - [5f57d35](https://github.com/ratatui/ratatui/commit/5f57d3523436e944b60ccc7a937d69336c9f82b8) *(examples)* Add colors explorer demo app by @orhun in [#1580](https://github.com/ratatui/ratatui/pull/1580) - [5c021bf](https://github.com/ratatui/ratatui/commit/5c021bf344b17fc4075e9663dfb270bead180e25) *(examples)* Add chart demo app by @orhun in [#1579](https://github.com/ratatui/ratatui/pull/1579) - [9721300](https://github.com/ratatui/ratatui/commit/9721300a473096daf6b34f6cc7c13643d61a4e00) *(examples)* Add canvas demo app by @orhun in [#1578](https://github.com/ratatui/ratatui/pull/1578) - [a6a1368](https://github.com/ratatui/ratatui/commit/a6a13682507846320a79538ffad673a58c1143f0) *(examples)* Add calendar explorer demo app by @orhun in [#1571](https://github.com/ratatui/ratatui/pull/1571) - [819e92c](https://github.com/ratatui/ratatui/commit/819e92cd44b6bee7d21115ff465c2f3f8c82ed9b) *(examples)* Add weather demo app by @orhun in [#1567](https://github.com/ratatui/ratatui/pull/1567) - [b5f7e44](https://github.com/ratatui/ratatui/commit/b5f7e4418364c9710d14567c73122af67e0a63ae) *(examples)* Move async example to apps by @joshka in [#1503](https://github.com/ratatui/ratatui/pull/1503) - [17316ec](https://github.com/ratatui/ratatui/commit/17316ec5d0a4807600dd116736d66938b985e718) *(github)* Enable sponsorship button by @orhun in [#1478](https://github.com/ratatui/ratatui/pull/1478) - [d3f01eb](https://github.com/ratatui/ratatui/commit/d3f01ebf6ea97e71bcda8c84b054943e1f24cd4e) *(lint)* Ensure lint config is correct by @joshka in [#1528](https://github.com/ratatui/ratatui/pull/1528) - [2b7ec5c](https://github.com/ratatui/ratatui/commit/2b7ec5cb7f34edb65fc81d362d3b512b98d246ac) *(widgets)* Enable calendar widget as default by @orhun in [#1521](https://github.com/ratatui/ratatui/pull/1521) - [d201b8e](https://github.com/ratatui/ratatui/commit/d201b8e5ddd98a1887252179dec8f09e1f342b0c) *(xtask)* Check lints for only library targets by @orhun in [#1531](https://github.com/ratatui/ratatui/pull/1531) - [6f21319](https://github.com/ratatui/ratatui/commit/6f213191efd528fd7e0d5c99fda3e6d028ee0f98) *(uncategorized)* Rename examples with clashing names by @joshka in [#1597](https://github.com/ratatui/ratatui/pull/1597) - [11cbb2b](https://github.com/ratatui/ratatui/commit/11cbb2ba87e557a04674973a39d59124d8683ed1) *(uncategorized)* Use cargo xtask for bacon clippy command by @joshka in [#1592](https://github.com/ratatui/ratatui/pull/1592) - [b544e39](https://github.com/ratatui/ratatui/commit/b544e394c97fffdeddaccd44bea2214ebffa1616) *(uncategorized)* Use clap instead of argh for demo example by @joshka in [#1591](https://github.com/ratatui/ratatui/pull/1591) - [9a54198](https://github.com/ratatui/ratatui/commit/9a541981b8accd9efe17c0893d18b520bc569b15) *(uncategorized)* Make source files non-executable by @orhun in [#1577](https://github.com/ratatui/ratatui/pull/1577) - [357ae7e](https://github.com/ratatui/ratatui/commit/357ae7e251721f2e7fcb539de5e6fc60eaa30e29) *(uncategorized)* Move terminal types to ratatui-core by @joshka in [#1530](https://github.com/ratatui/ratatui/pull/1530) [**breaking**] - [21e62d8](https://github.com/ratatui/ratatui/commit/21e62d84c2d2fa2d5563caf0c0974c2514e56ee5) *(uncategorized)* Move the demo example to main folder by @joshka in [#1523](https://github.com/ratatui/ratatui/pull/1523) - [fbf6050](https://github.com/ratatui/ratatui/commit/fbf6050c867b63276ae3d6f5bca4d741c2ce355c) *(uncategorized)* Prepare alpha modularization release by @joshka in [#1525](https://github.com/ratatui/ratatui/pull/1525) - [e4e95bc](https://github.com/ratatui/ratatui/commit/e4e95bcecf15deb09416a0e53193d261f012222a) *(uncategorized)* Remove --color always flags from bacon.toml by @joshka in [#1502](https://github.com/ratatui/ratatui/pull/1502) - [a41c97b](https://github.com/ratatui/ratatui/commit/a41c97b413b28d0db6d1ea09dcc1d5b8556148b1) *(uncategorized)* Move unstable widget refs to ratatui by @joshka in [#1491](https://github.com/ratatui/ratatui/pull/1491) [**breaking**] - [e7085e3](https://github.com/ratatui/ratatui/commit/e7085e3a3ec4b3b90a4e69d49add96e7ba65616c) *(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in [#1474](https://github.com/ratatui/ratatui/pull/1474) - [f1d0a18](https://github.com/ratatui/ratatui/commit/f1d0a1837564d69f00e4b5d9eb94cc001cd3a3a7) *(uncategorized)* Move ratatui crate into workspace folder by @joshka in [#1459](https://github.com/ratatui/ratatui/pull/1459) - [55fb2d2](https://github.com/ratatui/ratatui/commit/55fb2d2e56b492f0f4131fde9d44951b504cf50c) *(uncategorized)* Update repo links to ratatui instead of ratatui-org by @joshka in [#1458](https://github.com/ratatui/ratatui/pull/1458) ### Continuous Integration - [4a871f9](https://github.com/ratatui/ratatui/commit/4a871f993ea38069da513660707a072be299b791) *(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
## `ratatui-widgets`
## [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](https://github.com/ratatui/ratatui/commit/56d5e057625378f1bdf732dabb57208453fb84d6) *(bar)* Update label and text_value to accept Into<> by @Emivvvvv in [#1471](https://github.com/ratatui/ratatui/pull/1471) [**breaking**] - [b76ad3b](https://github.com/ratatui/ratatui/commit/b76ad3b02ea1c3381b6434c40e620f28d642948e) *(bar)* Impl Styled for Bar by @Emivvvvv in [#1476](https://github.com/ratatui/ratatui/pull/1476) - [369b18e](https://github.com/ratatui/ratatui/commit/369b18eef2e4220147e7c7264ad7f8e023a1d2dd) *(barchart)* Reduce barchart creation verbosity by @Emivvvvv in [#1453](https://github.com/ratatui/ratatui/pull/1453) - [9275d34](https://github.com/ratatui/ratatui/commit/9275d3421c088174bcf9de0832340bcbea76367a) *(layout)* Add Offset::new() constructor by @joshka in [#1547](https://github.com/ratatui/ratatui/pull/1547) - [ff729b7](https://github.com/ratatui/ratatui/commit/ff729b7607e0099a155f10dfe0ce42320641b74d) *(scrollbar)* Support retrieving the current position of state by @orhun in [#1552](https://github.com/ratatui/ratatui/pull/1552) - [ce4856a](https://github.com/ratatui/ratatui/commit/ce4856a65f3c76db714a45338ba3be9b638c6c35) *(widgets)* Add the missing constructor to canvas types by @orhun in [#1538](https://github.com/ratatui/ratatui/pull/1538) - [50ba965](https://github.com/ratatui/ratatui/commit/50ba96518f01454cff185784a1e9676093ce06cf) *(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in [#1584](https://github.com/ratatui/ratatui/pull/1584) - [1d28c89](https://github.com/ratatui/ratatui/commit/1d28c89fe50f1a11cf1719233acca1a12d5e2d7b) *(uncategorized)* Add conversions for anstyle by @joshka in [#1581](https://github.com/ratatui/ratatui/pull/1581) ### Bug Fixes - [860e48b](https://github.com/ratatui/ratatui/commit/860e48b0f0ec51c8596bc12985a8b37bad4fba00) *(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by @joshka in [#1447](https://github.com/ratatui/ratatui/pull/1447) - [ec30390](https://github.com/ratatui/ratatui/commit/ec30390446b998cba97a25db63b2e3d27db7a12d) *(canvas)* Round coordinates to nearest grid cell by @joshka in [#1507](https://github.com/ratatui/ratatui/pull/1507) - [afd1ce1](https://github.com/ratatui/ratatui/commit/afd1ce179b74f10ea786ed6f9b2999288bc94e7a) *(canvas)* Lines that start outside the visible grid are now drawn by @renesat in [#1501](https://github.com/ratatui/ratatui/pull/1501) - [18e70d3](https://github.com/ratatui/ratatui/commit/18e70d3d51b654bb895843224edf0c21a3114dc9) *(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in [#1541](https://github.com/ratatui/ratatui/pull/1541) - [a692a6e](https://github.com/ratatui/ratatui/commit/a692a6e37114f39a3eb15b0cdc486dee8a7e91ff) *(lint)* Apply rust 1.84 clippy suggestions by @joshka in [#1612](https://github.com/ratatui/ratatui/pull/1612) - [3b13240](https://github.com/ratatui/ratatui/commit/3b13240728597a8c459c4bb5f913372185e9df91) *(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in [#1529](https://github.com/ratatui/ratatui/pull/1529) - [f57b696](https://github.com/ratatui/ratatui/commit/f57b696fdc3bac381bccda0414400453f5abecf2) *(span)* Dont render control characters by @EdJoPaTo in [#1312](https://github.com/ratatui/ratatui/pull/1312) - [2ce958e](https://github.com/ratatui/ratatui/commit/2ce958e38cf1ebab49b1817b669631dc349a0ebb) *(table)* Allow display of additional table row, if row height > 1 by @Lunderberg in [#1452](https://github.com/ratatui/ratatui/pull/1452) - [2892bdd](https://github.com/ratatui/ratatui/commit/2892bddce66daf0b285a6d9f6fb3fdb2581cda2b) *(uncategorized)* Rust 1.83 clippy lints by @joshka in [#1527](https://github.com/ratatui/ratatui/pull/1527) - [36e2d1b](https://github.com/ratatui/ratatui/commit/36e2d1bda1d8b4e1d0fbd09ba2894d56bd7eeeca) *(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka in [#1506](https://github.com/ratatui/ratatui/pull/1506) - [4d7704f](https://github.com/ratatui/ratatui/commit/4d7704fba5dcebda34c8c04bf4b5ac48e3a22008) *(uncategorized)* Make StatefulWidget and Ref work with unsized State by @thscharler in [#1505](https://github.com/ratatui/ratatui/pull/1505) - [7b87509](https://github.com/ratatui/ratatui/commit/7b875091e18b894f53af6331a8ad5b7101a75d1e) *(uncategorized)* Typo by @marcoieni in [#1480](https://github.com/ratatui/ratatui/pull/1480) ### Refactor - [f132fa1](https://github.com/ratatui/ratatui/commit/f132fa1715ea0893c52e35c65d505abadb75cec6) *(table)* Small readability improvements by @joshka in [#1510](https://github.com/ratatui/ratatui/pull/1510) - [904b0aa](https://github.com/ratatui/ratatui/commit/904b0aa723e63d3fb68802b797949619506bf3a9) *(uncategorized)* Move symbols to modules by @joshka in [#1594](https://github.com/ratatui/ratatui/pull/1594) - [7c8573f](https://github.com/ratatui/ratatui/commit/7c8573f5750ea8cf87101f81314803c834ea4942) *(uncategorized)* Rearrange selection_spacing code by @raylu in [#1540](https://github.com/ratatui/ratatui/pull/1540) - [217c57c](https://github.com/ratatui/ratatui/commit/217c57cd60628abde1ca2f0c39b014e22c9edc4e) *(uncategorized)* Modularize backends by @orhun in [#1508](https://github.com/ratatui/ratatui/pull/1508) - [e461b72](https://github.com/ratatui/ratatui/commit/e461b724a6b010fe242f9bd6d9746007cbf24219) *(uncategorized)* Move {Stateful,}Widget{,Ref} types into individual files by @joshka in [#1479](https://github.com/ratatui/ratatui/pull/1479) ### Documentation - [d291042](https://github.com/ratatui/ratatui/commit/d291042e69ad930ae0d3c5d1f991d9e68320c00e) *(block)* Revise the block example by @orhun in [#1520](https://github.com/ratatui/ratatui/pull/1520) - [fcde9cb](https://github.com/ratatui/ratatui/commit/fcde9cb9c3c5e9752fefbcc7cdeac95e2db9d684) *(changelog)* Fix typo by @orhun in [#1463](https://github.com/ratatui/ratatui/pull/1463) - [3ae6bf1](https://github.com/ratatui/ratatui/commit/3ae6bf1d6f24407de400024dcb5924d841a2e1ba) *(contributing)* Use cargo-xtask for instructions by @orhun in [#1509](https://github.com/ratatui/ratatui/pull/1509) - [04e1b32](https://github.com/ratatui/ratatui/commit/04e1b32cd2e77653266fa8e7269a2e08d774220e) *(layout)* Rename cassowary-rs references to cassowary by @miroim in [#1448](https://github.com/ratatui/ratatui/pull/1448) - [088aac1](https://github.com/ratatui/ratatui/commit/088aac136d8b22557081ab4c657f5c9f5cde80d8) *(readme)* Tweak links and badges by @joshka in [#1598](https://github.com/ratatui/ratatui/pull/1598) - [6e43672](https://github.com/ratatui/ratatui/commit/6e436725e4f8c58be527b07c464a0d8b5d306eb6) *(readme)* Reimagine README.md by @orhun in [#1569](https://github.com/ratatui/ratatui/pull/1569) - [8f28247](https://github.com/ratatui/ratatui/commit/8f282473b21d7693f20b5f0cdad2f12b9ed209ff) *(readme)* Correct examples links by @HoKim98 in [#1484](https://github.com/ratatui/ratatui/pull/1484) - [9f90f74](https://github.com/ratatui/ratatui/commit/9f90f7495fd46b3b7ac34160f094bc1583f82b70) *(readme)* Fix broken link by @nilsmartel in [#1485](https://github.com/ratatui/ratatui/pull/1485) - [260af68](https://github.com/ratatui/ratatui/commit/260af68a347b527281265f7bf259eb1336aa49b2) *(readme)* Include iocraft as an alternative by @kdheepak in [#1483](https://github.com/ratatui/ratatui/pull/1483) - [dafb716](https://github.com/ratatui/ratatui/commit/dafb716f9d8acb5dda303dc1e155dc90eb54b926) *(widgets)* Add example for grouped barchart by @orhun in [#1566](https://github.com/ratatui/ratatui/pull/1566) - [ed5dd73](https://github.com/ratatui/ratatui/commit/ed5dd73084e2c8ccf3d36bc23048d67755a90e6a) *(widgets)* Add example for tabs by @orhun in [#1559](https://github.com/ratatui/ratatui/pull/1559) - [fab5321](https://github.com/ratatui/ratatui/commit/fab532171d1c8e9639298550565e4eefb8737275) *(widgets)* Add example for scrollbar by @orhun in [#1545](https://github.com/ratatui/ratatui/pull/1545) - [898aef6](https://github.com/ratatui/ratatui/commit/898aef6e2f38655e58684a2d842f03bcde0ebf0c) *(widgets)* Add example for list by @orhun in [#1542](https://github.com/ratatui/ratatui/pull/1542) - [452366a](https://github.com/ratatui/ratatui/commit/452366aa9e666f26946ebccf6046a0bed393f5c1) *(widgets)* Add example for sparkline by @orhun in [#1556](https://github.com/ratatui/ratatui/pull/1556) - [6ddde0e](https://github.com/ratatui/ratatui/commit/6ddde0e8a84b0909ba5631afac2dfc7878764786) *(widgets)* Add example for table by @orhun in [#1557](https://github.com/ratatui/ratatui/pull/1557) - [93ad6b8](https://github.com/ratatui/ratatui/commit/93ad6b828c3a34be982447390d17b7953a9c328e) *(widgets)* Update values in chart example by @orhun in [#1558](https://github.com/ratatui/ratatui/pull/1558) - [15f442a](https://github.com/ratatui/ratatui/commit/15f442a71ed4ce3faeaac3b2a3a7798940eb1846) *(widgets)* Add example for paragraph by @orhun in [#1544](https://github.com/ratatui/ratatui/pull/1544) - [17bba14](https://github.com/ratatui/ratatui/commit/17bba14540449ae584a9cafbe2a39cc7fa451ef4) *(widgets)* Move the logo example to widgets by @orhun in [#1543](https://github.com/ratatui/ratatui/pull/1543) - [f2451e7](https://github.com/ratatui/ratatui/commit/f2451e7f1ed1d5bd38e8901f139bc2916a4b005e) *(widgets)* Add example for gauge by @orhun in [#1539](https://github.com/ratatui/ratatui/pull/1539) - [4f0a8b2](https://github.com/ratatui/ratatui/commit/4f0a8b21af49b825debb13695f8c1f368f4f56b5) *(widgets)* Add example for canvas by @orhun in [#1533](https://github.com/ratatui/ratatui/pull/1533) - [91147c4](https://github.com/ratatui/ratatui/commit/91147c4d75bee207052b06a7dca4b610df321de1) *(widgets)* Add example for chart by @orhun in [#1536](https://github.com/ratatui/ratatui/pull/1536) - [6dd25a3](https://github.com/ratatui/ratatui/commit/6dd25a311152abf3e0938c9a59e54c98e2a327a6) *(widgets)* Add example for calendar by @orhun in [#1532](https://github.com/ratatui/ratatui/pull/1532) - [99ac005](https://github.com/ratatui/ratatui/commit/99ac005b06f807c79060dba43b33ec9b1f7c1a3a) *(widgets)* Add simple barchart example by @joshka in [#1511](https://github.com/ratatui/ratatui/pull/1511) - [da05957](https://github.com/ratatui/ratatui/commit/da05957fa01fcc420519400d82ef9df6acace0e8) *(uncategorized)* Add widget-ref-container example by @joshka in [#1603](https://github.com/ratatui/ratatui/pull/1603) - [1798512](https://github.com/ratatui/ratatui/commit/1798512e94b277fdfafeddb4043f7174ce2ac64a) *(uncategorized)* Fix wording in user_input example by @dawedawe in [#1611](https://github.com/ratatui/ratatui/pull/1611) - [03066d8](https://github.com/ratatui/ratatui/commit/03066d81bfc7fb4356e8d188f3d6a15b45509c15) *(uncategorized)* Fix punctuation in canvas.rs documentation by @dawedawe in [#1583](https://github.com/ratatui/ratatui/pull/1583) - [e411d9e](https://github.com/ratatui/ratatui/commit/e411d9ec3e921e812b7e8d2836c2ad0b60a0e6f8) *(uncategorized)* Add input form example by @joshka in [#1551](https://github.com/ratatui/ratatui/pull/1551) - [ed071f3](https://github.com/ratatui/ratatui/commit/ed071f37232fae47a2193235d57934cc5c678baa) *(uncategorized)* Add mouse-drawing example by @joshka in [#1546](https://github.com/ratatui/ratatui/pull/1546) - [46902f5](https://github.com/ratatui/ratatui/commit/46902f5587efe2b27c39b5e3c39109c62a636ba3) *(uncategorized)* Improve docs for workspace crates by @orhun in [#1490](https://github.com/ratatui/ratatui/pull/1490) - [a6b5792](https://github.com/ratatui/ratatui/commit/a6b579223fd83c36e024428df49a3027cd1c21bc) *(uncategorized)* Fix example link in readme by @thomas-tacquet in [#1462](https://github.com/ratatui/ratatui/pull/1462) ### Miscellaneous Tasks - [abe2f27](https://github.com/ratatui/ratatui/commit/abe2f273289d3798968a645a38a7a38571530065) *(backend)* Change From impls to new backend specific IntoBackend and FromBackend traits by @joshka in [#1464](https://github.com/ratatui/ratatui/pull/1464) [**breaking**] - [0a47ebd](https://github.com/ratatui/ratatui/commit/0a47ebd94bbc7a89c9e2aa893cf13a988756ec19) *(bencher)* Update bencher CLI usage by @epompeii in [#1470](https://github.com/ratatui/ratatui/pull/1470) - [a0979d6](https://github.com/ratatui/ratatui/commit/a0979d68715b2c67b32b8909189bc103f0e81f6e) *(build)* Remove cargo lint by @joshka in [#1549](https://github.com/ratatui/ratatui/pull/1549) - [eaa4038](https://github.com/ratatui/ratatui/commit/eaa403856ecb60338619e2e727a0388187ae017c) *(ci)* Install pre-built binaries for cargo-rdme by @orhun in [#1477](https://github.com/ratatui/ratatui/pull/1477) - [e5e2316](https://github.com/ratatui/ratatui/commit/e5e2316451fb4c085f205b4884cc82ba8a4930e6) *(ci)* Add check for keeping README.md up-to-date by @orhun in [#1473](https://github.com/ratatui/ratatui/pull/1473) - [2ef3583](https://github.com/ratatui/ratatui/commit/2ef3583effdeb6492d76d977177b4363129a8c8c) *(ci)* Replace cargo-make with a custom cargo-xtask by @joshka in [#1461](https://github.com/ratatui/ratatui/pull/1461) - [98df774](https://github.com/ratatui/ratatui/commit/98df774d7f9b69a2a474d25adf38e38a428f1b77) *(core)* Move core types to ratatui-core by @joshka in [#1460](https://github.com/ratatui/ratatui/pull/1460) - [35eba76](https://github.com/ratatui/ratatui/commit/35eba76b4dff047dde2d1e01bc427eb1b992b490) *(example)* Move demo2 to top level folder by @joshka in [#1524](https://github.com/ratatui/ratatui/pull/1524) - [5f57d35](https://github.com/ratatui/ratatui/commit/5f57d3523436e944b60ccc7a937d69336c9f82b8) *(examples)* Add colors explorer demo app by @orhun in [#1580](https://github.com/ratatui/ratatui/pull/1580) - [5c021bf](https://github.com/ratatui/ratatui/commit/5c021bf344b17fc4075e9663dfb270bead180e25) *(examples)* Add chart demo app by @orhun in [#1579](https://github.com/ratatui/ratatui/pull/1579) - [9721300](https://github.com/ratatui/ratatui/commit/9721300a473096daf6b34f6cc7c13643d61a4e00) *(examples)* Add canvas demo app by @orhun in [#1578](https://github.com/ratatui/ratatui/pull/1578) - [a6a1368](https://github.com/ratatui/ratatui/commit/a6a13682507846320a79538ffad673a58c1143f0) *(examples)* Add calendar explorer demo app by @orhun in [#1571](https://github.com/ratatui/ratatui/pull/1571) - [819e92c](https://github.com/ratatui/ratatui/commit/819e92cd44b6bee7d21115ff465c2f3f8c82ed9b) *(examples)* Add weather demo app by @orhun in [#1567](https://github.com/ratatui/ratatui/pull/1567) - [b5f7e44](https://github.com/ratatui/ratatui/commit/b5f7e4418364c9710d14567c73122af67e0a63ae) *(examples)* Move async example to apps by @joshka in [#1503](https://github.com/ratatui/ratatui/pull/1503) - [17316ec](https://github.com/ratatui/ratatui/commit/17316ec5d0a4807600dd116736d66938b985e718) *(github)* Enable sponsorship button by @orhun in [#1478](https://github.com/ratatui/ratatui/pull/1478) - [d3f01eb](https://github.com/ratatui/ratatui/commit/d3f01ebf6ea97e71bcda8c84b054943e1f24cd4e) *(lint)* Ensure lint config is correct by @joshka in [#1528](https://github.com/ratatui/ratatui/pull/1528) - [2b7ec5c](https://github.com/ratatui/ratatui/commit/2b7ec5cb7f34edb65fc81d362d3b512b98d246ac) *(widgets)* Enable calendar widget as default by @orhun in [#1521](https://github.com/ratatui/ratatui/pull/1521) - [d201b8e](https://github.com/ratatui/ratatui/commit/d201b8e5ddd98a1887252179dec8f09e1f342b0c) *(xtask)* Check lints for only library targets by @orhun in [#1531](https://github.com/ratatui/ratatui/pull/1531) - [6f21319](https://github.com/ratatui/ratatui/commit/6f213191efd528fd7e0d5c99fda3e6d028ee0f98) *(uncategorized)* Rename examples with clashing names by @joshka in [#1597](https://github.com/ratatui/ratatui/pull/1597) - [11cbb2b](https://github.com/ratatui/ratatui/commit/11cbb2ba87e557a04674973a39d59124d8683ed1) *(uncategorized)* Use cargo xtask for bacon clippy command by @joshka in [#1592](https://github.com/ratatui/ratatui/pull/1592) - [b544e39](https://github.com/ratatui/ratatui/commit/b544e394c97fffdeddaccd44bea2214ebffa1616) *(uncategorized)* Use clap instead of argh for demo example by @joshka in [#1591](https://github.com/ratatui/ratatui/pull/1591) - [9a54198](https://github.com/ratatui/ratatui/commit/9a541981b8accd9efe17c0893d18b520bc569b15) *(uncategorized)* Make source files non-executable by @orhun in [#1577](https://github.com/ratatui/ratatui/pull/1577) - [357ae7e](https://github.com/ratatui/ratatui/commit/357ae7e251721f2e7fcb539de5e6fc60eaa30e29) *(uncategorized)* Move terminal types to ratatui-core by @joshka in [#1530](https://github.com/ratatui/ratatui/pull/1530) [**breaking**] - [21e62d8](https://github.com/ratatui/ratatui/commit/21e62d84c2d2fa2d5563caf0c0974c2514e56ee5) *(uncategorized)* Move the demo example to main folder by @joshka in [#1523](https://github.com/ratatui/ratatui/pull/1523) - [fbf6050](https://github.com/ratatui/ratatui/commit/fbf6050c867b63276ae3d6f5bca4d741c2ce355c) *(uncategorized)* Prepare alpha modularization release by @joshka in [#1525](https://github.com/ratatui/ratatui/pull/1525) - [e4e95bc](https://github.com/ratatui/ratatui/commit/e4e95bcecf15deb09416a0e53193d261f012222a) *(uncategorized)* Remove --color always flags from bacon.toml by @joshka in [#1502](https://github.com/ratatui/ratatui/pull/1502) - [a41c97b](https://github.com/ratatui/ratatui/commit/a41c97b413b28d0db6d1ea09dcc1d5b8556148b1) *(uncategorized)* Move unstable widget refs to ratatui by @joshka in [#1491](https://github.com/ratatui/ratatui/pull/1491) [**breaking**] - [e7085e3](https://github.com/ratatui/ratatui/commit/e7085e3a3ec4b3b90a4e69d49add96e7ba65616c) *(uncategorized)* Move widgets into ratatui-widgets crate by @joshka in [#1474](https://github.com/ratatui/ratatui/pull/1474) - [f1d0a18](https://github.com/ratatui/ratatui/commit/f1d0a1837564d69f00e4b5d9eb94cc001cd3a3a7) *(uncategorized)* Move ratatui crate into workspace folder by @joshka in [#1459](https://github.com/ratatui/ratatui/pull/1459) - [55fb2d2](https://github.com/ratatui/ratatui/commit/55fb2d2e56b492f0f4131fde9d44951b504cf50c) *(uncategorized)* Update repo links to ratatui instead of ratatui-org by @joshka in [#1458](https://github.com/ratatui/ratatui/pull/1458) ### Continuous Integration - [4a871f9](https://github.com/ratatui/ratatui/commit/4a871f993ea38069da513660707a072be299b791) *(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
## `ratatui-macros`
## [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](https://github.com/ratatui/ratatui/commit/56d5e057625378f1bdf732dabb57208453fb84d6) *(bar)* Update label and text_value to accept Into<> by @Emivvvvv in [#1471](https://github.com/ratatui/ratatui/pull/1471) [**breaking**] - [b76ad3b](https://github.com/ratatui/ratatui/commit/b76ad3b02ea1c3381b6434c40e620f28d642948e) *(bar)* Impl Styled for Bar by @Emivvvvv in [#1476](https://github.com/ratatui/ratatui/pull/1476) - [369b18e](https://github.com/ratatui/ratatui/commit/369b18eef2e4220147e7c7264ad7f8e023a1d2dd) *(barchart)* Reduce barchart creation verbosity by @Emivvvvv in [#1453](https://github.com/ratatui/ratatui/pull/1453) - [9275d34](https://github.com/ratatui/ratatui/commit/9275d3421c088174bcf9de0832340bcbea76367a) *(layout)* Add Offset::new() constructor by @joshka in [#1547](https://github.com/ratatui/ratatui/pull/1547) - [ff729b7](https://github.com/ratatui/ratatui/commit/ff729b7607e0099a155f10dfe0ce42320641b74d) *(scrollbar)* Support retrieving the current position of state by @orhun in [#1552](https://github.com/ratatui/ratatui/pull/1552) - [ce4856a](https://github.com/ratatui/ratatui/commit/ce4856a65f3c76db714a45338ba3be9b638c6c35) *(widgets)* Add the missing constructor to canvas types by @orhun in [#1538](https://github.com/ratatui/ratatui/pull/1538) - [50ba965](https://github.com/ratatui/ratatui/commit/50ba96518f01454cff185784a1e9676093ce06cf) *(uncategorized)* Add a new RatatuiMascot widget by @Its-Just-Nans in [#1584](https://github.com/ratatui/ratatui/pull/1584) - [1d28c89](https://github.com/ratatui/ratatui/commit/1d28c89fe50f1a11cf1719233acca1a12d5e2d7b) *(uncategorized)* Add conversions for anstyle by @joshka in [#1581](https://github.com/ratatui/ratatui/pull/1581) ### Bug Fixes - [860e48b](https://github.com/ratatui/ratatui/commit/860e48b0f0ec51c8596bc12985a8b37bad4fba00) *(buffer)* Buffer::get_pos() now correctly handles index > u16::MAX by @joshka in [#1447](https://github.com/ratatui/ratatui/pull/1447) - [ec30390](https://github.com/ratatui/ratatui/commit/ec30390446b998cba97a25db63b2e3d27db7a12d) *(canvas)* Round coordinates to nearest grid cell by @joshka in [#1507](https://github.com/ratatui/ratatui/pull/1507) - [afd1ce1](https://github.com/ratatui/ratatui/commit/afd1ce179b74f10ea786ed6f9b2999288bc94e7a) *(canvas)* Lines that start outside the visible grid are now drawn by @renesat in [#1501](https://github.com/ratatui/ratatui/pull/1501) - [18e70d3](https://github.com/ratatui/ratatui/commit/18e70d3d51b654bb895843224edf0c21a3114dc9) *(crossterm)* Terminal should keep Bold when removing Dim by @MarSik in [#1541](https://github.com/ratatui/ratatui/pull/1541) - [a692a6e](https://github.com/ratatui/ratatui/commit/a692a6e37114f39a3eb15b0cdc486dee8a7e91ff) *(lint)* Apply rust 1.84 clippy suggestions by @joshka in [#1612](https://github.com/ratatui/ratatui/pull/1612) - [3b13240](https://github.com/ratatui/ratatui/commit/3b13240728597a8c459c4bb5f913372185e9df91) *(scrollbar)* Check for area.is_empty() before rendering by @farmeroy in [#1529](https://github.com/ratatui/ratatui/pull/1529) - [f57b696](https://github.com/ratatui/ratatui/commit/f57b696fdc3bac381bccda0414400453f5abecf2) *(span)* Dont render control characters by @EdJoPaTo in [#1312](https://github.com/ratatui/ratatui/pull/1312) - [2ce958e](https://github.com/ratatui/ratatui/commit/2ce958e38cf1ebab49b1817b669631dc349a0ebb) *(table)* Allow display of additional table row, if row height > 1 by @Lunderberg in [#1452](https://github.com/ratatui/ratatui/pull/1452) - [2892bdd](https://github.com/ratatui/ratatui/commit/2892bddce66daf0b285a6d9f6fb3fdb2581cda2b) *(uncategorized)* Rust 1.83 clippy lints by @joshka in [#1527](https://github.com/ratatui/ratatui/pull/1527) - [36e2d1b](https://github.com/ratatui/ratatui/commit/36e2d1bda1d8b4e1d0fbd09ba2894d56bd7eeeca) *(uncategorized)* Add feature(doc_cfg) when generating docs by @joshka in [#1506](https://github.com/ratatui/ratatui/pull/1506) - [4d7704f](https://github.com/ratatui/ratatui/commit/4d7704fba5dcebda34c8c04bf4b5ac48e3a22008) *(uncategorized) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- CHANGELOG.md | 1641 ++++++++++++++++++++++++++++++++++ Cargo.lock | 14 +- Cargo.toml | 14 +- ratatui-core/Cargo.toml | 2 +- ratatui-crossterm/Cargo.toml | 2 +- ratatui-macros/Cargo.toml | 2 +- ratatui-termion/Cargo.toml | 2 +- ratatui-termwiz/Cargo.toml | 2 +- ratatui-widgets/Cargo.toml | 2 +- ratatui/Cargo.toml | 2 +- 10 files changed, 1662 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73016c32..c0760b7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,1647 @@ All notable changes to this project will be documented in this file. +## ratatui - [0.30.0-alpha.3](https://github.com/ratatui/ratatui/compare/ratatui-v0.30.0-alpha.2...ratatui-v0.30.0-alpha.3) - 2025-05-13 + +### Features + +- [3e1c72f](https://github.com/ratatui/ratatui/commit/3e1c72fb27cae132bc8b5f24a4ae875921dfb00d) *(no_std)* Make ratatui compatible with `#![no_std]` by @j-g00da in [#1794](https://github.com/ratatui/ratatui/pull/1794) [**breaking**] + > + > Resolves #1781 + > + > This PR makes it possible to compile ratatui with `#![no_std]`. + > Also makes me answer "We Are So Embedded" to "Are We Embedded Yet?" + +- [ab48c06](https://github.com/ratatui/ratatui/commit/ab48c06171724ae58d98687d90e999b76890c2e7) *(no_std)* Option to disable layout cache for `no_std` compatibility by @j-g00da in [#1795](https://github.com/ratatui/ratatui/pull/1795) [**breaking**] + > + > Resolves #1780 + > + > BREAKING CHANGE:Disabling `default-features` will now disable layout + > cache, which can have a negative impact on performance. + > + > `Layout::init_cache` and `Layout::DEFAULT_CACHE_SIZE` are now only + > available if `layout-cache` feature is enabled. + +- [09173d1](https://github.com/ratatui/ratatui/commit/09173d182912ab92e67b8aa7a4cb51862b05cb25) *(no_std)* Make `TestBackend::Error` `Infallible` by @j-g00da in [#1823](https://github.com/ratatui/ratatui/pull/1823) [**breaking**] + > + > BREAKING CHANGE:`TestBackend` now uses `core::convert::Infallible` for + > error handling instead of `std::io::Error` + +- [53cdbbc](https://github.com/ratatui/ratatui/commit/53cdbbccd5d3522c004e483433a02ef6d64fab01) *(uncategorized)* Enable serde propagation to backend crates (crossterm, termion) by @ArjunKrish7356 in [#1812](https://github.com/ratatui/ratatui/pull/1812) + + > This PR propagates the serde feature from the main ratatui crate to the + > ratatui-crossterm and ratatui-termion backend crates. Solves #1805 + +- [fcb47d6](https://github.com/ratatui/ratatui/commit/fcb47d60f3df205c18f5fa9459e9ba2c8d0c9649) *(uncategorized)* Rename Alignment to HorizontalAlignment and add VerticalAlignment by @joshka in [#1735](https://github.com/ratatui/ratatui/pull/1735) [**breaking**] + + > We don't anticipate removing or deprecating the type alias in the near + > future, but it is recommended to update your imports to use the new + > name. + > + > Added a VerticalAlignment enum to make the API more consistent. We don't + > have a specific use case for it yet, but it's better to add it now and + > be able to use it in the future. + > + > BREAKING-CHANGE:The `Alignment` enum has been renamed to + > `HorizontalAlignment` to better reflect its purpose. A type alias has + > been added to maintain backwards compatibility, however there are some + > cases where type aliases are not enough to maintain backwards + > compatibility. E.g. when using glob imports to import all the enum + > variants. This should not affect most users, but it is recommended to + > update your imports to use the new name. + > + > ```diff + > - use ratatui::layout::Alignment; + > + use ratatui::layout::HorizontalAlignment; + > + > - use Alignment::*; + > + use HorizontalAlignment::*; + > ``` + +### Bug Fixes + +- [00da8c6](https://github.com/ratatui/ratatui/commit/00da8c620345397c6815267e6d8e19c1eacfe1c2) *(no_std)* Provide `f64` polyfills for `no_std` compatibility by @j-g00da in [#1840](https://github.com/ratatui/ratatui/pull/1840) + > + > Related:https://github.com/rust-lang/rust/issues/137578 + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Miscellaneous Tasks + +- [1874b9d](https://github.com/ratatui/ratatui/commit/1874b9dd55284952931d58646904f0437e48ce76) *(uncategorized)* Move time to dev-dependencies by @j-g00da in [#1835](https://github.com/ratatui/ratatui/pull/1835) + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + +- [0f80c5e](https://github.com/ratatui/ratatui/commit/0f80c5e87eb4e47c818a6bd8b0002971920c65a0) *(uncategorized)* Use expect() instead of allow() for lint overrides by @cgzones in [#1786](https://github.com/ratatui/ratatui/pull/1786) [**breaking**] + > + > BREAKING CHANGE:MSRV is now 1.81 + +### Security + +- [3745a67](https://github.com/ratatui/ratatui/commit/3745a67ba071d5a52e378af34f8409cd90912eb0) *(deps)* Bump rand from 0.9.0 to 0.9.1 by @dependabot[bot] in [#1804](https://github.com/ratatui/ratatui/pull/1804) + + > Bumps [rand](https://github.com/rust-random/rand) from 0.9.0 to 0.9.1. + >
+ > Changelog + >

Sourced from href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md">rand's + > changelog.

+ >
+ >

[0.9.1] - 2025-04-17

+ >

Security and unsafe

+ > + >

Fixes

+ > + >

Changes

+ > + >

Additions

+ > + >
+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rand&package-manager=cargo&previous-version=0.9.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) + > + > Dependabot will resolve any conflicts with this PR as long as you don't + > alter it yourself. You can also trigger a rebase manually by commenting + > `@dependabot rebase`. + > + > [//]:# (dependabot-automerge-start) + > + > [//]:# (dependabot-automerge-end) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ +- [a03ba0d](https://github.com/ratatui/ratatui/commit/a03ba0de5c02a51726285b359a512e6de8b84622) *(deps)* Bump crossterm from 0.28.1 to 0.29.0 by @dependabot[bot] in [#1771](https://github.com/ratatui/ratatui/pull/1771) + + > Bumps [crossterm](https://github.com/crossterm-rs/crossterm) from 0.28.1 + > to 0.29.0. + >
+ > Release notes + >

Sourced from href="https://github.com/crossterm-rs/crossterm/releases">crossterm's + > releases.

+ >
+ >

0.29

+ >

Version 0.29

+ >

Added ⭐

+ > + >

Breaking ⚠️

+ > + >

@​joshka href="https://github.com/linrongbin16">@​linrongbin16 + > @​kmicklas href="https://github.com/maciek50322">@​maciek50322 href="https://github.com/rosew0od">@​rosew0od href="https://github.com/sxyazi">@​sxyazi href="https://github.com/the-mikedavis">@​the-mikedavis + > @​hthuz href="https://github.com/aschey">@​aschey href="https://github.com/naseschwarz">@​naseschwarz href="https://github.com/Flokkq">@​Flokkq href="https://github.com/gaesa">@​gaesa href="https://github.com/WindSoilder">@​WindSoilder

+ >
+ >
+ >
+ > Changelog + >

Sourced from href="https://github.com/crossterm-rs/crossterm/blob/master/CHANGELOG.md">crossterm's + > changelog.

+ >
+ >

Unreleased

+ >

Version 0.29

+ >

Added ⭐

+ > + >

Breaking ⚠️

+ > + >
+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crossterm&package-manager=cargo&previous-version=0.28.1&new-version=0.29.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) + > + > Dependabot will resolve any conflicts with this PR as long as you don't + > alter it yourself. You can also trigger a rebase manually by commenting + > `@dependabot rebase`. + > + > [//]:# (dependabot-automerge-start) + > + > [//]:# (dependabot-automerge-end) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ +- [fdc1746](https://github.com/ratatui/ratatui/commit/fdc1746effadf28392f055345be10074f4117e3e) *(deps)* Bump tokio from 1.44.1 to 1.44.2 by @dependabot[bot] in [#1769](https://github.com/ratatui/ratatui/pull/1769) + + > Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.44.1 to 1.44.2. + >
+ > Release notes + >

Sourced from href="https://github.com/tokio-rs/tokio/releases">tokio's + > releases.

+ >
+ >

Tokio v1.44.2

+ >

This release fixes a soundness issue in the broadcast channel. The + > channel + > accepts values that are Send but !Sync. + > Previously, the channel called + > clone() on these values without synchronizing. This release + > fixes the channel + > by synchronizing calls to .clone() (Thanks Austin Bonander + > for finding and + > reporting the issue).

+ >

Fixed

+ > + >

href="https://redirect.github.com/tokio-rs/tokio/issues/7232">#7232: + > href="https://redirect.github.com/tokio-rs/tokio/pull/7232">tokio-rs/tokio#7232

+ >
+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.44.1&new-version=1.44.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) + > + > Dependabot will resolve any conflicts with this PR as long as you don't + > alter it yourself. You can also trigger a rebase manually by commenting + > `@dependabot rebase`. + > + > [//]:# (dependabot-automerge-start) + > + > [//]:# (dependabot-automerge-end) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ +- [352021b](https://github.com/ratatui/ratatui/commit/352021bc6f802762a7b82fcfbdfd9d248b412e1b) *(deps)* Bump tokio from 1.43.0 to 1.44.1 by @dependabot[bot] in [#1723](https://github.com/ratatui/ratatui/pull/1723) + + > Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.43.0 to 1.44.1. + >
+ > Release notes + >

Sourced from href="https://github.com/tokio-rs/tokio/releases">tokio's + > releases.

+ >
+ >

Tokio v1.44.1

+ >

1.44.1 (March 13th, 2025)

+ >

Fixed

+ > + >

href="https://redirect.github.com/tokio-rs/tokio/issues/7216">#7216: + > href="https://redirect.github.com/tokio-rs/tokio/pull/7216">tokio-rs/tokio#7216

+ >

Tokio v1.44.0

+ >

1.44.0 (March 7th, 2025)

+ >

This release changes the from_std method on sockets to + > panic if a blocking socket is provided. We determined this change is not + > a breaking change as Tokio is not intended to operate using blocking + > sockets. Doing so results in runtime hangs and should be considered a + > bug. Accidentally passing a blocking socket to Tokio is one of the most + > common user mistakes. If this change causes an issue for you, please + > comment on href="https://redirect.github.com/tokio-rs/tokio/issues/7172">#7172.

+ >

Added

+ > + >

Fixed

+ > + >

Changes

+ > + >

Changes to unstable APIs

+ > + >

Documented

+ > + > + >
+ >

... (truncated)

+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.43.0&new-version=1.44.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) + > + > Dependabot will resolve any conflicts with this PR as long as you don't + > alter it yourself. You can also trigger a rebase manually by commenting + > `@dependabot rebase`. + > + > [//]:# (dependabot-automerge-start) + > + > [//]:# (dependabot-automerge-end) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ +- [83774ee](https://github.com/ratatui/ratatui/commit/83774eecf008e95d8e1c86c92ef6c46090bd6c6e) *(deps)* Bump time from 0.3.37 to 0.3.39 by @dependabot[bot] in [#1708](https://github.com/ratatui/ratatui/pull/1708) + + > Bumps [time](https://github.com/time-rs/time) from 0.3.37 to 0.3.39. + >
+ > Release notes + >

Sourced from href="https://github.com/time-rs/time/releases">time's + > releases.

+ >
+ >

v0.3.39

+ >

See the href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog + > for details.

+ >

v0.3.38

+ >

See the href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog + > for details.

+ >
+ >
+ >
+ > Changelog + >

Sourced from href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's + > changelog.

+ >
+ >

0.3.39 [2025-03-06]

+ >

Fixed

+ >
    + >
  • Doc tests run successfully with the default feature set.
  • + >
  • wasm builds work again.
  • + >
+ >

Both of these were regressions in v0.3.38 and are now checked in + > CI.

+ >

0.3.38 [2025-03-05]

+ >

Added

+ >
    + >
  • + >

    The [year] component (in format descriptions) now + > supports a range modifier, which can be + > either standard or extended. The default is + > extended for backwards compatibility. This is + > intended as a manner to opt out of the extended range when the + > large-dates feature is enabled. + > When the large-dates feature is not enabled, the modifier + > has no effect.

    + >
  • + >
  • + >

    UtcDateTime, which is semantically equivalent to an + > OffsetDateTime with UTC as its offset. The + > advantage is that it is the same size as a + > PrimitiveDateTime and has improved operability with + > well-known formats.

    + >

    As part of this, there were some other additions:

    + >
      + >
    • utc_datetime! macro, which is similar to the + > datetime! macro but constructs a + > UtcDateTime.
    • + >
    • PrimitiveDateTime::as_utc
    • + >
    • OffsetDateTime::to_utc
    • + >
    • OffsetDateTime::checked_to_utc
    • + >
    + >
  • + >
  • + >

    time::serde::timestamp::milliseconds_i64, which is a + > module to serialize/deserialize timestamps + > as the Unix timestamp. The pre-existing module does this as an + > i128 where an i64 would + > suffice. This new module should be preferred.

    + >
  • + >
+ >

Changed

+ >
    + >
  • error::Format has had its source() + > implementation changed to no longer return a boxed value + > from the ComponentRange variant. If you were explicitly + > expecting this, you will need to update + > your code. The method API remains unchanged.
  • + >
  • [year repr:century] supports single-digit values.
  • + >
  • All format_into methods accept ?Sized + > references.
  • + >
+ >

Miscellaneous

+ >
    + >
  • Some non-exhaustive enum variants that are no longer used have been + > modified to be statically + > proven as uninhabited. The relevant fields are doc-hidden and not + > semver-guaranteed to remain as + > such, though it is unlikely to change.
  • + >
  • An unnecessary check when parsing RFC 2822 has been removed.
  • + >
  • Various methods have had their implementations changed, resulting in + > significant performance + > gains. Among the methods changed are + >
      + >
    • util::is_leap_year
    • + >
    • util::weeks_in_year
    • + >
    • Month::length
    • + >
    • Date::to_calendar_date
    • + >
    + >
  • + >
+ > + >
+ >

... (truncated)

+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.37&new-version=0.3.39)](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) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ +- [5710b7a](https://github.com/ratatui/ratatui/commit/5710b7a8d9630eb36fe3d87b748bf5cf2c7b1ec3) *(deps)* Bump rstest from 0.24.0 to 0.25.0 by @dependabot[bot] in [#1695](https://github.com/ratatui/ratatui/pull/1695) + + > Bumps [rstest](https://github.com/la10736/rstest) from 0.24.0 to 0.25.0. + >
+ > Release notes + >

Sourced from href="https://github.com/la10736/rstest/releases">rstest's + > releases.

+ >
+ >

0.25.0

+ >

What's Changed

+ > + >

New Contributors

+ > + >

Full Changelog: href="https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0">https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0

+ >
+ >
+ >
+ > Changelog + >

Sourced from href="https://github.com/la10736/rstest/blob/master/CHANGELOG.md">rstest's + > changelog.

+ >
+ >

[0.25.0] 2025/3/2

+ >

Changed

+ > + >

Add

+ > + >
+ >
+ >
+ > Commits + > + >
+ >
+ > + > + > [![Dependabot compatibility + > score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rstest&package-manager=cargo&previous-version=0.24.0&new-version=0.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) + > + > Dependabot will resolve any conflicts with this PR as long as you don't + > alter it yourself. You can also trigger a rebase manually by commenting + > `@dependabot rebase`. + > + > [//]:# (dependabot-automerge-start) + > + > [//]:# (dependabot-automerge-end) + > + > --- + > + >
+ > Dependabot commands and options + >
+ > + > You can trigger Dependabot actions by commenting on this PR: + > - `@dependabot rebase` will rebase this PR + > - `@dependabot recreate` will recreate this PR, overwriting any edits + > that have been made to it + > - `@dependabot merge` will merge this PR after your CI passes on it + > - `@dependabot squash and merge` will squash and merge this PR after + > your CI passes on it + > - `@dependabot cancel merge` will cancel a previously requested merge + > and block automerging + > - `@dependabot reopen` will reopen this PR if it is closed + > - `@dependabot close` will close this PR and stop Dependabot recreating + > it. You can achieve the same result by closing it manually + > - `@dependabot show ignore conditions` will show all + > of the ignore conditions of the specified dependency + > - `@dependabot ignore 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) + > + > + >
+ + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-v0.30.0-alpha.2...ratatui-v0.30.0-alpha.3 + + + +## ratatui-termion - [0.1.0-alpha.3](https://github.com/ratatui/ratatui/compare/ratatui-termion-v0.1.0-alpha.2...ratatui-termion-v0.1.0-alpha.3) - 2025-05-13 + +### Features + +- [007713e](https://github.com/ratatui/ratatui/commit/007713e50a083d5e7a4963ca829b4622d56828b1) *(no_std)* Replace `Backend`'s `io::Error` usages with associated `Error` type by @j-g00da in [#1778](https://github.com/ratatui/ratatui/pull/1778) [**breaking**] + > + > Resolves #1775 + > + > BREAKING CHANGE:Custom backends now have to implement `Backend::Error` + > and `Backend::clear_region`. Additionally some generic `Backend` usage + > will have to explicitly set trait bounds for `Backend::Error`. + +- [53cdbbc](https://github.com/ratatui/ratatui/commit/53cdbbccd5d3522c004e483433a02ef6d64fab01) *(uncategorized)* Enable serde propagation to backend crates (crossterm, termion) by @ArjunKrish7356 in [#1812](https://github.com/ratatui/ratatui/pull/1812) + + > This PR propagates the serde feature from the main ratatui crate to the + > ratatui-crossterm and ratatui-termion backend crates. Solves #1805 + +### Bug Fixes + +- [416ebdf](https://github.com/ratatui/ratatui/commit/416ebdf8c86d1a7a98385908f7c8c560e86770ac) *(uncategorized)* Correct clippy errors introduced by rust 1.86.0 update by @j-g00da in [#1755](https://github.com/ratatui/ratatui/pull/1755) + + > New version of rust (1.86.0) caused CI to fail. + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Miscellaneous Tasks + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-termion-v0.1.0-alpha.2...ratatui-termion-v0.1.0-alpha.3 + + + +## ratatui-termwiz - [0.1.0-alpha.3](https://github.com/ratatui/ratatui/compare/ratatui-termwiz-v0.1.0-alpha.2...ratatui-termwiz-v0.1.0-alpha.3) - 2025-05-13 + +### Features + +- [007713e](https://github.com/ratatui/ratatui/commit/007713e50a083d5e7a4963ca829b4622d56828b1) *(no_std)* Replace `Backend`'s `io::Error` usages with associated `Error` type by @j-g00da in [#1778](https://github.com/ratatui/ratatui/pull/1778) [**breaking**] + > + > Resolves #1775 + > + > BREAKING CHANGE:Custom backends now have to implement `Backend::Error` + > and `Backend::clear_region`. Additionally some generic `Backend` usage + > will have to explicitly set trait bounds for `Backend::Error`. + +- [53cdbbc](https://github.com/ratatui/ratatui/commit/53cdbbccd5d3522c004e483433a02ef6d64fab01) *(uncategorized)* Enable serde propagation to backend crates (crossterm, termion) by @ArjunKrish7356 in [#1812](https://github.com/ratatui/ratatui/pull/1812) + + > This PR propagates the serde feature from the main ratatui crate to the + > ratatui-crossterm and ratatui-termion backend crates. Solves #1805 + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Miscellaneous Tasks + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + +- [bb06889](https://github.com/ratatui/ratatui/commit/bb068892c93713befbc8dab04577cbc2a59cedec) *(uncategorized)* Fix io_other_error clippy lints by @joshka in [#1756](https://github.com/ratatui/ratatui/pull/1756) + + > Pre-emptive fix for new lint to be added in 1.87 (currently in beta). + > + > https://rust-lang.github.io/rust-clippy/master/index.html\#io_other_error + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-termwiz-v0.1.0-alpha.2...ratatui-termwiz-v0.1.0-alpha.3 + + + +## ratatui-macros - [0.7.0-alpha.2](https://github.com/ratatui/ratatui/compare/ratatui-macros-v0.7.0-alpha.1...ratatui-macros-v0.7.0-alpha.2) - 2025-05-13 + +### Bug Fixes + +- [2e54d5e](https://github.com/ratatui/ratatui/commit/2e54d5e22c80b7ecbe7227b1d2df232374820e38) *(macros)* Use $crate re-export in text macro by @airblast-dev in [#1832](https://github.com/ratatui/ratatui/pull/1832) + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-macros-v0.7.0-alpha.1...ratatui-macros-v0.7.0-alpha.2 + + + +## ratatui-widgets - [0.3.0-alpha.3](https://github.com/ratatui/ratatui/compare/ratatui-widgets-v0.3.0-alpha.2...ratatui-widgets-v0.3.0-alpha.3) - 2025-05-13 + +### Features + +- [92a19cb](https://github.com/ratatui/ratatui/commit/92a19cb6040dfced50ba384891ab0063a22b445d) *(list)* Highlight symbol styling by @airblast-dev in [#1595](https://github.com/ratatui/ratatui/pull/1595) [**breaking**] + + > Allow styling for `List`'s highlight symbol + > + > This change makes it so anything that implements `Into` can be + > used as a highlight symbol. + > + > BREAKING CHANGE:`List::highlight_symbol` can no longer be used in const + > context + > + > BREAKING CHANGE:`List::highlight_symbol` accepted `&str`. Conversion + > methods that rely on type inference will need to be rewritten as the + > compiler cannot infer the type. + > + > closes:https://github.com/ratatui/ratatui/issues/1443 + > + > --------- + +- [3e1c72f](https://github.com/ratatui/ratatui/commit/3e1c72fb27cae132bc8b5f24a4ae875921dfb00d) *(no_std)* Make ratatui compatible with `#![no_std]` by @j-g00da in [#1794](https://github.com/ratatui/ratatui/pull/1794) [**breaking**] + > + > Resolves #1781 + > + > This PR makes it possible to compile ratatui with `#![no_std]`. + > Also makes me answer "We Are So Embedded" to "Are We Embedded Yet?" + +- [a42a17e](https://github.com/ratatui/ratatui/commit/a42a17e1847c350c4909295d98f3c37af97e1e31) *(no_std)* Make `ratatui-widgets` `no_std` by @j-g00da in [#1779](https://github.com/ratatui/ratatui/pull/1779) + > + > Resolves #1776 + +- [5a232a3](https://github.com/ratatui/ratatui/commit/5a232a31153b147dbde85ba13a11c11b62994a86) *(no_std)* Remove redundant `std` usages in `ratatui-widgets` by @j-g00da in [#1762](https://github.com/ratatui/ratatui/pull/1762) + +- [4fcd238](https://github.com/ratatui/ratatui/commit/4fcd238e1e981fb48a7c4cb9845a72c8960f19d5) *(uncategorized)* Support no-std for calendar widget by @joshka in [#1852](https://github.com/ratatui/ratatui/pull/1852) + + > Removes the CalendarEventStore::today() function in no-std environments + +- [fcb47d6](https://github.com/ratatui/ratatui/commit/fcb47d60f3df205c18f5fa9459e9ba2c8d0c9649) *(uncategorized)* Rename Alignment to HorizontalAlignment and add VerticalAlignment by @joshka in [#1735](https://github.com/ratatui/ratatui/pull/1735) [**breaking**] + + > We don't anticipate removing or deprecating the type alias in the near + > future, but it is recommended to update your imports to use the new + > name. + > + > Added a VerticalAlignment enum to make the API more consistent. We don't + > have a specific use case for it yet, but it's better to add it now and + > be able to use it in the future. + > + > BREAKING-CHANGE:The `Alignment` enum has been renamed to + > `HorizontalAlignment` to better reflect its purpose. A type alias has + > been added to maintain backwards compatibility, however there are some + > cases where type aliases are not enough to maintain backwards + > compatibility. E.g. when using glob imports to import all the enum + > variants. This should not affect most users, but it is recommended to + > update your imports to use the new name. + > + > ```diff + > - use ratatui::layout::Alignment; + > + use ratatui::layout::HorizontalAlignment; + > + > - use Alignment::*; + > + use HorizontalAlignment::*; + > ``` + +### Bug Fixes + +- [00da8c6](https://github.com/ratatui/ratatui/commit/00da8c620345397c6815267e6d8e19c1eacfe1c2) *(no_std)* Provide `f64` polyfills for `no_std` compatibility by @j-g00da in [#1840](https://github.com/ratatui/ratatui/pull/1840) + > + > Related:https://github.com/rust-lang/rust/issues/137578 + +- [c238aca](https://github.com/ratatui/ratatui/commit/c238aca83a1b171d2ba7b38942fd5352f5a7e554) *(uncategorized)* `padding_right()` should set right padding instead of left by @sxyazi in [#1837](https://github.com/ratatui/ratatui/pull/1837) + + > Fixes https://github.com/ratatui/ratatui/issues/1836 + +- [416ebdf](https://github.com/ratatui/ratatui/commit/416ebdf8c86d1a7a98385908f7c8c560e86770ac) *(uncategorized)* Correct clippy errors introduced by rust 1.86.0 update by @j-g00da in [#1755](https://github.com/ratatui/ratatui/pull/1755) + + > New version of rust (1.86.0) caused CI to fail. + +- [4eac5b2](https://github.com/ratatui/ratatui/commit/4eac5b2849f7807c59e8164786e467137e17df86) *(uncategorized)* Make deprecation notes more helpful by @joshka in [#1702](https://github.com/ratatui/ratatui/pull/1702) + + > AI coding assistants use the deprecation notes to automatically suggest + > fixes. This commit updates the deprecation notes to push those tools to + > suggest the correct replacement methods and types. + > + > Specifically, AI tools often suggest using `Buffer::get(x, y)`, because + > of their training data where this was prevalent. When fixing these + > deprecations, they often incorrectly suggest using `Buffer::get(x, y)` + > instead of `Buffer[(x, y)]`. + +### Refactor + +- [8d60e96](https://github.com/ratatui/ratatui/commit/8d60e96b2bfcdc0a7f9b6d17d79dbf36f61182b6) *(examples)* Use crossterm event methods by @joshka in [#1792](https://github.com/ratatui/ratatui/pull/1792) + + > Crossterm 0.29 introduced methods to easily check / extract the event + > type. E.g. as_key_press_event() and is_key_press(). This commit + > updates the examples to use these methods instead of matching on + > the event type. This makes the code cleaner and easier to read. + > + > Also does a general cleanup of the event handling code in the examples. + +- [02e53de](https://github.com/ratatui/ratatui/commit/02e53de0f82bc2364f2ba4345cc5a635347e3eb4) *(uncategorized)* Make use of iter::repeat_n() by @cgzones in [#1788](https://github.com/ratatui/ratatui/pull/1788) + + > Applied via clippy --fix. + > Available since 1.82.0. + +### Performance + +- [ba9eed7](https://github.com/ratatui/ratatui/commit/ba9eed774230d160016605048762cd73944c36e6) *(table)* Replace while loop with simple min operation by @EdJoPaTo in [#1747](https://github.com/ratatui/ratatui/pull/1747) + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Miscellaneous Tasks + +- [b4a71e5](https://github.com/ratatui/ratatui/commit/b4a71e5fd5c5a77efff4a48920e29171face1e79) *(lint)* Add `std` instead of `core`/`alloc` lints to `ratatui-widgets` by @j-g00da in [#1763](https://github.com/ratatui/ratatui/pull/1763) + > + > Resolves #1761 + +- [60a8191](https://github.com/ratatui/ratatui/commit/60a81913ede6ebc23b53b3e4e3a54ee0171d9447) *(widgets)* Move crossterm to dev-dependencies by @j-g00da in [#1834](https://github.com/ratatui/ratatui/pull/1834) + + > Crossterm in widgets is used only in tests. + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + +- [0f80c5e](https://github.com/ratatui/ratatui/commit/0f80c5e87eb4e47c818a6bd8b0002971920c65a0) *(uncategorized)* Use expect() instead of allow() for lint overrides by @cgzones in [#1786](https://github.com/ratatui/ratatui/pull/1786) [**breaking**] + > + > BREAKING CHANGE:MSRV is now 1.81 + +### Build + +- [daeba85](https://github.com/ratatui/ratatui/commit/daeba85f144ead00803c7540fa39ff6d623321c7) *(deps)* Bump `kasuari` and `line-clipping` by @j-g00da in [#1844](https://github.com/ratatui/ratatui/pull/1844) + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-widgets-v0.3.0-alpha.2...ratatui-widgets-v0.3.0-alpha.3 + + + +## ratatui-crossterm - [0.1.0-alpha.3](https://github.com/ratatui/ratatui/compare/ratatui-crossterm-v0.1.0-alpha.2...ratatui-crossterm-v0.1.0-alpha.3) - 2025-05-13 + +### Features + +- [007713e](https://github.com/ratatui/ratatui/commit/007713e50a083d5e7a4963ca829b4622d56828b1) *(no_std)* Replace `Backend`'s `io::Error` usages with associated `Error` type by @j-g00da in [#1778](https://github.com/ratatui/ratatui/pull/1778) [**breaking**] + > + > Resolves #1775 + > + > BREAKING CHANGE:Custom backends now have to implement `Backend::Error` + > and `Backend::clear_region`. Additionally some generic `Backend` usage + > will have to explicitly set trait bounds for `Backend::Error`. + +- [53cdbbc](https://github.com/ratatui/ratatui/commit/53cdbbccd5d3522c004e483433a02ef6d64fab01) *(uncategorized)* Enable serde propagation to backend crates (crossterm, termion) by @ArjunKrish7356 in [#1812](https://github.com/ratatui/ratatui/pull/1812) + + > This PR propagates the serde feature from the main ratatui crate to the + > ratatui-crossterm and ratatui-termion backend crates. Solves #1805 + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Miscellaneous Tasks + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + +- [bb06889](https://github.com/ratatui/ratatui/commit/bb068892c93713befbc8dab04577cbc2a59cedec) *(uncategorized)* Fix io_other_error clippy lints by @joshka in [#1756](https://github.com/ratatui/ratatui/pull/1756) + + > Pre-emptive fix for new lint to be added in 1.87 (currently in beta). + > + > https://rust-lang.github.io/rust-clippy/master/index.html\#io_other_error + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-crossterm-v0.1.0-alpha.2...ratatui-crossterm-v0.1.0-alpha.3 + + + +## ratatui-core - [0.1.0-alpha.4](https://github.com/ratatui/ratatui/compare/ratatui-core-v0.1.0-alpha.3...ratatui-core-v0.1.0-alpha.4) - 2025-05-13 + +### Features + +- [3e1c72f](https://github.com/ratatui/ratatui/commit/3e1c72fb27cae132bc8b5f24a4ae875921dfb00d) *(no_std)* Make ratatui compatible with `#![no_std]` by @j-g00da in [#1794](https://github.com/ratatui/ratatui/pull/1794) [**breaking**] + > + > Resolves #1781 + > + > This PR makes it possible to compile ratatui with `#![no_std]`. + > Also makes me answer "We Are So Embedded" to "Are We Embedded Yet?" + +- [ab48c06](https://github.com/ratatui/ratatui/commit/ab48c06171724ae58d98687d90e999b76890c2e7) *(no_std)* Option to disable layout cache for `no_std` compatibility by @j-g00da in [#1795](https://github.com/ratatui/ratatui/pull/1795) [**breaking**] + > + > Resolves #1780 + > + > BREAKING CHANGE:Disabling `default-features` will now disable layout + > cache, which can have a negative impact on performance. + > + > `Layout::init_cache` and `Layout::DEFAULT_CACHE_SIZE` are now only + > available if `layout-cache` feature is enabled. + +- [09173d1](https://github.com/ratatui/ratatui/commit/09173d182912ab92e67b8aa7a4cb51862b05cb25) *(no_std)* Make `TestBackend::Error` `Infallible` by @j-g00da in [#1823](https://github.com/ratatui/ratatui/pull/1823) [**breaking**] + > + > BREAKING CHANGE:`TestBackend` now uses `core::convert::Infallible` for + > error handling instead of `std::io::Error` + +- [007713e](https://github.com/ratatui/ratatui/commit/007713e50a083d5e7a4963ca829b4622d56828b1) *(no_std)* Replace `Backend`'s `io::Error` usages with associated `Error` type by @j-g00da in [#1778](https://github.com/ratatui/ratatui/pull/1778) [**breaking**] + > + > Resolves #1775 + > + > BREAKING CHANGE:Custom backends now have to implement `Backend::Error` + > and `Backend::clear_region`. Additionally some generic `Backend` usage + > will have to explicitly set trait bounds for `Backend::Error`. + +- [ebe10cd](https://github.com/ratatui/ratatui/commit/ebe10cd81fc7392d26e6b93ae8d512175404f7a7) *(no_std)* Remove redundant `std` usages in `ratatui-core` by @j-g00da in [#1753](https://github.com/ratatui/ratatui/pull/1753) + + > Resolves https://github.com/ratatui/ratatui/issues/1751 + +- [08b08cc](https://github.com/ratatui/ratatui/commit/08b08cc45b60274a48824d488127a014e083d95a) *(rect)* Centering by @TadoTheMiner in [#1814](https://github.com/ratatui/ratatui/pull/1814) + > + > Resolves #617 + +- [6836a69](https://github.com/ratatui/ratatui/commit/6836a6903e7832d0c9f39d57fc9c30a80fa7f4e9) *(uncategorized)* Implement styled for other primitives by @aschey in [#1684](https://github.com/ratatui/ratatui/pull/1684) + +- [fcb47d6](https://github.com/ratatui/ratatui/commit/fcb47d60f3df205c18f5fa9459e9ba2c8d0c9649) *(uncategorized)* Rename Alignment to HorizontalAlignment and add VerticalAlignment by @joshka in [#1735](https://github.com/ratatui/ratatui/pull/1735) [**breaking**] + + > We don't anticipate removing or deprecating the type alias in the near + > future, but it is recommended to update your imports to use the new + > name. + > + > Added a VerticalAlignment enum to make the API more consistent. We don't + > have a specific use case for it yet, but it's better to add it now and + > be able to use it in the future. + > + > BREAKING-CHANGE:The `Alignment` enum has been renamed to + > `HorizontalAlignment` to better reflect its purpose. A type alias has + > been added to maintain backwards compatibility, however there are some + > cases where type aliases are not enough to maintain backwards + > compatibility. E.g. when using glob imports to import all the enum + > variants. This should not affect most users, but it is recommended to + > update your imports to use the new name. + > + > ```diff + > - use ratatui::layout::Alignment; + > + use ratatui::layout::HorizontalAlignment; + > + > - use Alignment::*; + > + use HorizontalAlignment::*; + > ``` + +- [2714d6b](https://github.com/ratatui/ratatui/commit/2714d6b9c3d2dab1537c9ced6cdb4571429bd1a5) *(uncategorized)* Add array and tuple RGB color conversion methods by @joshka in [#1703](https://github.com/ratatui/ratatui/pull/1703) + + > Other crates (e.g. colorgrad) that deal with colors can convert colors + > to a tuple of 3 or 4 u8 values. This commit adds conversion methods from + > these types to a `Color::Rgb` instance. Any alpha value is ignored. + > + > ```rust + > Color::from([255, 0, 0]); + > Color::from((255, 0, 0)); + > Color::from([255, 0, 0, 255]); + > Color::from((255, 0, 0, 255)); + > ``` + +### Bug Fixes + +- [9314312](https://github.com/ratatui/ratatui/commit/93143126b3dc70f437a6f05f17bba5d71e13083e) *(layout)* Feature flag cache related types by @joshka in [#1842](https://github.com/ratatui/ratatui/pull/1842) + +- [2dd1977](https://github.com/ratatui/ratatui/commit/2dd1977c594a5f276493ca63ecb82e5a4a5f0dc2) *(layout-cache)* Import `NonZeroUsize` only when `layout-cache` is enabled by @j-g00da in [#1839](https://github.com/ratatui/ratatui/pull/1839) + + > This silences unused import warning, when `layout-cache` is disabled. + +- [79d5165](https://github.com/ratatui/ratatui/commit/79d5165caed81db292073c18337fa69e83a20cf1) *(no_std)* Propagate `std` feature flag to dependencies by @j-g00da in [#1838](https://github.com/ratatui/ratatui/pull/1838) + + > Disables `std` feature flags in dependencies and only enables them with + > `ratatui` and `ratatui-core`'s `std` feature flag. This partially fixes the + > issue of still depending on `std`, when `std` feature flag is disabled. + +- [00da8c6](https://github.com/ratatui/ratatui/commit/00da8c620345397c6815267e6d8e19c1eacfe1c2) *(no_std)* Provide `f64` polyfills for `no_std` compatibility by @j-g00da in [#1840](https://github.com/ratatui/ratatui/pull/1840) + > + > Related:https://github.com/rust-lang/rust/issues/137578 + +- [c90ba97](https://github.com/ratatui/ratatui/commit/c90ba9781e5f4b6d061cafcb44ee7b4138f0b991) *(uncategorized)* Avoid unnecessary imports in minimal build by @cgzones in [#1787](https://github.com/ratatui/ratatui/pull/1787) + > + > core::ops::Range is only used with the feature `scrolling-regions`. + > Ensure a minimal `cargo check` reports no warnings. + +- [416ebdf](https://github.com/ratatui/ratatui/commit/416ebdf8c86d1a7a98385908f7c8c560e86770ac) *(uncategorized)* Correct clippy errors introduced by rust 1.86.0 update by @j-g00da in [#1755](https://github.com/ratatui/ratatui/pull/1755) + + > New version of rust (1.86.0) caused CI to fail. + +- [4eac5b2](https://github.com/ratatui/ratatui/commit/4eac5b2849f7807c59e8164786e467137e17df86) *(uncategorized)* Make deprecation notes more helpful by @joshka in [#1702](https://github.com/ratatui/ratatui/pull/1702) + + > AI coding assistants use the deprecation notes to automatically suggest + > fixes. This commit updates the deprecation notes to push those tools to + > suggest the correct replacement methods and types. + > + > Specifically, AI tools often suggest using `Buffer::get(x, y)`, because + > of their training data where this was prevalent. When fixing these + > deprecations, they often incorrectly suggest using `Buffer::get(x, y)` + > instead of `Buffer[(x, y)]`. + +### Refactor + +- [07bec55](https://github.com/ratatui/ratatui/commit/07bec55b7d55fab338f9ab8571a80277d4890753) *(no_std)* Make usages of std explicit in ratatui-core. by @ed-2100 in [#1782](https://github.com/ratatui/ratatui/pull/1782) + + > ### This commit does the following: + > + > - Adds `#[no_std]` to `lib.rs`. + > - Adds `extern crate std;` to `lib.rs`. + > - Updates `ratatui-core` to explicitly `use` items from std and alloc. + > - Prefers `use`-ing alloc over std when possible. + > + > ### Explanation: + > + > This allows usages of `std` in `ratatui-core` to be clearly pointed out + > and dealt with individually. + > + > Eventually, when `std` is to be feature gated, the associated commit + > will be much cleaner. + +- [02e53de](https://github.com/ratatui/ratatui/commit/02e53de0f82bc2364f2ba4345cc5a635347e3eb4) *(uncategorized)* Make use of iter::repeat_n() by @cgzones in [#1788](https://github.com/ratatui/ratatui/pull/1788) + + > Applied via clippy --fix. + > Available since 1.82.0. + +### Documentation + +- [2be9ccb](https://github.com/ratatui/ratatui/commit/2be9ccb120d80cf2f98e434bb7b9da5613dfe180) *(layout)* Remove unnecessary path prefix by @j-g00da in [#1766](https://github.com/ratatui/ratatui/pull/1766) + +- [b669ceb](https://github.com/ratatui/ratatui/commit/b669cebcaf51cdf8585c48aec0f7282bf492df6c) *(layout)* Change `cassowary` to `kasuari` crate reference by @j-g00da in [#1765](https://github.com/ratatui/ratatui/pull/1765) + +### Styling + +- [2739391](https://github.com/ratatui/ratatui/commit/2739391950eddd129c25cd4ffddb28b99eed8cf5) *(uncategorized)* Use Module imports_granularity by @joshka in [#1728](https://github.com/ratatui/ratatui/pull/1728) + + > I was swayed by the arguments about this made by the compiler team In + > and decided to + > look at how this organization affects ratatui. I found this reduces the + > number of lines across the codebase by about 350 and makes the imports + > more readable and definitely more greppable as you usually only have + > to read a single line. I've found in the past that maintaining imports + > regularly leads to merge conflicts which have to be resolved by hand + > and this change should reduce the likelihood of that happening. + > + > Main change is in rustfmt.toml, and the rest is just the result of + > running `cargo xtask format`. + > + > While implementing this, cargo machete brings up that the various + > backend crates are unused by the example crates. + > + > The re-export of each backend crate under ratatui is to make it possible + > for libs that rely on a specific version of ratatui to use the same + > version of the backend crate. Apps in general should use the backend + > crate directly rather than through ratatui as this is less confusing. + > + > - Removes all usages of `ratatui::{crossterm, termion, termwiz}`` in the + > examples. + > - Adds the backend crate to the dependencies of the examples that use + > the backend crate directly. + +### Testing + +- [deb1b8e](https://github.com/ratatui/ratatui/commit/deb1b8ec43d8c9e5b1a5469dc4fa4c7e86d86d9b) *(uncategorized)* Ensure Style::new() and Style::default() are equivalent by @cgzones in [#1789](https://github.com/ratatui/ratatui/pull/1789) + +### Miscellaneous Tasks + +- [cef617c](https://github.com/ratatui/ratatui/commit/cef617cc35b9ddba97bb435a8f70f6b8d71ab810) *(lint)* Add `std` instead of `core`/`alloc` lints to `ratatui-core` by @j-g00da in [#1759](https://github.com/ratatui/ratatui/pull/1759) + > + > Resolves #1752 + +- [d88cd29](https://github.com/ratatui/ratatui/commit/d88cd2907906e38d73ac4359ece36527436d686a) *(uncategorized)* Add 'const' to functions where possible. by @MatrixFrog in [#1802](https://github.com/ratatui/ratatui/pull/1802) + + > The Clippy check for this (missing_const_for_fn) is already enabled, but + > catches more cases in upcoming toolchain versions. + > + > This is part of the work to unblock #1727 + +- [bb06889](https://github.com/ratatui/ratatui/commit/bb068892c93713befbc8dab04577cbc2a59cedec) *(uncategorized)* Fix io_other_error clippy lints by @joshka in [#1756](https://github.com/ratatui/ratatui/pull/1756) + + > Pre-emptive fix for new lint to be added in 1.87 (currently in beta). + > + > https://rust-lang.github.io/rust-clippy/master/index.html\#io_other_error + +- [0f80c5e](https://github.com/ratatui/ratatui/commit/0f80c5e87eb4e47c818a6bd8b0002971920c65a0) *(uncategorized)* Use expect() instead of allow() for lint overrides by @cgzones in [#1786](https://github.com/ratatui/ratatui/pull/1786) [**breaking**] + > + > BREAKING CHANGE:MSRV is now 1.81 + +- [fe8577c](https://github.com/ratatui/ratatui/commit/fe8577c0704495c0a98705bc1b036b1a60123f02) *(uncategorized)* Remove paste dependency by @joshka in [#1713](https://github.com/ratatui/ratatui/pull/1713) + + > The paste crate is no longer maintained. Replaces the usages of this in + > the Stylize declarative macros with hard coded values. These macros are + > internal implementation deatil to ratatui and so the changes should have + > no impact on users. + > + > Fixes:https://github.com/ratatui/ratatui/issues/1712 + +### Build + +- [daeba85](https://github.com/ratatui/ratatui/commit/daeba85f144ead00803c7540fa39ff6d623321c7) *(deps)* Bump `kasuari` and `line-clipping` by @j-g00da in [#1844](https://github.com/ratatui/ratatui/pull/1844) + +- [fc4b996](https://github.com/ratatui/ratatui/commit/fc4b996c596aec8316427bc71677fbfcce68caed) *(deps)* Update compact_str requirement from 0.8.1 to 0.9.0 by @musicinmybrain in [#1783](https://github.com/ratatui/ratatui/pull/1783) + + > Looking at + > https://github.com/ParkMyCar/compact_str/blob/v0.9.0/CHANGELOG.md#090, + > there are a few API changes, but it doesn’t seem like anything there + > should be a problem given that `cargo test` still passes in + > `ratatui-core/`. + +- [3d5b250](https://github.com/ratatui/ratatui/commit/3d5b250e74fc83fb580f50b617472be7cfb4fd4b) *(deps)* Use kasuari instead of cassowary by @joshka in [#1758](https://github.com/ratatui/ratatui/pull/1758) + + > [Kasuari](https://github.com/ratatui/kasuari) is a maintained fork of Cassowary. + + + + +**Full Changelog**: https://github.com/ratatui/ratatui/compare/ratatui-core-v0.1.0-alpha.3...ratatui-core-v0.1.0-alpha.4 + + + ## ratatui - [0.30.0-alpha.2](https://github.com/ratatui/ratatui/compare/ratatui-v0.30.0-alpha.1...ratatui-v0.30.0-alpha.2) - 2025-03-01 ### Features diff --git a/Cargo.lock b/Cargo.lock index 80cc08d5..580ae5e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2542,7 +2542,7 @@ dependencies = [ [[package]] name = "ratatui" -version = "0.30.0-alpha.2" +version = "0.30.0-alpha.3" dependencies = [ "argh", "color-eyre", @@ -2575,7 +2575,7 @@ dependencies = [ [[package]] name = "ratatui-core" -version = "0.1.0-alpha.3" +version = "0.1.0-alpha.4" dependencies = [ "anstyle", "bitflags 2.9.0", @@ -2600,7 +2600,7 @@ dependencies = [ [[package]] name = "ratatui-crossterm" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" dependencies = [ "crossterm", "document-features", @@ -2612,7 +2612,7 @@ dependencies = [ [[package]] name = "ratatui-macros" -version = "0.7.0-alpha.1" +version = "0.7.0-alpha.2" dependencies = [ "ratatui-core", "ratatui-widgets", @@ -2621,7 +2621,7 @@ dependencies = [ [[package]] name = "ratatui-termion" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" dependencies = [ "document-features", "instability", @@ -2632,7 +2632,7 @@ dependencies = [ [[package]] name = "ratatui-termwiz" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" dependencies = [ "document-features", "ratatui", @@ -2643,7 +2643,7 @@ dependencies = [ [[package]] name = "ratatui-widgets" -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.3" dependencies = [ "bitflags 2.9.0", "color-eyre", diff --git a/Cargo.toml b/Cargo.toml index 735b5514..ffc2e072 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,13 +36,13 @@ indoc = "2.0.6" instability = "0.3.7" itertools = { version = "0.13.0", default-features = false, features = ["use_alloc"] } pretty_assertions = "1.4.1" -ratatui = { path = "ratatui", version = "0.30.0-alpha.2" } -ratatui-core = { path = "ratatui-core", version = "0.1.0-alpha.3" } -ratatui-crossterm = { path = "ratatui-crossterm", version = "0.1.0-alpha.2" } -ratatui-macros = { path = "ratatui-macros", version = "0.7.0-alpha.1" } -ratatui-termion = { path = "ratatui-termion", version = "0.1.0-alpha.2" } -ratatui-termwiz = { path = "ratatui-termwiz", version = "0.1.0-alpha.2" } -ratatui-widgets = { path = "ratatui-widgets", version = "0.3.0-alpha.2" } +ratatui = { path = "ratatui", version = "0.30.0-alpha.3" } +ratatui-core = { path = "ratatui-core", version = "0.1.0-alpha.4" } +ratatui-crossterm = { path = "ratatui-crossterm", version = "0.1.0-alpha.3" } +ratatui-macros = { path = "ratatui-macros", version = "0.7.0-alpha.2" } +ratatui-termion = { path = "ratatui-termion", version = "0.1.0-alpha.3" } +ratatui-termwiz = { path = "ratatui-termwiz", version = "0.1.0-alpha.3" } +ratatui-widgets = { path = "ratatui-widgets", version = "0.3.0-alpha.3" } rstest = "0.25.0" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140" diff --git a/ratatui-core/Cargo.toml b/ratatui-core/Cargo.toml index 716a245c..fc7d720d 100644 --- a/ratatui-core/Cargo.toml +++ b/ratatui-core/Cargo.toml @@ -4,7 +4,7 @@ description = """ Core types and traits for the Ratatui Terminal UI library. Widget libraries should use this crate. Applications should use the main Ratatui crate. """ -version = "0.1.0-alpha.3" +version = "0.1.0-alpha.4" readme = "README.md" authors.workspace = true documentation.workspace = true diff --git a/ratatui-crossterm/Cargo.toml b/ratatui-crossterm/Cargo.toml index 472a994a..fae3ae21 100644 --- a/ratatui-crossterm/Cargo.toml +++ b/ratatui-crossterm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ratatui-crossterm" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" description = "Crossterm backend for the Ratatui Terminal UI library." documentation = "https://docs.rs/ratatui-crossterm/" readme = "README.md" diff --git a/ratatui-macros/Cargo.toml b/ratatui-macros/Cargo.toml index 8f3b1c8b..f6d8b536 100644 --- a/ratatui-macros/Cargo.toml +++ b/ratatui-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ratatui-macros" -version = "0.7.0-alpha.1" +version = "0.7.0-alpha.2" edition = "2021" authors = ["The Ratatui Developers"] description = "Macros for Ratatui" diff --git a/ratatui-termion/Cargo.toml b/ratatui-termion/Cargo.toml index edbc4a6b..65000125 100644 --- a/ratatui-termion/Cargo.toml +++ b/ratatui-termion/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ratatui-termion" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" description = "Termion backend for the Ratatui Terminal UI library." documentation = "https://docs.rs/ratatui-termion/" readme = "README.md" diff --git a/ratatui-termwiz/Cargo.toml b/ratatui-termwiz/Cargo.toml index 53d7ba0f..c699e9dc 100644 --- a/ratatui-termwiz/Cargo.toml +++ b/ratatui-termwiz/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ratatui-termwiz" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha.3" description = "Termwiz backend for the Ratatui Terminal UI library." documentation = "https://docs.rs/ratatui-termwiz/" readme = "README.md" diff --git a/ratatui-widgets/Cargo.toml b/ratatui-widgets/Cargo.toml index e6b19359..833a17b2 100644 --- a/ratatui-widgets/Cargo.toml +++ b/ratatui-widgets/Cargo.toml @@ -3,7 +3,7 @@ name = "ratatui-widgets" description = "A collection of Ratatui widgets for building terminal user interfaces using Ratatui." # Note that this started at 0.3.0 as there was a previous crate using the name `ratatui-widgets`. # -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.3" readme = "README.md" authors.workspace = true documentation.workspace = true diff --git a/ratatui/Cargo.toml b/ratatui/Cargo.toml index 52d5b1f3..2b7c35b0 100644 --- a/ratatui/Cargo.toml +++ b/ratatui/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ratatui" description = "A library that's all about cooking up terminal user interfaces" -version = "0.30.0-alpha.2" +version = "0.30.0-alpha.3" authors.workspace = true documentation.workspace = true repository.workspace = true