chore(deps): update rust-patch-updates #1333

Merged
ginger merged 1 commit from renovate/rust-patch-updates into main 2026-02-05 14:06:43 +00:00
Collaborator

This PR contains the following updates:

Package Type Update Change
bytes workspace.dependencies patch 1.11.01.11.1
clap workspace.dependencies patch 4.5.564.5.57
regex workspace.dependencies patch 1.12.21.12.3
serde-saphyr workspace.dependencies patch 0.0.160.0.17

Release Notes

tokio-rs/bytes (bytes)

v1.11.1

Compare Source

  • Fix integer overflow in BytesMut::reserve
clap-rs/clap (clap)

v4.5.57

Compare Source

Fixes
  • Regression from 4.5.55 where having an argument with .value_terminator("--") caused problems with an argument with .last(true)
rust-lang/regex (regex)

v1.12.3

Compare Source

===================
This release excludes some unnecessary things from the archive published to
crates.io. Specifically, fuzzing data and various shell scripts are now
excluded. If you run into problems, please file an issue.

Improvements:

  • #​1319:
    Switch from a Cargo exclude list to an include list, and exclude some
    unnecessary stuff.
bourumir-wyngs/serde-saphyr (serde-saphyr)

v0.0.17: Borrowed cows

Compare Source

serde-saphyr now supports zero-copy deserialization for string fields when using from_str or from_slice. This allows deserializing into &str fields that borrow directly from the input, avoiding allocation overhead.

use serde::Deserialize;

#[derive(Debug, Deserialize)]
struct Data<'a> {
    name: &'a str,
    value: i32,
}

let yaml = "name: hello\nvalue: 42\n";
let data: Data = serde_saphyr::from_str(yaml).unwrap();
assert_eq!(data.name, "hello");

Borrowing works for any scalar whose parsed value exists verbatim in the input. If this is not the case, use Cow<str> instead of &str. Reader-based entry points (from_reader) require DeserializeOwned and cannot return borrowed values.
For maximum flexibility, use Cow<'a, str> which borrows when possible and owns when transformation is required.

