Skip to content

Commit b6a90f4

Browse files
Releasing version 2.0.0
1 parent e67fc57 commit b6a90f4

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,31 @@
22

33
All notable changes to the project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
44

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+
531
## [1.0.0] - 2020-02-03
632
Initial release. This will be used in versions 4.16.0 and above of the LaunchDarkly Server-Side SDK for Go.

0 commit comments

Comments
 (0)