1# Changelog
2All notable changes to this project will be documented in this file.
3
4The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
7## [1.9.0] - 2021-07-15
8### Added
9- Add `Float64.Swap` to match int atomic operations.
10- Add `atomic.Time` type for atomic operations on `time.Time` values.
11
12[1.9.0]: https://github.com/uber-go/atomic/compare/v1.8.0...v1.9.0
13
14## [1.8.0] - 2021-06-09
15### Added
16- Add `atomic.Uintptr` type for atomic operations on `uintptr` values.
17- Add `atomic.UnsafePointer` type for atomic operations on `unsafe.Pointer` values.
18
19[1.8.0]: https://github.com/uber-go/atomic/compare/v1.7.0...v1.8.0
20
21## [1.7.0] - 2020-09-14
22### Added
23- Support JSON serialization and deserialization of primitive atomic types.
24- Support Text marshalling and unmarshalling for string atomics.
25
26### Changed
27- Disallow incorrect comparison of atomic values in a non-atomic way.
28
29### Removed
30- Remove dependency on `golang.org/x/{lint, tools}`.
31
32[1.7.0]: https://github.com/uber-go/atomic/compare/v1.6.0...v1.7.0
33
34## [1.6.0] - 2020-02-24
35### Changed
36- Drop library dependency on `golang.org/x/{lint, tools}`.
37
38[1.6.0]: https://github.com/uber-go/atomic/compare/v1.5.1...v1.6.0
39
40## [1.5.1] - 2019-11-19
41- Fix bug where `Bool.CAS` and `Bool.Toggle` do work correctly together
42  causing `CAS` to fail even though the old value matches.
43
44[1.5.1]: https://github.com/uber-go/atomic/compare/v1.5.0...v1.5.1
45
46## [1.5.0] - 2019-10-29
47### Changed
48- With Go modules, only the `go.uber.org/atomic` import path is supported now.
49  If you need to use the old import path, please add a `replace` directive to
50  your `go.mod`.
51
52[1.5.0]: https://github.com/uber-go/atomic/compare/v1.4.0...v1.5.0
53
54## [1.4.0] - 2019-05-01
55### Added
56 - Add `atomic.Error` type for atomic operations on `error` values.
57
58[1.4.0]: https://github.com/uber-go/atomic/compare/v1.3.2...v1.4.0
59
60## [1.3.2] - 2018-05-02
61### Added
62- Add `atomic.Duration` type for atomic operations on `time.Duration` values.
63
64[1.3.2]: https://github.com/uber-go/atomic/compare/v1.3.1...v1.3.2
65
66## [1.3.1] - 2017-11-14
67### Fixed
68- Revert optimization for `atomic.String.Store("")` which caused data races.
69
70[1.3.1]: https://github.com/uber-go/atomic/compare/v1.3.0...v1.3.1
71
72## [1.3.0] - 2017-11-13
73### Added
74- Add `atomic.Bool.CAS` for compare-and-swap semantics on bools.
75
76### Changed
77- Optimize `atomic.String.Store("")` by avoiding an allocation.
78
79[1.3.0]: https://github.com/uber-go/atomic/compare/v1.2.0...v1.3.0
80
81## [1.2.0] - 2017-04-12
82### Added
83- Shadow `atomic.Value` from `sync/atomic`.
84
85[1.2.0]: https://github.com/uber-go/atomic/compare/v1.1.0...v1.2.0
86
87## [1.1.0] - 2017-03-10
88### Added
89- Add atomic `Float64` type.
90
91### Changed
92- Support new `go.uber.org/atomic` import path.
93
94[1.1.0]: https://github.com/uber-go/atomic/compare/v1.0.0...v1.1.0
95
96## [1.0.0] - 2016-07-18
97
98- Initial release.
99
100[1.0.0]: https://github.com/uber-go/atomic/releases/tag/v1.0.0
101