1.2.4 (2022-02-10)
Fixed bugs:
- Subscribe(), Attach() are either counterintuitive or broken #155
Closed issues:
- Running tests locally, one test always fails. #445
- Add ConnectionKey to message #442
- Follow the lead of the Go team and support the last two major versions of Go #431
- Remove
go.mod
fromexamples
#428 - Refine the documented release procedure #427
- Assess suitability of go 1.13 in our go.mod #344
Merged pull requests:
- Deprecate RESTChannel.PublishMultipleWithOptions #450 (lmars)
- Fix unit test that always failed when run locally. #446 (Rosalita)
- Add connection key to messages. #443 (Rosalita)
- Disable flaky tests. #439 (Rosalita)
- Add
ConnectionKey
to message #437 (ken8203) - Documentation improvements for RealtimePresence. #435 (Rosalita)
- examples: Remove go.mod and go.sum #430 (lmars)
- Update Go version to 1.16 in go.mod, drop < 1.16 from versions tested, update README.md fixes #431 #426 (Rosalita)
v1.2.3 (2021-10-27)
Sorry for the noise but we made a mistake when we released version 1.2.2 of this library. 🤦
The v1.2.2
tag was pushed against the wrong commit, meaning that the library was announcing itself as at version 1.2.1 to the Ably service.
This release (assuming we get the tag push right this time 😜) will correctly identify itself as version 1.2.3.
v1.2.2 (2021-10-22)
Implemented enhancements:
- Implement RSC7d (Ably-Agent header) #302
Closed issues:
- Ablytest #358
- RTN6: CONNECTED when connection is established #232
- RSA1, RSA2, RSA11: Basic auth #216
Merged pull requests:
- Ably Agent Refresh #424 (tomkirbygreen)
- Fix/216 basic auth refresh #421 (tomkirbygreen)
- Avoid a panic handling incoming ACK messages #418 (lmars)
- Fix incorrect usage of 'fmt.Sprintf' #392 (tomkirbygreen)
- Fix various method contracts #387 (tomkirbygreen)
- Update examples #376 (sacOO7)
- Clarify event emitter concurrency documentation #365 (tcard)
- Ably agent header #360 (sacOO7)
v1.2.1 (2021-08-09)
Implemented enhancements:
Merged pull requests:
- Update generated files #371 (lmars)
- Don't set message encoding for valid utf-8 string data #370 (lmars)
- Export the ablytest package #366 (tcard)
- Migration guide 1.1.5 to 1.2.0 #364 (QuintinWillison)
- Update README.md #362 (AndyNicks)
- RTC8a: client-requested reauthorization while CONNECTED (to
main
branch) #357 (tcard) - RTC8a: client-requested reauthorization while CONNECTED #336 (tcard)
v1.2.0 (2021-07-09)
Version 1.2.0 is out of pre-release!
Full Changelog since v1.2.0-apipreview.6
Implemented enhancements:
- Add enough logs to troubleshoot problems #160
Closed issues:
- Create code snippets for homepage (go) #324
- Unexport package proto, ablycrypto, ablytest #291
- API compliance - Go 1.2 #271
- RTN7: ACK and NACK #215
Merged pull requests:
- Fix conflicts from integration-1.2 to main #353 (sacOO7)
- Don't reuse IV between encryptions #331 (tcard)
- Integration/1.2 #322 (QuintinWillison)
v1.2.0-apipreview.6 (2021-06-17)
Fixed bugs:
- IV shouldn't be reused between messages #330
Closed issues:
- RTN21: Overriding connectionDetails #227
Merged pull requests:
v1.2.0-apipreview.5 (2021-06-04)
Implemented enhancements:
- Common design for PaginatedResult-related methods #278
- Add Connection Error Handling - 0.8 feature #51
Fixed bugs:
- API completeness #50
- Passing tests appear to have failed in Travis #47
- Go JSON / Binary / String support #9
Closed issues:
- Fix RTN14c test to include full connection establishment #315
- Flaky test in 1.2 branch: TestStatsPagination_RSC6a_RSCb3 #313
- Flaky test in 1.2 branch: TestPresenceHistory_Direction_RSP4b2 #310
- Flaky test in 1.2 branch: TestRealtimeChannel_Detach #309
- Fix channel iteration methods #307
- RTN12: Connection.close #262
- RTL2f: ChannelEvent RESUMED flag #243
- RTL17: Only dispatch messages when ATTACHED #240
- RTL14: ERROR message for channel #238
- RTL12: Random incoming ATTACHED message #237
- RTN3: Connection.autoConnect #229
- RTN2: WebSocket query params #226
- RTN10: Connection.serial #224
- RTN24: Handle random CONNECTED message #223
- RTL5: Channel.detach #212
- RTL4: Channel.attach #211
- Bring back reverted README examples #207
Merged pull requests:
- Unexport CipherParams.IV, useful only for tests #334 (tcard)
- Unexport package proto, ablycrypto, ablytest #332 (tcard)
- Fix/conflict integration 1.2 #329 (sacOO7)
- [FIX CONFLICTS] Merge env. fallbacks to 1.2 #328 (sacOO7)
- Replace all
ts \*testing.T
instances witht
#326 (tcard) - Simplify and uniformize logging #321 (tcard)
- Websocket query params #320 (sacOO7)
- Use persisted namespace for history tests #319 (tcard)
- Avoid current stats period interference with fixtures in tests #318 (tcard)
- Rewrite RTN14c to test full connection establishment #317 (tcard)
- Allow setting connection and request timeouts separately #312 (Jmgr)
- Remove flaky TestRealtimeChannel_Detach #311 (tcard)
- Fix channel iteration #308 (sacOO7)
- Connection Autoconnect #306 (sacOO7)
- Connection serial #305 (sacOO7)
- Override connectionDetails #304 (sacOO7)
- Rename PublishBatch -> PublishMultiple #303 (tcard)
- Migrate Presence.get and REST.request to new paginated results #301 (tcard)
- Remove Ping public Interface #300 (sacOO7)
- Channel Attach #299 (sacOO7)
- Channel Detach #298 (sacOO7)
- Connection Close #297 (sacOO7)
- Conform license and copyright #296 (QuintinWillison)
- RTN24, Handle Random Connected Message #295 (sacOO7)
- Channel message dispatch only when it's attached #294 (sacOO7)
- Adapt History to follow new paginated result design #292 (tcard)
- FailedChannelState on error message #289 (sacOO7)
- Channel resume #288 (sacOO7)
- Ensure generated code is up-to-date in CI #287 (tcard)
- Added H2 with Resources #285 (ramiro-nd)
- Amend workflow branch name #284 (owenpearson)
- Ably 1.2 examples #283 (sacOO7)
- Adapt Stats to follow new paginated result design #281 (tcard)
- Add scripts/test.sh for running tests #279 (lmars)
- TestFixConnLeak_ISSUE89: Change the way it detects closed conns #277 (tcard)
- Generate env fallbacks #268 (sacOO7)
v1.2.0-apipreview.4 (2021-02-11)
Implemented enhancements:
- Add missing context.Context arguments #275
- Defaults: Generate environment fallbacks #198
- Implement support for connection recovery and resume #52
Closed issues:
- 'Account disabled' error gets sent as DISCONNECTED #269
- ttl seems to be set to null in a created token request? #266
- v1.2 API design #197
Merged pull requests:
- Bump the version constants #280 (lmars)
- Propagate contexts everywhere #276 (tcard)
- Merge main into 1.2 #274 (tcard)
- Replace Travis with GitHub workflow #273 (QuintinWillison)
- Fix regression in TestAuth_ClientID's flakiness. #272 (tcard)
- Minor changes for 1.2 API compliance #270 (tcard)
- Add maintainers file #267 (niksilver)
- add RTN19 - Transport state side effect #170 (gernest)
v1.2.0-apipreview.3 (2020-11-17)
Implemented enhancements:
- RTL9: Channel presence #264
Closed issues:
- Missing lib=go-<version> querystring param in connections #209
Merged pull requests:
v1.2.0-apipreview.2 (2020-11-09)
Merged pull requests:
- RTL6c: Publish while not connected #208 (tcard)
- Update README for 1.2 preview, with associated fixes #206 (tcard)
- add rtn14 - Connection opening failures: #172 (gernest)
v1.2.0-apipreview.1 (2020-10-21)
Merged pull requests:
- Implement options as package-level functions #205 (tcard)
- v1.2-compliant message and presence publish and subscribe #202 (tcard)
v1.2.0-apipreview.0 (2020-10-16)
Fixed bugs:
- Rest.request call timing out doesn't result in the errorMessage being set in the httpPaginatedResponse? #192
- Channel attach fails in the DISCONNECTED state #189
- TestFixConnLeak_ISSUE89 is flaky #132
Closed issues:
- Reauthentication with Presence #164
Merged pull requests:
- Remove things from public API that aren't in the spec #201 (tcard)
- Explicitly annotate enum vars so that godoc places them with the type #200 (tcard)
- Introduce ErrorCode type for predefined error codes #199 (tcard)
- Merge main into 1.2 #196 (tcard)
- Always include serial values in encoded protocol messages #195 (lmars)
- Handle non-PaginatedResult but otherwise valid HTTP error responses #194 (tcard)
- Add HTTPRequestTimeout option with 10s default #193 (tcard)
- Ad-hoc fix for enqueuing attach attempt when DISCONNECTED. #191 (tcard)
- RTL2: EventEmitter for channel events; remove old State #190 (tcard)
- RTN15e: Check that Connection.Key changes on reconnections. #188 (tcard)
- RTN15d: Add a test for message delivery on connection recovery. #187 (tcard)
- RTL13: Handle DETACHED while not DETACHING. #185 (tcard)
- Fix test for Heartbeat #183 (gernest)
- Fix race condition in RTN15i test #182 (tcard)
- RTN15g: Don't attempt resume after server has discarded state #181 (tcard)
- RTN15i: Add test for already existing functionality. #180 (tcard)
- RTN15h*: Handle incoming DISCONNECTED while CONNECTED #179 (tcard)
- Temporarily skip test for RTN23. #178 (tcard)
- Fix data race in RTN23 test. #177 (tcard)
- Have a single Travis build as originally intended. #176 (tcard)
- proto: Decode ms durations as a time.Duration wrapper. #174 (tcard)
- Fix instances of old nil *ChannelOptions becoming nil option func. #173 (tcard)
- remove unused fields from Connection #171 (gernest)
- Add RTN23- heartbeats #169 (gernest)
- Rename master to main #167 (QuintinWillison)
- Add rtn16 #165 (gernest)
- v1.2 ChannelOptions #146 (tcard)
- v1.2 ClientOptions #145 (tcard)
- v1.2 event emitter for connection (RTN4) #144 (tcard)
v1.1.5 (2020-05-27)
Merged pull requests:
- Add logs to help in troubleshooting RestClient http api calls #162 (gernest)
- Remove unused fields definition on RealtimeClient #161 (gernest)
- add implementation for RTN15b-c spec #159 (gernest)
v1.1.4 (2020-04-24)
Fixed bugs:
- Lib failing to retrying on 5xx if it can't parse the body #154
- Flaky TestAuth_ClientID test #80
- Likely leaking goroutines in multiple places #68
Closed issues:
- Implementing reauthentication before or after token expires #153
Merged pull requests:
- Properly set Error.StatusCode #157 (gernest)
- Use ClientOptions.TLSPort for tls connections #156 (gernest)
- RTN15a: Reconnect after networking error. #152 (tcard)
- Fix goroutine leaks #151 (tcard)
- Remove fmt.Println leftovers. #150 (tcard)
- Don't read from connection on inactive state. #149 (tcard)
- RTN23a: Receive from WebSocket with a timeout. #148 (tcard)
v1.1.3 (2020-04-01)
Fixed bugs:
- Drop dependency on subpackage #134
Closed issues:
Merged pull requests:
- Fix flaky tests #139 (tcard)
- bug: TestRestClient Stats failure due to race cond with sandbox #138 (audiolion)
- bug: unpinned range scope variables in tests #137 (audiolion)
- Update github.com/ugorji/go/codec to v1.1.7 #136 (lmars)
Fixed bugs:
- Unhelpful error message when failing to parse an HTTP response #127
Merged pull requests:
- REST client tests: a few fixes for test regressions #130 (paddybyers)
- First fix for issue 127 #129 (paddybyers)
- Fixed some typos in comments #124 (Jmgr)
v1.1.1 (2019-02-06)
Closed issues:
- 'Readme' not up to date #112
Merged pull requests:
- fix go.mod #119 (gernest)
- Use modules to remove vendored websocket library #117 (paddybyers)
- Specify msgpack decode option to return strings for appropriate types #116 (paddybyers)
- Proper Usage for RestChannels.Get Method in README.md #115 (lacriment)
- Make IdempotentRestPublishing default to false for 1.1 #114 (paddybyers)
- Add 1.1 feature support matrix #111 (paddybyers)
v1.1.0 (2018-11-09)
Merged pull requests:
- remember successful fallback host #110 (gernest)
- Add idempotent publishing #105 (gernest)
- RSA7 #99 (gernest)
v0.8.2 (2018-11-01)
Closed issues:
- Revert broken encoding on 0.8.1 #106
Merged pull requests:
- release 0.8.2 #108 (gernest)
- don't set message data encoding to utf-8 when it is a string #107 (gernest)
- add Request() API (RSC19) #104 (gernest)
- add href attribute to ErrorInfo #103 (gernest)
- add RSE2 GenerateRandomKey #102 (gernest)
- rsa10k cache server time offset #95 (gernest)
- Update message encoding and encrypt channel message #88 (gernest)
v0.8.1 (2018-10-12)
Fixed bugs:
- Client appears to be leaking TCP connections/file descriptors #89
- Library not sending X-Ably-Lib header (RSC7b) #69
Merged pull requests:
- Release v0.8.1 #101 (gernest)
- ensure client's response body is closed #100 (gernest)
- remove ginkgo and improve test runtime #97 (gernest)
- add Auth.Authorize #96 (gernest)
- removed unused code #94 (gernest)
- prefer the ably error codes generated by scripts/errors.go #93 (gernest)
- Fix conn leak #91 (gernest)
- fix Channel.Get API change in tests #86 (gernest)
- add ChannelOptions #85 (gernest)
- add support for rest channels #84 (gernest)
- RSA9h update Auth.CreateTokenRequest #83 (gernest)
- add more tests for rsc15 #81 (gernest)
- Release 0.8.0 beta.1 #79 (ORBAT)
- add rsc15 support host fallback #78 (gernest)
v0.8.0-beta.1 (2018-09-05)
Implemented enhancements:
Merged pull requests:
- use constants for message encoding strings #77 (gernest)
- RSC7b add lib header #75 (gernest)
- call Close on sandbox when exiting TestRSC7 test #74 (gernest)
- Update stats object to 1.1 spec #73 (gernest)
- Generate ably error status code #72 (gernest)
- RSC4 accept custom logger #71 (gernest)
- rsc7a add version header #70 (gernest)
- RSC7a add version header #67 (gernest)
- Update .travis.yml to a working state #66 (gernest)
- Use new msgpack package #65 (gernest)
- Fix resource count value types #61 (gernest)
v0.8.0-beta.0 (2017-08-26)
Implemented enhancements:
- Switch arity of auth methods #44
- Spec validation #31
- add ably.Error error type #30
- proto: improve Stats struct #29
- rest: add support for token auth for requests #28
- Consistent README #21
- API changes Apr 2015 #19
- API changes #15
- Update imports to reference vendored packages #3 (lmars)
Fixed bugs:
- Tests for Go 1.4.3 hang #46
- Switch arity of auth methods #44
- rest: add tests for URL-escaping channel names #42
- realtime: Presence.Get() should attach instead of raising error #36
- rest: check (*http.Response).StatusCode codes for != 200 #27
- rest: make ProtocolMsgPack default #26
- rest: set proper request headers for msgpack protocol #25
- rest: proto.Stat serialization failure #23
- Fix REST/Presence tests to not fail randomly. #20
- API changes Apr 2015 #19
- API changes #15
Closed issues:
Merged pull requests:
- A few fixes to README. #55 (tcard)
- auth: latest spec additions #45 (rjeczalik)
- realtime: increase test coverage for Connection / Channel #43 (rjeczalik)
- auth: add token authentication #41 (rjeczalik)
- Add Makefile #40 (lmars)
- MsgPack support; reworked Stat data type; updated deps #39 (rjeczalik)
- realtime: attach to channel on Presence.Get #37 (rjeczalik)
- fix RealtimePresence race; add StateEnum type #35 (rjeczalik)
- ably: add RealtimePresence #33 (rjeczalik)
- realtime client - first working version #32 (rjeczalik)
- rest: improve RestClient API #24 (rjeczalik)
- Auth API changes #22 (rjeczalik)
- Refactor proto to use []byte for binary data. #18 (rjeczalik)
- Refactor Params -> ClientOptions and logging #17 (rjeczalik)
- Test ably/proto with ably-common fixtures #16 (rjeczalik)
- Merge config, rest and realtime into one ably package #13 (rjeczalik)
- Add (*PaginatedResource).Items() for accessing interface{} items #11 (rjeczalik)
- Rework proto.PaginatedResource API #10 (rjeczalik)
- Race fixes plus updated Travis CI configuration #8 (rjeczalik)
- Don't verify hostname if HTTP_PROXY is set #7 (rjeczalik)
- Fix capability #6 (rjeczalik)
- Add support to encode data in messages #5 (kouno)
- Rest presence #4 (kouno)
- Structure change #2 (kouno)
- Move to Ginkgo and add Godep for dependencies management #1 (kouno)
* This Change Log was automatically generated by github_changelog_generator