github matrix-org/dendrite v0.6.0
Dendrite 0.6

latest releases: v0.13.7, helm-dendrite-0.14.1, helm-dendrite-0.14.0...
2 years ago

Features

  • NATS JetStream is now used instead of Kafka and Naffka
    • For monolith deployments, a built-in NATS Server is embedded into Dendrite or a standalone NATS Server deployment can be optionally used instead
    • For polylith deployments, a standalone NATS Server deployment is required
    • Requires the version 2 configuration file — please see the new dendrite-config.yaml sample config file
    • Kafka and Naffka are no longer supported as of this release
  • The roomserver is now responsible for fetching missing events and state instead of the federation API
    • Removes a number of race conditions between the federation API and roomserver, which reduces duplicate work and overall lowers CPU usage
  • The roomserver input API is now strictly ordered with support for asynchronous requests, smoothing out incoming federation significantly
  • Consolidated the federation API, federation sender and signing key server into a single component
    • If multiple databases are used, tables for the federation sender and signing key server should be merged into the federation API database (table names have not changed)
  • Device list synchronisation is now database-backed rather than using the now-removed Kafka logs

Fixes

  • The code for fetching missing events and state now correctly identifies when gaps in history have been closed, so federation traffic will consume less CPU and memory than before
  • The stream position is now correctly advanced when typing notifications time out in the sync API
  • Event NIDs are now correctly returned when persisting events in the roomserver in SQLite mode
    • The built-in SQLite was updated to version 3.37.0 as a result
  • The /event_auth endpoint now strictly returns the auth chain for the requested event without loading the room state, which should reduce spikes in memory usage
  • Filters are now correctly sent when using federated public room directories (contributed by S7evinK)
  • Login usernames are now squashed to lower-case (contributed by BernardZhao)
  • The logs should no longer be flooded with Failed to get server ACLs for room warnings at startup
  • Backfilling will now attempt federation as a last resort when trying to retrieve missing events from the database fails

Don't miss a new dendrite release

NewReleases is sending notifications on new releases.