chore(deps): update all dependencies #13

Merged
kjuulh merged 1 commits from renovate/all into main 2024-08-21 23:21:23 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
clap workspace.dependencies patch 4.5.8 -> 4.5.16
crossterm dependencies minor 0.27.0 -> 0.28.0
human-panic dependencies patch 2.0.0 -> 2.0.1
ratatui (source) dependencies minor 0.26.2 -> 0.28.0
serde_json dependencies patch 1.0.118 -> 1.0.125
serde_json workspace.dependencies patch 1.0.118 -> 1.0.125
sqlx dependencies minor 0.7.4 -> 0.8.0
tempfile (source) dev-dependencies minor 3.10.1 -> 3.12.0
tokio (source) workspace.dependencies minor 1.38.0 -> 1.39.3
toml workspace.dependencies patch 0.8.14 -> 0.8.19
uuid dependencies minor 1.9.1 -> 1.10.0
uuid workspace.dependencies minor 1.9.1 -> 1.10.0

Release Notes

clap-rs/clap (clap)

v4.5.16

Compare Source

Fixes
  • (derive) Improve error messages when derive feature is missing

v4.5.15

Compare Source

Compatiblity
  • (unstable-ext) Arg::remove changed return types
Fixes
  • (unstable-ext) Make Arg::remove return the removed item

v4.5.14

Compare Source

Features
  • (unstable-ext) Added Arg::add for attaching arbitrary state, like completion hints, to Arg without Arg knowing about it

v4.5.13

Compare Source

Fixes
  • (derive) Improve error message when #[flatten]ing an optional #[group(skip)]
  • (help) Properly wrap long subcommand descriptions in help

v4.5.12

Compare Source

v4.5.11

Compare Source

v4.5.10

Compare Source

v4.5.9

Compare Source

Fixes
  • (error) When defining a custom help flag, be sure to suggest it like we do the built-in one
crossterm-rs/crossterm (crossterm)

v0.28.1

Fixed 🐛

  • Fix broken build on linux when using use-dev-tty with (#​906)

Breaking ⚠️

  • Fix desync with mio and signalhook between repo and published crate. (upgrade to mio 1.0)
rust-cli/human-panic (human-panic)

v2.0.1

Compare Source

Compatibility
  • Update MSV to 1.74
ratatui-org/ratatui (ratatui)

v0.28.0

Compare Source

"If you are what you eat, then I only want to eat the good stuff." – Remy

We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭

In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements.
New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods.
We have also refined the terminal module and added brand new methods for cursor positions and text operations.

Release highlights: https://ratatui.rs/highlights/v028/

⚠️ List of breaking changes can be found here.

Features
  • 8d4a102 (barchart) Allow axes to accept Lines by @​joshka in #​1273 [breaking]

    Fixes:ratatui#1272

  • a23ecd9 (buffer) Add Buffer::cell, cell_mut and index implementations by @​joshka in #​1084

    Code which previously called buf.get(x, y) or buf.get_mut(x, y)
    should now use index operators, or be transitioned to buff.cell() or
    buf.cell_mut() for safe access that avoids panics by returning
    Option<&Cell> and Option<&mut Cell>.

    The new methods accept Into<Position> instead of x and y
    coordinates, which makes them more ergonomic to use.

    let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10));
    
    let cell = buf[(0, 0)];
    let cell = buf[Position::new(0, 0)];
    
    let symbol = buf.cell((0, 0)).map(|cell| cell.symbol());
    let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol());
    
    buf[(0, 0)].set_symbol("🐀");
    buf[Position::new(0, 0)].set_symbol("🐀");
    
    buf.cell_mut((0, 0)).map(|cell| cell.set_symbol("🐀"));
    buf.cell_mut(Position::new(0, 0)).map(|cell| cell.set_symbol("🐀"));
    

    The existing get() and get_mut() methods are marked as deprecated.
    These are fairly widely used and we will leave these methods around on
    the buffer for a longer time than our normal deprecation approach (2
    major release)

    Addresses part of: ratatui#1011


  • afe1534 (chart) Accept IntoIterator for axis labels by @​EdJoPaTo in #​1283 [breaking]

    BREAKING CHANGES: #​1273 is already breaking and this only advances the
    already breaking part

  • 5b51018 (chart) Add GraphType::Bar by @​joshka in #​1205

    Demo

  • f97e07c (frame) Replace Frame::size() with Frame::area() by @​EdJoPaTo in #​1293

    Area is the more correct term for the result of this method.
    The Frame::size() method is marked as deprecated and will be
    removed around Ratatui version 0.30 or later.

    Fixes:ratatui#1254 (comment)

  • 5b89bd0 (layout) Add Size::ZERO and Position::ORIGIN constants by @​EdJoPaTo in #​1253

  • b2aa843 (layout) Enable serde for Margin, Position, Rect, Size by @​EdJoPaTo in #​1255

  • 36d49e5 (table) Select first, last, etc to table state by @​robertpsoane in #​1198

    Add select_previous, select_next, select_first & select_last to
    TableState

    Used equivalent API as in ListState

  • 3bb374d (terminal) Add Terminal::try_draw() method by @​joshka in #​1209

    This makes it easier to write fallible rendering methods that can use
    the ? operator

    terminal.try_draw(|frame| {
        some_method_that_can_fail()?;
        another_faillible_method()?;
        Ok(())
    })?;
    
  • 3725262 (text) Add Add and AddAssign implementations for Line, Span, and Text by @​joshka in #​1236

    This enables:

    let line = Span::raw("Red").red() + Span::raw("blue").blue();
    let line = Line::raw("Red").red() + Span::raw("blue").blue();
    let line = Line::raw("Red").red() + Line::raw("Blue").blue();
    let text = Line::raw("Red").red() + Line::raw("Blue").blue();
    let text = Text::raw("Red").red() + Line::raw("Blue").blue();
    
    let mut line = Line::raw("Red").red();
    line += Span::raw("Blue").blue();
    
    let mut text = Text::raw("Red").red();
    text += Line::raw("Blue").blue();
    
    line.extend(vec![Span::raw("1"), Span::raw("2"), Span::raw("3")]);
    
  • c34fb77 (text) Remove unnecessary lifetime from ToText trait by @​joshka in #​1234 [breaking]

    BREAKING CHANGE:The ToText trait no longer has a lifetime parameter.
    This change simplifies the trait and makes it easier implement.

  • c68ee6c (uncategorized) Add get/set_cursor_position() methods to Terminal and Backend by @​EdJoPaTo in #​1284 [breaking]

    The new methods return/accept Into<Position> which can be either a Position or a (u16, u16) tuple.

    backend.set_cursor_position(Position { x: 0, y: 20 })?;
    let position = backend.get_cursor_position()?;
    terminal.set_cursor_position((0, 20))?;
    let position = terminal.set_cursor_position()?;
    
  • b70cd03 (uncategorized) Add ListState / TableState scroll_down_by() / scroll_up_by() methods by @​josueBarretogit in #​1267

    Implement new methods scroll_down_by(u16) and scroll_up_by(u16) for
    both Liststate and Tablestate.

    Closes:#​1207

Bug Fixes
  • 864cd9f (testbackend) Prevent area mismatch by @​EdJoPaTo in #​1252

    Removes the height and width fields from TestBackend, which can get
    out of sync with the Buffer, which currently clamps to 255,255.

    This changes the TestBackend serde representation. It should be
    possible to read older data, but data generated after this change
    can't be read by older versions.

  • 7e1bab0 (buffer) Dont render control characters by @​EdJoPaTo in #​1226

  • c08b522 (chart) Allow removing all the axis labels by @​EdJoPaTo in #​1282

    axis.labels(vec![]) removes all the labels correctly.

    This makes calling axis.labels with an empty Vec the equivalent
    of not calling axis.labels. It's likely that this is never used, but it
    prevents weird cases by removing the mix-up of Option::None
    and Vec::is_empty, and simplifies the implementation code.

  • 03f3124 (paragraph) Line_width, and line_count include block borders by @​airblast-dev in #​1235

    The line_width, and line_count methods for Paragraph would not
    take into account the Block if one was set. This will now correctly
    calculate the values including the Block's width/height.

    Fixes:#​1233

  • 3ca920e (span) Prevent panic on rendering out of y bounds by @​EdJoPaTo in #​1257

  • 84cb164 (terminal) Make terminal module private by @​joshka in #​1260 [breaking]

    This is a simplification of the public API that is helpful for new users
    that are not familiar with how rust re-exports work, and helps avoid
    clashes with other modules in the backends that are named terminal.

    BREAKING CHANGE:The terminal module is now private and can not be
    used directly. The types under this module are exported from the root of
    the crate.

    - use ratatui::terminal::{CompletedFrame, Frame, Terminal, TerminalOptions, ViewPort};
    + use ratatui::{CompletedFrame, Frame, Terminal, TerminalOptions, ViewPort};
    

    Fixes:ratatui#1210

  • 29c8c84 (uncategorized) Ignore newlines in Span's Display impl by @​SUPERCILEX in #​1270

  • cd93547 (uncategorized) Remove unnecessary synchronization in layout cache by @​SUPERCILEX in #​1245

    Layout::init_cache no longer returns bool and takes a NonZeroUsize instead of usize

    The cache is a thread-local, so doesn't make much sense to require
    synchronized initialization.

  • b344f95 (uncategorized) Only apply style to first line when rendering a Line by @​joshka in #​1247

    A Line widget should only apply its style to the first line when
    rendering and not the entire area. This is because the Line widget
    should only render a single line of text. This commit fixes the issue by
    clamping the area to a single line before rendering the text.

  • 7ddfbc0 (uncategorized) Unnecessary allocations when creating Lines by @​SUPERCILEX in #​1237

  • 84f3341 (uncategorized) Clippy lints from rust 1.80.0 by @​joshka in #​1238

Refactor
Documentation
  • 6ce447c (block) Add docs about style inheritance by @​joshka in #​1190

    Fixes:ratatui#1129

  • 55e0880 (block) Update block documentation by @​leohscl in #​1206

    Update block documentation with constructor methods and setter methods
    in the main doc comment Added an example for using it to surround
    widgets

    Fixes:ratatui#914

  • f2fa1ae (breaking-changes) Add missing code block by @​orhun in #​1291

  • f687af7 (breaking-changes) Mention removed lifetime of ToText trait by @​orhun in #​1292

  • d468463 (breaking-changes) Fix the PR link by @​orhun in #​1294

  • 1b9bdd4 (contributing) Fix minor issues by @​EdJoPaTo in #​1300

  • 5f7a7fb (examples) Update barcharts gifs by @​joshka in #​1306

  • fe4eeab (examples) Simplify the barchart example by @​joshka in #​1079

    The barchart example has been split into two examples: barchart and
    barchart-grouped. The barchart example now shows a simple barchart
    with random data, while the barchart-grouped example shows a grouped
    barchart with fake revenue data.

    This simplifies the examples a bit so they don't cover too much at once.

    • Simplify the rendering functions
    • Fix several clippy lints that were marked as allowed

  • 6e7b4e4 (examples) Add async example by @​joshka in #​1248

    This example demonstrates how to use Ratatui with widgets that fetch
    data asynchronously. It uses the octocrab crate to fetch a list of
    pull requests from the GitHub API. You will need an environment
    variable named GITHUB_TOKEN with a valid GitHub personal access
    token. The token does not need any special permissions.

  • 935a718 (examples) Add missing examples to README by @​kibibyt3 in #​1225

    Resolves:#​1014

  • 50e5674 (examples) Fix: fix typos in tape files by @​kibibyt3 in #​1224

  • 810da72 (examples) Fix hyperlink example tape by @​kibibyt3 in #​1222

  • 5eeb1cc (github) Create CODE_OF_CONDUCT.md by @​joshka in #​1279

  • 7c0665c (layout) Fix typo in example by @​EmiOnGit in #​1217

  • 272d059 (paragraph) Update main docs by @​joshka in #​1202

  • bb71e5f (readme) Remove MSRV by @​EdJoPaTo in #​1266

    This notice was useful when the Cargo.toml had no standardized field
    for this. Now it's easier to look it up in the Cargo.toml and it's
    also a single point of truth. Updating the README was overlooked for
    quite some time so it's better to just omit it rather than having
    something wrong that will be forgotten again in the future.

  • 8857037 (terminal) Fix imports by @​EdJoPaTo in #​1263

  • 2fd5ae6 (widgets) Document stability of WidgetRef by @​joshka in #​1288

    Addresses some confusion about when to implement WidgetRef vs impl Widget for &W. Notes the stability rationale and links to an issue that
    helps explain the context of where we're at in working this out.

  • 716c931 (uncategorized) Document crossterm breaking change by @​joshka in #​1281

  • f775030 (uncategorized) Update main lib.rs / README examples by @​joshka in #​1280

  • 8433d09 (uncategorized) Update demo image by @​joshka in #​1276

    Follow up to ratatui#1203

