Skip to content

Chore(deps): bump redb from 4.2.0 to 4.4.0 - #426

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/redb-4.3.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/redb-4.3.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Bumps redb from 4.2.0 to 4.4.0.

Release notes

Sourced from redb's releases.

4.4.0

New features

  • Implement Value and Key for the NonZero integer types, NonZeroU8 to NonZeroU128 and NonZeroI8 to NonZeroI128.
  • Add Value::NICHE, an optional byte string that a type never encodes to. When a type declares one, Option of that type encodes None as it, in place of a tag byte. Adding a niche to a type changes the encoding of Option of it, and its type name with it, so the two are not equivalent types: a table that stores Option of the type from before it declared the niche fails to open with TableTypeMismatch instead of being misread, and can be read through a copy of the type that declares no niche.
  • Stabilize ReadableTable::lower_bound() and ReadableTable::upper_bound(), which return a read-only Cursor, modeled on the standard library's BTreeMap cursors.
  • Stabilize Table::lower_bound_mut() and Table::upper_bound_mut(), which return a CursorMut modeled on the standard library's BTreeMap cursors. Inserting sorted data through insert_before() can be around 3x faster than insert().

Bug fixes

  • Fix a bug where check_integrity() could report that it repaired corruption, after a transaction that grew the file size was aborted.
  • Fix Database::create() repairing the database it had just created, which failed with RepairAborted under a repair callback that aborts.
  • Fix unbounded memory growth in the page cache under write workloads, when the cache never reached its configured size limit.
  • Fix Durability::None commits being lost on a clean close, after a panic was caught inside an earlier write transaction.
  • Fix compact() leaving free regions at the end of the file, when the compaction emptied more of them than it made commits.
  • Fix compact() waiting forever when the caller holds a write transaction. It fails with CompactionError::TransactionInProgress, as it does for a read transaction.

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

... (truncated)

Changelog

Sourced from redb's changelog.

4.4.0 - 2026-10-13

New features

  • Implement Value and Key for the NonZero integer types, NonZeroU8 to NonZeroU128 and NonZeroI8 to NonZeroI128.
  • Add Value::NICHE, an optional byte string that a type never encodes to. When a type declares one, Option of that type encodes None as it, in place of a tag byte. Adding a niche to a type changes the encoding of Option of it, and its type name with it, so the two are not equivalent types: a table that stores Option of the type from before it declared the niche fails to open with TableTypeMismatch instead of being misread, and can be read through a copy of the type that declares no niche.
  • Stabilize ReadableTable::lower_bound() and ReadableTable::upper_bound(), which return a read-only Cursor, modeled on the standard library's BTreeMap cursors.
  • Stabilize Table::lower_bound_mut() and Table::upper_bound_mut(), which return a CursorMut modeled on the standard library's BTreeMap cursors. Inserting sorted data through insert_before() can be around 3x faster than insert().

Bug fixes

  • Fix a bug where check_integrity() could report that it repaired corruption, after a transaction that grew the file size was aborted.
  • Fix Database::create() repairing the database it had just created, which failed with RepairAborted under a repair callback that aborts.
  • Fix unbounded memory growth in the page cache under write workloads, when the cache never reached its configured size limit.
  • Fix Durability::None commits being lost on a clean close, after a panic was caught inside an earlier write transaction.
  • Fix compact() leaving free regions at the end of the file, when the compaction emptied more of them than it made commits.
  • Fix compact() waiting forever when the caller holds a write transaction. It fails with CompactionError::TransactionInProgress, as it does for a read transaction.

2.6.4 - 2026-10-02

  • Fix unbounded memory growth in the page cache under write workloads, when the cache never reached its configured size limit.

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

... (truncated)

Commits
  • 7061f7e Bump version to 4.4.0
  • 8c29eee Update changelog
  • f403a51 Refuse to compact while a write transaction is live
  • f26a843 Take the consistent byte before the open publishes the recovery flag
  • 0bb989a Retry every fcntl lock request interrupted by a signal
  • c849ed0 Drop every free trailing region when compacting
  • faae676 Make non-durable commits durable when closing after a caught panic
  • 87a17ff Update changelog
  • f95d460 Bound the page cache LRU queue when the cache never fills
  • e9d0c06 Do not repair a database in which nothing has been committed
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Oct 16, 2026
@dependabot dependabot Bot changed the title Chore(deps): bump redb from 4.2.0 to 4.3.0 Chore(deps): bump redb from 4.2.0 to 4.4.0 Oct 23, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/redb-4.3.0 branch from 4fff36e to 8da4389 Compare October 23, 2026 07:36
Bumps [redb](https://github.com/cberner/redb) from 4.2.0 to 4.4.0.
- [Release notes](https://github.com/cberner/redb/releases)
- [Changelog](https://github.com/cberner/redb/blob/master/CHANGELOG.md)
- [Commits](cberner/redb@v4.2.0...v4.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/redb-4.3.0 branch from 8da4389 to 684c9b1 Compare October 23, 2026 07:58
@dependabot @github

dependabot Bot commented on behalf of github Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #440.

@dependabot dependabot Bot closed this Oct 23, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/redb-4.3.0 branch October 23, 2026 10:33
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.

0 participants