[package]
edition = "2024"
name = "revision"
version = "0.26.0"
authors = ["Tobie Morgan Hitchcock <tobie@surrealdb.com>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A serialization and deserialization implementation which allows for schema-evolution."
homepage = "https://github.com/surrealdb/revision"
readme = "README.md"
keywords = [
"serialization",
"encoding",
"revision",
"version",
"bincode",
]
categories = ["encoding"]
license = "Apache-2.0"
repository = "https://github.com/surrealdb/revision"
[features]
default = ["specialised-vectors"]
fixed-width-encoding = []
specialised-vectors = []
[lib]
name = "revision"
path = "src/lib.rs"
[[test]]
name = "corruption"
path = "tests/corruption.rs"
[[test]]
name = "indexed"
path = "tests/indexed.rs"
[[test]]
name = "indexed_fields"
path = "tests/indexed_fields.rs"
[[test]]
name = "macro_optimised"
path = "tests/macro_optimised.rs"
[[test]]
name = "migration"
path = "tests/migration.rs"
[[test]]
name = "multi_field_variant_walk"
path = "tests/multi_field_variant_walk.rs"
[[test]]
name = "optimised"
path = "tests/optimised.rs"
[[test]]
name = "per_field_fixed"
path = "tests/per_field_fixed.rs"
[[test]]
name = "per_field_specialised"
path = "tests/per_field_specialised.rs"
[[test]]
name = "property"
path = "tests/property.rs"
[[test]]
name = "skip"
path = "tests/skip.rs"
[[test]]
name = "skip_indexed_fast_path"
path = "tests/skip_indexed_fast_path.rs"
[[test]]
name = "syntax_legacy_vs_new"
path = "tests/syntax_legacy_vs_new.rs"
[[test]]
name = "test"
path = "tests/test.rs"
[[test]]
name = "walk"
path = "tests/walk.rs"
[[test]]
name = "walk_field_wire_zero_copy"
path = "tests/walk_field_wire_zero_copy.rs"
[[test]]
name = "walker_optimised"
path = "tests/walker_optimised.rs"
[[bench]]
name = "generic"
path = "benches/generic.rs"
harness = false
[[bench]]
name = "late_field_access"
path = "benches/late_field_access.rs"
harness = false
[[bench]]
name = "optimised_nested"
path = "benches/optimised_nested.rs"
harness = false
[[bench]]
name = "optimised_vs_legacy"
path = "benches/optimised_vs_legacy.rs"
harness = false
[[bench]]
name = "optimised_walker"
path = "benches/optimised_walker.rs"
harness = false
[[bench]]
name = "ordmap_comparison"
path = "benches/ordmap_comparison.rs"
harness = false
required-features = ["imbl"]
[[bench]]
name = "roaring"
path = "benches/roaring.rs"
harness = false
required-features = ["roaring"]
[[bench]]
name = "skip"
path = "benches/skip.rs"
harness = false
[[bench]]
name = "skip_mixed_btreemap_nested"
path = "benches/skip_mixed_btreemap_nested.rs"
harness = false
required-features = ["uuid"]
[[bench]]
name = "skip_nested_btreemap"
path = "benches/skip_nested_btreemap.rs"
harness = false
[[bench]]
name = "skip_nested_struct"
path = "benches/skip_nested_struct.rs"
harness = false
[[bench]]
name = "skip_surrealdb_doc"
path = "benches/skip_surrealdb_doc.rs"
harness = false
[[bench]]
name = "specialisation_comparison"
path = "benches/specialisation_comparison.rs"
harness = false
[[bench]]
name = "varint_comparison"
path = "benches/varint_comparison.rs"
harness = false
[[bench]]
name = "vec_bool_comparison"
path = "benches/vec_bool_comparison.rs"
harness = false
[[bench]]
name = "vec_f32_comparison"
path = "benches/vec_f32_comparison.rs"
harness = false
[[bench]]
name = "vec_f64_comparison"
path = "benches/vec_f64_comparison.rs"
harness = false
[[bench]]
name = "vec_i128_comparison"
path = "benches/vec_i128_comparison.rs"
harness = false
[[bench]]
name = "vec_i16_comparison"
path = "benches/vec_i16_comparison.rs"
harness = false
[[bench]]
name = "vec_i32_comparison"
path = "benches/vec_i32_comparison.rs"
harness = false
[[bench]]
name = "vec_i64_comparison"
path = "benches/vec_i64_comparison.rs"
harness = false
[[bench]]
name = "vec_i8_comparison"
path = "benches/vec_i8_comparison.rs"
harness = false
[[bench]]
name = "vec_string_comparison"
path = "benches/vec_string_comparison.rs"
harness = false
[[bench]]
name = "vec_u128_comparison"
path = "benches/vec_u128_comparison.rs"
harness = false
[[bench]]
name = "vec_u16_comparison"
path = "benches/vec_u16_comparison.rs"
harness = false
[[bench]]
name = "vec_u32_comparison"
path = "benches/vec_u32_comparison.rs"
harness = false
[[bench]]
name = "vec_u64_comparison"
path = "benches/vec_u64_comparison.rs"
harness = false
[[bench]]
name = "vec_u8_comparison"
path = "benches/vec_u8_comparison.rs"
harness = false
[[bench]]
name = "walk"
path = "benches/walk.rs"
harness = false
[dependencies.bytes]
version = "1.11.0"
optional = true
[dependencies.chrono]
version = "0.4.42"
features = ["std"]
optional = true
default-features = false
[dependencies.geo]
version = "0.32.0"
features = ["use-serde"]
optional = true
default-features = false
[dependencies.imbl]
version = "6.1.0"
optional = true
[dependencies.ordered-float]
version = "5.1.0"
optional = true
[dependencies.regex]
version = "1.12.2"
optional = true
[dependencies.revision-derive]
version = "0.26.0"
[dependencies.roaring]
version = "0.11.2"
optional = true
[dependencies.rust_decimal]
version = "1.39.0"
optional = true
default-features = false
[dependencies.uuid]
version = "1.19.0"
optional = true
[dev-dependencies.bincode]
version = "1.3.3"
[dev-dependencies.criterion]
version = "0.7.0"
[dev-dependencies.paste]
version = "1.0"
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.roaring]
version = "0.11.2"
features = ["serde"]
[dev-dependencies.serde]
version = "1.0.228"