New features

  • WebAssembly support (#​64), library now builds on this platform and has CI builds for them with test suite passing (wasm32-unknown-unknown and wasm32-wasip).
  • Snippet rendering extended to the methods that take the Reader. As the Reader cannot provide the surrounding text on error, a small ring buffer was implemented to allow rendering the snippet later. Snippets can now be rendered even for large documents that cannot be easily opened with an arbitrary text editor.
  • It is now possible to request that all strings be quoted — using single quotes when no escape sequences are present, and double quotes otherwise. This is very explicit and unambiguous, but such YAML may be less readable for humans. Line wrapping is disabled in this mode.
  • Improved string folding in serializer, YAML-compliant folding of strings prefixed with whitespace (using >n ).
  • Budget reporter is now closure and no longer function. When writing yva, we found that the function is ergonomically poor for anything beyond printing logs, as it cannot capture variable references.
  • Reduced some too aggressive quoting, strings like a[b], -one or a,b,c are clear and valid as unquoted scalars.
  • Old YAML 1.2 booleans (n, no, off, etc.) are quoted by default, but this can be turned off by setting yaml_12 to true in serializer options. We found the quoting of the key 'y ' (as a coordinate - x, y, z) unnecessarily distracting.
  • Long lines containing line breaks are automatically deserialized into literal block scalars for better readability.

Preparing API for stable releases (1.x.x), where "breaking change" requirements are much more strict.

  • All public enums are now marked #[non_exhaustive]. This requires downstream code to include a wildcard (_) arm when matching on these enums, allowing us to add new variants in future releases without breaking user code. We acknowledge that introducing #[non_exhaustive] is itself a formally breaking change; however, since the crate is still in the 0.0.x series, we consider this the right time to make this adjustment.
  • For the same reason, Options, SerializerOptions, and Budget structures should also now be created by macros:
let options = serde_saphyr::options! {
     budget: serde_saphyr::budget! {
         max_documents: 2,
     },
     duplicate_keys: DuplicateKeyPolicy::LastWins,
 };

Otherwise, we would need to incremente major version number - breaking changes - every time we add a field to these structures, and we do often. Adding #[non_exhaustive] makes them impossible to construct directly anyway, so some other approach must be tried. We decided to use macros. The old usage is still permitted but should be considered deprecated right now. We will add deprecation annotations in the next release, and the macro approach will be the only one in the first 1.x.x release. #[non_exhaustive] will be placed at this point.


Configuration

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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 | |---|---|---|---| | [bytes](https://github.com/tokio-rs/bytes) | workspace.dependencies | patch | `1.11.0` → `1.11.1` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.56` → `4.5.57` | | [regex](https://github.com/rust-lang/regex) | workspace.dependencies | patch | `1.12.2` → `1.12.3` | | [serde-saphyr](https://github.com/bourumir-wyngs/serde-saphyr) | workspace.dependencies | patch | `0.0.16` → `0.0.17` | --- ### Release Notes <details> <summary>tokio-rs/bytes (bytes)</summary> ### [`v1.11.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1111-February-3rd-2026) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1) - Fix integer overflow in `BytesMut::reserve` </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.57`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4557---2026-02-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.56...v4.5.57) ##### Fixes - Regression from 4.5.55 where having an argument with `.value_terminator("--")` caused problems with an argument with `.last(true)` </details> <details> <summary>rust-lang/regex (regex)</summary> ### [`v1.12.3`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1123-2025-02-03) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3) \=================== This release excludes some unnecessary things from the archive published to crates.io. Specifically, fuzzing data and various shell scripts are now excluded. If you run into problems, please file an issue. Improvements: - [#&#8203;1319](https://github.com/rust-lang/regex/pull/1319): Switch from a Cargo `exclude` list to an `include` list, and exclude some unnecessary stuff. </details> <details> <summary>bourumir-wyngs/serde-saphyr (serde-saphyr)</summary> ### [`v0.0.17`](https://github.com/bourumir-wyngs/serde-saphyr/releases/tag/0.0.17): Borrowed cows [Compare Source](https://github.com/bourumir-wyngs/serde-saphyr/compare/0.0.16...0.0.17) serde-saphyr now supports zero-copy deserialization for string fields when using `from_str` or `from_slice`. This allows deserializing into `&str` fields that borrow directly from the input, avoiding allocation overhead. ```rust use serde::Deserialize; #[derive(Debug, Deserialize)] struct Data<'a> { name: &'a str, value: i32, } let yaml = "name: hello\nvalue: 42\n"; let data: Data = serde_saphyr::from_str(yaml).unwrap(); assert_eq!(data.name, "hello"); ``` Borrowing works for any scalar whose parsed value exists **verbatim** in the input. If this is not the case, use `Cow<str>` instead of \&str. Reader-based entry points (`from_reader`) require `DeserializeOwned` and cannot return borrowed values. For maximum flexibility, use `Cow<'a, str>` which borrows when possible and owns when transformation is required. #### New features - WebAssembly support ([#&#8203;64](https://github.com/bourumir-wyngs/serde-saphyr/issues/64)), library now builds on this platform and has CI builds for them with test suite passing (wasm32-unknown-unknown and wasm32-wasip). - Snippet rendering extended to the methods that take the Reader. As the Reader cannot provide the surrounding text on error, a small ring buffer was implemented to allow rendering the snippet later. Snippets can now be rendered even for large documents that cannot be easily opened with an arbitrary text editor. - It is now possible to request that all strings be **quoted** — using single quotes when no escape sequences are present, and double quotes otherwise. This is very explicit and unambiguous, but such YAML may be less readable for humans. Line wrapping is disabled in this mode. - Improved string folding in serializer, YAML-compliant folding of strings prefixed with whitespace (using >n ). - Budget reporter is now closure and no longer function. When writing [yva](https://github.com/bourumir-wyngs/yva), we found that the function is ergonomically poor for anything beyond printing logs, as it cannot capture variable references. - Reduced some too aggressive quoting, strings like `a[b]`, `-one` or `a,b,c` are clear and valid as unquoted scalars. - Old YAML 1.2 booleans (`n`, `no`, `off`, etc.) are quoted by default, but this can be turned off by setting `yaml_12` to true in serializer options. We found the quoting of the key 'y ' (as a coordinate - x, y, z) unnecessarily distracting. - Long lines containing line breaks are automatically deserialized into literal block scalars for better readability. #### Preparing API for stable releases (1.x.x), where "breaking change" requirements are much more strict. - All public enums are now marked `#[non_exhaustive]`. This requires downstream code to include a wildcard (\_) arm when matching on these enums, allowing us to add new variants in future releases without breaking user code. We acknowledge that introducing `#[non_exhaustive]` is itself a formally breaking change; however, since the crate is still in the 0.0.x series, we consider this the right time to make this adjustment. - For the same reason, `Options`, `SerializerOptions`, and `Budget` structures should also now be created by macros: ```rust let options = serde_saphyr::options! { budget: serde_saphyr::budget! { max_documents: 2, }, duplicate_keys: DuplicateKeyPolicy::LastWins, }; ``` Otherwise, we would need to incremente major version number - breaking changes - every time we add a field to these structures, and we do often. Adding `#[non_exhaustive]` makes them impossible to construct directly anyway, so some other approach must be tried. We decided to use macros. The old usage is still permitted but should be considered deprecated right now. We will add deprecation annotations in the next release, and the macro approach will be the only one in the first 1.x.x release. `#[non_exhaustive]` will be placed at this point. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNzAuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiRGVwZW5kZW5jaWVzIiwiRGVwZW5kZW5jaWVzL1Jlbm92YXRlIl19-->
chore(deps): update rust-patch-updates
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m21s
Update flake hashes / update-flake-hashes (pull_request) Successful in 48s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 3m0s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 49m1s
75b67b9061
ginger merged commit 2558ec0c2a into main 2026-02-05 14:06:42 +00:00
nex added this to the 0.5.4 milestone 2026-02-08 16:14:31 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!1333
No description provided.