Skip to content
Pre-release

@Mordil Mordil released this Jul 13, 2019

API Docs are always available at docs.redistack.info

Patch

  • RedisConnection.sendCommandsImmediately is now correctly public (fae8eada)
Assets 2
Pre-release

@Mordil Mordil released this Jul 11, 2019 · 4 commits to master since this release

API Docs are always available at docs.redistack.info

Patch

  • RediStackTestUtils is now correctly an importable module (aeae1f6c)
Assets 2
Pre-release

@Mordil Mordil released this Jul 11, 2019 · 7 commits to master since this release

API Docs are always available at docs.redistack.info

Major

  • The library module was renamed from RedisNIO to RediStack !73
  • RedisNIOError was renamed to RedisClientError !72
    • .responseConversion(to:) was renamed to .failedRESPConversion(to:)
    • .unsupportedOperation(method:message:) was removed
  • RedisCommandHandler is no longer open (now public final) !55
  • RedisCommandContext was renamed to RedisCommand !66
  • RedisCommand.command was renamed to message 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 !66
    • RediStack.OutgoingHandler
    • RediStack.IncomingHandler
    • RediStack.CommandHandler
  • The Redis namespace enum was removed !71
    • The makeConnection factory method was moved to RedisConnection.connect
      • This method now requires a NIO.EventLoop instance, no longer creating a MultiThreadedEventLoopGroup for you
      • This method also now supports overriding the default NIO.ClientBootstrap and is the preferred way of building your own pipelines
  • RedisConnection.init is now internal, all connections are made with RedisConnection.connect !71
  • A few different logs have had their severity adjusted
    • Sending a command while the connection is closed is now a warning !71
  • Sorted Set methods zadd, zunionstore, and zinterstore, 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 the RESPValue arguments up front, rather than doing the conversion for you
  • RESPValue and RESPValueConvertible had many internal implementations changed !67
    • RESPValue.array no longer uses ContiguousArray
    • ContiguousArray is no longer RESPValueConvertible
    • several of the computed properties on RESPValue will no longer behave exactly the same, or have moved to the new RediStackTestUtils module
  • Redis.makeDefaultClientBootstrap(using:) was renamed and moved to ClientBootstrap.makeRedisTCPClient(group:) !64
    • The implementation for adding the "default" RESP handlers is now publicly available with Channel.addBaseRedisHandlers()
  • 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 out RESPValue
    • RESPTranslator.ParsingResult was removed
    • RESPTranslator now updates the passed in ByteBuffer.readerIndex on successful parses
    • RESPTranslator.parseBytes(from:) uses the passed in ByteBuffer 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
Assets 2

@Mordil Mordil released this Jul 11, 2019 · 39 commits to master since this release

Major

  • NIO is no longer exported, you will need to explicitly import NIO !57
  • errorCaught in RedisCommandHandler now fails all pending responses, and does not increment RedisMetrics.commandFailureCount !59
  • EventLoopFuture.mapFromRESP has been renamed to `EventLoopFuture.convertFromRESPValue !60

Minor

  • The APPEND command is now available with the append(_:to:) method !61
Assets 2

@Mordil Mordil released this Jul 11, 2019 · 51 commits to master since this release

Minor

  • Added new RedisConnection.defaultPort static property set to 6379 for users to reference !51
Assets 2

@Mordil Mordil released this Jul 11, 2019 · 53 commits to master since this release

Major

  • Added explicit conformance to RESPValueConvertible for Foundation.Data to resolve a bug where it received conformance from Collection (!50)
Assets 2

@Mordil Mordil released this Jul 11, 2019 · 55 commits to master since this release

Patch

  • Fix warning from default in switch (788f69de)
Assets 2

@Mordil Mordil released this Jul 11, 2019 · 56 commits to master since this release

Minor

  • Improve debugging of RESPValue (d4584924)
Assets 2
Pre-release

@Mordil Mordil released this Jul 11, 2019 · 62 commits to master since this release

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-nio to swift-redis-nio-client !47
Assets 2
You can’t perform that action at this time.