All Versions
25
Latest Version
Avg Release Cycle
80 days
Latest Release
276 days ago

Changelog History
Page 1

  • v4.14.0 Changes

    September 12, 2025

    What's Changed

    βž• add concurrency function for expire, exists, ttl, pttl by @iwecon in #222

    add concurrency function for expire, exists, ttl, pttl

    tryawaitreq.redis.expire(key1,after:.seconds(10))==truetryawaitreq.redis.exists(key1,key2,key3)==3tryawaitreq.redis.exists([key1,key2,key3])==3tryawaitreq.redis.ttl(key1)==RedisKey.Lifetimetryawaitreq.redis.pttl(key1)==RedisKey.Lifetime

    πŸš€ ###### This patch was released by @0xTim

    Full Changelog : 4.13.1...4.14.0

  • v4.13.1 Changes

    September 08, 2025

    What's Changed

    βž• add any to protocol by @zunda-pixel in #223

    Reviewers

    Thanks to the reviewers for their help:

    πŸš€ ###### This patch was released by @gwynne

    Full Changelog : 4.13.0...4.13.1

  • v4.13.0 Changes

    July 01, 2025

    What's Changed

    πŸ‘ Allow JSONEncoder and JSONDecoder to be overwritten by @leonidas-o in #219

    Add jsonEncoder and jsonDecoder arguments to RedisClient, Application.Caches and Application.Caches.Provider extension funcs.

    πŸš€ ###### This patch was released by @0xTim

    Full Changelog : 4.12.0...4.13.0

  • v4.12.0 Changes

    July 01, 2025

    What's Changed

    ⬇️ Drop old Swift versions by @0xTim in #220

    ⬇️ > - Drop 5.8 and 5.9 ⚑️ > - Update CI

    Reviewers

    Thanks to the reviewers for their help:

    πŸš€ ###### This patch was released by @0xTim

    Full Changelog : 4.11.1...4.12.0

  • v4.11.1 Changes

    February 20, 2025

    What's Changed

    πŸ‘‰ make Redis Sendable by @AntVil in #217

    ⚠ > - counter warning from Application.Redis: Stored property 'redisInstances' of 'Sendable'-conforming class 'MyRedis' has non-sendable type '[Application.Redis]'; this is an error in the Swift 6 language mode

    example for more context:

    extensionApplication{publicfinalclassMyRedis{structMyRedisKey:StorageKey{typealiasValue=Application.MyRedis}privateletredisInstances:[Application.Redis]}}

    πŸš€ ###### This patch was released by @0xTim

    Full Changelog : 4.11.0...4.11.1

  • v4.11.0 Changes

    May 24, 2024

    What's Changed

    πŸ‘Œ Support Async Lifecycles by @0xTim in #214

    πŸ‘ > Support Vapor’s async LifecycleHandler functions. This allows users to avoid calling .wait() when shutting down their Vapor apps, which can cause issues, for example, with trying to install a new concurrency executor.

    ⚑️ > This also updates the supported Swift version to 5.8

    πŸš€ ###### This patch was released by @0xTim

    Full Changelog : 4.10.0...4.11.0

  • v4.9.0 Changes

    June 14, 2023

    What's Changed

    πŸ†• New Contributors

    Full Changelog : 4.8.0...4.9.0

  • v4.0.0 Changes

    June 24, 2019
  • v4.0.0-rc.2 Changes

    November 27, 2020

    πŸš€ ###### This patch was authored and released by @Mordil.

    This addresses some semantic issues with the original implementation of SessionDriver for Redis in #175.

    Two important changes were made to RedisSessionsDelegate:

    1. makeNewID does not prefix the ID with vrs- anymore
    2. A new makeKey(for:) optional method has been added to the protocol to convert an ID to a RediStack.RedisKey to customize how the id is represented as a key.
      • The default implementation adds the vrs- prefix.

    πŸ‘€ In addition, the protocol has seen two quality of life (breaking) changes to the required protocol methods:

    ⚑️ 1. Their argument labels have been updated to read a bit nicer at call sites, and the RedisKey is now passed instead of a SessionID

    • redis(_:storeData:forID:) -> redis(_:store:with:)
    • redis(_:fetchDataForID:) -> redis(_:fetchDataFor:)
      1. They have been marked @inlinable in the protocol definition. To take advantage of potential inlining, make sure you also mark your conformances with @inlinable.
  • v4.0.0-rc.1 Changes

    November 22, 2020

    Major

    • πŸ”§ The validation errors thrown are now of type RedisConnection.Configuration.ValidationError instead of RedisError

    Minor

    • πŸ”§ A database index can be provided in the configuration that all connections will send as a SELECT command when first being created
    • get(_:asJSON:) and set(_:toJSON:) have been added back
    • RediStack 1.1.0 is now required to use the package.