Freerware Work Versions Save

A compact library for tracking and committing changes to your entities.

v4.0.0-beta.6

7 months ago
  • Introduction of unit.WithCacheClient options that allows consumers to provide their own cache clients.
  • Rename the work.UnitLogger and work.UnitScope to work.UnitZapLogger and work.UnitTallyMetricScope.
  • Unexport properties of work.UnitOptions.
  • Bump various dependencies:
    • github.com/stretchr/testify from 1.8.1 to 1.8.2 in /v4
    • github.com/stretchr/testify from 1.8.1 to 1.8.2 in /v3
    • github.com/avast/retry-go/v4 from 4.1.0 to 4.3.3 in /v4
    • github.com/uber-go/tally/v4 from 4.1.3 to 4.1.6 in /v4
    • go.uber.org/multierr from 1.8.0 to 1.9.0 in /v4
    • go.uber.org/multierr from 1.8.0 to 1.9.0 in /v3
    • go.uber.org/zap from 1.23.0 to 1.24.0 in /v4

v4.0.0-beta.5

1 year ago
  • Introduce unit.InsertFunc, unit.UpdateFunc, and unit.DeleteFunc options.
  • Refactored internals to to use unit.DataMapperFunc instead of unit.DataMapper.
  • Removed DataMappers property from unit.Options.
  • Renamed work.DataMapper to work.UnitDataMapper for consistency.

v4.0.0-beta.4

1 year ago
  • Introduces the work unit cache.
    • Each time the Register method is called, the provided entities will be placed in a cache if deemed eligible (have implemented the identifierer or ider interfaces).
    • Entities will be removed from the cache if specified to Alter or Remove.

v3.2.1

1 year ago
  • Various dependency upgrades to address vulnerability alerts.
    • Upgraded github.com/uber-go/tally dependency to version v3.4.2.
    • Upgraded github.com/stretchr/testify dependency to version v1.8.0.
    • Upgraded go.uber.org/zap dependency to version v1.21.1.

v4.0.0-beta.3

1 year ago
  • Various dependency upgrades to address vulnerability alerts.
    • Upgraded github.com/uber-go/tally dependency to version v3.4.2.
    • Upgraded github.com/stretchr/testify dependency to version v1.8.0.
    • Upgraded go.uber.org/zap dependency to version v1.21.1.

v4.0.0-beta.2

3 years ago
  • Switch from coveralls to codecov.
  • Introduce initial round of benchmarks.
  • Introduce support for 4 more additional metrics.
    • unit.retry.attempt
    • unit.insert
    • unit.update
    • unit.delete
  • Improve documentation & switch to pkg.go.dev.
  • Introduce metric demo.
    • make demo

v4.0.0-beta

3 years ago
  • Introduce unit package for aliasing.
    • Reduces API footprint.
    • Often "flows" better.
  • Introduce retries and related configuration.
  • Reconsolidate data mappers abstractions into single DataMapper interface.
  • Introduce MapperContext.
  • Alter Save to be context.Context aware.
  • Refactor work.NewUnit to dynamically choose which type of work unit to create based on provided options.
  • Reconsolidate uniter functionality.