Release v16.30.1
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(orTls.SkipCertificateValidation = false) to require full certificate chain validation against a server whose certificate is verifiable.
Fixed
Tls.SkipCertificateValidationand the connection string'sskipTlsValidationno 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
ObjectDisposedExceptiononGrpc.Net.Client.GrpcChannelat the first call after the connect timeout