Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.7.0 - 2020-09-14

Added

  • Support JSON serialization and deserialization of primitive atomic types.
  • Support Text marshalling and unmarshalling for string atomics.

Changed

  • Disallow incorrect comparison of atomic values in a non-atomic way.

Removed

  • Remove dependency on golang.org/x/{lint, tools}.

1.6.0 - 2020-02-24

Changed

  • Drop library dependency on golang.org/x/{lint, tools}.

1.5.1 - 2019-11-19

  • Fix bug where Bool.CAS and Bool.Toggle do work correctly together causing CAS to fail even though the old value matches.

1.5.0 - 2019-10-29

Changed

  • With Go modules, only the go.uber.org/atomic import path is supported now. If you need to use the old import path, please add a replace directive to your go.mod.

1.4.0 - 2019-05-01

Added

  • Add atomic.Error type for atomic operations on error values.

1.3.2 - 2018-05-02

Added

  • Add atomic.Duration type for atomic operations on time.Duration values.

1.3.1 - 2017-11-14

Fixed

  • Revert optimization for atomic.String.Store("") which caused data races.

1.3.0 - 2017-11-13

Added

  • Add atomic.Bool.CAS for compare-and-swap semantics on bools.

Changed

  • Optimize atomic.String.Store("") by avoiding an allocation.

1.2.0 - 2017-04-12

Added

  • Shadow atomic.Value from sync/atomic.

1.1.0 - 2017-03-10

Added

  • Add atomic Float64 type.

Changed

  • Support new go.uber.org/atomic import path.

1.0.0 - 2016-07-18

  • Initial release.