Files
patch-db/core/Cargo.toml
Aiden McClelland 10413414dc fix: revert from ciborium to serde_cbor_2, make apply_patches iterative
- ciborium's deserialize_str bug (#32) caused DB deserialization to fail
  silently, nuking the database value to null on compress
- Switch to dr-bonez/cbor fork (serde_cbor_2) which has StreamDeserializer
  change_output_type support
- Propagate deserialization errors instead of falling back to null
- Convert apply_patches from recursion to iteration to prevent stack
  overflow on patches with many operations (e.g. 953 ops)
2026-03-09 23:42:14 -06:00

49 lines
1.4 KiB
TOML

[package]
authors = ["Aiden McClelland <aiden@start9labs.com>"]
categories = ["database-implementations"]
description = "A database that tracks state updates as RFC 6902 JSON Patches"
edition = "2018"
keywords = ["json", "json-patch", "json-pointer"]
license = "MIT"
name = "patch-db"
readme = "README.md"
repository = "https://github.com/Start9Labs/patch-db"
version = "0.1.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
debug = ["tracing"]
trace = ["debug", "tracing-error"]
unstable = []
[dependencies]
async-trait = "0.1.42"
serde_cbor = { package = "serde_cbor_2", git = "https://github.com/dr-bonez/cbor.git" }
fd-lock-rs = "0.1.3"
futures = "0.3.8"
imbl = "6"
imbl-value = "0.4.1"
json-patch = { path = "../json-patch" }
json-ptr = { path = "../json-ptr" }
lazy_static = "1.4.0"
nix = "0.30.1"
patch-db-macro = { path = "../macro" }
serde = { version = "1", features = ["rc"] }
thiserror = "2"
tokio = { version = "1", features = ["fs", "io-util", "macros", "rt", "sync"] }
tracing = { version = "0.1.29", optional = true }
tracing-error = { version = "0.2.0", optional = true }
[dev-dependencies]
proptest = "1.0.0"
rand = "0.9.1"
serde = { version = "1.0.118", features = ["derive", "rc"] }
tokio = { version = "1.0.1", features = [
"fs",
"io-util",
"macros",
"rt",
"rt-multi-thread",
"sync",
] }