...
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.11.0] - 2023-05-02
8### Fixed
9- Fix initialization of `Value` wrappers.
10
11### Added
12- Add `String` method to `atomic.Pointer[T]` type allowing users to safely print
13underlying values of pointers.
14
15[1.11.0]: https://github.com/uber-go/atomic/compare/v1.10.0...v1.11.0
16
17## [1.10.0] - 2022-08-11
18### Added
19- Add `atomic.Float32` type for atomic operations on `float32`.
20- Add `CompareAndSwap` and `Swap` methods to `atomic.String`, `atomic.Error`,
21 and `atomic.Value`.
22- Add generic `atomic.Pointer[T]` type for atomic operations on pointers of any
23 type. This is present only for Go 1.18 or higher, and is a drop-in for
24 replacement for the standard library's `sync/atomic.Pointer` type.
25
26### Changed
27- Deprecate `CAS` methods on all types in favor of corresponding
28 `CompareAndSwap` methods.
29
30Thanks to @eNV25 and @icpd for their contributions to this release.
31
32[1.10.0]: https://github.com/uber-go/atomic/compare/v1.9.0...v1.10.0
33
34## [1.9.0] - 2021-07-15
35### Added
36- Add `Float64.Swap` to match int atomic operations.
37- Add `atomic.Time` type for atomic operations on `time.Time` values.
38
39[1.9.0]: https://github.com/uber-go/atomic/compare/v1.8.0...v1.9.0
40
41## [1.8.0] - 2021-06-09
42### Added
43- Add `atomic.Uintptr` type for atomic operations on `uintptr` values.
44- Add `atomic.UnsafePointer` type for atomic operations on `unsafe.Pointer` values.
45
46[1.8.0]: https://github.com/uber-go/atomic/compare/v1.7.0...v1.8.0
47
48## [1.7.0] - 2020-09-14
49### Added
50- Support JSON serialization and deserialization of primitive atomic types.
51- Support Text marshalling and unmarshalling for string atomics.
52
53### Changed
54- Disallow incorrect comparison of atomic values in a non-atomic way.
55
56### Removed
57- Remove dependency on `golang.org/x/{lint, tools}`.
58
59[1.7.0]: https://github.com/uber-go/atomic/compare/v1.6.0...v1.7.0
60
61## [1.6.0] - 2020-02-24
62### Changed
63- Drop library dependency on `golang.org/x/{lint, tools}`.
64
65[1.6.0]: https://github.com/uber-go/atomic/compare/v1.5.1...v1.6.0
66
67## [1.5.1] - 2019-11-19
68- Fix bug where `Bool.CAS` and `Bool.Toggle` do work correctly together
69 causing `CAS` to fail even though the old value matches.
70
71[1.5.1]: https://github.com/uber-go/atomic/compare/v1.5.0...v1.5.1
72
73## [1.5.0] - 2019-10-29
74### Changed
75- With Go modules, only the `go.uber.org/atomic` import path is supported now.
76 If you need to use the old import path, please add a `replace` directive to
77 your `go.mod`.
78
79[1.5.0]: https://github.com/uber-go/atomic/compare/v1.4.0...v1.5.0
80
81## [1.4.0] - 2019-05-01
82### Added
83 - Add `atomic.Error` type for atomic operations on `error` values.
84
85[1.4.0]: https://github.com/uber-go/atomic/compare/v1.3.2...v1.4.0
86
87## [1.3.2] - 2018-05-02
88### Added
89- Add `atomic.Duration` type for atomic operations on `time.Duration` values.
90
91[1.3.2]: https://github.com/uber-go/atomic/compare/v1.3.1...v1.3.2
92
93## [1.3.1] - 2017-11-14
94### Fixed
95- Revert optimization for `atomic.String.Store("")` which caused data races.
96
97[1.3.1]: https://github.com/uber-go/atomic/compare/v1.3.0...v1.3.1
98
99## [1.3.0] - 2017-11-13
100### Added
101- Add `atomic.Bool.CAS` for compare-and-swap semantics on bools.
102
103### Changed
104- Optimize `atomic.String.Store("")` by avoiding an allocation.
105
106[1.3.0]: https://github.com/uber-go/atomic/compare/v1.2.0...v1.3.0
107
108## [1.2.0] - 2017-04-12
109### Added
110- Shadow `atomic.Value` from `sync/atomic`.
111
112[1.2.0]: https://github.com/uber-go/atomic/compare/v1.1.0...v1.2.0
113
114## [1.1.0] - 2017-03-10
115### Added
116- Add atomic `Float64` type.
117
118### Changed
119- Support new `go.uber.org/atomic` import path.
120
121[1.1.0]: https://github.com/uber-go/atomic/compare/v1.0.0...v1.1.0
122
123## [1.0.0] - 2016-07-18
124
125- Initial release.
126
127[1.0.0]: https://github.com/uber-go/atomic/releases/tag/v1.0.0
View as plain text