diff --git a/CHANGELOG.md b/CHANGELOG.md index 2503cc1c..1c5c5c1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,38 @@ # Change history -## Feb 13 2015 : v1.4.0 +## Feb 17 2015 : v1.4.0 - This is a major release, and makes using the client much easier to develop web applications. + This is a major release, and makes using the client much easier to develop applications. * **New Features** - * Added Marshalling Support. + * Added Marshalling Support for Put and Get operations. Refer to [Marshalling Test](client_object_test.go) to see how to take advantage. + Same functionality for other APIs will follow soon. + Example: + ```go + type SomeStruct struct { + A int `as:"a"` // alias the field to myself + Self *SomeStruct `as:"-"` // will not persist the field + } + + type OtherStruct struct { + i interface{} + OtherObject *OtherStruct + } + + obj := &OtherStruct { + i: 15, + OtherObject: OtherStruct {A: 18}, + } + + key, _ := as.NewKey("ns", "set", value) + err := client.PutObject(nil, key, obj) + // handle error here + + rObj := &OtherStruct{} + err = client.GetObject(nil, key, rObj) + ``` + * Added `Recordset.Results()`. Consumers of a recordset do not have to implement a select anymore. Instead of: ```go recordset, err := client.ScanAll(...) @@ -37,6 +63,7 @@ } } ``` + Use of the old pattern is discouraged and deprecated, and direct access to recordset.Records and recordset.Errors will be removed in a future release. * **Improvements**