Releases: dogmatiq/persistencekit
Releases · dogmatiq/persistencekit
Version 0.15.1
Version 0.15.0
Version 0.14.0
This release adds revision-based OCC support to the kv package.
Keyspace.Get()now returns the current revision of the key/value pair.Keyspace.Set()now requires the current revision to be passed as an argument, otherwise aConflictErroris returned.- Added
Keyspace.SetUnconditional(), which has the same semantics asSet()prior to this version.
Version 0.13.0
Added
- Added
set.WithInterceptor()to allow intercepting operations on sets. - Added
kv.WithInterceptor()to allow intercepting operations on keyspaces. - Added
journal.WithInterceptor()to allow intercepting operations on journals.
Removed
- [BC] Removed hooks from
memoryset.StoreandBinaryStore. Useset.WithInterceptor()instead. - [BC] Removed hooks from
memorykv.StoreandBinaryStore. Usekv.WithInterceptor()instead. - [BC] Removed hooks from
memoryjournal.Store. Usejournal.WithInterceptor()instead.
Version 0.12.0
Version 0.11.2
Version 0.11.1
Fixed
- DynamoDB based implementations now wait for table creation to complete before returning from
dynamojournal.NewBinaryStore()anddynamokv.NewBinaryStore(). This prevents potential issues due to the asynchronous nature of DynamoDB table creation, which is not evident when using the local DynamoDB emulator.
Version 0.11.0
Changed
- [BC] The
journal.WithTelemetry(),kv.WithTelemetry()andset.WithTelemetry()functions now require an OpenTelemetryLoggerProviderinstead of anslog.Logger. This change means that all persistencekit telemetry is now "OpenTelemetry native", ensuring that all log messages are correlated with spans when tracing is enabled. - Changed metric instruments to use more specific names, such as
value_sizeinstead of more generic/network-level names such asio. - Added
missesmetric, forkv.Keyspace.Get()operations that do not find a value in the keyspace.
Version 0.10.2
Version 0.10.1
Added
- Added
setpackage, which provides an abstraction of named sets of values of arbitrary type. - Added
memorysetpackage, a memory-based implementation ofset.Store. - Added
dynamosetpackage, a DynamoDB-based implementation ofset.BinaryStore. - Added
pgsetpackage, a PostgreSQL-based implementation ofset.BinaryStore.
Fixed
- Fixed issue telemetry/tracing issue with
kv.Keyspace.Set()that would cause a (potentially unreadable) value to be added to the span attributes when the key was human-readable.