REST API v2 + Crypto Protocol v2

Redesign the REST API to be nicer, more REST like, more modern, clearer, ...

This is part of the NLnet-funded work: https://fmd-foss.org/blog/2025/05/03/nlnet-funding#4-redesign-fmd-servers-rest-api

Related tickets:

Crypto Protocol v2

As part of this, also introduce the new FMD Server Protocol v2 for the cryptographic protections: https://gitlab.com/fmd-foss/server-protocol

Initially, only new accounts should use API v2 and protocol v2. Existing accounts will need a migration (to be implemented separately).

Testing

Full backwards compatibility:

  1. Fresh installs: Android 0.17.0 + Server 0.17.0 ⇒ works with v2
  2. Server upgrade: both 0.16.0 ⇒ upgrade Server 0.17.0 ⇒ should still work with v1
  3. Android upgrade: both 0.16.0 ⇒ upgrade Android 0.17.0 ⇒ should still work with v1
  4. Both upgrade: both 0.16.0 ⇒ upgrade Android 0.17.0 ⇒ upgrade Server 0.17.0 ⇒ should still work with v1
Edited by Thore Göbel