Skip to content

Releases: matthewhartstonge/storage

v0.25.1

05 Aug 00:24
14c1fab
Compare
Choose a tag to compare
v0.25.1 Pre-release
Pre-release

v0.25.1 - 2021-07-27

Changed

  • deps: updates to mongo-driver@v1.5.4.
    • This mongo driver release contains a fix to prevent clearing server connection pools on operation-scoped timeouts.

v0.25.0

01 Jun 03:26
a098007
Compare
Choose a tag to compare
v0.25.0 Pre-release
Pre-release

v0.25.0 - 2021-06-01

Added

  • README: updates documentation.
    • Adds links to download Go.
    • Adds information for working with Go modules.
    • Changes build badge link to travis-ci.com.
    • Changes mgo link to the official MongoDB mongo-driver.

Changed

  • deps: migrates from pborman/uuid to google/uuid.
  • deps: updates dependencies.
    • updates module to go1.14 (go@n-2).
    • updates to mongo-driver@v1.5.2.
    • updates to testify@v1.6.1.
    • migrates from pborman/uuid to google/uuid@v1.2.0.
    • removed mongo-features@v0.4.0.
  • .travis: removes go@1.13, adds go@1.16.

Fixed

  • mongo: not found on token revocation should return nil.
  • .travis: go install goveralls binary.

Removed

  • transactional: removes transactional interface implementation.
    • There isn't an easy way to tell via the mongo driver if the version of mongo running is compatible with transactions (>mongo 4.4) without enabling admin commands to be run for example, db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ). Therefore, for now, it's easier to remove it until every current mongo version supports transactions.
  • deps: removes use of mongo-features due to bugfix released via mongo-driver.
    • mongo-driver wasn't pulling or pushing sessions into the context correctly.
    • mongo-features also relied on admin commands/permissions to detect the running mongo version to ascertain if the mongo version connected to was transaction compatible, so no longer needed.

v0.24.0

01 Sep 23:50
7058553
Compare
Choose a tag to compare
v0.24.0 Pre-release
Pre-release

v0.24.0 - 2020-09-02

Breaking changes

As mentioned under changed:

  • AuthClientFunc and AuthUserFunc now take in a context.
  • store.DB is now of type *DB not *mongo.Database but the API remains the same. If you explicitly require type *mongo.Database, you can obtain this by stepping into the DB wrapper store.DB.Database.

Added

  • deps: adds mongo-features@v0.4.0 for mongoDB feature detection.
  • mongo: adds DB a wrapper containing *mongo.Database and *feat.Features.
  • mongo: implements mongo feature detection for correct session and transaction handling.

Changed

  • storage: AuthClientFunc and AuthUserFunc now accept a context.
    • type AuthClientFunc func() (Client, bool) => type AuthClientFunc func(ctx context.Context) (Client, bool)
    • type AuthUserFunc func() (User, bool) => type AuthUserFunc func(ctx context.Context) (User, bool)
  • mongo: all handlers have moved from DB *mongo.Database to our wrapper
    DB *DB in order to provide mongoDB feature detection for managing sessions
    and transactions, if available.
  • examples/mongo/authorizationserver: puts session creation behind a feature flag.

v0.23.0

27 Aug 11:38
36f91ae
Compare
Choose a tag to compare
v0.23.0 Pre-release
Pre-release

v0.23.0 - 2020-08-27

Added

  • mongo: implements storage.Transactional

Changed

  • deps: upgrades to mongo-driver@v1.3.7

v0.22.2

06 Jul 00:32
ec315aa
Compare
Choose a tag to compare
v0.22.2 Pre-release
Pre-release

v0.22.2 - 2020-07-06

Fixed

  • mongo: fixes UserManager.Migrate returning not found on a successful insert.

v0.22.1

06 Jul 00:13
4f8ec9a
Compare
Choose a tag to compare
v0.22.1 Pre-release
Pre-release

v0.22.1 - 2020-07-06

Fixed

  • mongo: fixes filter.ScopesIntersection using filter.ScopesUnion instead of filter.ScopesIntersection.

v0.22.0

02 Jul 10:50
e2dc188
Compare
Choose a tag to compare
v0.22.0 Pre-release
Pre-release

v0.22.0 - 2020-07-02

Changed

  • deps: upgrades to fosite@v0.32.2

v0.21.0

02 Jul 05:42
5baa0e4
Compare
Choose a tag to compare
v0.21.0 Pre-release
Pre-release

v0.21.0 - 2020-07-02

Added

  • storage: added support for managing and denying JTIs due to newly added
    methods in fosite@v0.31.X's interface fosite.ClientManager.
  • mongo: added concrete implementation for DeniedJTIManager and
    DeniedJTIStorer to comply to added methods in fosite.ClientManager.
  • mongo: ensured update time is updated when updates are performed.
  • mongo: added config options to adjust mongo connection min/max pool size.

Changed

  • deps: upgrades to fosite@v0.31.3
  • readme: added version support information for storage@v0.20.X
  • readme: added version support information for storage@v0.21.X

Removed

  • storage: removed missed entity constants that helped define cache
    table/schema/collection.
  • mongo: removed dead-code index constants resulting from the removal of the
    cache collection.

v0.20.0

02 Jul 05:41
6f0e32c
Compare
Choose a tag to compare
v0.20.0 Pre-release
Pre-release

v0.20.0 - 2020-06-26

Breaking changes

Removes 'Cache' implementation which actually added a level of indirection,
doubling required database calls in some instances.

Changed

  • mongo: uses a defined database for testing.
  • examples/mongo/authorizationserver: uses a defined database for the demo.

Fixed

  • travisci: fixes travis not running tests over the whole code base.

Removed

  • cache: removed cache structure, interfaces and db
  • storage.SessionCache (struct)
  • storage.Cacher (interface)
  • storage.CacheManager (interface)
  • storage.CacheStorer (interface)
  • storage.RequestManager.Cache (interface binding to a storage.CacheStorer)
  • mongo.CacheManager (concrete implementation of storage.CacheManager)

v0.19.0

25 Jun 23:32
8a40b94
Compare
Choose a tag to compare
v0.19.0 Pre-release
Pre-release

v0.19.0 - 2020-06-26

Breaking changes

This release migrates to the official Go MongoDB driver.

If you have any custom code using mgo that feeds into storage, you will need to migrate these to use mongo-go-driver patterns.

Added

Changed

  • deps: updates to fosite@v0.30.2.
  • deps: migrates from globalsign/mgo to mongodb/mongo-go-driver.
  • readme: references examples/mongo instead of having a wad of example code in the readme.