Releases: valkey-io/valkey-swift
Releases · valkey-io/valkey-swift
v0.4.0
Breaking changes
- Add protocol requirement
ValkeyClientProtocol.execute(_:)
. #235 - Add subscribe functions to
ValkeyClientProtocol
along with requirementValkeyClientProtocol.subscribe(command:isolation:process:)
. #237 - Remove
Array.decode(as:)
. - Add custom
Response
types forSCAN
,HSCAN
,ZSCAN
,BLPOP
,BRPOP
. #244 from @natanrolnik , #247 - Add custom
Response
types for script and function commands. #216 - Rewrite transaction code to make it easier to share among clients and add to
ValkeyClient
,ValkeyClusterClient
and add protocol requirementValkeyClientProtocol.transaction(_:)
. #232, #249
Minor release changes
- Throw
ValkeyDecodeError
when decoding RESPToken's instead ofRESPParsingError
. #233 - Add
RESPToken.Array.decodeAsKeyValuePairs(as:)
.
Patch release changes
- Add upcoming feature
ExistentialAny
and fix issues: #240 - Add upcoming feature
MemberImportVisibility
and fix issues. #241 - Re-organize pipeline execute to share common functionality. #239
- Add associated type
NodeDescription
to protocolValkeyNodeConnectionPoolFactory
. #230 - Fix compiler crash on macOS open source toolchains. #251 from @NeedleInAJayStack
Documentation changes
- Fix minor typo in README. #242 from @natanrolnik
- Add article on decoding
RESPToken
s to docc documentation. #245
v0.3.0
Minor release changes
- Add support for distributed tracing. #176 from @slashmo
- Cluster client: Add pipelining support. #218, #226
- Cluster client: Add subscription support that uses all primary nodes. #219
- Cluster client: Retry commands with exponential backoff when receiving a
TRYAGAIN
error. #215 - Make
ValkeyClusterError
public and convert tostruct
. #220 - Add pipeline function that takes an array of existential
ValkeyCommand
. #222 - Conform
RESPToken.Value
toCustomDebugStringConvertible
. #217 - Remove public symbols
ValkeyNodeClient
andByteBuffer.writeRESP3Token
. #228
Patch release changes
- Remove
hostname
andip
fromValkeyNodeDescription
. #229 - Reset all
ValkeySubscriptions
members on close
Other changes
- Add Swift 6.2 to CI
v0.2.0
Major release changes
- Add support Valkey v9 command changes, including hash expiration values and DELIFEQ. #187
Minor release changes
- Add static name to ValkeyCommand. #186 from @slashmo
- Add Subscription connection manager. #194
- Add ValkeyClient.subscribe functions that use global subscription connection. #195
- Remove platform requirement from Package.swift. #198, #202
- Fix LMOVE empty response bug. #185 from @aim2120
- Add custom BLMPOP response, removed custom SPOP response. #205
- Fixed error when compiling for iOS. #211 from @zunda-pixel
- ValkeyClusterClient TLS requirement is defined by the client configuration not individual nodes. #212
- Throw error if cluster command keys don't all come from the same hash slot. #209
- Add support for ASK errors in the cluster client. #199
Patch release changes
- Break out running clients code from ValkeyClusterClientStateMachine. #178
- Add ability to ValkeyClient to run other workloads than the connection manager. #174
- Move SETINFO to inside ChannelHandler, so they can be pipelined with HELLO. #172
- Remove half closure from client. #188
- Don't allow the SUBSCRIBE command to be cancelled. #214
Other changes
v0.1.0
Initial release of valkey-swift the Swift client for Valkey. The client includes support for the following
- All Valkey commands are available (string, list, set, sorted set, hash, stream, hyperloglog, geo-spatial etc)
- Pipelining of commands in batches to avoid waiting for round trip of each response
- Concurrent access to a single connection
- Transactions
- Subscriptions using AsyncSequences
- Valkey Clusters