Skip to content

Latest commit

 

History

History
727 lines (531 loc) · 53.3 KB

CHANGELOG.md

File metadata and controls

727 lines (531 loc) · 53.3 KB

Change Log

Changelog

Full Changelog

This release adds a new experimental RealtimeChannels.GetDerived method which allows you to create custom realtime data feeds by selectively subscribing to receive only part of the data from the channel. See the announcement post for more information.

Merged pull requests:

This release updates docstring API commentaries for public interfaces.

Full Changelog

Merged pull requests:

Full Changelog

Implemented enhancements:

Full Changelog

Merged pull requests:

Full Changelog (2022-07-01)

Closed issues:

  • Use the net/http/httptest package to write unit test(s) for websockets #541
  • Migrate from deprecated websocket package #368

Merged pull requests:

1.2.7 (2022-06-09)

Full Changelog

Implemented enhancements:

  • Add support to get channel lifecycle status #509

Fixed bugs:

  • Missing pointer safety when creating a new Realtime Client #537
  • realtime: missing test for sync resume (disconnection while sync is in progress) #34

Closed issues:

  • Remove dependency on test.sh bash script to run the tests #530
  • Unstable test TestStats_Direction_RSC6b2 #520
  • Remove flaky unit tests TestAfterOK and TestAfterCanceled in package ablyutil #514
  • Tests for packages ablyutil and ablytest are running more than once in the CI pipeline #504
  • Flaky POST /apps: "Unable to modify existing channel namespace" #354
  • Document ably/generate.go #351
  • Document the project structure in our contributing guide #350
  • Lint code, probably using gofmt #346
  • Conform ReadMe and create Contributing Document #340

Merged pull requests:

  • fix nil pointer issue #543 (mohyour)
  • Use pointers to mock types which contain embedded sync.mutex #542 (Rosalita)
  • Increased unit test coverage #534 (Rosalita)
  • Chore/update readme #533 (mohyour)
  • Remove dependency on test.sh bash script to run the tests #531 (Rosalita)
  • revert git commit 787e6e98e5dfc2bf848e2cfdbe64bcff901ded2a #528 (Rosalita)
  • Fix small capitalisation error in function name #527 (Rosalita)
  • Fix flakey test by using a subtest to separate test set-up from test execution #525 (Rosalita)
  • Fixes test failure in scenario where test is retried as app already exists with namespace. #524 (Rosalita)
  • log request time outs when attempting retry #523 (Rosalita)
  • #509 add support to get lifecycle status #521 (mohyour)
  • Remove unstable time based unit tests from package ablyutil #518 (Rosalita)
  • Add code formatting check to CI pipeline and format all files #517 (Rosalita)
  • update dependency stretchr/testify from 1.4.0 to 1.7.1 #516 (Rosalita)
  • Split integration tests into separate workflow #515 (owenpearson)
  • Increased internal unit test coverage for error.go #510 (Rosalita)
  • #342 - update codec dependency #506 (mohyour)
  • Tests/add tags #505 (Rosalita)

1.2.6 (2022-5-10)

Full Changelog

Fixed bugs:

  • AblyREST.Request() does not work #486
  • Callback not invoked, despite message being received from server #434
  • Undescriptive errors; possible broken fallback functionality #125
  • HTTPPaginatedResult and PaginatedResult are missing some methods #120
  • ID and Client ID is blank on realtime incoming messages. #58
  • Do not persist authorise attributes force & timestamp #54

Closed issues:

  • go Update urls in readme #491
  • Research a new API Design that allows Ably to be mocked in unit tests. #488
  • Once test observability is in place try to turn all tests back on. #479
  • Support Go 1.18 #474
  • Test improvements - Standardise test assertions #456
  • Investigate re-enabling flaky tests. #438
  • Skipped Test: TestPresenceGet_RSP3_RSP3a1 #415
  • Skipped Test: TestPresenceHistory_RSP4_RSP4b3 #414
  • Skipped Test: TestHistory_Direction_RSL2b2 #413
  • Skipped Test: TestRealtimePresence_EnsureChannelIsAttached #412
  • Skipped Test: TestRealtimePresence_Sync250 #411
  • Skipped Test: TestRealtimeConn_BreakConnLoopOnInactiveState #410
  • Skipped Test: TestRealtimeConn_RTN19b #407
  • Skipped Test: TestRealtimeConn_RTN23 #405
  • Skipped Test: TestRealtimeConn_RTN15d_MessageRecovery #404
  • Skipped Test: TestRealtimeConn_RTN12_Connection_Close RTN12d #403
  • Skipped Test: TestRealtime_DontCrashOnCloseWhenEchoOff #400
  • Skipped Test: TestRealtimeChannel_RTL4_Attach RTL4j2 #398
  • Skipped Test: TestAuth_RSA7c #393
  • Document ably/export_test.go #352
  • Rename ClientOption type to something better describing its purpose #348
  • Clean up ably/doc_test.go Example_paginatedResults() #345
  • Update golang.org/x/net dependency (January 2019 > June 2021) #341
  • Flaky test in 1.2 branch: TestRealtimePresence_Sync250 #338
  • Flaky test in 1.2 branch: TestRealtimeConn_RTN19b #333
  • ably-go: add logging to rest & realtime clients #38

Merged pull requests:

1.2.5 (2022-03-09)

Full Changelog

Fixed bugs:

  • Failure to get channel with slash #463
  • Hang when joining presence #462
  • Frequently, a client can not get their own presence from a channel after making one call to channel.Presence.Enter. #436

Closed issues:

  • Test improvements - Move integration tests to their own package. #458
  • SPIKE : Find a way to run a single integration test with a CLI command #449
  • Test improvements - Separate unit tests and integration tests. #447
  • Release ably-go #440

Merged pull requests:

1.2.4 (2022-02-10)

Full Changelog

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 from examples #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)

Full Changelog

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:

v1.2.1 (2021-08-09)

Full Changelog

Implemented enhancements:

  • Need a migration guide for users going from 1.1.5 to 1.2.0 #361
  • Changelog and release tag #48

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.1.5

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:

v1.2.0-apipreview.6 (2021-06-17)

Full Changelog

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)

Full Changelog

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 with t #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)

Full Changelog

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:

v1.2.0-apipreview.3 (2020-11-17)

Full Changelog

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

Fixed bugs:

  • Drop dependency on subpackage #134

Closed issues:

  • Ambiguous import - found go-codec in multiple modules #135
  • Remove develop branch #128

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)

Full Changelog

Fixed bugs:

  • Unhelpful error message when failing to parse an HTTP response #127

Merged pull requests:

v1.1.1 (2019-02-06)

Full Changelog

Closed issues:

  • 'Readme' not up to date #112

Merged pull requests:

v1.1.0 (2018-11-09)

Full Changelog

Merged pull requests:

v0.8.2 (2018-11-01)

Full Changelog

Closed issues:

  • Revert broken encoding on 0.8.1 #106

Merged pull requests:

v0.8.1 (2018-10-12)

Full Changelog

Fixed bugs:

  • Client appears to be leaking TCP connections/file descriptors #89
  • Library not sending X-Ably-Lib header (RSC7b) #69

Merged pull requests:

v0.8.0-beta.1 (2018-09-05)

Full Changelog

Implemented enhancements:

  • Contribution instructions out of date #62
  • Update section about contributing #63 (ORBAT)

Merged pull requests:

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:

  • Use ably-common for test data #14
  • Support client instantiation via Token or TokenRequest #12

Merged pull requests:

* This Change Log was automatically generated by github_changelog_generator