RediStack 1.0.0 Alpha 5
Pre-release
Pre-release
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