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