github element-hq/lk-jwt-service v0.6.0

3 hours ago

Delegation of delayed leave events

This release adds support for delegating delayed leave events to the service via the new /delegate_delayed_leave endpoint. This spares clients having to maintain their dead man's switch themselves and improves the mechanism's accuracy. Delegated events can be persisted across service restarts using a new optional storage backend based on Redis.

In a related change, the previously introduced delay_cs_api_url parameter was deprecated on all endpoints. For increased security, the service now ignores this parameter entirely and instead resolves the C-S API location using .well-known discovery. Homeserver admins should make sure to configure .well-known discovery appropriately.

Further noteworthy changes include a new health check enpoint /healthz and improved test coverage.

Important

As we continue progressing on MSC4195, the service will undergo further breaking changes. Specifically, the endpoints the service currently provides will be integrated into the Client-Server API to be served by the home server in future. For Synapse, we're planning to run the service as a sidecar application service to which Synapse will proxy incoming requests via MSC4512. Other homeservers can choose to follow this approach if they want to reuse the service implementation.

On a related note, we also have a Rust rewrite in flight (#197). This won't impact the service's external interface but will change the way the service is built.

Docker image

The service is available as a Docker image from the GitHub Container Registry.

docker pull ghcr.io/element-hq/lk-jwt-service:0.6.0

Precompiled binaries

The service is available as static precompiled binaries for amd64 and arm64 on linux attached to this release below.

What's Changed

  • feat: healthcheck for container environments by @Ninos in #186
  • Delegated MatrixRTC leave events via delayed events (MSC4140) by @fkwp in #181
  • feat(healthcheck): error messages & use localhost instead of static ip (ipv4 & ipv6 compatibility) by @Ninos in #189
  • Deprecate CS-API URL parameters and use .well-known discovery instead by @Johennes in #188
  • Update element-hq/setup-ess-cluster-action digest to 23c5b95 by @renovate[bot] in #192
  • Add job persistence layer using Redis by @Johennes in #187
  • Map restart errors to Aborted rather than Disconnected by @Johennes in #191
  • Unbreak the CI by @Johennes in #194
  • Update all non-major dependencies by @renovate[bot] in #193
  • Add early black-box integration tests by @Johennes in #195
  • Expand the existing integration tests to the remaining endpoints by @Johennes in #196
  • Add black-box tests for token generation by @Johennes in #198
  • Add black-box tests for LIVEKIT_INSECURE_SKIP_VERIFY_TLS by @Johennes in #199
  • Add black-box tests for delayed event delegation by @Johennes in #200
  • Avoid setting disconnectReason to null in black-box tests by @Johennes in #201
  • Allow participants to update their own metadata by @basnijholt in #202

New Contributors

Full Changelog: v0.5.0...v0.6.0

What's Changed

  • feat: healthcheck for container environments by @Ninos in #186
  • Delegated MatrixRTC leave events via delayed events (MSC4140) by @fkwp in #181
  • feat(healthcheck): error messages & use localhost instead of static ip (ipv4 & ipv6 compatibility) by @Ninos in #189
  • Deprecate CS-API URL parameters and use .well-known discovery instead by @Johennes in #188
  • Update element-hq/setup-ess-cluster-action digest to 23c5b95 by @renovate[bot] in #192
  • Add job persistence layer using Redis by @Johennes in #187
  • Map restart errors to Aborted rather than Disconnected by @Johennes in #191
  • Unbreak the CI by @Johennes in #194
  • Update all non-major dependencies by @renovate[bot] in #193
  • Add early black-box integration tests by @Johennes in #195
  • Expand the existing integration tests to the remaining endpoints by @Johennes in #196
  • Add black-box tests for token generation by @Johennes in #198
  • Add black-box tests for LIVEKIT_INSECURE_SKIP_VERIFY_TLS by @Johennes in #199
  • Add black-box tests for delayed event delegation by @Johennes in #200
  • Avoid setting disconnectReason to null in black-box tests by @Johennes in #201
  • Allow participants to update their own metadata by @basnijholt in #202

New Contributors

Full Changelog: v0.5.0...v0.6.0

Don't miss a new lk-jwt-service release

NewReleases is sending notifications on new releases.