Skip to content

chore(deps): bump redb in /czech-file-knife - #357

Merged
hyperpolymath merged 1 commit into
mainfrom
dependabot/cargo/czech-file-knife/cargo-6bae59848a
Sep 18, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
dependabot/cargo/czech-file-knife/cargo-6bae59848a

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 18, 2026

Copy link
Copy Markdown
Contributor

Bumps redb in /czech-file-knife from 4.1.0 to 4.3.0.

Updates redb from 4.1.0 to 4.3.0

Release notes

Sourced from redb's releases.

4.3.0

New features

  • Add optional locking methods to StorageBackend. Backends may implement these methods to support locking. Custom backends that wrap FileBackend should delegate these methods to the FileBackend otherwise file locking functionality will be lost.
  • Add an optional Key::separator(), which returns a short byte string that separates two keys. &[u8], &str, String keys now store minimal prefixes. Option, array keys, and tuple keys also store optimized separators when their element type is variable length. Tables with these key types will use slightly less space, and lookups will be faster.
  • Add Key::min_encoded_key(), the encoding of a key type's smallest value. Implementing it is optional, and lets container types holding that key store shorter separators.
  • Add experimental support for multi-process read-write access to a single database file, behind the experimental-multiprocess feature flag.

Bug fixes

  • Fix a crash shortly after a commit being able to silently roll that commit back during recovery, if check_integrity() had previously repaired the database.
  • Fix ReadOnlyUntypedTable and ReadOnlyUntypedMultimapTable potentially returning incorrect results if the originating transaction is dropped.
  • Fix iterators silently omitting data when iteration continues after an error. An iterator that yielded Err(Corrupted) could yield the rest of the table on later calls, skipping the unreadable entries with no further error. Iterators and read-only cursors now keep returning an error after the first one; re-seeking a cursor resets it.
  • Fix restore_savepoint(), rename_table(), and delete_table() leaving the transaction committable after a storage error. Committing it could corrupt the database or silently lose a table. Such failures now poison the transaction: commit() returns an error instead of committing the half-applied state.
  • Fix pages being leaked permanently when a panic unwound through a live write transaction and was caught with catch_unwind. The leak survived closing and reopening the database and grew with every such panic; the pages are now reclaimed the next time the database is opened.
  • Fix a Windows-only hang: a write to the database file that reported writing zero bytes made the commit retry it forever. It now fails with a WriteZero I/O error.
  • Fix rename_table() and rename_multimap_table() returning TableExists when the new name is the same as the current one. Renaming a table to its own name now succeeds and leaves the table unchanged.
  • Fix persistent_savepoint() and delete_persistent_savepoint() making the transaction ineligible for further savepoints, so a second savepoint in the same transaction failed with InvalidSavepoint. Only opening, renaming, or deleting a data table, or restoring a savepoint, makes a transaction savepoint-ineligible now.

4.2.0

New features

  • Add an experimental cursor API, behind the experimental_cursor feature flag: Table::lower_bound_mut() and Table::upper_bound_mut() return a CursorMut pointing at a gap between entries, modeled on the standard library's BTreeMap cursors. Inserting sorted data through its insert_before() method can be around 3x faster than calling insert() with the same data; insert_after() inserts through the gap in descending order at the same speed. ReadableTable::lower_bound() and ReadableTable::upper_bound() return a read-only Cursor. The feature is unstable and may change incompatibly, or be removed, in any release.
  • Add ReadOnlyTable::get_owned(), ReadOnlyTable::range_owned(),

... (truncated)

Changelog

Sourced from redb's changelog.

4.3.0 - 2026-09-14

