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
RedisNIO
toRediStack
!73 RedisNIOError
was renamed toRedisClientError
!72.responseConversion(to:)
was renamed to.failedRESPConversion(to:)
.unsupportedOperation(method:message:)
was removed
RedisCommandHandler
is no longeropen
(nowpublic final
) !55RedisCommandContext
was renamed toRedisCommand
!66RedisCommand.command
was renamed tomessage
and the initializer signature updated to match its properties (2605763)RedisCommandHandler.init(logger:)
is now.init(initialQueueCapacity:logger:)
!66- The names for the
ChannelPipeline
handlers are now explicitly named !66RediStack.OutgoingHandler
RediStack.IncomingHandler
RediStack.CommandHandler
- The
Redis
namespace enum was removed !71- The
makeConnection
factory method was moved toRedisConnection.connect
- This method now requires a
NIO.EventLoop
instance, no longer creating aMultiThreadedEventLoopGroup
for you - This method also now supports overriding the default
NIO.ClientBootstrap
and is the preferred way of building your own pipelines
- This method now requires a
- The
RedisConnection.init
is 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) RESPValueConvertible
is no longer used as an existential !69- This also changes
RedisConnection.send(command:with:)
to require theRESPValue
arguments up front, rather than doing the conversion for you
- This also changes
RESPValue
andRESPValueConvertible
had many internal implementations changed !67RESPValue.array
no longer usesContiguousArray
ContiguousArray
is no longerRESPValueConvertible
- several of the computed properties on
RESPValue
will no longer behave exactly the same, or have moved to the newRediStackTestUtils
module
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
RESPTranslator
saw 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 outRESPValue
RESPTranslator.ParsingResult
was removedRESPTranslator
now updates the passed inByteBuffer.readerIndex
on successful parsesRESPTranslator.parseBytes(from:)
uses the passed inByteBuffer
entirely for position and recursion
RESPValueConvertible.init(_:)
was renamed to.init(fromRESP:)
!56
Minor
- A new module
RediStackTestUtils
is 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