|
2 | 2 |
|
3 | 3 | All notable changes to the project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
|
4 | 4 |
|
| 5 | +## [2.0.0] - 2020-09-18 |
| 6 | +Initial release of the newer types that will be used in Go SDK 5.0 and above. |
| 7 | + |
| 8 | +### Added: |
| 9 | +- Package `ldlog`, which was formerly a subpackage of `go-server-sdk`. |
| 10 | +- Package `ldlogtest`, containing test helpers for use with `ldlog`. |
| 11 | +- Package `ldreason`, containing `EvaluationReason` and related types that were formerly in `go-server-sdk`. |
| 12 | +- Package `ldtime`, containing `UnixMillisecondTime`. |
| 13 | +- Package `lduser`, containing `User` and related types that were formerly in `go-server-sdk`. |
| 14 | +- Package `jsonstream`, a fast JSON encoding tool that is used internally by the SDK. |
| 15 | +- `ldvalue.OptionalString` now implements `encoding.TextMarshaler` and `encoding.TextUnmarshaler`. This is not used by the Go SDK, but can be helpful when using `OptionalString` in other contexts. |
| 16 | +- `ldvalue.OptionalBool` and `ldvalue.OptionalInt` are analogous to `ldvalue.OptionalString`, representing values that may be undefined without using pointers. These are used in the Go SDK. |
| 17 | + |
| 18 | +### Changed: |
| 19 | +- The minimum Go version is now 1.14. |
| 20 | +- The `User` type is now opaque and immutable; there is no direct access to its fields. |
| 21 | +- The `User` type no longer uses pointers or `interface{}` internally, decreasing the need for heap allocations. |
| 22 | +- Reading a `User` from JSON with `json.Unmarshal` now returns an error if the `key` property is missing or null. |
| 23 | +- `EvaluationDetail.VariationIndex` is now an `OptionalInt` rather than an `int`. |
| 24 | +- `EvaluationReason` is now a struct. |
| 25 | +- This project is now a Go module, although it can still be used from non-module code. |
| 26 | + |
| 27 | +### Removed: |
| 28 | +- In `ldvalue`, there are no longer methods for wrapping an existing `interface{}` value in a `Value`. |
| 29 | +- All deprecated members of types that were moved here from `go-server-sdk` have been removed. |
| 30 | + |
5 | 31 | ## [1.0.0] - 2020-02-03
|
6 | 32 | Initial release. This will be used in versions 4.16.0 and above of the LaunchDarkly Server-Side SDK for Go.
|
0 commit comments