Performance
  • 663486f (list) Avoid extra allocations when rendering List by @​airblast-dev in #​1244

    When rendering a List, each ListItem would be cloned. Removing the
    clone, and replacing Widget::render with WidgetRef::render_ref saves
    us allocations caused by the clone of the Text<'_> stored inside of
    ListItem.

    Based on the results of running the "list" benchmark locally;
    Performance is improved by %1-3 for all render benchmarks for List.

  • 4753b72 (reflow) Eliminate most WordWrapper allocations by @​SUPERCILEX in #​1239

    On large paragraphs (~1MB), this saves hundreds of thousands of
    allocations.

    TL;DR:reuse as much memory as possible across next_line calls.
    Instead of allocating new buffers each time, allocate the buffers once
    and clear them before reuse.

  • be3eb75 (table) Avoid extra allocations when rendering Table by @​airblast-dev in #​1242

    When rendering a Table the Text stored inside of a Cell gets
    cloned before rendering. This removes the clone and uses WidgetRef
    instead, saving us from allocating a Vec<Line<'_>> inside Text. Also
    avoids an allocation when rendering the highlight symbol if it contains
    an owned value.

  • f04bf85 (uncategorized) Add buffer benchmarks by @​joshka in #​1303

  • e6d2e04 (uncategorized) Move benchmarks into a single benchmark harness by @​joshka in #​1302

    Consolidates the benchmarks into a single executable rather than having
    to create a new cargo.toml setting per and makes it easier to rearrange
    these when adding new benchmarks.

Styling
  • a80a8a6 (format) Lint markdown by @​joshka in #​1131

    • chore: Fix line endings for changelog
    • chore: cleanup markdown lints
    • ci: add Markdown linter
    • build: add markdown lint to the makefile

Testing
Miscellaneous Tasks
Build
Continuous Integration
  • 476ac87 (uncategorized) Split up lint job by @​EdJoPaTo in #​1264

    This helps with identifying what failed right from the title. Also steps
    after a failing one are now always executed.

    Also shortens the steps a bit by removing obvious names.

New Contributors

Full Changelog: https://github.com/ratatui/ratatui/compare/v0.27.0...0.28.0

v0.27.0

Compare Source

In this version, we have focused on enhancing usability and functionality with new features like
background styles for LineGauge, palette colors, and various other improvements including
improved performance. Also, we added brand new examples for tracing and creating hyperlinks!

Release highlights: https://ratatui.rs/highlights/v027/

⚠️ List of breaking changes can be found here.

Features
  • eef1afe (linegauge) Allow LineGauge background styles by @​nowNick in #​565

    This PR deprecates `gauge_style` in favor of `filled_style` and
    `unfilled_style` which can have its foreground and background styled.
    
    `cargo run --example=line_gauge --features=crossterm`
    

    https://github.com/ratatui/ratatui/assets/5149215/5fb2ce65-8607-478f-8be4-092e08612f5b

    Implements:ratatui#424

  • 1365620 (borders) Add FULL and EMPTY border sets by @​joshka in #​1182

    border::FULL uses a full block symbol, while border::EMPTY uses an
    empty space. This is useful for when you need to allocate space for the
    border and apply the border style to a block without actually drawing a
    border. This makes it possible to style the entire title area or a block
    rather than just the title content.

use ratatui::{symbols::border, widgets::Block};
let block = Block::bordered().title("Title").border_set(border::FULL);
let block = Block::bordered().title("Title").border_set(border::EMPTY);
cargo run --example tracing
RUST_LOG=trace cargo run --example=tracing
cat tracing.log

