confium 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c325019a3961cbf877d81c11496cfccba51959282d930b1e5e0420b25b66958
4
- data.tar.gz: 91ea66bd4a9541e38ce7c01c03c26408a8372debdce0539c13ab70aee4895970
3
+ metadata.gz: 322f29b8f4f4e0ad02bec82cbb5a99ea45852fc618f09344c35fb1d42319afbb
4
+ data.tar.gz: e1050278065503030b8f82dd10047eda3363ac3b875456cfe7b2c2ce17573975
5
5
  SHA512:
6
- metadata.gz: e70d630fd442cf891ff15cdd27fc335281488ca5c5985f298337559ad9caf2dfb77bdf7993dd47f766116512bff4e3a53e2939b55cc8b91f77744176780faaf5
7
- data.tar.gz: 3f389ce934ed8f8f81bb13e87346f07b49d06f48acb1196c3774e7c01f1ad810185f22b6708edb0d887193afef4d5d850c3cd4fb6c58e2b246aae09300f5e419
6
+ metadata.gz: 7cdc24b0b728d4f8afc59d6f5e63e9f4a4c328aab34dca675b51391f340699b33b9d216baf2c433bac7fe6ee29f24aca134323b8cda0c5904b498621debd82ed
7
+ data.tar.gz: 71a1d6c636f88a80f31bcd7682cfc6762d99882a3eeed12ba5315ce81225068e280069a3ab2a3b2378d30abc928842c9561cf451ddfeda2038dda94768525ab7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0] — 2026-08-23
4
+
5
+ ### Changed
6
+
7
+ - **The native extension is pure Rust — the vendored RNP stack
8
+ (librnp + Botan + json-c, a full C/C++ build) is gone.** It was
9
+ compiled into every install but used only for ASCII armor, which
10
+ is now implemented in pure Ruby (RFC 9580 §6, byte-for-byte
11
+ compatible with the previous output; differential vectors in
12
+ spec/fixtures/openpgp_armor_vectors.json). Source builds now need
13
+ only a Rust toolchain — no C compiler, no cmake, and no network
14
+ fetch of C sources — and compile in ~2 minutes instead of ~15.
15
+
16
+ ### Added
17
+
18
+ - **Windows (`x64-mingw-ucrt`) and musl Linux
19
+ (`x86_64-linux-musl`, `aarch64-linux-musl`) platform gems**,
20
+ unblocked by the dependency removal: pure Rust builds natively
21
+ under mingw and in Alpine containers (aarch64 under QEMU). All
22
+ are install-checked on every supported Ruby before publishing,
23
+ and Windows joins the test matrix.
24
+ - `Confium::OpenPGP.dearmor` now verifies the CRC-24 checksum and
25
+ raises `Confium::ParseError` on malformed blocks (previously a
26
+ bare rnp failure).
27
+
28
+ ## [0.3.4] — 2026-08-23
29
+
30
+ ### Fixed
31
+
32
+ - **Typed-error sweep completed.** Crypto operation failures
33
+ (FrostP256 sign, ElGamal encapsulate/decrypt/aggregate, composite
34
+ sign) raise `Confium::CryptoError` with the primitive in `details`;
35
+ `PathValidator` DER extraction failures raise `Confium::ParseError`;
36
+ `Manifest#tier_name_at` and `SignedData#certificate_at` out-of-range
37
+ raise the typed `Confium::IndexError` (unifying with the
38
+ transparency proofs — they previously raised Ruby's core
39
+ `IndexError`).
40
+ - **Zero compiler warnings.** All 80 direct
41
+ `magnus::exception::*` constructor sites are centralized into
42
+ `util::runtime`/`util::arg_error` (the deprecated API survives in
43
+ exactly one module whose job is wrapping it); the remaining magnus
44
+ deprecations (`RString::buf_new`, `RArray::each`) and dead imports
45
+ are fixed.
46
+ - **DoS guard now covers every byte input**: the duplicate local
47
+ `bytes_from_value` copies in tc/transparency — one of which
48
+ skipped the 1 MiB size cap — are consolidated onto the util
49
+ version that enforces it.
50
+
3
51
  ## [0.3.3] — 2026-08-23
4
52
 
5
53
  ### Added