Repository navigation
v0.3.0
The first published release of KyPost-Server.
Everything before this was built from source. From this release on there is a
published image, an immutable version tag, and a documented upgrade path:
docker compose pull && docker compose up -d
or ./scripts/update-host.sh, which records the running image's digest, verifies
the new image's build attestation before switching, and restores the recorded
digest if the post-update health check fails.
The image is ghcr.io/busness-app/kypost-server:0.3.0, built and attested by
release-image.yml. :stable moves to it
only after that attestation has been published and verified.
Highlights
- The pairing QR publishes a certificate pin. Pairing is the one call that
carries the pairing token, the push endpoint and the WebPush keys together, and
it previously sent all of it inside a trust-on-first-use window. Clients that
do not understand thepinparameter are unaffected — it is optional and
additive, and its absence means the same trust-on-first-use as before. - Servers self-register with the push relay. Set
PUSH_RELAY_URLand the
server mints its own per-server key on first start and persists it. No Firebase
account, no Apple Developer account, and nothing to ask an operator for. App Pulldelivery bypasses the relay entirely, for anyone who would
rather no notification metadata left their server.
See CHANGELOG.md for the full list, and
docs/PLATFORM_BASELINE.md for what a client must
implement to work against this server.
Upgrading
Schema changes are additive and applied on open, so starting 0.3.0 against an
existing state.db adds what it needs and changes nothing else. Rolling back the
container does not roll back the data — see the upgrade table in the changelog.