github streetwriters/notesnook-sync-server v1.0-beta.44

pre-release8 hours ago

Note: This is a beta version and NOT ready for use in production.

Identity

  1. Add OpenIddict as a token server, selected with IDENTITY_ENGINE=openiddict. IdentityServer4, which is no longer maintained, stays the default in this release; a future release will remove it. See Upgrading below.
  2. Keep signed-in users signed in across the switch, in both directions
  3. Stop revealing whether an email is registered during sign in
  4. End password reset tokens at logout
  5. Use the async MongoDB grant store
  6. Minify email templates once instead of on every request
  7. Export Identity metrics to Prometheus on internal port 5068

Sync

  1. Delete inactive devices and their IDs in one transaction, and run the device cleanup job daily
  2. Expose sync, runtime and SignalR metrics to Prometheus
  3. Let the GC conserve memory by compacting the large object heap
  4. Upgrade the MongoDB driver to 3.12

Upgrading

Identity can now run on OpenIddict instead of IdentityServer4. Nobody is signed out by upgrading, switching, or switching back.

Switching

  1. Back up the identity database.
  2. Add IDENTITY_ENGINE: openiddict to the identity-server environment and restart it.
  3. Back up again: the first start creates the openiddict.keys collection.

To switch back, remove IDENTITY_ENGINE and restart.

Keys

  • Keep the openiddict.keys collection and NOTESNOOK_API_SECRET: losing either signs everyone out.

  • To change NOTESNOOK_API_SECRET, start Identity once with the old value in NOTESNOOK_API_SECRET_PREVIOUS, then remove it.

  • If a key may have leaked, replace them (this signs everyone out):

    docker compose exec identity-server ./Streetwriters.Identity keys replace
    docker compose restart identity-server

Test drive

wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/v1.0-beta.44/docker-compose.yml
wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/v1.0-beta.44/.env
docker compose up

Make sure everything is up and running:

docker ps

All the above services must show (healthy) in the output.

Full Changelog: v1.0-beta.40...v1.0-beta.44

Don't miss a new notesnook-sync-server release

NewReleases is sending notifications on new releases.