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 +4 -4
- data/CHANGELOG.md +47 -0
- data/Cargo.lock +432 -12
- data/ext/confium_native/Cargo.toml +16 -0
- data/ext/confium_native/extconf.rb +5 -0
- data/ext/confium_native/src/lib.rs +4 -0
- data/ext/confium_native/src/openpgp_verify.rs +189 -0
- data/lib/confium/audit/otlp_sink.rb +23 -6
- data/lib/confium/native_windows.rb +31 -0
- data/lib/confium/tc/coordinator.rb +24 -36
- data/lib/confium/tc/signing_session.rb +93 -0
- data/lib/confium/tc.rb +4 -6
- data/lib/confium/version.rb +1 -1
- data/lib/confium.rb +5 -16
- metadata +5 -9
- data/lib/confium/cfm.rb +0 -23
- data/lib/confium/crypto.rb +0 -51
- data/lib/confium/digest.rb +0 -62
- data/lib/confium/ffi.rb +0 -23
- data/lib/confium/lib.rb +0 -33
- data/lib/confium/tc/session.rb +0 -51
- data/lib/confium/tc/session_stub.rb +0 -43
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '054208fb4ca092a7a6bcf862044fe1e7b8a771b385d259f9e1bce666e961a5de'
|
|
4
|
+
data.tar.gz: '06659a4ae641e21b6dad9e2de65ce135a9ae0b045d02a825ee313c7786b53e9a'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|