confium 0.5.0 → 0.6.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: d09c11dbd19d2df0b80cac44a48013395a7d96a1430506be1b1dc42b0b3831a3
4
- data.tar.gz: c15b846b399f57a4a36fe808a8e98e3e224ec3873690a81e43f7c281134b5918
3
+ metadata.gz: '054208fb4ca092a7a6bcf862044fe1e7b8a771b385d259f9e1bce666e961a5de'
4
+ data.tar.gz: '06659a4ae641e21b6dad9e2de65ce135a9ae0b045d02a825ee313c7786b53e9a'
5
5
  SHA512:
6
- metadata.gz: 568abf025728f288d453c8f315930665f3fabb77abc1484e743c7539fd36c45813c721c970202f40a90e4e34969313a28adca521b5a38cd62a01984743b92a74
7
- data.tar.gz: 59877e7dc1b834e49e7f9c5b5a25e1a87bcd888f50a15bdc3917f6024685c168bc87feb4d30bc3f5f9cb37b232a3b141652d9e07b0501f9c2e110205486e7b3c
6
+ metadata.gz: 9da609aa1326f9449aa69cc318f87d57ea725ad234f963b228261161a1b4ea5421e49d2313262676da31c2faf3ea5fb2fc5a71fbd812a6708a89b5435f2546d5
7
+ data.tar.gz: 77c4e2fbb644fb96557b2e87d02c38d482b0bbaa03c16469259e98c6d47b07495047803c391e3f09b9d66c687c39dee95ffd043725863bf072167cd90422c41e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.0] — 2026-08-25
4
+
5
+ ### Removed
6
+
7
+ - The orphaned C-ABI layer: `Confium::Lib`, `Confium::CFM`,
8
+ `Confium::FFI`, `Confium::Digest`, `Confium::Crypto`,
9
+ `Confium::TC::Session` (the C-ABI wrapper) and
10
+ `Confium::TC::SessionStub`. None of these were loaded by the gem,
11
+ none worked — they called `Confium::call_ffi`, a method that never
12
+ existed (the RBS carried a phantom declaration only to keep the
13
+ type checker green over them). The magnus extension is the only
14
+ binding layer; see docs/adr/0005.
15
+
16
+ ### Changed
17
+
18
+ - The native-extension ABI-window resolution moved out of
19
+ `lib/confium.rb` into `Confium::NativeWindows.candidates` — a pure
20
+ function now spec'd for every minor plus the cross-major edges
21
+ (this decision produced three release incidents; it was previously
22
+ testable only by installing eight platform gems).
23
+ - `Confium::TC` session semantics moved into a deep
24
+ `Confium::TC::SigningSession` (state machine, per-signer dedup,
25
+ CMP20/GG18 combine); `Coordinator` (in-process) and
26
+ `NetworkCoordinator` (TCP) are now adapters over it. Behavior
27
+ changes from the old inline session Hashes: duplicate
28
+ commitments/shares from the same signer raise
29
+ `Confium::ValidationError` instead of counting twice toward the
30
+ threshold (a one-signer quorum spoof), and unknown session ids
31
+ raise `Confium::NotFoundError` instead of a bare `RuntimeError`.
32
+
33
+ ### Added
34
+
35
+ - `Confium::Audit::OtlpSink` retries failed deliveries with
36
+ exponential backoff (`retries:`, `retry_base:` — 2 retries at
37
+ 100 ms base by default) before dropping a record. Telemetry
38
+ outages still never break signing; a flaky collector now
39
+ survives single failures.
40
+ - **Opt-in OpenPGP signature verification** — `Confium::OpenPGP.verify_detached`
41
+ and `Confium::OpenPGP.verify` (inline/clearsigned), backed by a vendored
42
+ librnp behind the `pgp` cargo feature. Public-key material is passed with
43
+ the call (String or Array). Platform gems keep building default features:
44
+ `Confium::OpenPGP::PGP_AVAILABLE` reports `false` there and the verify
45
+ methods raise with rebuild instructions (`RB_SYS_CARGO_FEATURES=pgp
46
+ bundle exec rake compile`). Armor stays pure Ruby and always available.
47
+ CI gains a `pgp-verify` job that compiles the feature and exercises the
48
+ real verification path against checked-in gpg-generated fixtures.
49
+
3
50
  ## [0.5.0] — 2026-08-24
4
51
 
5
52
  ### Added