✨ Added
KurrentDBPool— new library target providing a shared pool ofClientSettingsfor safely running tests against multiple independent KurrentDB instances. Borrow a client withKurrentDBPool.borrow()/withBorrowedClient(_:); configure pool members via theKURRENTDB_POOL_URLSenvironment variable (JSON array of connection strings).
🔧 Fixes
NodeSelector— resolving a selected node's endpoint no longer guesses intent from whether the gossip-reported address looks likelocalhost.ClientSettings.endpointResolutionPreferencelets callers state it explicitly (.gossipReported, the default for.seeds/.dns;.userConfiguredfor.standalone), fixing endpoints collapsing onto the same address when multiple local containers share127.0.0.1on different ports.
⚠️ Deprecated
KurrentDBClient.shutdown()— deprecated. It only releases the client's ownEventLoopGroupand doesn't stop in-flight or future RPCs, so it never provided a hard lifecycle boundary; kept for the narrower "clean up a self-owned event loop group" use case it was originally added for.
Full Changelog: 2.2.0...2.3.0