Releases: matthewhartstonge/storage
Releases · matthewhartstonge/storage
v0.25.1
v0.25.0
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
togoogle/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
togoogle/uuid@v1.2.0
. - removed
mongo-features@v0.4.0
.
- .travis: removes
go@1.13
, addsgo@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.
- 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,
- deps: removes use of
mongo-features
due to bugfix released viamongo-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
v0.24.0 - 2020-09-02
Breaking changes
As mentioned under changed:
AuthClientFunc
andAuthUserFunc
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 theDB
wrapperstore.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
andAuthUserFunc
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
v0.22.2
v0.22.1
v0.22.0
v0.21.0
v0.21.0 - 2020-07-02
Added
- storage: added support for managing and denying JTIs due to newly added
methods infosite@v0.31.X
's interfacefosite.ClientManager
. - mongo: added concrete implementation for
DeniedJTIManager
and
DeniedJTIStorer
to comply to added methods infosite.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
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 astorage.CacheStorer
)mongo.CacheManager
(concrete implementation ofstorage.CacheManager
)
v0.19.0
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
- examples/mongo: added fosite-example featuring mongo integration.
Changed
- deps: updates to
fosite@v0.30.2
. - deps: migrates from
globalsign/mgo
tomongodb/mongo-go-driver
. - readme: references
examples/mongo
instead of having a wad of example code in the readme.