Skip to content

Release v2.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 10:20
d722e21

Added

  • chronicle://host1:port,host2:port,... connection strings — the client now connects to any one of several configured hosts instead of only a single server.
  • chronicle+srv:// connection strings, resolving the target host(s) via a DNS SRV lookup, re-resolved on every connect/reconnect so membership changes are picked up automatically. The DNS server to query can be overridden with the srvNameServer option.
  • A loadBalancer connection string option selecting how one address is picked among several candidates: least-connections (the default — probes each candidate and picks the one with the fewest active connections), round-robin, or random.
  • A skipTlsValidation connection string option to skip TLS certificate validation independently of disabling TLS entirely. Defaults to true, matching the client's previous behavior — set skipTlsValidation=false to require full certificate chain validation.
  • Client connections now report the process id, process path, machine name, and client type to the Chronicle kernel, improving connection diagnostics.

Fixed

  • The client now reconnects to the kernel instead of staying down. A dropped connection was swallowed by empty catch blocks, so it completed silently with nothing logged and no way to recover short of restarting the application.
  • A connection that goes silent without erroring is now detected and reconnected. The kernel does not close the keep-alive stream when it evicts a client, so waiting for an error never fired.
  • Reactors and reducers are re-registered on every reconnect. They previously registered once against a connection ID captured at construction, so after any reconnect they observed nothing for the rest of the process lifetime.
  • Reactor and reducer observation streams are re-established after they end, instead of that observer stopping permanently. This includes streams the kernel closes deliberately, such as cross-store (inbox) observations.
  • Keep-alive and observation failures are now reported instead of being discarded silently.

Changed

  • Reconnect backoff is jittered, so a fleet of clients that lost the same kernel does not reconnect in lockstep.
  • The client connection ID rotates on every reconnect, so observers re-register under an ID the kernel recognizes.