Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions .changeset/cyan-donkeys-shave.md

This file was deleted.

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# @germ-network/two-mls-pq

## 0.15.1

### Patch Changes

- [#122](https://github.com/germ-network/TwoMLSPQ/pull/122) [`548160a`](https://github.com/germ-network/TwoMLSPQ/commit/548160a322b2c1297770017031e79da1e28ed7fe) Thanks [@germ-mark](https://github.com/germ-mark)! - Bump mls-rs to the `germ-integration` pin, and keep `APP_DATA_UPDATE` pathless

The fork's `main` was resynced with upstream `awslabs/mls-rs`, and the Germ changes were
recomposed on top of it as `germ-integration`. The pin moves from `ec69dc25` to
`c6ede1ce`, picking up the crypto providers, a recovered cryptokit build fix, the Safe
Extensions exporter tree, and attachment CEK derivation.

The resync requires one behavioural fix. Upstream added
`MlsRules::custom_proposal_requires_update_path` with a default of `true`, so
`APP_DATA_UPDATE` — an attestation that changes no group membership — began forcing an
updatePath. On the PQ half that put an ML-KEM updatePath on a commit that must stay
pathless: the bind commit grew past a whole ML-KEM-768 ciphertext. `TwoMlsRules` now
overrides the hook to `false`, restoring the behaviour `apq` was written against. Where a
path _is_ wanted — the FULL commit discharging an owed bind on the classical half —
`commit_options` still pins it explicitly, which is where that decision belongs.

Also drops `serde` — both the `mls-rs` feature and the unused `[workspace.dependencies]`
entry. Nothing in the workspace consumes either: no `.rs` file references serde and no
member crate declares it. mls-rs's serde derives are `cfg_attr`-attached, so they never
participate in `MlsEncode`/`MlsDecode`; removing the feature cannot move a byte of the
stored format. Archiving goes through the crate's own `MlsEncode`/`MlsDecode` wire
structs, which are untouched.

No wire, FFI, or error-variant change. Group state written by the previous pin still
loads.

## 0.15.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@germ-network/two-mls-pq",
"private": true,
"version": "0.15.0",
"version": "0.15.1",
"engines": {
"node": ">=24"
},
Expand Down