Skip to content

Bump revision from 0.17.1 to 0.30.0 - #63

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/revision-0.30.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/revision-0.30.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 28, 2026

Copy link
Copy Markdown

Bumps revision from 0.17.1 to 0.30.0.

Release notes

Sourced from revision's releases.

Release v0.22.0

What's Changed

Full Changelog: surrealdb/revision@v0.21.0...v0.22.0

Release v0.20.0

What's Changed

Full Changelog: surrealdb/revision@v0.19.0...v0.20.0

Release v0.19.0

What's Changed

Full Changelog: surrealdb/revision@v0.18.0...v0.19.0

Release v0.18.0

What's Changed

Full Changelog: surrealdb/revision@v0.17.1...v0.18.0

Changelog

Sourced from revision's changelog.

Changelog

0.28.0 — bounds-checked indexed-map lookups

Lets consumers skip the O(len) indexed-map prologue validation on the hot path without risking a process abort. Driven by a SurrealDB no-index scan profile where IndexedMapWalker::from_payload's eager validation (validate_map_prologue + validate_key_region_ascending) accounted for ~6.8 % of total CPU per record — five times the cost of the binary-search lookup it guarded — because it walks every offset and every key while the lookup only touches O(log len) of them.

The validation existed because find_value_bytes / entries sliced the dense key/value regions with unchecked offset values: a corrupt offset would slice out of bounds and, under panic = 'abort', abort the whole process. Bounds-checking those slices at the point of use removes that hazard, so from_payload_unvalidated is now safe to use on untrusted bytes (callers protected by an upstream integrity check — e.g. storage-engine block checksums — can take the fast path and fall back to a full decode on the access-time error).

Changed

  • IndexedMapWalker::find_value_bytes now returns Error::OptimisedOffsetOutOfRange instead of panicking when a key/value offset is past its region or non-monotonic. Walkers opened via from_payload are unaffected (their prologue is validated, so the error arm is unreachable).
  • IndexedMapWalker::entries clamps an out-of-range or inverted (start, end) to an empty slice for that entry instead of panicking.
  • from_payload_unvalidated is no longer documented as "panics on malformed input" — the accessors are now bounds-checked at the point of use. The only weaker guarantee versus from_payload is that a corrupt non-ascending key region can make a binary-search lookup report a present key as absent (no panic, no out-of-bounds read).

The wire format and all public signatures are unchanged.

0.27.0 — alloc-free indexed deserialize

Removes the per-call heap allocation from the indexed-body deserialize path, completing the work #67 started for the skip path. The wire format and all public signatures are unchanged.

Performance

  • deserialize_indexed_map / deserialize_indexed_seq (and the HashMap IndexedMapEncoded impl) no longer allocate a vec![0u8; n] discard buffer to step over the offset-table prologue. They now use slice_reader::advance_read, the same fixed 4 KB stack-buffer read loop the other SkipRevisioned impls use — one fewer heap allocation per indexed map/seq decoded, no behavioural change. The reader bound stays R: Read (unlike the skip_indexed_* fast path, sequential decode can't pointer-bump), so this is not a breaking change.

0.26.0 — O(1) skip for indexed bodies

Fast-path the per-record cost of skipping #[revision(indexed_map)] / #[revision(indexed_seq)] / #[revision(indexed_set)] fields. Driven

... (truncated)

Commits
  • 4671d93 chore: Release
  • e896385 feat(indexed): hinted map lookup for repeated-shape scan workloads (#71)
  • a0568fe chore: Release
  • 1ee2074 perf(indexed): construct lookup bounds errors lazily in find_value_bytes (#70)
  • 63179df chore: Release
  • 3ccf232 Update dependencies
  • 0c81eae perf(indexed): bounds-check indexed-map lookups for safe unvalidated reads (#69)
  • 37125b6 chore: Release
  • 2830a69 perf(indexed): drop discard-buffer alloc from deserialize path (#68)
  • f81b8c4 chore: Release
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [revision](https://github.com/surrealdb/revision) from 0.17.1 to 0.30.0.
- [Release notes](https://github.com/surrealdb/revision/releases)
- [Changelog](https://github.com/surrealdb/revision/blob/main/CHANGELOG.md)
- [Commits](surrealdb/revision@v0.17.1...revision-derive-v0.30.0)

---
updated-dependencies:
- dependency-name: revision
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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 Oct 28, 2026
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