-
40e96a2 (block) Add collapsed border example by @joshka in #1899
-
d291042 (block) Revise the block example by @orhun in #1520
- Moves the block example from
ratatui to ratatui-widgets
- Simplifies the example (bordered, styled, custom borders)
see #1512
-
0951da5 (breaking-changes) Improve migration guide for Backend::Error by @j-g00da in #1908
Related:https://github.com/fujiapple852/trippy/pull/1588
-
bbe1cf9 (breaking-changes) Change MSRV to 1.85 by @j-g00da in #1896
The minimum supported Rust version is now for ratatui v0.30 is 1.85
-
c7912f3 (breaking-changes) Fix header level by @j-g00da in #1825
-
fcde9cb (changelog) Fix typo by @orhun in #1463
-
73488ab (contributing) Fix link to widgets_block_renders test by @ognis1205 in #2101
The CONTRIBUTING.md referenced tests/widgets_block.rs, but the
correct path is ratatui/tests/widgets_block.rs. Updated the link so
that readers can navigate to the test example without 404 error.
-
0b025db (contributing) Fix grammar by @j-g00da in #1958
-
1197b2a (contributing) Add note about using nightly for formatting by @joshka in #1816
-
3ae6bf1 (contributing) Use cargo-xtask for instructions by @orhun in #1509
- Updates
CONTRIBUTING.md about the usage of xtask
- Removes
Makefile.toml
-
22e3e84 (core) Remove link to Paragraph widget by @orhun in #1683
-
b65788c (examples) Remove duplicated link by @matthiasbeyer in #2212
-
200b217 (examples) Add VHS tapes and docs for widget examples by @orhun in #2114
fixes #1982
Later on I'll figure out an easy way to regenerate this in the CI and
possibly do the same for the app examples' VHS tapes. That's why I
haven't added a script or mentioned anything in the docs yet (hint:
#1721)
-
861fbdf (examples) Fix a typo by @j-g00da in #1890
Makes CI typos check pass again
-
882cc3c (examples) Update app examples with tapes by @orhun in #1673
-
4393fae (examples) Move scrollbar example to examples folder by @orhun in #1665
-
9ea70e2 (examples) Move widget-impl example to examples folder by @orhun in #1663
-
774ab78 (examples) Move widget-ref-container example to examples folder by @orhun in #1664
see #1512
-
910d16e (examples) Move user-input example to examples folder by @orhun in #1659
-
dbfb7da (examples) Move table example to examples folder by @orhun in #1657
-
cb2a58a (examples) Move tracing example to examples folder by @orhun in #1658
-
7e00b64 (examples) Move panic example to examples folder by @orhun in #1655
-
8127590 (examples) Move modifiers example to examples folder by @orhun in #1654
-
7c40c0b (examples) Move popup example to examples folder by @orhun in #1656
see #1512
-
d87354f (examples) Move list example to examples folder by @orhun in #1653
see #1512
also renames it to todo-list
-
621226f (examples) Move inline example to examples folder by @orhun in #1651
-
9ba7d25 (examples) Move hyperlink example to examples folder by @orhun in #1650
-
bb94d1c (examples) Move minimal example to examples folder by @orhun in #1649
-
9f399ac (examples) Move gauge example to examples folder by @orhun in #1646
-
104d6a6 (examples) Move custom-widget example to examples folder by @orhun in #1644
-
fa8ca01 (examples) Move flex example to examples folder by @orhun in #1642
-
f5fde0e (examples) Move constraints example to examples folder by @orhun in #1641
-
fc70288 (examples) Move constraint-explorer example to examples folder by @orhun in #1640
-
325f961 (examples) Move hello-world example to examples folder by @orhun in #1647
-
867c4bc (examples) Move colors-rgb example to examples folder by @joshka in #1582
- docs: move colors-rgb example to examples folder
- docs: update main examples README
-
72334ed (layout) Update documentation to point to kasuari solver by @a-kenji in #2003
-
2be9ccb (layout) Remove unnecessary path prefix by @j-g00da in #1766
-
b669ceb (layout) Change cassowary to kasuari crate reference by @j-g00da in #1765
-
f907c74 (license) Update copyright years by @LVivona in #1639
Update MIT Licence to copyright year 2025
-
68b9f67 (readme) Add Built with Ratatui badge for downstream projects by @harilvfs in #1905
-
088aac1 (readme) Tweak links and badges by @joshka in #1598
-
6e43672 (readme) Reimagine README.md by @orhun in #1569
This is the result of the re-imagination of a more suitable README.md. It
is simpler and shorter: not giving more information to the user than
they actually need.
Also updates the quickstart code with the up-to-date version and adds
link to templates which was missing.
-
8f28247 (readme) Correct examples links by @HoKim98 in #1484
-
9f90f74 (readme) Fix broken link by @nilsmartel in #1485
-
260af68 (readme) Include iocraft as an alternative by @kdheepak in #1483
-
8e5151f (rect) Fix typo in the Rect::outer function comments by @orhun in #2123
-
40f13c6 (rect) Update the outdated comment for Rect::area() by @isgin01 in #2100
The return value of Rect.area() is no longer of u16 type, and the value
is not being clumped anymore.
-
ce16692 (release) Fix typo by @j-g00da in #1754
-
9a930a6 (terminal) Made usage of Terminal::get_frame() clearer by @Blaeriz in #2071
Closes : https://github.com/ratatui/ratatui/issues/1200
-
b08b4cb (terminal) Add disclaimer about panics to Terminal::new by @lolbinarycat in #2088
part of #2087
cc @orhun
-
dafb716 (widgets) Add example for grouped barchart by @orhun in #1566
related #1512
-
ed5dd73 (widgets) Add example for tabs by @orhun in #1559
related #1512
Also removes the tabs example from ratatui crate since it overlaps with
this new example in terms of functionality and it was not following the
general theme of other examples.
-
fab5321 (widgets) Add example for scrollbar by @orhun in #1545
Related to: #1512
-
898aef6 (widgets) Add example for list by @orhun in #1542
Related to: #1512
-
452366a (widgets) Add example for sparkline by @orhun in #1556
related #1512
Also removes the sparkline example from ratatui crate since this example
is a simplified and easier to understand version of that
-
6ddde0e (widgets) Add example for table by @orhun in #1557
related #1512
-
93ad6b8 (widgets) Update values in chart example by @orhun in #1558
better stonks
-
15f442a (widgets) Add example for paragraph by @orhun in #1544
related #1512
Also removes the paragraph example from ratatui since these examples
are more or less the same.
-
17bba14 (widgets) Move the logo example to widgets by @orhun in #1543
related #1512
Also updates the code to make it consistent with the other examples
-
f2451e7 (widgets) Add example for gauge by @orhun in #1539
related #1512
-
4f0a8b2 (widgets) Add example for canvas by @orhun in #1533
related #1512
-
91147c4 (widgets) Add example for chart by @orhun in #1536
stonks
-
6dd25a3 (widgets) Add example for calendar by @orhun in #1532
related #1512
-
99ac005 (widgets) Add simple barchart example by @joshka in #1511
-
b1d47e7 (uncategorized) Discourage use of Buffer's pos_of, index_of by @pharrison31415 in #2225
These methods assume that the backing store of any buffer / area is linearly indexable. There are other ways that we might want to experiment in the future with how to store the values (trees, 2D allocated areas that are non-contiguous etc.). The index <-> pos conversion there isn't particularly useful. This should be an internal implementation detail of the buffer, rather than something that we expose, but we're not deprecating this for now at least.
-
f8b0594 (uncategorized) Fix: fix typos by @j-g00da in #2129
This fixes the pipeline after bumping typos.
-
9998000 (uncategorized) Use shields.io badge by @LitoMore in #2040
Related to:
- https://github.com/simple-icons/simple-icons/pull/13593
- https://github.com/ratatui/ratatui/pull/1967
The Ratatui icon is available on shields.io now :v:
And it's customizable. There are more configurations at
https://shields.io/badges.
Here are some examples:








