1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[]
= "sheets-diff"
= "2.5.0"
= "2024"
= "1.88.0"
= "Structured diff engine for Microsoft Excel .xlsx workbooks"
= ["nabbisen"]
= "Apache-2.0"
= ["development-tools", "parsing", "data-structures"]
= ["excel", "xlsx", "spreadsheet", "diff", "compare"]
= "https://github.com/nabbisen/sheets-diff-rs"
= "README.md"
[]
= "z"
= true
= true
= 1
[]
= 1
= false
# RFC-026: feature flags
# - "serde": optional Serialize derives on public model types (Deserialize deferred)
# - "chrono": optional ISO string synthesis for DateTime values from calamine serials
# - "cli": pulls in clap for the binary; not needed by library consumers
[]
= []
= ["dep:serde", "dep:serde_json"]
= ["dep:chrono", "calamine/chrono"]
= ["dep:clap"]
[[]]
= "sheets-diff"
= "src/main.rs"
= ["cli"]
[]
# RFC-026: pin to 0.36 — API grounding for Data enum, ExcelDateTime, XlsxError::Password
= "0.36"
= { = "1", = ["derive"], = true }
= { = "1", = true }
= { = "0.4", = true }
= { = "4", = ["derive"], = true }
[]
= "0"
= "1"
= { = "0.8", = ["html_reports"] }
# M7 Handoff 02 (RFC-027): the v1.2-vs-v2 benchmark comparison. Pinned exactly
# (not "1.2") so a fresh resolve can't silently pick up a later 1.2.x with
# different behaviour than what was measured. Renamed so both major versions
# coexist in one bench binary.
#
# This does NOT introduce a second calamine. v1.2.0's manifest pins
# `calamine = "0"` with no minor constraint, and a dependency's own committed
# lockfile does not constrain a consuming workspace, so Cargo unifies v1.2 and
# v2 onto the single `calamine 0.36.1` already here -- confirmed with
# `cargo tree -i calamine`. Both sides of the comparison therefore run on the
# literal same parser, which removes the largest confound the benchmark would
# otherwise have had. Do not pin calamine down for this dependency: doing so
# would manufacture exactly that confound.
#
# `cargo deny` consequently reports nothing about calamine because there is
# nothing to report -- not because `multiple-versions-include-dev` defaults to
# false. That default is real and is what covers the pre-existing zip 7.2/8.6
# dev-only split (see deny.toml's comment); it is unrelated to this.
= { = "sheets-diff", = "=1.2.0" }
# Test-only: patches a generated xlsx's internal XML (e.g. workbookPr
# date1904, a raw t="d" cell) to reach calamine code paths rust_xlsxwriter's
# public API cannot produce (RFC-035 Handoff 05, D-01/D-02 reachability).
# Version and feature set matched exactly to calamine's own `zip` dependency
# (version = "8.6", features = ["deflate"], default-features = false) so
# this reuses the already-resolved 8.6.0 with no new transitive deps —
# `zip`'s default features pull in ppmd/lzma/bzip2/aes codecs this crate
# does not use and one of which (ppmd-rust) fails the license allowlist.
= { = "8.6", = ["deflate"], = false }
[[]]
= "workbook_diff"
= false
[[]]
= "memory"
= false
[[]]
= "v1_2_comparison"
= false