| 2026-04-24 | valkey-swift | Add `RESPToken.ok` (#384) | PR |
| 2026-04-24 | valkey-swift | Latest changes from postgres-nio connection pool (#382) | PR |
| 2026-04-23 | valkey-swift | Fix compiler warnings in snippet (#380) | PR |
| 2026-04-23 | valkey-swift | Update to soundness.yml to 0.0.11 (#375) | PR |
| 2026-04-15 | valkey-swift | Fields type includes a count and an array. Replace with just an array (#376) | PR |
| 2026-04-03 | valkey-swift | Add ValkeyCLI as a product, clean up error reporting (#371) | PR |
| 2026-04-02 | valkey-swift | Cluster TLS port selection (#370) | PR |
| 2026-04-02 | valkey-swift | ValkeySearch 1.2.0 (#354) | PR |
| 2026-04-01 | valkey-swift | Add swift:6.3 to CI (#372) | PR |
| 2026-03-13 | valkey-swift | Add valkey client cli application (#368) | PR |
| 2026-03-10 | valkey-swift | Verify replicas are replicas (#366) | PR |
| 2026-03-10 | valkey-swift | Cleanup ValkeyClient mock tests (#367) | PR |
| 2026-03-07 | valkey-swift | Generic topology election (#364) | PR |
| 2026-03-06 | valkey-swift | Add regular topology refresh to ValkeyClient (#361) | PR |
| 2026-03-06 | valkey-swift | Add graceful shutdown to ValkeyClusterClient (#362) | PR |
| 2026-03-05 | valkey-swift | Add timers to ValkeyClient (#360) | PR |
| 2026-03-04 | valkey-swift | RescheduleIdleTimer change from postgres connection pool (#356) | PR |
| 2026-03-01 | valkey-swift | ValkeyClient: Retry pipelined commands (#353) | PR |
| 2026-03-01 | valkey-swift | ValkeyClusterTopology (#351) | PR |
| 2026-02-27 | valkey-swift | Convert TimerFiredAction to enum (#352) | PR |
| 2026-02-24 | valkey-doc | Swift client v1.0 (#415) | PR |
| 2026-02-23 | valkey-swift | Add 6.3 nightly to CI (#348) | PR |
| 2026-02-23 | valkey-swift | Add ValkeyClientSubscription for client and cluster client subscriptions (#344) | PR |
| 2026-02-23 | valkey-swift | Cluster: Cancel timer tasks once first one finished (#349) | PR |
| 2026-02-23 | valkey-swift | Update commands for v9.0.2 (#345) | PR |
| 2026-02-23 | valkey-swift | Remove default version of Command.keysAffected (#347) | PR |
| 2026-02-19 | valkey-swift | Enable upcoming feature ExistentialAny (#343) | PR |
| 2026-02-18 | valkey-swift | Cluster: Retry pipelined commands on connection closed (#342) | PR |
| 2026-02-18 | valkey-swift | Don't create connection pool for failed primary (#341) | PR |
| 2026-02-18 | valkey-swift | Pre-emptively add connection pools when we receive a MOVE error (#340) | PR |
| 2026-02-18 | valkey-swift | Don't filter fail nodes from cluster description. (#339) | PR |
| 2026-02-15 | valkey-doc | Cluster shard documentation fix for fail health status (#408) | PR |
| 2026-02-15 | valkey-swift | Added ValkeyClusterClientConfiguration (#335) | PR |
| 2026-02-13 | valkey-swift | Add MockServerConnections to mock multiple Valkey servers (#331) | PR |
| 2026-02-13 | valkey-swift | Cluster retry command if underlying client is closed (#336) | PR |
| 2026-02-13 | valkey-swift | Correctly destroy a backing off connection (#337) | PR |
| 2026-02-10 | valkey-swift | If transaction fails check for REDIRECT errors (#324) | PR |
| 2026-02-05 | valkey-swift | Remove StrictMemorySafety (#322) | PR |
| 2026-02-05 | valkey-swift | Added maxAttempts to configuration RetryParameters (#320) | PR |
| 2026-02-05 | valkey-swift | Add StrictMemorySafety upcoming feature flag (#321) | PR |
| 2026-01-30 | valkey-swift | Add support for client capa redirect (#318) | PR |
| 2026-01-23 | valkey-swift | Make response initializers internal or package (#310) | PR |
| 2026-01-23 | valkey-swift | Call READONLY always on cluster nodes (primary and replicas) (#317) | PR |
| 2026-01-22 | valkey-swift | Typed throws for pipelined commands and transactions (#315) | PR |
| 2026-01-21 | valkey-swift | Typed throws for subscriptions and generated commands (#312) | PR |
| 2026-01-16 | valkey-swift | Added typed throws to RESPTokenDecodable(_:) (#311) | PR |
| 2026-01-14 | valkey-swift | Add override for custom return type symbol names (#306) | PR |
| 2026-01-14 | valkey-swift | Make XCLAIM and XPENDING structs (#308) | PR |
| 2026-01-13 | valkey-swift | Rename RESPToken.decodeMapElements to RESPToken.decodeMapValues (#309) | PR |
| 2026-01-12 | valkey-swift | CLIENT TRACKINGINFO custom response (#300) | PR |
| 2026-01-12 | valkey-swift | Memory stats keys (#302) | PR |
| 2026-01-12 | valkey-swift | Use `RESPToken.decodeMapElements` in Cluster commands (#294) | PR |
| 2026-01-12 | valkey-swift | ACL GETUSER custom command (#303) | PR |
| 2026-01-12 | valkey-swift | PUBSUB NUMSUB, SHARDNUMSUB custom responses (#298) | PR |
| 2026-01-12 | valkey-swift | SERVER command custom responses (#297) | PR |
| 2026-01-12 | valkey-swift | Make `ValkeyClusterNode.Flag` a struct so we can extend without a breaking change (#305) | PR |
| 2026-01-12 | valkey-swift | GEOSEARCH: Convert to array in initializer (#304) | PR |
| 2026-01-12 | valkey-swift | WAITAOF custom response (#296) | PR |
| 2026-01-12 | valkey-swift | Xinfo commands (#293) | PR |
| 2026-01-10 | valkey-swift | Remove slave commands, fixed up issues with generated code (#292) | PR |
| 2026-01-06 | valkey-swift | Standalone replica selection (#289) | PR |
| 2026-01-05 | valkey-swift | Add `RESPBulkString.span` to return `Span<UInt8>` (#288) | PR |
| 2026-01-01 | valkey-swift | ValkeyClient state machine. Sets up primary node and will search for replicas if required (#287) | PR |
| 2026-01-01 | valkey-swift | Add tracing spans for pipeline and transaction functions (#284) | PR |
| 2025-12-19 | valkey-swift | Fixes for connection pool changes (#286) | PR |
| 2025-12-19 | valkey-swift | Connection Pool changes from PostgresNIO (#285) | PR |
| 2025-12-18 | valkey-swift | Error cleanup (#283) | PR |
| 2025-12-18 | valkey-swift | Conform ValkeyClusterClient to Service (#282) | PR |
| 2025-12-12 | valkey-swift | Cache static tracing attributes at connection initialization (#278) | PR |
| 2025-12-05 | valkey-swift | Remove `fromRESP` parameter label from RESPTokenDecodable.init(_:) (#275) | PR |
| 2025-12-05 | valkey-swift | RESPBulkString (#271) | PR |
| 2025-12-03 | valkey-swift | Integration Tests for TLS (#270) | PR |
| 2025-12-03 | valkey-swift | Add RESPDecodeError typed throws where we can (#266) | PR |
| 2025-12-03 | valkey-swift | Replace ValkeyClusterParseError with RESPDecodeError (#265) | PR |
| 2025-12-03 | valkey-swift | Rewrite LCS response (#267) | PR |
| 2025-12-03 | valkey-swift | Command array arguments that render with a token for each element (#269) | PR |
| 2025-10-30 | valkey-swift | Readonly replica selection (#253) | PR |
| 2025-10-29 | valkey-swift | Latest changes from PostgresNIO connection pool (#256) | PR |
| 2025-10-28 | valkey-swift | Add support for calling READONLY on replicas (#255) | PR |
| 2025-10-23 | valkey-swift | Add ValkeyConnection.triggerGracefulShutdown (#207) | PR |
| 2025-10-18 | valkey-swift | Cluster transactions (#249) | PR |
| 2025-10-16 | valkey-swift | Add logger trace calls with command names (#252) | PR |
| 2025-10-14 | valkey-swift | Rewrite transaction code, to make it easier to move to client (#232) | PR |
| 2025-10-13 | valkey-swift | Custom function and script responses (#216) | PR |
| 2025-10-11 | valkey-swift | RESPDecodeError: Version 2 (#233) | PR |
| 2025-10-09 | valkey-swift | Generic node description (#230) | PR |
| 2025-10-08 | valkey-swift | Re-organise pipeline execute commands to use same internal function (#239) | PR |
| 2025-10-02 | valkey-swift | Add subscribe functions to ValkeyClientProtocol (#237) | PR |
| 2025-10-01 | valkey-swift | Add existential execute to ValkeyClientProtocol (#235) | PR |
| 2025-09-30 | valkey-swift | Cluster subscribe (#219) | PR |
| 2025-09-27 | valkey-swift | Cluster pipeline (#226) | PR |
| 2025-09-25 | valkey-swift | Cleanup public symbols (#228) | PR |
| 2025-09-25 | valkey-swift | Remove hostname and ip from ValkeyNodeDescription (#229) | PR |
| 2025-09-24 | valkey-swift | Cluster pipeline support - Pipeline commands to one node (#218) | PR |
| 2025-09-24 | valkey-swift | Conform RESPToken.Value to CustomDebugStringConvertible (#217) | PR |
| 2025-09-20 | valkey-swift | Add pipeline functions that take an array of existential ValkeyCommands (#222) | PR |
| 2025-09-15 | valkey-swift | Cluster: Retry command on receiving specific errors (#215) | PR |
| 2025-09-10 | valkey-swift | Add support for ASK errors being returned by Valkey cluster (#199) | PR |
| 2025-09-10 | valkey-swift | Cluster command keys should all come from the one hashkey (#209) | PR |
| 2025-09-09 | valkey-swift | Don't allow SUBSCRIBE command to be cancelled (#214) | PR |
| 2025-09-09 | valkey-swift | ValkeyClusterClient client config defines whether TLS is required (#212) | PR |
| 2025-09-08 | valkey-swift | Disable Create/drop connectinon benchmark in CI (#213) | PR |
| 2025-09-02 | valkey-doc | Add valkey-swift to list of clients (#352) | PR |
| 2025-09-02 | valkey-swift | Enable license header check (#203) | PR |
| 2025-09-01 | valkey-swift | Wrong platform requirement for Benchmarks (#202) | PR |
| 2025-08-28 | valkey-swift | Subscription connection manager v2 (#194) | PR |
| 2025-08-26 | valkey | Update reply schema for LMOVE and BLMOVE (#2541) | PR |
| 2025-08-25 | valkey-swift | Add fake server channel handler to test server close (#192) | PR |
| 2025-08-25 | valkey-swift | Remove half closure from client connection (#188) | PR |
| 2025-08-25 | valkey-swift | Move SETINFO calls to ChannelHandler so they can be written along with HELLO (#172) | PR |
| 2025-08-25 | valkey-swift | Valkey 9.0.0 (#187) | PR |
| 2025-08-21 | valkey-swift | Breaking out running client code from the ValkeyClusterClient StateMachine (#178) | PR |
| 2025-08-21 | valkey-swift | Add create and drop benchmark (#183) | PR |
| 2025-08-04 | valkey-io.github.io | Valkey swift blog post (#315) | PR |
| 2025-08-01 | valkey-swift | Add pipelining benchmark (#171) | PR |
| 2025-07-29 | valkey-swift | Rename `pipeline(_:)` to `execute(_:)`, `send(command:)`, `execute(_:)` (#163) | PR |
| 2025-07-26 | valkey-swift | ValkeyNodeClient (#149) | PR |
| 2025-07-25 | valkey-swift | Only implement WATCH, UNWATCH on ValkeyConnection (#157) | PR |
| 2025-07-24 | valkey-swift | Add ValkeyConnection.withConnection() (#155) | PR |
| 2025-07-18 | valkey-swift | Add `@discardableResult` to commands that are not readonly (#140) | PR |
| 2025-07-18 | valkey-swift | Add ValkeyClusterClient.withConnection (#142) | PR |
| 2025-07-17 | valkey-swift | Remove key parameter label on first function parameter, add plural for array parameters (#139) | PR |
| 2025-07-16 | valkey-swift | Enable swift-format soundness check, run swift-format on whole project (#133) | PR |
| 2025-07-16 | valkey-swift | Add .spi.yml for Swift Package Index (#132) | PR |
| 2025-07-15 | valkey-swift | Docc pipelining article (#126) | PR |
| 2025-07-15 | valkey-swift | Use swift CI (#130) | PR |