Releases: swift-server/RediStack
RediStack 1.0.0 Alpha 5
API Docs are always available at docs.redistack.info
Major
- The library module was renamed from
RedisNIOtoRediStack!73 RedisNIOErrorwas renamed toRedisClientError!72.responseConversion(to:)was renamed to.failedRESPConversion(to:).unsupportedOperation(method:message:)was removed
RedisCommandHandleris no longeropen(nowpublic final) !55RedisCommandContextwas renamed toRedisCommand!66RedisCommand.commandwas renamed tomessageand the initializer signature updated to match its properties (2605763)RedisCommandHandler.init(logger:)is now.init(initialQueueCapacity:logger:)!66- The names for the
ChannelPipelinehandlers are now explicitly named !66RediStack.OutgoingHandlerRediStack.IncomingHandlerRediStack.CommandHandler
- The
Redisnamespace enum was removed !71- The
makeConnectionfactory method was moved toRedisConnection.connect- This method now requires a
NIO.EventLoopinstance, no longer creating aMultiThreadedEventLoopGroupfor you - This method also now supports overriding the default
NIO.ClientBootstrapand is the preferred way of building your own pipelines
- This method now requires a
- The
RedisConnection.initis now internal, all connections are made withRedisConnection.connect!71- A few different logs have had their severity adjusted
- Sending a command while the connection is closed is now a
warning!71
- Sending a command while the connection is closed is now a
- Sorted Set methods
zadd,zunionstore, andzinterstore, have stronger type safety with options defined as enums !70 and (0ecb3c1) RESPValueConvertibleis no longer used as an existential !69- This also changes
RedisConnection.send(command:with:)to require theRESPValuearguments up front, rather than doing the conversion for you
- This also changes
RESPValueandRESPValueConvertiblehad many internal implementations changed !67RESPValue.arrayno longer usesContiguousArrayContiguousArrayis no longerRESPValueConvertible- several of the computed properties on
RESPValuewill no longer behave exactly the same, or have moved to the newRediStackTestUtilsmodule
Redis.makeDefaultClientBootstrap(using:)was renamed and moved toClientBootstrap.makeRedisTCPClient(group:)!64- The implementation for adding the "default" RESP handlers is now publicly available with
Channel.addBaseRedisHandlers()
- The implementation for adding the "default" RESP handlers is now publicly available with
RESPTranslatorsaw a major refactor !63- It is now a struct instead of an enum
ByteBuffer.writeRESPValue(_:)is a new method carrying most of the implementation for writing outRESPValueRESPTranslator.ParsingResultwas removedRESPTranslatornow updates the passed inByteBuffer.readerIndexon successful parsesRESPTranslator.parseBytes(from:)uses the passed inByteBufferentirely for position and recursion
RESPValueConvertible.init(_:)was renamed to.init(fromRESP:)!56
Minor
- A new module
RediStackTestUtilsis available for some helpers with writing tests for RediStack !67
Patch
- The observable behavior of closing a channel should be more straight forward and dependable !71
RedisNIO 1.0.0 Alpha 3
Major
NIOis no longer exported, you will need to explicitlyimport NIO!57errorCaughtinRedisCommandHandlernow fails all pending responses, and does not incrementRedisMetrics.commandFailureCount!59EventLoopFuture.mapFromRESPhas been renamed to `EventLoopFuture.convertFromRESPValue !60
Minor
- The
APPENDcommand is now available with theappend(_:to:)method !61
RedisNIO 1.0.0 Alpha 2.1
Minor
- Added new
RedisConnection.defaultPortstatic property set to6379for users to reference !51
RedisNIO 1.0.0 Alpha 2
Major
- Added explicit conformance to
RESPValueConvertibleforFoundation.Datato resolve a bug where it received conformance fromCollection(!50)
RedisNIO 1.0.0 Alpha 1.1.1
Patch
- Fix warning from default in switch (788f69de)
RedisNIO 1.0.0 Alpha 1.1
Minor
- Improve debugging of
RESPValue(d4584924)
RedisNIO 1.0.0 Alpha 1
RedisNIO 0.10.0
This release introduces a "minor" breaking change that is large enough that it warrants releasing it as a major revision.
SE-0226 Package Manager Target Dependency Resolution introduces a change to expected form of packages and their naming.
To be compliant with future changes to SPM - it was decided to rename the package from redis-nio (matching the module name) to swift-redis-nio-client to match the repo instead.
Major
- Renamed package from
redis-niotoswift-redis-nio-client!47
RedisNIO 0.9.0: Renaming
This release brings a major breaking change. GitHub will forward most requests from the previous repository URL to the new one - but in code it has more specific ramifications.
This is necessary to align with the goals of the SSWG and to solve problems that will exist in the future before it causes real issues.
For further context into the discussion, see the following threads on the Swift Forums:
Major
- Renamed the repo in GitHub from
nio-redistoswift-redis-nio-client - Renamed the package from
nio-redistoredis-nio - Renamed the
NIORedismodule toRedisNIO - Renamed
NIORedisErrortoRedisNIOError - Changed references to
NIORedistoRedisNIOin object labels such as NIO Channel Handlers & Loggers
Minor
- Changed all references in copyright blocks, project files (README, LICENSE, etc.) to refer to the project as
RedisNIO
NIORedis 0.8.0: Blocking & Pub/Sub
Major
- Added
SwiftMetricsdependency (#41) - Changed
ChannelPipelineregistration of handlers forRedisConnectionto now have a reliable name (d0da3e7)
Minor
- Added
bzpopminandbzpopmaxconvenience methods for sorted sets (#42) - Added
brpop,blpop, andbrpoplpushconvenience methods for lists (#43)