Added
- Add support for
Redis Pub/Sub. - Add support for redis with
location: remote. - Added support for splitting Temporal task queues.
- Added the number of concurrent Preview Environment session to the output of
mirrord operator status. - The
--keyargument formirrord exec,mirrord preview, andmirrord up
can now be provided with theMIRRORD_KEYenvironment variable.
Changed
- A new command argument
--resolvedis added to themirrord verify-config
subcommand
to display a fully resolved mirrord config including user inputs and all
default
values being used. - Renamed the mirrord UI identity label to "Running as" (previously "Signed in
as") to reflect that it shows the active cluster identity queried by the CLI
rather than an authenticated session. feature.network.dns.filteris no longer marked as unstable in config docs
or CLI warnings.
Fixed
- Fixed concurrent DNS resolution intermittently failing under mirrord on
Windows. A burst of in-flight asyncGetAddrInfoExWqueries, such as a .NET
HttpClientissues under load, could exhaust the managed-handle registry's
single-lock retry budget and drop a query, which surfaced to the app as a
WSAHOST_NOT_FOUNDSocketException. The registry now shards its lock
across independent shards, so concurrent registration no longer serializes on
one lock. - Fixed concurrent file I/O contending the Windows
IOCPfile-binding map
under mirrord. Many parallel open/close operations serialized on a single
RwLock, sobindandunbindcould give up under contention and drop a
file's async-read completion binding, or leak its entry on close. The binding
now lives in the file's managed-handle record, which shards its lock across
independent locks and drops the binding atomically when the handle closes. - Preview environments now hash the session key before placing it in the
PreviewSessionresource's label. In practice this means keys containing
characters like/, which are invalid for Kubernetes labels, are accepted.