Skip to content

Release v16.30.1

Choose a tag to compare

@github-actions github-actions released this 13 Aug 18:16
5fe907d

Summary

A .NET client connecting to a development Chronicle Server stopped working in v16.24.0. The server generates a self-signed certificate in memory on every start when none is configured — it is never persisted and never enters a trust store, so there is nothing a client can validate it against. With validation on by default, a stock client against a stock development kernel failed the TLS handshake, timed out connecting, and then crashed with an ObjectDisposedException on the disposed gRPC channel at the first call. This restores connecting to a development server with no certificate setup, and fixes the option ambiguity that motivated the original change.

Changed

  • The .NET client skips TLS certificate validation by default again, so a development server and client connect with no certificate setup on either side. Set skipTlsValidation=false (or Tls.SkipCertificateValidation = false) to require full certificate chain validation against a server whose certificate is verifiable.

Fixed

  • Tls.SkipCertificateValidation and the connection string's skipTlsValidation no longer combine so that an omitted value overrides an explicit one — either setting alone is now enough to turn certificate validation on, and an omitted second setting can never silently turn it back off (#3606)
  • A client connecting to a development kernel no longer fails the TLS handshake and then crashes with ObjectDisposedException on Grpc.Net.Client.GrpcChannel at the first call after the connect timeout