Skip to content

RediStack 1.0.0 Beta 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Mordil Mordil released this 01 Sep 06:00
· 78 commits to master since this release
8fb1aed

This is the first release of the package in beta state! 🎉

While it is now in beta, the API is considered stable except for 1 notable exception: RedisCommand.

To support PubSub (the last feature for GM 1.0.0), RedisCommand will need to see some breaking changes. Luckily, if you're not a low-system user (NIO level), then this package can be considered 1.0.0 ready.

If you find any bugs, please report them with a GitLab Issue.

API Docs are always available at docs.redistack.info

Major

  • The map extension on EventLoopFuture is no longer public !125
  • Swift 5.0 is no longer supported - Swift 5.1 is now the minimum version required to use this package !131
    • This isn't officially documented yet, but RediStack will support strive to support the last 3 Swift versions
  • logger is no longer a requirement for the RedisClient protocol !130
    • Consequently, it is no longer publicly accessible on RedisConnection
  • RedisClient.logging(to:) now returns a RedisClient existential that provides logging to the provide instance !130
  • Log statements have seen their messaging, log levels, and metadata keys changed across the package !130
    • in addition, logs are now generated from more locations - particularly RedisConnectionPool

Minor

  • RedisConnectionPool.close now optionally accepts an EventLoopPromise to fail/succeed when closing a pool (thanks @tanner0101) !126
  • RediStack has a new module called RedisTypes, which provide a familiar Swift Standard Library API with types that Redis operates on, starting with RedisSet !133
  • RedisConnectionPool.id is now public !130
  • The activate, close, and updateConnectionAddresses methods on RedisConnectionPool now optionally accept a Logger instance to log with !130
  • RedisLogging is a new namespace that exposes the metadata keys and labels used with logging in RediStack so you can consistently refer to them !130
    • The "prototype" instances of Logger used as defaults by RedisConnection and RedisConnectionPool are now available as well

Patch

  • Fixed #68 where connections were unexpectedly closing but weren't being handled !127
  • Fixed #79 and #74 where user-provided logger context was not thread safe !130

Misc

  • CI now runs against the new CentOS 7, CentOS 8, Ubuntu 20.04, and Amazon Linux 2 snapshots for Swift 5.2, 5.3, and trunk !128, !132, !134