| Commit message (Expand) | Author | Age | Files | Lines |
| * | Merge origin/main into the chat encryption work | Christophe Besson | 2026-09-07 | 1 | -76/+0 |
| |\ |
|
| | * | refactor(mnp)!: remove stream_seg, the last unencrypted content message | Christophe Besson | 2026-09-07 | 1 | -76/+0 |
| * | | feat(chat): encrypt group chat under per-device epoch keys (MNP 2.0) | Christophe Besson | 2026-09-07 | 1 | -4/+10 |
| |/ |
|
| * | fix(node): pin utf-8 (and LF) on every text file the node reads or writes | Christophe Besson | 2026-09-04 | 1 | -2/+2 |
| * | refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7) | Christophe Besson | 2026-09-03 | 1 | -3/+5 |
| * | feat!: MNP 1.0 — seal index and handshake_ack under the group key | Christophe Besson | 2026-09-03 | 1 | -1/+23 |
| * | refactor!: one file_chunk and index_sync encoder for every transport | Christophe Besson | 2026-09-03 | 1 | -41/+8 |
| * | fix(node): bring the QUIC chat and stream handlers to WebRTC parity | Christophe Besson | 2026-09-01 | 1 | -49/+95 |
| * | feat(node): several named roots per group, and one implementation per operation | Christophe Besson | 2026-08-18 | 1 | -4/+36 |
| * | feat(common): MNP 0.2 — liveness, and chat history read the way it is written | Christophe Besson | 2026-08-16 | 1 | -0/+5 |
| * | feat(quic): GEK proof and mutual authentication — closes C6 | Christophe Besson | 2026-08-13 | 1 | -1/+93 |
| * | refactor(quic): share the unified handshake authorization | Christophe Besson | 2026-08-13 | 1 | -24/+28 |
| * | fix: swarm privacy, revocation persistence, keystore KDF, audit integrity | Christophe Besson | 2026-08-13 | 1 | -5/+53 |
| * | fix(node)!: remove unauthenticated HTTP file API and TCP transport | Christophe Besson | 2026-08-13 | 1 | -1/+0 |
| * | feat: Phase 9 — Web client SPA with WebRTC P2P transport | Christophe Besson | 2026-08-11 | 1 | -3/+4 |
| * | feat: Phase 7 — Node v2 (multi-group, Sender Keys, 0-RTT, chat, denylist) | Christophe Besson | 2026-08-10 | 1 | -9/+167 |
| * | feat(node): punch_nat() — NAT traversal from QUIC server socket | Christophe Besson | 2026-08-10 | 1 | -0/+16 |
| * | fix(node): QuicChunkClient local_port + QuicChunkServer dual-stack | Christophe Besson | 2026-08-10 | 1 | -1/+1 |
| * | feat(node): add QUIC transport (MNP v2) — quic_server + quic_client | Christophe Besson | 2026-08-09 | 1 | -0/+280 |