Made with VHS

  • 1520ed9 (layout) Impl Display for Position and Size by @​joshka in #​1162

  • 46977d8 (list) Add list navigation methods (first, last, previous, next) by @​joshka in #​1159 [breaking]

    Also cleans up the list example significantly (see also
    <https://github.com/ratatui/ratatui/issues/1157>)
    

    Fixes:ratatui#1159

    BREAKING CHANGE:The List widget now clamps the selected index to the
    bounds of the list when navigating with first, last, previous, and
    next, as well as when setting the index directly with select.

  • 10d7788 (style) Add conversions from the palette crate colors by @​joshka in #​1172

    This is behind the "palette" feature flag.
    
    ```rust
    use palette::{LinSrgb, Srgb};
    use ratatui::style::Color;
    
    let color = Color::from(Srgb::new(1.0f32, 0.0, 0.0));
    let color = Color::from(LinSrgb::new(1.0f32, 0.0, 0.0));
    ```
    
  • 7ef2dae (text) support conversion from Display to Span, Line and Text by @​orhun in #​1167

    Now you can create `Line` and `Text` from numbers like so:
    
    ```rust
    let line = 42.to_line();
    let text = 666.to_text();
    ```
    
  • 74a32af (uncategorized) Re-export backends from the ratatui crate by @​joshka in #​1151

    `crossterm`, `termion`, and `termwiz` can now be accessed as
    `ratatui::{crossterm, termion, termwiz}` respectively. This makes it
    possible to just add the Ratatui crate as a dependency and use the
    backend of choice without having to add the backend crates as
    dependencies.
    
    To update existing code, replace all instances of `crossterm::` with
    `ratatui::crossterm::`, `termion::` with `ratatui::termion::`, and
    `termwiz::` with `ratatui::termwiz::`.
    
  • 3594180 (uncategorized) Make Stylize's .bg(color) generic by @​kdheepak in #​1103 [breaking]

  • 0b5fd6b (uncategorized) Add writer() and writer_mut() to termion and crossterm backends by @​enricozb in #​991

    It is sometimes useful to obtain access to the writer if we want to see
    what has been written so far. For example, when using &mut [u8] as a
    writer.
    
Bug Fixes
Refactor
- list.start_corner(Corner::TopLeft);
- list.start_corner(Corner::TopRight);
// This is not an error, BottomRight rendered top to bottom previously
- list.start_corner(Corner::BottomRight);
// all becomes
+ list.direction(ListDirection::TopToBottom);
- list.start_corner(Corner::BottomLeft);
// becomes
+ list.direction(ListDirection::BottomToTop);

layout::Corner is removed entirely.

  • 4f77910 (padding) Add Padding::ZERO as a constant by @​EdJoPaTo in #​1133

    Deprecate Padding::zero()
    
  • 8061813 (uncategorized) Expand glob imports by @​joshka in #​1152

    Consensus is that explicit imports make it easier to understand the
    example code. This commit removes the prelude import from all examples
    and replaces it with the necessary imports, and expands other glob
    imports (widget::*, Constraint::*, KeyCode::*, etc.) everywhere else.
    Prelude glob imports not in examples are not covered by this PR.
    
    See https://github.com/ratatui/ratatui/issues/1150 for more details.
    
  • d929971 (uncategorized) Dont manually impl Default for defaults by @​EdJoPaTo in #​1142

    Replace `impl Default` by `#[derive(Default)]` when its implementation
    equals.
    
  • 8a60a56 (uncategorized) Needless_pass_by_ref_mut by @​EdJoPaTo in #​1137

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

  • 1de9a82 (uncategorized) Simplify if let by @​EdJoPaTo in #​1135

    While looking through lints
    [`clippy::option_if_let_else`](https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else)
    found these. Other findings are more complex so I skipped them.
    
Documentation
  • 1908b06 (borders) Add missing closing code blocks by @​orhun in #​1195

  • 38bb196 (breaking-changes) Mention LineGauge::gauge_style by @​orhun in #​1194

    see #​565

  • 07efde5 (examples) Add hyperlink example by @​joshka in #​1063

  • 7fdccaf (examples) Add vhs tapes for constraint-explorer and minimal examples by @​joshka in #​1164

  • 4f307e6 (examples) Simplify paragraph example by @​joshka in #​1169

    Related:ratatui#1157

  • f429f68 (examples) Remove lifetimes from the List example by @​matta in #​1132

    Simplify the List example by removing lifetimes not strictly necessary
    to demonstrate how Ratatui lists work. Instead, the sample strings are
    copied into each `TodoItem`. To further simplify, I changed the code to
    use a new TodoItem::new function, rather than an implementation of the
    `From` trait.
    
  • 308c1df (readme) Add links to forum by @​joshka in #​1188

  • 2f8a936 (uncategorized) Fix links on docs.rs by @​EdJoPaTo in #​1144

    This also results in a more readable Cargo.toml as the locations of the
    things are more obvious now.
    
    Includes rewording of the underline-color feature.
    
    Logs of the errors: https://docs.rs/crate/ratatui/0.26.3/builds/1224962
    Also see #&#8203;989
    
Performance
-let area = area.inner(&Margin {
+let area = area.inner(Margin {
     vertical: 0,
     horizontal: 2,
 });
Styling
Testing
Miscellaneous Tasks
  • 7b45f74 (prelude) Add / remove items by @​joshka in #​1149 [breaking]

    his PR removes the items from the prelude that don't form a coherent
    common vocabulary and adds the missing items that do.
    
    Based on a comment at
    <https://www.reddit.com/r/rust/comments/1cle18j/comment/l2uuuh7/>
    

    BREAKING CHANGE:The following items have been removed from the prelude:

  • style::Styled - this trait is useful for widgets that want to
    support the Stylize trait, but it adds complexity as widgets have two
    style methods and a set_style method.

  • symbols::Marker - this item is used by code that needs to draw to
    the Canvas widget, but it's not a common item that would be used by
    most users of the library.

  • terminal::{CompletedFrame, TerminalOptions, Viewport} - these items
    are rarely used by code that needs to interact with the terminal, and
    they're generally only ever used once in any app.

The following items have been added to the prelude:

  • layout::{Position, Size} - these items are used by code that needs
    to interact with the layout system. These are newer items that were
    added in the last few releases, which should be used more liberally.

  • cd64367 (symbols) Add tests for line symbols by @​joshka in #​1186

  • 8cfc316 (uncategorized) Alphabetize examples in Cargo.toml by @​joshka in #​1145

Build
  • 70df102 (bench) Improve benchmark consistency by @​EdJoPaTo in #​1126

    Codegen units are optimized on their own. Per default bench / release
    have 16 codegen units. What ends up in a codeget unit is rather random
    and can influence a benchmark result as a code change can move stuff
    into a different codegen unit → prevent / allow LLVM optimizations
    unrelated to the actual change.
    
    More details: https://doc.rust-lang.org/cargo/reference/profiles.html
    
New Contributors

Full Changelog: https://github.com/ratatui/ratatui/compare/v0.26.3...v0.27.0

serde-rs/json (serde_json)

v1.0.125

Compare Source

v1.0.124

Compare Source

v1.0.123

Compare Source

v1.0.122

Compare Source

  • Support using json! in no-std crates (#​1166)

v1.0.121

Compare Source

v1.0.120

Compare Source

v1.0.119

Compare Source

launchbadge/sqlx (sqlx)

v0.8.0

Compare Source

70 pull requests were merged this release cycle.

#​2697 was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation.

Breaking
  • [#​2697]: fix(macros): only enable chrono when time is disabled [[@​saiintbrisson]]
  • [#​2973]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement [[@​nitn3lav]]
  • [#​2482]: chore: bump syn to 2.0 [[@​saiintbrisson]]
    • Deprecated type ascription syntax in the query macros was removed.
  • [#​2736]: Fix describe on PostgreSQL views with rules [[@​tsing]]
    • Potentially breaking: nullability inference changes for Postgres.
  • [#​2869]: Implement PgHasArrayType for all references [[@​tylerhawkes]]
    • Conflicts with existing manual implementations.
  • [#​2940]: fix: Decode and Encode derives (#​1031) [[@​benluelo]]
    • Changes lifetime obligations for field types.
  • [#​3064]: Sqlite explain graph [[@​tyrelr]]
    • Potentially breaking: nullability inference changes for SQLite.
  • [#​3123]: Reorder attrs in sqlx::test macro [[@​bobozaur]]
    • Potentially breaking: attributes on #[sqlx::test] usages are applied in the correct order now.
  • [#​3126]: Make Encode return a result [[@​FSMaxB]]
  • [#​3130]: Add version information for failed cli migration (#​3129) [[@​FlakM]]
    • Breaking changes to MigrateError.
  • [#​3181]: feat: no tx migration [[@​cleverjam]]
    • (Postgres only) migrations that should not run in a transaction can be flagged by adding -- no-transaction to the beginning.
    • Breaking change: added field to Migration
  • [#​3184]: [BREAKING} fix(sqlite): always use i64 as intermediate when decoding [[@​abonander]]
    • integer decoding will now loudly error on overflow instead of silently truncating.
    • some usages of the query!() macros might change an i32 to an i64.
  • [#​3252]: fix #[derive(sqlx::Type)] in Postgres [[@​abonander]]
    • Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add #[sqlx(no_pg_array)] where conflicts occur.
    • Type equality for PgTypeInfo is now schema-aware.
  • [#​3329]: fix: correct handling of arrays of custom types in Postgres [[@​abonander]]
    • Potential breaking change: PgTypeInfo::with_name() infers types that start with _ to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior.
  • [#​3356]: breaking: fix name collision in FromRow, return Error::ColumnDecode for TryFrom errors [[@​abonander]]
    • Breaking behavior change: errors with #[sqlx(try_from = "T")] now return Error::ColumnDecode instead of Error::ColumnNotFound.
    • Breaking because #[sqlx(default)] on an individual field or the struct itself would have previously suppressed the error.
      This doesn't seem like good behavior as it could result in some potentially very difficult bugs.
      • Instead, create a wrapper implementing From and apply the default explicitly.
  • [#​3337]: allow rename with rename_all (close #​2896) [[@​DirectorX]]
    • Changes the precedence of #[sqlx(rename)] and #[sqlx(rename_all)] to match the expected behavior (rename wins).
  • [#​3285]: fix: use correct names for sslmode options [[@​lily-mosquitoes]]
    • Changes the output of ConnectOptions::to_url_lossy() to match what parsing expects.
Added
Changed
Fixed
Stebalien/tempfile (tempfile)

v3.12.0

  • Add a keep(keep: bool) function to builder that suppresses delete-on-drop behavior (thanks to @​RalfJung).
  • Update windows-sys from 0.52 to 0.59.

v3.11.0

Compare Source

  • Add the ability to override the default temporary directory. This API shouldn't be used in general, but there are some cases where it's unavoidable.
tokio-rs/tokio (tokio)

v1.39.3: Tokio v1.39.3

Compare Source

1.39.3 (August 17th, 2024)

This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#​6772)

v1.39.2: Tokio v1.39.2

Compare Source

1.39.2 (July 27th, 2024)

This release fixes a regression where the select! macro stopped accepting expressions that make use of temporary lifetime extension. (#​6722)

v1.39.1: Tokio v1.39.1

Compare Source

1.39.1 (July 23rd, 2024)

This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#​6715)

v1.39.0: Tokio v1.39.0

Compare Source

1.39.0 (July 23rd, 2024)

  • This release bumps the MSRV to 1.70. (#​6645)
  • This release upgrades to mio v1. (#​6635)
  • This release upgrades to windows-sys v0.52 (#​6154)
Added
  • io: implement AsyncSeek for Empty (#​6663)
  • metrics: stabilize num_alive_tasks (#​6619, #​6667)
  • process: add Command::as_std_mut (#​6608)
  • sync: add watch::Sender::same_channel (#​6637)
  • sync: add {Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count} (#​6661)
  • sync: implement Default for watch::Sender (#​6626)
  • task: implement Clone for AbortHandle (#​6621)
  • task: stabilize consume_budget (#​6622)
Changed
  • io: improve panic message of ReadBuf::put_slice() (#​6629)
  • io: read during write in copy_bidirectional and copy (#​6532)
  • runtime: replace num_cpus with available_parallelism (#​6709)
  • task: avoid stack overflow when passing large future to block_on (#​6692)
  • time: avoid traversing entries in the time wheel twice (#​6584)
  • time: support IntoFuture with timeout (#​6666)
  • macros: support IntoFuture with join! and select! (#​6710)
Fixed
  • docs: fix docsrs builds with the fs feature enabled (#​6585)
  • io: only use short-read optimization on known-to-be-compatible platforms (#​6668)
  • time: fix overflow panic when using large durations with Interval (#​6612)
Added (unstable)
  • macros: allow unhandled_panic behavior for #[tokio::main] and #[tokio::test] (#​6593)
  • metrics: add spawned_tasks_count (#​6114)
  • metrics: add worker_park_unpark_count (#​6696)
  • metrics: add worker thread id (#​6695)
Documented
  • io: update tokio::io::stdout documentation (#​6674)
  • macros: typo fix in join.rs and try_join.rs (#​6641)
  • runtime: fix typo in unhandled_panic (#​6660)
  • task: document behavior of JoinSet::try_join_next when all tasks are running (#​6671)

v1.38.1: Tokio v1.38.1

Compare Source

1.38.1 (July 16th, 2024)

This release fixes the bug identified as (#​6682), which caused timers not
to fire when they should.

Fixed
  • time: update wake_up while holding all the locks of sharded time wheels (#​6683)
toml-rs/toml (toml)

v0.8.19

Compare Source

v0.8.18

Compare Source

v0.8.17

Compare Source

v0.8.16

Compare Source

v0.8.15

Compare Source

uuid-rs/uuid (uuid)

v1.10.0

Compare Source

Deprecations

This release deprecates and renames the following functions:

  • Builder::from_rfc4122_timestamp -> Builder::from_gregorian_timestamp
  • Builder::from_sorted_rfc4122_timestamp -> Builder::from_sorted_gregorian_timestamp
  • Timestamp::from_rfc4122 -> Timestamp::from_gregorian
  • Timestamp::to_rfc4122 -> Timestamp::to_gregorian

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.8` -> `4.5.16` | | [crossterm](https://github.com/crossterm-rs/crossterm) | dependencies | minor | `0.27.0` -> `0.28.0` | | [human-panic](https://github.com/rust-cli/human-panic) | dependencies | patch | `2.0.0` -> `2.0.1` | | [ratatui](https://ratatui.rs) ([source](https://github.com/ratatui-org/ratatui)) | dependencies | minor | `0.26.2` -> `0.28.0` | | [serde_json](https://github.com/serde-rs/json) | dependencies | patch | `1.0.118` -> `1.0.125` | | [serde_json](https://github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.118` -> `1.0.125` | | [sqlx](https://github.com/launchbadge/sqlx) | dependencies | minor | `0.7.4` -> `0.8.0` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://github.com/Stebalien/tempfile)) | dev-dependencies | minor | `3.10.1` -> `3.12.0` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.38.0` -> `1.39.3` | | [toml](https://github.com/toml-rs/toml) | workspace.dependencies | patch | `0.8.14` -> `0.8.19` | | [uuid](https://github.com/uuid-rs/uuid) | dependencies | minor | `1.9.1` -> `1.10.0` | | [uuid](https://github.com/uuid-rs/uuid) | workspace.dependencies | minor | `1.9.1` -> `1.10.0` | --- ### Release Notes <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4516---2024-08-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.15...v4.5.16) ##### Fixes - *(derive)* Improve error messages when `derive` feature is missing ### [`v4.5.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it ### [`v4.5.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4513---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.12...v4.5.13) ##### Fixes - *(derive)* Improve error message when `#[flatten]`ing an optional `#[group(skip)]` - *(help)* Properly wrap long subcommand descriptions in help ### [`v4.5.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4512---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.11...v4.5.12) ### [`v4.5.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4511---2024-07-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.10...v4.5.11) ### [`v4.5.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4510---2024-07-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.9...v4.5.10) ### [`v4.5.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#459---2024-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.8...v4.5.9) ##### Fixes - *(error)* When defining a custom help flag, be sure to suggest it like we do the built-in one </details> <details> <summary>crossterm-rs/crossterm (crossterm)</summary> ### [`v0.28.1`](https://github.com/crossterm-rs/crossterm/blob/HEAD/CHANGELOG.md#Version-0281) #### Fixed 🐛 - Fix broken build on linux when using `use-dev-tty` with ([#&#8203;906](https://github.com/crossterm-rs/crossterm/issues/906)) #### Breaking ⚠️ - Fix desync with mio and signalhook between repo and published crate. (upgrade to mio 1.0) </details> <details> <summary>rust-cli/human-panic (human-panic)</summary> ### [`v2.0.1`](https://github.com/rust-cli/human-panic/blob/HEAD/CHANGELOG.md#201---2024-07-25) [Compare Source](https://github.com/rust-cli/human-panic/compare/v2.0.0...v2.0.1) ##### Compatibility - Update MSV to 1.74 </details> <details> <summary>ratatui-org/ratatui (ratatui)</summary> ### [`v0.28.0`](https://github.com/ratatui-org/ratatui/blob/HEAD/CHANGELOG.md#0280---2024-08-07) [Compare Source](https://github.com/ratatui-org/ratatui/compare/v0.27.0...v0.28.0) *"If you are what you eat, then I only want to eat the good stuff." – Remy* We are excited to announce the new version of `ratatui` - a Rust library that's all about cooking up TUIs 🐭 In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements. New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods. We have also refined the terminal module and added brand new methods for cursor positions and text operations. ✨ **Release highlights**: <https://ratatui.rs/highlights/v028/> ⚠️ List of breaking changes can be found [here](https://github.com/ratatui/ratatui/blob/main/BREAKING-CHANGES.md). ##### Features - [8d4a102](https://github.com/ratatui/ratatui/commit/8d4a1026ab410a52570737c6d62edcd0a205091e) *(barchart)* Allow axes to accept Lines by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1273](https://github.com/ratatui/ratatui/pull/1273) \[**breaking**] > Fixes:[ratatui#1272](https://github.com/ratatui/ratatui/issues/1272) - [a23ecd9](https://github.com/ratatui/ratatui/commit/a23ecd9b456ab2aa4dc858fe31461a6224b40fe3) *(buffer)* Add Buffer::cell, cell_mut and index implementations by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1084](https://github.com/ratatui/ratatui/pull/1084) > Code which previously called `buf.get(x, y)` or `buf.get_mut(x, y)` > should now use index operators, or be transitioned to `buff.cell()` or > `buf.cell_mut()` for safe access that avoids panics by returning > `Option<&Cell>` and `Option<&mut Cell>`. > > The new methods accept `Into<Position>` instead of `x` and `y` > coordinates, which makes them more ergonomic to use. > > ```rust > let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10)); > > let cell = buf[(0, 0)]; > let cell = buf[Position::new(0, 0)]; > > let symbol = buf.cell((0, 0)).map(|cell| cell.symbol()); > let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol()); > > buf[(0, 0)].set_symbol("🐀"); > buf[Position::new(0, 0)].set_symbol("🐀"); > > buf.cell_mut((0, 0)).map(|cell| cell.set_symbol("🐀")); > buf.cell_mut(Position::new(0, 0)).map(|cell| cell.set_symbol("🐀")); > ``` > > The existing `get()` and `get_mut()` methods are marked as deprecated. > These are fairly widely used and we will leave these methods around on > the buffer for a longer time than our normal deprecation approach (2 > major release) > > Addresses part of: [ratatui#1011](https://github.com/ratatui/ratatui/issues/1011) > > *** - [afe1534](https://github.com/ratatui/ratatui/commit/afe15349c87efefc5c9f0385f8f145f4b9c42c0a) *(chart)* Accept `IntoIterator` for axis labels by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1283](https://github.com/ratatui/ratatui/pull/1283) \[**breaking**] > BREAKING CHANGES: [#&#8203;1273](https://github.com/ratatui-org/ratatui/issues/1273) is already breaking and this only advances the > already breaking part - [5b51018](https://github.com/ratatui/ratatui/commit/5b51018501c859d4e6ee0ff55e010310bda5511f) *(chart)* Add GraphType::Bar by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1205](https://github.com/ratatui/ratatui/pull/1205) > ![Demo](https://vhs.charm.sh/vhs-50v7I5n7lQF7tHCb1VCmFc.gif) - [f97e07c](https://github.com/ratatui/ratatui/commit/f97e07c08a332e257efabdbe3f8bb306aec2a8eb) *(frame)* Replace Frame::size() with Frame::area() by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1293](https://github.com/ratatui/ratatui/pull/1293) > Area is the more correct term for the result of this method. > The Frame::size() method is marked as deprecated and will be > removed around Ratatui version 0.30 or later. > > Fixes:[ratatui#1254 (comment)](https://github.com/ratatui/ratatui/pull/1254#issuecomment-2268061409) - [5b89bd0](https://github.com/ratatui/ratatui/commit/5b89bd04a8a4860dc5040150464b45d1909184db) *(layout)* Add Size::ZERO and Position::ORIGIN constants by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1253](https://github.com/ratatui/ratatui/pull/1253) - [b2aa843](https://github.com/ratatui/ratatui/commit/b2aa843b310d8df77d16670c302b247fc0315372) *(layout)* Enable serde for Margin, Position, Rect, Size by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1255](https://github.com/ratatui/ratatui/pull/1255) - [36d49e5](https://github.com/ratatui/ratatui/commit/36d49e549b9e19e87e71c23afaee274fa7415fde) *(table)* Select first, last, etc to table state by [@&#8203;robertpsoane](https://github.com/robertpsoane) in [#&#8203;1198](https://github.com/ratatui/ratatui/pull/1198) > Add select_previous, select_next, select_first & select_last to > TableState > > Used equivalent API as in ListState - [3bb374d](https://github.com/ratatui/ratatui/commit/3bb374df88c79429767d9eb788bda2e65b3ba412) *(terminal)* Add Terminal::try_draw() method by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1209](https://github.com/ratatui/ratatui/pull/1209) > This makes it easier to write fallible rendering methods that can use > the `?` operator > > ```rust > terminal.try_draw(|frame| { > some_method_that_can_fail()?; > another_faillible_method()?; > Ok(()) > })?; > ``` - [3725262](https://github.com/ratatui/ratatui/commit/3725262ca384d28a46e03013023a19677b5a35fe) *(text)* Add `Add` and `AddAssign` implementations for `Line`, `Span`, and `Text` by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1236](https://github.com/ratatui/ratatui/pull/1236) > This enables: > > ```rust > let line = Span::raw("Red").red() + Span::raw("blue").blue(); > let line = Line::raw("Red").red() + Span::raw("blue").blue(); > let line = Line::raw("Red").red() + Line::raw("Blue").blue(); > let text = Line::raw("Red").red() + Line::raw("Blue").blue(); > let text = Text::raw("Red").red() + Line::raw("Blue").blue(); > > let mut line = Line::raw("Red").red(); > line += Span::raw("Blue").blue(); > > let mut text = Text::raw("Red").red(); > text += Line::raw("Blue").blue(); > > line.extend(vec![Span::raw("1"), Span::raw("2"), Span::raw("3")]); > ``` - [c34fb77](https://github.com/ratatui/ratatui/commit/c34fb778183b8360ac0a273af16c695c33632b39) *(text)* Remove unnecessary lifetime from ToText trait by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1234](https://github.com/ratatui/ratatui/pull/1234) \[**breaking**] > BREAKING CHANGE:The ToText trait no longer has a lifetime parameter. > This change simplifies the trait and makes it easier implement. - [c68ee6c](https://github.com/ratatui/ratatui/commit/c68ee6c64a7c48955a7b26db1db57f8427e35e5c) *(uncategorized)* Add `get/set_cursor_position()` methods to Terminal and Backend by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1284](https://github.com/ratatui/ratatui/pull/1284) \[**breaking**] > The new methods return/accept `Into<Position>` which can be either a Position or a (u16, u16) tuple. > > ```rust > backend.set_cursor_position(Position { x: 0, y: 20 })?; > let position = backend.get_cursor_position()?; > terminal.set_cursor_position((0, 20))?; > let position = terminal.set_cursor_position()?; > ``` - [b70cd03](https://github.com/ratatui/ratatui/commit/b70cd03c029d91acd4709c2b91c735b8d796987c) *(uncategorized)* Add ListState / TableState scroll_down_by() / scroll_up_by() methods by [@&#8203;josueBarretogit](https://github.com/josueBarretogit) in [#&#8203;1267](https://github.com/ratatui/ratatui/pull/1267) > Implement new methods `scroll_down_by(u16)` and `scroll_up_by(u16)` for > both `Liststate` and `Tablestate`. > > Closes:[#&#8203;1207](https://github.com/ratatui-org/ratatui/issues/1207) ##### Bug Fixes - [864cd9f](https://github.com/ratatui/ratatui/commit/864cd9ffef47c43269fa16e773fc7c6e06d13bf3) *(testbackend)* Prevent area mismatch by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1252](https://github.com/ratatui/ratatui/pull/1252) > Removes the height and width fields from TestBackend, which can get > out of sync with the Buffer, which currently clamps to 255,255. > > This changes the `TestBackend` serde representation. It should be > possible to read older data, but data generated after this change > can't be read by older versions. - [7e1bab0](https://github.com/ratatui/ratatui/commit/7e1bab049bc5acd4a5cb13189e8f86fec5813ab8) *(buffer)* Dont render control characters by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1226](https://github.com/ratatui/ratatui/pull/1226) - [c08b522](https://github.com/ratatui/ratatui/commit/c08b522d34ef3bfae37342ba1bff897cb320971e) *(chart)* Allow removing all the axis labels by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1282](https://github.com/ratatui/ratatui/pull/1282) > `axis.labels(vec![])` removes all the labels correctly. > > This makes calling axis.labels with an empty Vec the equivalent > of not calling axis.labels. It's likely that this is never used, but it > prevents weird cases by removing the mix-up of `Option::None` > and `Vec::is_empty`, and simplifies the implementation code. - [03f3124](https://github.com/ratatui/ratatui/commit/03f3124c1d83294788213fb4195a708f86eecd4f) *(paragraph)* Line_width, and line_count include block borders by [@&#8203;airblast-dev](https://github.com/airblast-dev) in [#&#8203;1235](https://github.com/ratatui/ratatui/pull/1235) > The `line_width`, and `line_count` methods for `Paragraph` would not > take into account the `Block` if one was set. This will now correctly > calculate the values including the `Block`'s width/height. > > Fixes:[#&#8203;1233](https://github.com/ratatui-org/ratatui/issues/1233) - [3ca920e](https://github.com/ratatui/ratatui/commit/3ca920e881f2f78ada27e0ff19a9705bb194e533) *(span)* Prevent panic on rendering out of y bounds by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1257](https://github.com/ratatui/ratatui/pull/1257) - [84cb164](https://github.com/ratatui/ratatui/commit/84cb16483a76f1eb28f31f4a99075edfd78635f4) *(terminal)* Make terminal module private by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1260](https://github.com/ratatui/ratatui/pull/1260) \[**breaking**] > This is a simplification of the public API that is helpful for new users > that are not familiar with how rust re-exports work, and helps avoid > clashes with other modules in the backends that are named terminal. > > BREAKING CHANGE:The `terminal` module is now private and can not be > used directly. The types under this module are exported from the root of > the crate. > > ```diff > - use ratatui::terminal::{CompletedFrame, Frame, Terminal, TerminalOptions, ViewPort}; > + use ratatui::{CompletedFrame, Frame, Terminal, TerminalOptions, ViewPort}; > ``` > > Fixes:[ratatui#1210](https://github.com/ratatui/ratatui/issues/1210) - [29c8c84](https://github.com/ratatui/ratatui/commit/29c8c84fd05692e8981fc21ae55102bf29835431) *(uncategorized)* Ignore newlines in Span's Display impl by [@&#8203;SUPERCILEX](https://github.com/SUPERCILEX) in [#&#8203;1270](https://github.com/ratatui/ratatui/pull/1270) - [cd93547](https://github.com/ratatui/ratatui/commit/cd93547db869aab3dbca49f11667a8091a7077bd) *(uncategorized)* Remove unnecessary synchronization in layout cache by [@&#8203;SUPERCILEX](https://github.com/SUPERCILEX) in [#&#8203;1245](https://github.com/ratatui/ratatui/pull/1245) > Layout::init_cache no longer returns bool and takes a NonZeroUsize instead of usize > > The cache is a thread-local, so doesn't make much sense to require > synchronized initialization. - [b344f95](https://github.com/ratatui/ratatui/commit/b344f95b7cfc3b90221c84cfef8afcf6944bafc1) *(uncategorized)* Only apply style to first line when rendering a `Line` by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1247](https://github.com/ratatui/ratatui/pull/1247) > A `Line` widget should only apply its style to the first line when > rendering and not the entire area. This is because the `Line` widget > should only render a single line of text. This commit fixes the issue by > clamping the area to a single line before rendering the text. - [7ddfbc0](https://github.com/ratatui/ratatui/commit/7ddfbc0010400f39756a66a666702176e508c5ea) *(uncategorized)* Unnecessary allocations when creating Lines by [@&#8203;SUPERCILEX](https://github.com/SUPERCILEX) in [#&#8203;1237](https://github.com/ratatui/ratatui/pull/1237) - [84f3341](https://github.com/ratatui/ratatui/commit/84f334163be2945ca8f5da9e0b244b6413a4d329) *(uncategorized)* Clippy lints from rust 1.80.0 by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1238](https://github.com/ratatui/ratatui/pull/1238) ##### Refactor - [bb68bc6](https://github.com/ratatui/ratatui/commit/bb68bc6968219dacea8f3c272bb99d142d2f3253) *(backend)* Return `Size` from `Backend::size` instead of `Rect` by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1254](https://github.com/ratatui/ratatui/pull/1254) \[**breaking**] > The `Backend::size` method returns a `Size` instead of a `Rect`. > There is no need for the position here as it was always 0,0. - [e81663b](https://github.com/ratatui/ratatui/commit/e81663bec07f46433db7b6eb0154ca48e9389bdb) *(list)* Split up list.rs into smaller modules by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1204](https://github.com/ratatui/ratatui/pull/1204) - [e707ff1](https://github.com/ratatui/ratatui/commit/e707ff11d15b5ee10ef2cffc934bb132ee8a1ead) *(uncategorized)* Internally use Position struct by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1256](https://github.com/ratatui/ratatui/pull/1256) - [32a0b26](https://github.com/ratatui/ratatui/commit/32a0b265253cb83cbf1d51784abf150fed7ef82f) *(uncategorized)* Simplify WordWrapper implementation by [@&#8203;tranzystorekk](https://github.com/tranzystorekk) in [#&#8203;1193](https://github.com/ratatui/ratatui/pull/1193) ##### Documentation - [6ce447c](https://github.com/ratatui/ratatui/commit/6ce447c4f344ae7bec11d7f98cdc49ccac800df8) *(block)* Add docs about style inheritance by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1190](https://github.com/ratatui/ratatui/pull/1190) > Fixes:[ratatui#1129](https://github.com/ratatui/ratatui/issues/1129) - [55e0880](https://github.com/ratatui/ratatui/commit/55e0880d2fef35b328901b4194d39101fe26a9e9) *(block)* Update block documentation by [@&#8203;leohscl](https://github.com/leohscl) in [#&#8203;1206](https://github.com/ratatui/ratatui/pull/1206) > Update block documentation with constructor methods and setter methods > in the main doc comment Added an example for using it to surround > widgets > > Fixes:[ratatui#914](https://github.com/ratatui/ratatui/issues/914) - [f2fa1ae](https://github.com/ratatui/ratatui/commit/f2fa1ae9aa6f456615c519dcb17d7d3b8177bfb8) *(breaking-changes)* Add missing code block by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1291](https://github.com/ratatui/ratatui/pull/1291) - [f687af7](https://github.com/ratatui/ratatui/commit/f687af7c0d1dfc87302d2cf3b9ef7c7d58edb2d3) *(breaking-changes)* Mention removed lifetime of ToText trait by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1292](https://github.com/ratatui/ratatui/pull/1292) - [d468463](https://github.com/ratatui/ratatui/commit/d468463fc6aff426131f3ff61dc63291b90b37d1) *(breaking-changes)* Fix the PR link by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1294](https://github.com/ratatui/ratatui/pull/1294) - [1b9bdd4](https://github.com/ratatui/ratatui/commit/1b9bdd425cb68bbb5f57900175ad88a9b211f607) *(contributing)* Fix minor issues by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1300](https://github.com/ratatui/ratatui/pull/1300) - [5f7a7fb](https://github.com/ratatui/ratatui/commit/5f7a7fbe19ecf36c5060a6ba8835d92029a15777) *(examples)* Update barcharts gifs by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1306](https://github.com/ratatui/ratatui/pull/1306) - [fe4eeab](https://github.com/ratatui/ratatui/commit/fe4eeab676e8db69a1e4f878173cdda0d96d5f7f) *(examples)* Simplify the barchart example by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1079](https://github.com/ratatui/ratatui/pull/1079) > The `barchart` example has been split into two examples: `barchart` and > `barchart-grouped`. The `barchart` example now shows a simple barchart > with random data, while the `barchart-grouped` example shows a grouped > barchart with fake revenue data. > > This simplifies the examples a bit so they don't cover too much at once. > > - Simplify the rendering functions > - Fix several clippy lints that were marked as allowed > > *** - [6e7b4e4](https://github.com/ratatui/ratatui/commit/6e7b4e4d55abcfeb3ffa598086ab227604b26ff7) *(examples)* Add async example by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1248](https://github.com/ratatui/ratatui/pull/1248) > This example demonstrates how to use Ratatui with widgets that fetch > data asynchronously. It uses the `octocrab` crate to fetch a list of > pull requests from the GitHub API. You will need an environment > variable named `GITHUB_TOKEN` with a valid GitHub personal access > token. The token does not need any special permissions. - [935a718](https://github.com/ratatui/ratatui/commit/935a7187c273e0efc876d094d6247d50e28677a3) *(examples)* Add missing examples to README by [@&#8203;kibibyt3](https://github.com/kibibyt3) in [#&#8203;1225](https://github.com/ratatui/ratatui/pull/1225) > Resolves:[#&#8203;1014](https://github.com/ratatui-org/ratatui/issues/1014) - [50e5674](https://github.com/ratatui/ratatui/commit/50e5674a20edad0d95bd103522b21df35b38430b) *(examples)* Fix: fix typos in tape files by [@&#8203;kibibyt3](https://github.com/kibibyt3) in [#&#8203;1224](https://github.com/ratatui/ratatui/pull/1224) - [810da72](https://github.com/ratatui/ratatui/commit/810da72f26acd8761031d9a822957df9588ac406) *(examples)* Fix hyperlink example tape by [@&#8203;kibibyt3](https://github.com/kibibyt3) in [#&#8203;1222](https://github.com/ratatui/ratatui/pull/1222) - [5eeb1cc](https://github.com/ratatui/ratatui/commit/5eeb1ccbc4e1e1dff4979647f87e91c515a56fd5) *(github)* Create CODE_OF_CONDUCT.md by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1279](https://github.com/ratatui/ratatui/pull/1279) - [7c0665c](https://github.com/ratatui/ratatui/commit/7c0665cb0e34eff3ca427d2ada81f043f20cea00) *(layout)* Fix typo in example by [@&#8203;EmiOnGit](https://github.com/EmiOnGit) in [#&#8203;1217](https://github.com/ratatui/ratatui/pull/1217) - [272d059](https://github.com/ratatui/ratatui/commit/272d0591a7efc09897a2566969fbafcb2423fdbc) *(paragraph)* Update main docs by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1202](https://github.com/ratatui/ratatui/pull/1202) - [bb71e5f](https://github.com/ratatui/ratatui/commit/bb71e5ffd484fa3296d014d72d8a0521f56c7876) *(readme)* Remove MSRV by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1266](https://github.com/ratatui/ratatui/pull/1266) > This notice was useful when the `Cargo.toml` had no standardized field > for this. Now it's easier to look it up in the `Cargo.toml` and it's > also a single point of truth. Updating the README was overlooked for > quite some time so it's better to just omit it rather than having > something wrong that will be forgotten again in the future. - [8857037](https://github.com/ratatui/ratatui/commit/8857037bfff52104affa3c764dea0f3370cc702c) *(terminal)* Fix imports by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1263](https://github.com/ratatui/ratatui/pull/1263) - [2fd5ae6](https://github.com/ratatui/ratatui/commit/2fd5ae64bf1440fccf072c1b6aa3dc03dc9ac1ec) *(widgets)* Document stability of WidgetRef by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1288](https://github.com/ratatui/ratatui/pull/1288) > Addresses some confusion about when to implement `WidgetRef` vs `impl > Widget for &W`. Notes the stability rationale and links to an issue that > helps explain the context of where we're at in working this out. - [716c931](https://github.com/ratatui/ratatui/commit/716c93136e0c0f11e62364fdc9b32ec58036851e) *(uncategorized)* Document crossterm breaking change by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1281](https://github.com/ratatui/ratatui/pull/1281) - [f775030](https://github.com/ratatui/ratatui/commit/f77503050ffbe4dd2d4949cb22b451a2b0fe9296) *(uncategorized)* Update main lib.rs / README examples by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1280](https://github.com/ratatui/ratatui/pull/1280) - [8433d09](https://github.com/ratatui/ratatui/commit/8433d0958bd0a384383bdefe28e6146de1332e17) *(uncategorized)* Update demo image by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1276](https://github.com/ratatui/ratatui/pull/1276) > Follow up to [ratatui#1203](https://github.com/ratatui/ratatui/pull/1203) ##### Performance - [663486f](https://github.com/ratatui/ratatui/commit/663486f1e8deae6287d4d0051dfab0682b700423) *(list)* Avoid extra allocations when rendering `List` by [@&#8203;airblast-dev](https://github.com/airblast-dev) in [#&#8203;1244](https://github.com/ratatui/ratatui/pull/1244) > When rendering a `List`, each `ListItem` would be cloned. Removing the > clone, and replacing `Widget::render` with `WidgetRef::render_ref` saves > us allocations caused by the clone of the `Text<'_>` stored inside of > `ListItem`. > > Based on the results of running the "list" benchmark locally; > Performance is improved by %1-3 for all `render` benchmarks for `List`. - [4753b72](https://github.com/ratatui/ratatui/commit/4753b7241bf3f33b9d953d301f83baa547e7037c) *(reflow)* Eliminate most WordWrapper allocations by [@&#8203;SUPERCILEX](https://github.com/SUPERCILEX) in [#&#8203;1239](https://github.com/ratatui/ratatui/pull/1239) > On large paragraphs (~1MB), this saves hundreds of thousands of > allocations. > > TL;DR:reuse as much memory as possible across `next_line` calls. > Instead of allocating new buffers each time, allocate the buffers once > and clear them before reuse. - [be3eb75](https://github.com/ratatui/ratatui/commit/be3eb75ea58127caad6696a21d794f5f99e0dfd6) *(table)* Avoid extra allocations when rendering `Table` by [@&#8203;airblast-dev](https://github.com/airblast-dev) in [#&#8203;1242](https://github.com/ratatui/ratatui/pull/1242) > When rendering a `Table` the `Text` stored inside of a `Cell` gets > cloned before rendering. This removes the clone and uses `WidgetRef` > instead, saving us from allocating a `Vec<Line<'_>>` inside `Text`. Also > avoids an allocation when rendering the highlight symbol if it contains > an owned value. - [f04bf85](https://github.com/ratatui/ratatui/commit/f04bf855cbc28e0ae29eaf678f26425a05f2295e) *(uncategorized)* Add buffer benchmarks by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1303](https://github.com/ratatui/ratatui/pull/1303) - [e6d2e04](https://github.com/ratatui/ratatui/commit/e6d2e04bcf2340c901ba1513ddaf84d358751768) *(uncategorized)* Move benchmarks into a single benchmark harness by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1302](https://github.com/ratatui/ratatui/pull/1302) > Consolidates the benchmarks into a single executable rather than having > to create a new cargo.toml setting per and makes it easier to rearrange > these when adding new benchmarks. ##### Styling - [a80a8a6](https://github.com/ratatui/ratatui/commit/a80a8a6a473274aa44a4543d945760123f9d5407) *(format)* Lint markdown by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1131](https://github.com/ratatui/ratatui/pull/1131) > - **chore: Fix line endings for changelog** > - **chore: cleanup markdown lints** > - **ci: add Markdown linter** > - **build: add markdown lint to the makefile** > > *** ##### Testing - [32d0695](https://github.com/ratatui/ratatui/commit/32d0695cc2d56900d8a6246d9d876393294dd94e) *(buffer)* Ensure emojis are rendered by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1258](https://github.com/ratatui/ratatui/pull/1258) ##### Miscellaneous Tasks - [82b70fd](https://github.com/ratatui/ratatui/commit/82b70fd329885f8ab3cb972b6fe117bc27e3d96a) *(ci)* Integrate cargo-semver-checks by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1166](https://github.com/ratatui/ratatui/pull/1166) > > > > [`cargo-semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks): > Lint your crate API changes for semver violations. - [c245c13](https://github.com/ratatui/ratatui/commit/c245c13cc14ac8c483c4aeb6e2e3b4f8e387b791) *(ci)* Onboard bencher for tracking benchmarks by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1174](https://github.com/ratatui/ratatui/pull/1174) > <https://bencher.dev/console/projects/ratatui-org> > > Closes:[#&#8203;1092](https://github.com/ratatui-org/ratatui/issues/1092) - [efef0d0](https://github.com/ratatui/ratatui/commit/efef0d0dc0872ed2b0c5d865ef008698f3051d10) *(ci)* Change label from `breaking change` to `Type: Breaking Change` by [@&#8203;kdheepak](https://github.com/kdheepak) in [#&#8203;1243](https://github.com/ratatui/ratatui/pull/1243) > This PR changes the label that is auto attached to a PR with a breaking > change per the conventional commits specification. - [41a9100](https://github.com/ratatui/ratatui/commit/41a910004dfe69de135845fac900dd4240a865c7) *(github)* Use the GitHub organization team as codeowners by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1081](https://github.com/ratatui/ratatui/pull/1081) > Use GitHub organization team in CODEOWNERS and create MAINTAINERS.md - [3e7458f](https://github.com/ratatui/ratatui/commit/3e7458fdb8051b9a62aac551372d5592e7f59eb7) *(github)* Add forums and faqs to the issue template by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1201](https://github.com/ratatui/ratatui/pull/1201) - [45fcab7](https://github.com/ratatui/ratatui/commit/45fcab7497650685781434e27abf3ddf0459aead) *(uncategorized)* Add rect::rows benchmark by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1301](https://github.com/ratatui/ratatui/pull/1301) - [edc2af9](https://github.com/ratatui/ratatui/commit/edc2af98223229656480dd30e03f1230b0aba919) *(uncategorized)* Replace big_text with hardcoded logo by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1203](https://github.com/ratatui/ratatui/pull/1203) > big_text.rs was a copy of the code from tui-big-text and was getting > gradually out of sync with the original crate. It was also rendering > something a bit different than the Ratatui logo. This commit replaces > the big_text.rs file with a much smaller string representation of the > Ratatui logo. > > ![demo2](https://raw.githubusercontent.com/ratatui/ratatui/images/examples/demo2-destroy.gif) - [c2d3850](https://github.com/ratatui/ratatui/commit/c2d38509b4d6a5d80f721c08d4e8727a37475aa6) *(uncategorized)* Use LF line endings for CHANGELOG.md instead of CRLF by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1269](https://github.com/ratatui/ratatui/pull/1269) - [a9fe428](https://github.com/ratatui/ratatui/commit/a9fe4284acfa6ca01260c11b0f64f8f610272d20) *(uncategorized)* Update cargo-deny config by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1265](https://github.com/ratatui/ratatui/pull/1265) > Update `cargo-deny` config (noticed in > [ratatui#1263 (comment)](https://github.com/ratatui/ratatui/pull/1263#pullrequestreview-2215488414)) > > See [EmbarkStudios/cargo-deny#611](https://github.com/EmbarkStudios/cargo-deny/pull/611) - [ffc4300](https://github.com/ratatui/ratatui/commit/ffc43005589c9baf90db839f5388d3783d59e963) *(uncategorized)* Remove executable flag for rs files by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1262](https://github.com/ratatui/ratatui/pull/1262) - [7bab9f0](https://github.com/ratatui/ratatui/commit/7bab9f0d802e154f3551f895399398a4d43d489f) *(uncategorized)* Add more CompactString::const_new instead of new by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1230](https://github.com/ratatui/ratatui/pull/1230) - [ccf83e6](https://github.com/ratatui/ratatui/commit/ccf83e6d7610bf74f4ab02e0b1e2fe0e55ad9e78) *(uncategorized)* Update labels in issue templates by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1212](https://github.com/ratatui/ratatui/pull/1212) ##### Build - [379dab9](https://github.com/ratatui/ratatui/commit/379dab9cdb8f1836836dc3ad6bf411088d610f37) *(uncategorized)* Cleanup dev dependencies by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1231](https://github.com/ratatui/ratatui/pull/1231) ##### Continuous Integration - [476ac87](https://github.com/ratatui/ratatui/commit/476ac87c9937de8863d2e884efdac19c8c1e43d2) *(uncategorized)* Split up lint job by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1264](https://github.com/ratatui/ratatui/pull/1264) > This helps with identifying what failed right from the title. Also steps > after a failing one are now always executed. > > Also shortens the steps a bit by removing obvious names. ##### New Contributors - [@&#8203;SUPERCILEX](https://github.com/SUPERCILEX) made their first contribution in [#&#8203;1239](https://github.com/ratatui/ratatui/pull/1239) - [@&#8203;josueBarretogit](https://github.com/josueBarretogit) made their first contribution in [#&#8203;1267](https://github.com/ratatui/ratatui/pull/1267) - [@&#8203;airblast-dev](https://github.com/airblast-dev) made their first contribution in [#&#8203;1242](https://github.com/ratatui/ratatui/pull/1242) - [@&#8203;kibibyt3](https://github.com/kibibyt3) made their first contribution in [#&#8203;1225](https://github.com/ratatui/ratatui/pull/1225) - [@&#8203;EmiOnGit](https://github.com/EmiOnGit) made their first contribution in [#&#8203;1217](https://github.com/ratatui/ratatui/pull/1217) - [@&#8203;leohscl](https://github.com/leohscl) made their first contribution in [#&#8203;1206](https://github.com/ratatui/ratatui/pull/1206) - [@&#8203;robertpsoane](https://github.com/robertpsoane) made their first contribution in [#&#8203;1198](https://github.com/ratatui/ratatui/pull/1198) **Full Changelog**: <https://github.com/ratatui/ratatui/compare/v0.27.0...0.28.0> ### [`v0.27.0`](https://github.com/ratatui-org/ratatui/blob/HEAD/CHANGELOG.md#0270---2024-06-24) [Compare Source](https://github.com/ratatui-org/ratatui/compare/v0.26.3...v0.27.0) In this version, we have focused on enhancing usability and functionality with new features like background styles for LineGauge, palette colors, and various other improvements including improved performance. Also, we added brand new examples for tracing and creating hyperlinks! ✨ **Release highlights**: <https://ratatui.rs/highlights/v027/> ⚠️ List of breaking changes can be found [here](https://github.com/ratatui/ratatui/blob/main/BREAKING-CHANGES.md). ##### Features - [eef1afe](https://github.com/ratatui/ratatui/commit/eef1afe9155089dca489a9159c368a5ac07e7585) *(linegauge)* Allow LineGauge background styles by [@&#8203;nowNick](https://github.com/nowNick) in [#&#8203;565](https://github.com/ratatui/ratatui/pull/565) ```text This PR deprecates `gauge_style` in favor of `filled_style` and `unfilled_style` which can have its foreground and background styled. `cargo run --example=line_gauge --features=crossterm` ``` <https://github.com/ratatui/ratatui/assets/5149215/5fb2ce65-8607-478f-8be4-092e08612f5b> Implements:[ratatui#424](https://github.com/ratatui/ratatui/issues/424) - [1365620](https://github.com/ratatui/ratatui/commit/13656206064b53c7f86f179b570c7769399212a3) *(borders)* Add FULL and EMPTY border sets by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1182](https://github.com/ratatui/ratatui/pull/1182) `border::FULL` uses a full block symbol, while `border::EMPTY` uses an empty space. This is useful for when you need to allocate space for the border and apply the border style to a block without actually drawing a border. This makes it possible to style the entire title area or a block rather than just the title content. ```rust use ratatui::{symbols::border, widgets::Block}; let block = Block::bordered().title("Title").border_set(border::FULL); let block = Block::bordered().title("Title").border_set(border::EMPTY); ``` - [7a48c5b](https://github.com/ratatui/ratatui/commit/7a48c5b11b3d51b915ccc187d0499b6e0e88b89d) *(cell)* Add EMPTY and (const) new method by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1143](https://github.com/ratatui/ratatui/pull/1143) ```text This simplifies calls to `Buffer::filled` in tests. ``` - [3f2f2cd](https://github.com/ratatui/ratatui/commit/3f2f2cd6abf67a04809ff314025a462a3c2e2446) *(docs)* Add tracing example by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1192](https://github.com/ratatui/ratatui/pull/1192) ```text Add an example that demonstrates logging to a file for: ``` <https://forum.ratatui.rs/t/how-do-you-println-debug-your-tui-programs/66> ```shell cargo run --example tracing RUST_LOG=trace cargo run --example=tracing cat tracing.log ``` ![Made with VHS](https://vhs.charm.sh/vhs-21jgJCedh2YnFDONw0JW7l.gif) - [1520ed9](https://github.com/ratatui/ratatui/commit/1520ed9d106f99580a9e529212e43dac06a2f6d2) *(layout)* Impl Display for Position and Size by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1162](https://github.com/ratatui/ratatui/pull/1162) - [46977d8](https://github.com/ratatui/ratatui/commit/46977d88519d28ccac1c94e171af0c9cca071dbc) *(list)* Add list navigation methods (first, last, previous, next) by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1159](https://github.com/ratatui/ratatui/pull/1159) \[**breaking**] ```text Also cleans up the list example significantly (see also <https://github.com/ratatui/ratatui/issues/1157>) ``` Fixes:[ratatui#1159](https://github.com/ratatui/ratatui/pull/1159) BREAKING CHANGE:The `List` widget now clamps the selected index to the bounds of the list when navigating with `first`, `last`, `previous`, and `next`, as well as when setting the index directly with `select`. - [10d7788](https://github.com/ratatui/ratatui/commit/10d778866edea55207ff3f03d063c9fec619b9c9) *(style)* Add conversions from the palette crate colors by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1172](https://github.com/ratatui/ratatui/pull/1172) ````text This is behind the "palette" feature flag. ```rust use palette::{LinSrgb, Srgb}; use ratatui::style::Color; let color = Color::from(Srgb::new(1.0f32, 0.0, 0.0)); let color = Color::from(LinSrgb::new(1.0f32, 0.0, 0.0)); ``` ```` - [7ef2dae](https://github.com/ratatui/ratatui/commit/7ef2daee060a7fe964a8de64eafcb6062228e035) *(text)* support conversion from Display to Span, Line and Text by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1167](https://github.com/ratatui/ratatui/pull/1167) ````text Now you can create `Line` and `Text` from numbers like so: ```rust let line = 42.to_line(); let text = 666.to_text(); ``` ```` - [74a32af](https://github.com/ratatui/ratatui/commit/74a32afbaef8851f9462b27094d88d518e56addf) *(uncategorized)* Re-export backends from the ratatui crate by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1151](https://github.com/ratatui/ratatui/pull/1151) ```text `crossterm`, `termion`, and `termwiz` can now be accessed as `ratatui::{crossterm, termion, termwiz}` respectively. This makes it possible to just add the Ratatui crate as a dependency and use the backend of choice without having to add the backend crates as dependencies. To update existing code, replace all instances of `crossterm::` with `ratatui::crossterm::`, `termion::` with `ratatui::termion::`, and `termwiz::` with `ratatui::termwiz::`. ``` - [3594180](https://github.com/ratatui/ratatui/commit/35941809e11ab43309dd83a8f67bb375f5e7ff2b) *(uncategorized)* Make Stylize's `.bg(color)` generic by [@&#8203;kdheepak](https://github.com/kdheepak) in [#&#8203;1103](https://github.com/ratatui/ratatui/pull/1103) \[**breaking**] - [0b5fd6b](https://github.com/ratatui/ratatui/commit/0b5fd6bf8eb64662df96900faea3608d4cbb3984) *(uncategorized)* Add writer() and writer_mut() to termion and crossterm backends by [@&#8203;enricozb](https://github.com/enricozb) in [#&#8203;991](https://github.com/ratatui/ratatui/pull/991) ```text It is sometimes useful to obtain access to the writer if we want to see what has been written so far. For example, when using &mut [u8] as a writer. ``` ##### Bug Fixes - [efa965e](https://github.com/ratatui/ratatui/commit/efa965e1e806c60cb1bdb2d1715f960db0857704) *(line)* Remove newlines when converting strings to Lines by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1191](https://github.com/ratatui/ratatui/pull/1191) `Line::from("a\nb")` now returns a line with two `Span`s instead of 1 Fixes:[ratatui#1111](https://github.com/ratatui/ratatui/issues/1111) - [d370aa7](https://github.com/ratatui/ratatui/commit/d370aa75af99da3e0c41ceb28e2d02ee81cd2538) *(span)* Ensure that zero-width characters are rendered correctly by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1165](https://github.com/ratatui/ratatui/pull/1165) - [127d706](https://github.com/ratatui/ratatui/commit/127d706ee4876a58230f42f4a730b18671eae167) *(table)* Ensure render offset without selection properly by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1187](https://github.com/ratatui/ratatui/pull/1187) Fixes:[ratatui#1179](https://github.com/ratatui/ratatui/issues/1179) - [4bfdc15](https://github.com/ratatui/ratatui/commit/4bfdc15b80ba14489d359ab1f88564c3bd016c19) *(uncategorized)* Render of \&str and String doesn't respect area.width by [@&#8203;thscharler](https://github.com/thscharler) in [#&#8203;1177](https://github.com/ratatui/ratatui/pull/1177) - [e6871b9](https://github.com/ratatui/ratatui/commit/e6871b9e21c25acf1e203f4860198c37aa9429a1) *(uncategorized)* Avoid unicode-width breaking change in tests by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1171](https://github.com/ratatui/ratatui/pull/1171) ```text unicode-width 0.1.13 changed the width of \u{1} from 0 to 1. Our tests assumed that \u{1} had a width of 0, so this change replaces the \u{1} character with \u{200B} (zero width space) in the tests. Upstream issue (closed as won't fix): https://github.com/unicode-rs/unicode-width/issues/55 ``` - [7f3efb0](https://github.com/ratatui/ratatui/commit/7f3efb02e6f846fc72079f0921abd2cee09d2d83) *(uncategorized)* Pin unicode-width crate to 0.1.13 by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1170](https://github.com/ratatui/ratatui/pull/1170) ```text semver breaking change in 0.1.13 <https://github.com/unicode-rs/unicode-width/issues/55> <!-- Please read CONTRIBUTING.md before submitting any pull request. --> ``` - [42cda6d](https://github.com/ratatui/ratatui/commit/42cda6d28706bf83308787ca784f374f6c286a02) *(uncategorized)* Prevent panic from string_slice by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1140](https://github.com/ratatui/ratatui/pull/1140) <https://rust-lang.github.io/rust-clippy/master/index.html#string_slice> ##### Refactor - [73fd367](https://github.com/ratatui/ratatui/commit/73fd367a740924ce80ef7a0cd13a66b5094f7a54) *(block)* Group builder pattern methods by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1134](https://github.com/ratatui/ratatui/pull/1134) - [257db62](https://github.com/ratatui/ratatui/commit/257db6257f392a07ee238b439344d91566beb740) *(cell)* Must_use and simplify style() by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1124](https://github.com/ratatui/ratatui/pull/1124) ```text <!-- Please read CONTRIBUTING.md before submitting any pull request. --> ``` - [bf20369](https://github.com/ratatui/ratatui/commit/bf2036987f04d83f4f2b8338fab1b4fd7f4cc81d) *(cell)* Reset instead of applying default by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1127](https://github.com/ratatui/ratatui/pull/1127) ```text Using reset is clearer to me what actually happens. On the other case a struct is created to override the old one completely which basically does the same in a less clear way. ``` - [7d175f8](https://github.com/ratatui/ratatui/commit/7d175f85c1905c08adf547dd37cc89c63039f480) *(lint)* Fix new lint warnings by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1178](https://github.com/ratatui/ratatui/pull/1178) - [cf67ed9](https://github.com/ratatui/ratatui/commit/cf67ed9b884347cef034b09e0e9f9d4aff74ab0a) *(lint)* Use clippy::or_fun_call by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1138](https://github.com/ratatui/ratatui/pull/1138) <https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call> - [4770e71](https://github.com/ratatui/ratatui/commit/4770e715819475cdca2f2ccdbac00cba203cd6d2) *(list)* Remove deprecated `start_corner` and `Corner` by [@&#8203;Valentin271](https://github.com/Valentin271) in [#&#8203;759](https://github.com/ratatui/ratatui/pull/759) \[**breaking**] `List::start_corner` was deprecated in v0.25. Use `List::direction` and `ListDirection` instead. ```diff - list.start_corner(Corner::TopLeft); - list.start_corner(Corner::TopRight); // This is not an error, BottomRight rendered top to bottom previously - list.start_corner(Corner::BottomRight); // all becomes + list.direction(ListDirection::TopToBottom); ``` ```diff - list.start_corner(Corner::BottomLeft); // becomes + list.direction(ListDirection::BottomToTop); ``` `layout::Corner` is removed entirely. - [4f77910](https://github.com/ratatui/ratatui/commit/4f7791079edd16b54dc8cdfc95bb72b282a09576) *(padding)* Add Padding::ZERO as a constant by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1133](https://github.com/ratatui/ratatui/pull/1133) ```text Deprecate Padding::zero() ``` - [8061813](https://github.com/ratatui/ratatui/commit/8061813f324c08e11196e62fca22c2f6b9216b7e) *(uncategorized)* Expand glob imports by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1152](https://github.com/ratatui/ratatui/pull/1152) ```text Consensus is that explicit imports make it easier to understand the example code. This commit removes the prelude import from all examples and replaces it with the necessary imports, and expands other glob imports (widget::*, Constraint::*, KeyCode::*, etc.) everywhere else. Prelude glob imports not in examples are not covered by this PR. See https://github.com/ratatui/ratatui/issues/1150 for more details. ``` - [d929971](https://github.com/ratatui/ratatui/commit/d92997105bde15a1fd43829466ec8cc46bffe121) *(uncategorized)* Dont manually impl Default for defaults by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1142](https://github.com/ratatui/ratatui/pull/1142) ```text Replace `impl Default` by `#[derive(Default)]` when its implementation equals. ``` - [8a60a56](https://github.com/ratatui/ratatui/commit/8a60a561c95691912cbf41d55866abafcba0127d) *(uncategorized)* Needless_pass_by_ref_mut by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1137](https://github.com/ratatui/ratatui/pull/1137) <https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_ref_mut> - [1de9a82](https://github.com/ratatui/ratatui/commit/1de9a82b7a871a83995d224785cae139c6f4787b) *(uncategorized)* Simplify if let by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1135](https://github.com/ratatui/ratatui/pull/1135) ```text While looking through lints [`clippy::option_if_let_else`](https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else) found these. Other findings are more complex so I skipped them. ``` ##### Documentation - [1908b06](https://github.com/ratatui/ratatui/commit/1908b06b4a497ff1cfb2c8d8c165d2a241ee1864) *(borders)* Add missing closing code blocks by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1195](https://github.com/ratatui/ratatui/pull/1195) - [38bb196](https://github.com/ratatui/ratatui/commit/38bb19640449c7a3eee3a2fba6450071395e5e06) *(breaking-changes)* Mention `LineGauge::gauge_style` by [@&#8203;orhun](https://github.com/orhun) in [#&#8203;1194](https://github.com/ratatui/ratatui/pull/1194) see [#&#8203;565](https://github.com/ratatui-org/ratatui/issues/565) - [07efde5](https://github.com/ratatui/ratatui/commit/07efde5233752e1bcb7ae94a91b9e36b7fadb01b) *(examples)* Add hyperlink example by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1063](https://github.com/ratatui/ratatui/pull/1063) - [7fdccaf](https://github.com/ratatui/ratatui/commit/7fdccafd52f4ddad1a3c9dda59fada59af21ecfa) *(examples)* Add vhs tapes for constraint-explorer and minimal examples by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1164](https://github.com/ratatui/ratatui/pull/1164) - [4f307e6](https://github.com/ratatui/ratatui/commit/4f307e69db058891675d0f12d75ef49006c511d6) *(examples)* Simplify paragraph example by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1169](https://github.com/ratatui/ratatui/pull/1169) Related:[ratatui#1157](https://github.com/ratatui/ratatui/issues/1157) - [f429f68](https://github.com/ratatui/ratatui/commit/f429f688da536a52266144e63a1a7897ec6b7f26) *(examples)* Remove lifetimes from the List example by [@&#8203;matta](https://github.com/matta) in [#&#8203;1132](https://github.com/ratatui/ratatui/pull/1132) ```text Simplify the List example by removing lifetimes not strictly necessary to demonstrate how Ratatui lists work. Instead, the sample strings are copied into each `TodoItem`. To further simplify, I changed the code to use a new TodoItem::new function, rather than an implementation of the `From` trait. ``` - [308c1df](https://github.com/ratatui/ratatui/commit/308c1df6495ee4373f808007a1566ca7e9279933) *(readme)* Add links to forum by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1188](https://github.com/ratatui/ratatui/pull/1188) - [2f8a936](https://github.com/ratatui/ratatui/commit/2f8a9363fc6c54fe2b10792c9f57fbb40b06bc0f) *(uncategorized)* Fix links on docs.rs by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1144](https://github.com/ratatui/ratatui/pull/1144) ```text This also results in a more readable Cargo.toml as the locations of the things are more obvious now. Includes rewording of the underline-color feature. Logs of the errors: https://docs.rs/crate/ratatui/0.26.3/builds/1224962 Also see #&#8203;989 ``` ##### Performance - [4ce67fc](https://github.com/ratatui/ratatui/commit/4ce67fc84e3bc472e9ae97aece85f8ffae091834) *(buffer)* Filled moves the cell to be filled by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1148](https://github.com/ratatui/ratatui/pull/1148) \[**breaking**] - [8b447ec](https://github.com/ratatui/ratatui/commit/8b447ec4d6276c3110285e663417487ff18dafc1) *(rect)* `Rect::inner` takes `Margin` directly instead of reference by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1008](https://github.com/ratatui/ratatui/pull/1008) \[**breaking**] BREAKING CHANGE:Margin needs to be passed without reference now. ```diff -let area = area.inner(&Margin { +let area = area.inner(Margin { vertical: 0, horizontal: 2, }); ``` ##### Styling - [df4b706](https://github.com/ratatui/ratatui/commit/df4b706674de806bdf2a1fb8c04d0654b6b0b891) *(uncategorized)* Enable more rustfmt settings by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1125](https://github.com/ratatui/ratatui/pull/1125) ##### Testing - [d6587bc](https://github.com/ratatui/ratatui/commit/d6587bc6b0db955aeac6af167e1b8ef81a3afcc9) *(style)* Use rstest by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1136](https://github.com/ratatui/ratatui/pull/1136) ```text <!-- Please read CONTRIBUTING.md before submitting any pull request. --> ``` ##### Miscellaneous Tasks - [7b45f74](https://github.com/ratatui/ratatui/commit/7b45f74b719ff18329ddbf9f05a9ac53bf06f71d) *(prelude)* Add / remove items by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1149](https://github.com/ratatui/ratatui/pull/1149) \[**breaking**] ```text his PR removes the items from the prelude that don't form a coherent common vocabulary and adds the missing items that do. Based on a comment at <https://www.reddit.com/r/rust/comments/1cle18j/comment/l2uuuh7/> ``` BREAKING CHANGE:The following items have been removed from the prelude: - `style::Styled` - this trait is useful for widgets that want to support the Stylize trait, but it adds complexity as widgets have two `style` methods and a `set_style` method. - `symbols::Marker` - this item is used by code that needs to draw to the `Canvas` widget, but it's not a common item that would be used by most users of the library. - `terminal::{CompletedFrame, TerminalOptions, Viewport}` - these items are rarely used by code that needs to interact with the terminal, and they're generally only ever used once in any app. The following items have been added to the prelude: - `layout::{Position, Size}` - these items are used by code that needs to interact with the layout system. These are newer items that were added in the last few releases, which should be used more liberally. - [cd64367](https://github.com/ratatui/ratatui/commit/cd64367e244a1588206f653fd79678ce62a86a2f) *(symbols)* Add tests for line symbols by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1186](https://github.com/ratatui/ratatui/pull/1186) - [8cfc316](https://github.com/ratatui/ratatui/commit/8cfc316bccb48e88660d14cd18c0df2264c4d6ce) *(uncategorized)* Alphabetize examples in Cargo.toml by [@&#8203;joshka](https://github.com/joshka) in [#&#8203;1145](https://github.com/ratatui/ratatui/pull/1145) ##### Build - [70df102](https://github.com/ratatui/ratatui/commit/70df102de0154cdfbd6508659cf6ed649f820bc8) *(bench)* Improve benchmark consistency by [@&#8203;EdJoPaTo](https://github.com/EdJoPaTo) in [#&#8203;1126](https://github.com/ratatui/ratatui/pull/1126) ```text Codegen units are optimized on their own. Per default bench / release have 16 codegen units. What ends up in a codeget unit is rather random and can influence a benchmark result as a code change can move stuff into a different codegen unit → prevent / allow LLVM optimizations unrelated to the actual change. More details: https://doc.rust-lang.org/cargo/reference/profiles.html ``` ##### New Contributors - [@&#8203;thscharler](https://github.com/thscharler) made their first contribution in [#&#8203;1177](https://github.com/ratatui/ratatui/pull/1177) - [@&#8203;matta](https://github.com/matta) made their first contribution in [#&#8203;1132](https://github.com/ratatui/ratatui/pull/1132) - [@&#8203;nowNick](https://github.com/nowNick) made their first contribution in [#&#8203;565](https://github.com/ratatui/ratatui/pull/565) - [@&#8203;enricozb](https://github.com/enricozb) made their first contribution in [#&#8203;991](https://github.com/ratatui/ratatui/pull/991) **Full Changelog**: <https://github.com/ratatui/ratatui/compare/v0.26.3...v0.27.0> </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.125`](https://github.com/serde-rs/json/releases/tag/1.0.125) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.124...1.0.125) - Speed up \uXXXX parsing and improve handling of unpaired surrogates when deserializing to bytes ([#&#8203;1172](https://github.com/serde-rs/json/issues/1172), [#&#8203;1175](https://github.com/serde-rs/json/issues/1175), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.124`](https://github.com/serde-rs/json/releases/tag/v1.0.124) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.123...v1.0.124) - Fix a bug in processing string escapes in big-endian architectures ([#&#8203;1173](https://github.com/serde-rs/json/issues/1173), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.123`](https://github.com/serde-rs/json/releases/tag/v1.0.123) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.123) - Optimize string parsing by applying SIMD-within-a-register: 30.3% improvement on [twitter.json](https://github.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json) from 613 MB/s to 799 MB/s ([#&#8203;1161](https://github.com/serde-rs/json/issues/1161), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.122`](https://github.com/serde-rs/json/releases/tag/v1.0.122) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.121...v1.0.122) - Support using `json!` in no-std crates ([#&#8203;1166](https://github.com/serde-rs/json/issues/1166)) ### [`v1.0.121`](https://github.com/serde-rs/json/releases/tag/v1.0.121) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.120...v1.0.121) - Optimize position search in error path ([#&#8203;1160](https://github.com/serde-rs/json/issues/1160), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.120`](https://github.com/serde-rs/json/releases/tag/v1.0.120) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.119...v1.0.120) - Correctly specify required version of `indexmap` dependency ([#&#8203;1152](https://github.com/serde-rs/json/issues/1152), thanks [@&#8203;cforycki](https://github.com/cforycki)) ### [`v1.0.119`](https://github.com/serde-rs/json/releases/tag/v1.0.119) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.118...v1.0.119) - Add `serde_json::Map::shift_insert` ([#&#8203;1149](https://github.com/serde-rs/json/issues/1149), thanks [@&#8203;joshka](https://github.com/joshka)) </details> <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://github.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://github.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://github.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://github.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://github.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://github.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://github.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://github.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://github.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://github.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://github.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://github.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://github.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://github.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://github.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://github.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://github.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://github.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://github.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://github.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://github.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://github.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://github.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://github.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://github.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://github.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://github.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://github.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://github.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://github.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://github.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://github.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://github.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://github.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://github.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://github.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://github.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://github.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://github.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://github.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://github.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://github.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://github.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://github.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://github.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://github.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://github.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://github.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://github.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://github.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://github.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://github.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://github.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://github.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://github.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://github.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://github.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://github.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://github.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://github.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://github.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://github.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://github.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://github.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://github.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://github.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://github.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://github.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://github.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://github.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://github.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://github.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://github.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://github.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://github.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://github.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://github.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://github.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://github.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://github.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://github.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://github.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://github.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://github.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://github.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://github.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://github.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://github.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://github.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://github.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://github.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://github.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://github.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://github.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://github.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://github.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://github.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://github.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://github.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://github.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://github.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://github.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://github.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://github.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://github.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://github.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://github.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://github.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://github.com/launchbadge/sqlx/pull/3356 </details> <details> <summary>Stebalien/tempfile (tempfile)</summary> ### [`v3.12.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3120) - Add a `keep(keep: bool)` function to builder that suppresses delete-on-drop behavior (thanks to [@&#8203;RalfJung](https://github.com/RalfJung)). - Update `windows-sys` from 0.52 to 0.59. ### [`v3.11.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3110) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.10.1...v3.11.0) - Add the ability to override the default temporary directory. This API shouldn't be used in general, but there are some cases where it's unavoidable. </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.39.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.3): Tokio v1.39.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3) ### 1.39.3 (August 17th, 2024) This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. ([#&#8203;6772]) [#&#8203;6772]: https://github.com/tokio-rs/tokio/pull/6772 ### [`v1.39.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.2): Tokio v1.39.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.1...tokio-1.39.2) ### 1.39.2 (July 27th, 2024) This release fixes a regression where the `select!` macro stopped accepting expressions that make use of temporary lifetime extension. ([#&#8203;6722]) [#&#8203;6722]: https://github.com/tokio-rs/tokio/pull/6722 ### [`v1.39.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.1): Tokio v1.39.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.0...tokio-1.39.1) ### 1.39.1 (July 23rd, 2024) This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. ([#&#8203;6715]) [#&#8203;6715]: https://github.com/tokio-rs/tokio/pull/6715 ### [`v1.39.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.0): Tokio v1.39.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.39.0) ### 1.39.0 (July 23rd, 2024) - This release bumps the MSRV to 1.70. ([#&#8203;6645]) - This release upgrades to mio v1. ([#&#8203;6635]) - This release upgrades to windows-sys v0.52 ([#&#8203;6154]) ##### Added - io: implement `AsyncSeek` for `Empty` ([#&#8203;6663]) - metrics: stabilize `num_alive_tasks` ([#&#8203;6619], [#&#8203;6667]) - process: add `Command::as_std_mut` ([#&#8203;6608]) - sync: add `watch::Sender::same_channel` ([#&#8203;6637]) - sync: add `{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}` ([#&#8203;6661]) - sync: implement `Default` for `watch::Sender` ([#&#8203;6626]) - task: implement `Clone` for `AbortHandle` ([#&#8203;6621]) - task: stabilize `consume_budget` ([#&#8203;6622]) ##### Changed - io: improve panic message of `ReadBuf::put_slice()` ([#&#8203;6629]) - io: read during write in `copy_bidirectional` and `copy` ([#&#8203;6532]) - runtime: replace `num_cpus` with `available_parallelism` ([#&#8203;6709]) - task: avoid stack overflow when passing large future to `block_on` ([#&#8203;6692]) - time: avoid traversing entries in the time wheel twice ([#&#8203;6584]) - time: support `IntoFuture` with `timeout` ([#&#8203;6666]) - macros: support `IntoFuture` with `join!` and `select!` ([#&#8203;6710]) ##### Fixed - docs: fix docsrs builds with the fs feature enabled ([#&#8203;6585]) - io: only use short-read optimization on known-to-be-compatible platforms ([#&#8203;6668]) - time: fix overflow panic when using large durations with `Interval` ([#&#8203;6612]) ##### Added (unstable) - macros: allow `unhandled_panic` behavior for `#[tokio::main]` and `#[tokio::test]` ([#&#8203;6593]) - metrics: add `spawned_tasks_count` ([#&#8203;6114]) - metrics: add `worker_park_unpark_count` ([#&#8203;6696]) - metrics: add worker thread id ([#&#8203;6695]) ##### Documented - io: update `tokio::io::stdout` documentation ([#&#8203;6674]) - macros: typo fix in `join.rs` and `try_join.rs` ([#&#8203;6641]) - runtime: fix typo in `unhandled_panic` ([#&#8203;6660]) - task: document behavior of `JoinSet::try_join_next` when all tasks are running ([#&#8203;6671]) [#&#8203;6114]: https://github.com/tokio-rs/tokio/pull/6114 [#&#8203;6154]: https://github.com/tokio-rs/tokio/pull/6154 [#&#8203;6532]: https://github.com/tokio-rs/tokio/pull/6532 [#&#8203;6584]: https://github.com/tokio-rs/tokio/pull/6584 [#&#8203;6585]: https://github.com/tokio-rs/tokio/pull/6585 [#&#8203;6593]: https://github.com/tokio-rs/tokio/pull/6593 [#&#8203;6608]: https://github.com/tokio-rs/tokio/pull/6608 [#&#8203;6612]: https://github.com/tokio-rs/tokio/pull/6612 [#&#8203;6619]: https://github.com/tokio-rs/tokio/pull/6619 [#&#8203;6621]: https://github.com/tokio-rs/tokio/pull/6621 [#&#8203;6622]: https://github.com/tokio-rs/tokio/pull/6622 [#&#8203;6626]: https://github.com/tokio-rs/tokio/pull/6626 [#&#8203;6629]: https://github.com/tokio-rs/tokio/pull/6629 [#&#8203;6635]: https://github.com/tokio-rs/tokio/pull/6635 [#&#8203;6637]: https://github.com/tokio-rs/tokio/pull/6637 [#&#8203;6641]: https://github.com/tokio-rs/tokio/pull/6641 [#&#8203;6645]: https://github.com/tokio-rs/tokio/pull/6645 [#&#8203;6660]: https://github.com/tokio-rs/tokio/pull/6660 [#&#8203;6661]: https://github.com/tokio-rs/tokio/pull/6661 [#&#8203;6663]: https://github.com/tokio-rs/tokio/pull/6663 [#&#8203;6666]: https://github.com/tokio-rs/tokio/pull/6666 [#&#8203;6667]: https://github.com/tokio-rs/tokio/pull/6667 [#&#8203;6668]: https://github.com/tokio-rs/tokio/pull/6668 [#&#8203;6671]: https://github.com/tokio-rs/tokio/pull/6671 [#&#8203;6674]: https://github.com/tokio-rs/tokio/pull/6674 [#&#8203;6692]: https://github.com/tokio-rs/tokio/pull/6692 [#&#8203;6695]: https://github.com/tokio-rs/tokio/pull/6695 [#&#8203;6696]: https://github.com/tokio-rs/tokio/pull/6696 [#&#8203;6709]: https://github.com/tokio-rs/tokio/pull/6709 [#&#8203;6710]: https://github.com/tokio-rs/tokio/pull/6710 ### [`v1.38.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://github.com/tokio-rs/tokio/pull/6683 </details> <details> <summary>toml-rs/toml (toml)</summary> ### [`v0.8.19`](https://github.com/toml-rs/toml/compare/toml-v0.8.18...toml-v0.8.19) [Compare Source](https://github.com/toml-rs/toml/compare/toml-v0.8.18...toml-v0.8.19) ### [`v0.8.18`](https://github.com/toml-rs/toml/compare/toml-v0.8.17...toml-v0.8.18) [Compare Source](https://github.com/toml-rs/toml/compare/toml-v0.8.17...toml-v0.8.18) ### [`v0.8.17`](https://github.com/toml-rs/toml/compare/toml-v0.8.16...toml-v0.8.17) [Compare Source](https://github.com/toml-rs/toml/compare/toml-v0.8.16...toml-v0.8.17) ### [`v0.8.16`](https://github.com/toml-rs/toml/compare/toml-v0.8.15...toml-v0.8.16) [Compare Source](https://github.com/toml-rs/toml/compare/toml-v0.8.15...toml-v0.8.16) ### [`v0.8.15`](https://github.com/toml-rs/toml/compare/toml-v0.8.14...toml-v0.8.15) [Compare Source](https://github.com/toml-rs/toml/compare/toml-v0.8.14...toml-v0.8.15) </details> <details> <summary>uuid-rs/uuid (uuid)</summary> ### [`v1.10.0`](https://github.com/uuid-rs/uuid/releases/tag/1.10.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0) #### Deprecations This release deprecates and renames the following functions: - `Builder::from_rfc4122_timestamp` -> `Builder::from_gregorian_timestamp` - `Builder::from_sorted_rfc4122_timestamp` -> `Builder::from_sorted_gregorian_timestamp` - `Timestamp::from_rfc4122` -> `Timestamp::from_gregorian` - `Timestamp::to_rfc4122` -> `Timestamp::to_gregorian` #### What's Changed - Use const identifier in uuid macro by [@&#8203;Vrajs16](https://github.com/Vrajs16) in https://github.com/uuid-rs/uuid/pull/764 - Rename most methods referring to RFC4122 by [@&#8203;Mikopet](https://github.com/Mikopet) / [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/765 - prepare for 1.10.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/766 #### New Contributors - [@&#8203;Vrajs16](https://github.com/Vrajs16) made their first contribution in https://github.com/uuid-rs/uuid/pull/764 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjQuMyIsInVwZGF0ZWRJblZlciI6IjM3LjQyNC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
kjuulh added 1 commit 2024-08-21 23:02:52 +02:00
chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
3a231cea96
kjuulh scheduled this pull request to auto merge when all checks succeed 2024-08-21 23:02:52 +02:00
kjuulh merged commit 3a231cea96 into main 2024-08-21 23:21:23 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kjuulh/hyperlog#13
No description provided.