-
71ef65b (uncategorized) Add section on collaborative development to contributing doc by @joshka in #2029
-
cba5cca (uncategorized) Update heading image for Ratatui 0.30.0 release š by @j-g00da in #2000
-
9836f07 (uncategorized) Add AI contribution guidelines by @joshka in #2013
-
98f85b8 (uncategorized) Update link to scrollable widgets RFC by @MatrixFrog in #1994
-
055522e (uncategorized) Add docs for authoring widget crates by @j-g00da in #1955
- added Authoring Widget Libraries sub-section
- moved built-in and third-party widgets sections higher
-
617d318 (uncategorized) Improve Block docs by @joshka in #1953
-
8e2d568 (uncategorized) Improve layout related docs by @joshka in #1948
Adds module level docs and more comprehensive docs on all the types in
the layout module
Fixes #1937
-
4c708dd (uncategorized) Improve docs for run/init/restore etc. by @joshka in #1947
- docs: document the init module
- docs: use the ratatui::run() methods in the main doc
- docs: add more intradoc / website links and historical perspective
on Terminal / backend
- docs: add notes about new run/init/restore methods and the
defaultterminal type to terminal docs
-
5620e06 (uncategorized) Add crate organization sections to workspace by @joshka in #1946
Adds summary-level crate organization documentation to all crates
explaining the modular workspace structure and when to use each crate.
Links to ARCHITECTURE.md for detailed information.
-
cfb65e6 (uncategorized) Add examples for handling state by @joshka in #1849
Added comprehensive state management examples covering both immutable
and mutable patterns and documentation to help developers choose the
right approach for their applications.
-
3de41a8 (uncategorized) Document widgets module by @joshka in #1932
Adds a good overview of the use and implementation of widget traits.
Goals with the doc rewrite:
- document the rationale for the ratatui-widgets crate with info for app
builders and widget makers.
- Show how to use the widgets for rendering as well as implement the
traits- document the differences and reasons for each trait
- document the historical perspective (to make it easy to understand
older Ratatui apps as well as migrate to newer approaches
- give recommended approaches to implementing traits
- explain the differences between Consuming and Shared / Mutable
Reference implementations of Widget
- explain the differences between using StatefulWidget and Mutable
References
- Explain the use case for WidgetRef and StatefulWidgetRef
- Link out to third part widget lists
Fixes:https://github.com/ratatui/ratatui/issues/366
-
ca2ad4a (uncategorized) Simplify ratatui-macro docs by @joshka in #1923
-
92b6a16 (uncategorized) Fix grammar in ratatui-widgets README by @sevki in #1885
-
da05957 (uncategorized) Add widget-ref-container example by @joshka in #1603
Implements ideas alluded to by
https://discord.com/channels/1070692720437383208/1072907135664529508/1323061053990637640
and followup conversations.
-
1798512 (uncategorized) Fix wording in user_input example by @dawedawe in #1611
Fix wording in user_input.rs example.
-
03066d8 (uncategorized) Fix punctuation in canvas.rs documentation by @dawedawe in #1583
Fix end of sentence punctuation in canvas.rs docs.
-
e411d9e (uncategorized) Add input form example by @joshka in #1551
Demonstrates how to manage the cursor and input focus with a simple
form. Uses an enum to track the current input field and passes the
input events to the active field.
This is similar to the json tutorial on the website, but a bit simpler
-
ed071f3 (uncategorized) Add mouse-drawing example by @joshka in #1546
Demonstrates how to handle mouse events
-
46902f5 (uncategorized) Improve docs for workspace crates by @orhun in #1490
Overall makes improvements in the documentation of the workspace crates and checking them.
-
a6b5792 (uncategorized) Fix example link in readme by @thomas-tacquet in #1462