| Commit message (Expand) | Author | Age | Files | Lines |
| * | feat: unified group management, public groups, and activity-based sidebar | Christophe Besson | 2026-08-20 | 1 | -0/+4 |
| * | feat: device linking, and signing in to the hub with a device key | Christophe Besson | 2026-08-18 | 1 | -4/+32 |
| * | feat(node): several named roots per group, and one implementation per operation | Christophe Besson | 2026-08-18 | 1 | -14/+27 |
| * | feat(groups): remove a member, and keep gigabytes out of the tab | Christophe Besson | 2026-08-15 | 1 | -0/+82 |
| * | feat(files): download a folder as a zip, and remove an empty one | Christophe Besson | 2026-08-15 | 1 | -0/+109 |
| * | feat(node): meshbay-node group add — host another of your groups | Christophe Besson | 2026-08-15 | 1 | -0/+49 |
| * | feat(groups): editable description, and one source of operator authority | Christophe Besson | 2026-08-15 | 1 | -5/+19 |
| * | feat!: identity keys per node — C4's blast radius drops to one operator | Christophe Besson | 2026-08-14 | 1 | -0/+36 |
| * | fix(node): announce the node key in the challenge, and keep names in the roster | Christophe Besson | 2026-08-14 | 1 | -17/+31 |
| * | feat(node): operator surface — member list, invite, revoke, unpin over SSH | Christophe Besson | 2026-08-14 | 1 | -0/+190 |
| * | feat(node)!: the node wraps the group key — closes H3 and M3 | Christophe Besson | 2026-08-14 | 1 | -0/+504 |