New features

  • Add optional locking methods to StorageBackend. Backends may implement these methods to support locking. Custom backends that wrap FileBackend should delegate these methods to the FileBackend otherwise file locking functionality will be lost.
  • Add an optional Key::separator(), which returns a short byte string that separates two keys. &[u8], &str, String keys now store minimal prefixes. Option, array keys, and tuple keys also store optimized separators when their element type is variable length. Tables with these key types will use slightly less space, and lookups will be faster.
  • Add Key::min_encoded_key(), the encoding of a key type's smallest value. Implementing it is optional, and lets container types holding that key store shorter separators.
  • Add experimental support for multi-process read-write access to a single database file, behind the experimental-multiprocess feature flag.

Bug fixes

  • Fix a crash shortly after a commit being able to silently roll that commit back during recovery, if check_integrity() had previously repaired the database.
  • Fix ReadOnlyUntypedTable and ReadOnlyUntypedMultimapTable potentially returning incorrect results if the originating transaction is dropped.
  • Fix iterators silently omitting data when iteration continues after an error. An iterator that yielded Err(Corrupted) could yield the rest of the table on later calls, skipping the unreadable entries with no further error. Iterators and read-only cursors now keep returning an error after the first one; re-seeking a cursor resets it.
  • Fix restore_savepoint(), rename_table(), and delete_table() leaving the transaction committable after a storage error. Committing it could corrupt the database or silently lose a table. Such failures now poison the transaction: commit() returns an error instead of committing the half-applied state.
  • Fix pages being leaked permanently when a panic unwound through a live write transaction and was caught with catch_unwind. The leak survived closing and reopening the database and grew with every such panic; the pages are now reclaimed the next time the database is opened.
  • Fix a Windows-only hang: a write to the database file that reported writing zero bytes made the commit retry it forever. It now fails with a WriteZero I/O error.
  • Fix rename_table() and rename_multimap_table() returning TableExists when the new name is the same as the current one. Renaming a table to its own name now succeeds and leaves the table unchanged.
  • Fix persistent_savepoint() and delete_persistent_savepoint() making the transaction ineligible for further savepoints, so a second savepoint in the same transaction failed with InvalidSavepoint. Only opening, renaming, or deleting a data table, or restoring a savepoint, makes a transaction savepoint-ineligible now.

4.2.0 - 2026-08-17

New features

  • Add an experimental cursor API, behind the experimental_cursor feature flag: Table::lower_bound_mut() and Table::upper_bound_mut() return a CursorMut pointing at a gap between entries, modeled on the standard library's BTreeMap cursors. Inserting sorted data through its insert_before() method can be around 3x faster than calling insert() with the same data; insert_after() inserts through the gap in descending order at the same speed. ReadableTable::lower_bound() and ReadableTable::upper_bound() return a read-only Cursor. The feature is unstable and may change incompatibly, or be removed, in any release.

... (truncated)

Commits
  • 2de02fa Bump version to 4.3.0
  • 7644dd8 Update changelog
  • 13011e5 Gate multiprocess error variants behind their feature
  • 8f08680 Update changelog
  • cfaa852 Keep local multi-writer commits in the read cache
  • ecec3ba Update changelog
  • ae626c6 Fix table formating in design doc
  • 38624a7 Rename the concurrency modes
  • e4993eb Update AGENTS.md
  • 2846ab7 Keep aborted savepoint handles invalid across writer processes
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps [redb](https://github.com/cberner/redb) in `/czech-file-knife` from 4.1.0 to 4.3.0.


Updates `redb` from 4.1.0 to 4.3.0
- [Release notes](https://github.com/cberner/redb/releases)
- [Changelog](https://github.com/cberner/redb/blob/master/CHANGELOG.md)
- [Commits](cberner/redb@v4.1.0...v4.3.0)

---
updated-dependencies:
- dependency-name: redb
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 18, 2026
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 12e7dd9d-9587-4de0-9776-82c2b0bd73db

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit cc3b9ec into main Sep 18, 2026
20 of 21 checks passed
@hyperpolymath
hyperpolymath deleted the dependabot/cargo/czech-file-knife/cargo-6bae59848a branch September 18, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant