Fixed bugs:
- Fix crash when logging an incoming message with debug-level logging enabled #436
Implemented enhancements:
- [ably-ruby][no-connection-serial] Implement connection resume/recover #393
- [ably-ruby][no-connection-serial] Implement missing internal presence #392
- [ably-ruby][no-connection-serial] Implement code + tests for no-connection-serial #378
Closed issues:
- Remove unimplemented push activation methods #417
- Failing Test - updates attach_serial #415
- Failing Test - retrieves two pages of messages before channel was attached #414
- [ably-ruby] Fix failing tests #394
This contains an important fix for a TLS certificate validation bug which prevented the library from being able to use Realtime fallback hosts.
Fixed bugs:
- Fix server certificate validation for HTTP in Realtime #397
Merged pull requests:
- fix: unpin msgpack dependency minor/patch version #382
Implemented enhancements:
- Add full docstring coverage to public API #376 (lukaszsliwa)
Fixed bugs:
- Incorrect ProtocolMessage#connection_details object (overwrites original connection_details send on CONNECTED state) #377
Merged pull requests:
- fix: remove inbound message size validation #382 (owenpearson)
- Changes related to docstring, generate docs and CI workflow #376 (lukaszsliwa)
- Fix doc comment: incorrect channel.state type #375 (lukaszsliwa)
Implemented enhancements:
- Add support to get channel lifecycle status #362
Fixed bugs:
- Update Ruby version (and Gemfile.lock dependencies) #253
- Error not emitted when failing to connect to an endpoint indefinitely #233
- Connection errors when there should be warnings #198
- Implement presence re-entry requirement change for 1.1 #185
Closed issues:
This release updates ably-ruby to be compliant with the 1.2 version of the Ably client library feature specification. There are some minor breaking changes, please see the migration guide for more information.
Closed issues:
- Add Channel.setOptions method #291
- Add support for channel params #288
- Use ATTACH_RESUME flag for unclean attaches #287
- Add ChannelOptions param to Channels.get #285
- Update library to adhere to new spec for token renewal (see the spec definition for more info) #268
Merged pull requests:
- Add migration guide from 1.1.8 to 1.2.0 #348 (TheSmartnik)
- RTL21 #345 (lukaszsliwa)
- RTL4j #341 (TheSmartnik)
- RSL1a, RSL1b #340 (lukaszsliwa)
- Add support for RSA4b, b1, c, RSA16 (Authentication) #338 (lukaszsliwa)
- ChannelOptions related tasks #336 (TheSmartnik)
- Update RSC7 #334 (TheSmartnik)
Fixed bugs:
- Lib apparently closing the socket after each request #211
Closed issues:
- Resolve config.around() issue and upgrade rspec #313
- Write spec tests for RTL21 #308
- Write spec tests for RTL20 #307
- Write spec tests for RTL19, RTL19a, b, c #306
- Write spec tests for RTL18, RTL18a, b, c #305
- Add support for RTL20 #295
- Add support for RTL19, RTL19a, b, c #294
- Add support for RTL18, RTL18a, b, c #293
- Write spec tests for RSL6b, RLS7 (Channels) #284
- Write spec tests for RSC15e, d, f (Host Fallback ) #280
- Write spec tests for RSC7a, RSC7c (RestClient) #279
- Add support for DataTypes ChannelOptions TB2c, d #278
- Add support for DataTypes TokenParams AO2g #277
- Add support for DataTypes ClientOptions TO3j10 #276
- Add support for DataTypes ErrorInfo TI1 #275
- Add support for DataTypes ProtocolMessage TR3f, TR4i, q #274
- Add support for TM2i (DataTypes Message) #273
- Add support for PC1, PC2, PC3, PC3a (Plugins) #272
- Add support for RSL6b, RLS7 (Channels) #271
- Add support for RSL1a, b, h, k1, k2, l, l1 (Channels) #270
- Add support for RSC15e, d, f (Host Fallback ) #267
- Update client options support to 1.1 spec level (logExceptionReportingUrl) #246
- Confirm status of remaining realtime spec items for 1.0 #244
Merged pull requests:
- Allowing ConnectionDetails#max_message_size #342 (lukaszsliwa)
- Add specs for RTL17 #335 (TheSmartnik)
- Add spec for RTP5b #332 (TheSmartnik)
- Update specs with comments to docs seciton for RSN3a/RSN3c #331 (TheSmartnik)
- Fix after suite hook in specs #329 (TheSmartnik)
- Add specs for RTN15h2 #328 (TheSmartnik)
- Add specs for RTN12f #327 (TheSmartnik)
- Added Channel#set_options and Channel#options= aliases #326 (lukaszsliwa)
- Added DeltaExtras class and Message#delta_extras method. (TM2i) #325 (lukaszsliwa)
- When connection disconnectes and can't renew token it fails (RTN15h1) #324 (TheSmartnik)
- RTN-13c Add spec that channels do not reattach when connection isn't connected #323 (TheSmartnik)
- Add support for DataTypes ProtocolMessage: has_attach_resume_flag? #322 (lukaszsliwa)
- Added request_id and cause attributes to the ErrorInfo class TI1, RSC7c #321 (lukaszsliwa)
- Add spec for RTN12d #318 (TheSmartnik)
- Change behavior when reconnecting from failed state (RTN11d) #316 (TheSmartnik)
- Remove deprecated ProtocolMessage#connection_key TR4e #315 (TheSmartnik)
- Upgrade rspec to 3.10 #314 (lukaszsliwa)
- Add a spec for #RTN11c #257 (TheSmartnik)
Implemented enhancements:
Closed issues:
- Create code snippets for homepage (ruby) #249
- Update client options support to 1.1 spec level (maxMessageSize) #247
- Update client options support to 1.1 spec level (maxFrameSize) #245
Merged pull requests:
- Enabled TLS hostname validation CVE-2020-13482 #263 (lukaszsliwa)
- Ruby 3.0 support #260 (lukaszsliwa)
- TO3l9 Max frame size #259 (lukaszsliwa)
- Update client options support to 1.1 spec level (maxMessageSize) #252 (lukaszsliwa)
- Update ably-common to latest main #251 (owenpearson)
- Implement RSC7d (Ably-Agent header) #248 (lukaszsliwa)
- Upgrade statesman to ~> 8.0 #237 (darkhelmet)
- Update attach_serial before emiting UPDATE event #228 (TheSmartnik)
This release will have no effect for users of the realtime ably-ruby
client, however for users of ably-ruby-rest
it will update the faraday
dependency to 1.x (this change was already made for ably-ruby
in v1.1.5
).
Merged pull requests:
- Document libcurl requirement #243 (owenpearson)
- Fix broken markdown hyperlink in readme #242 (owenpearson)
- Update README with new Ably links #239 (mattheworiordan)
- Fix documentation for Channel#publish #183 (zreisman)
Please note: this library now depends on libcurl
as a system dependency. On most systems this is already installed but in rare cases where it isn't (for example debian-slim Docker images such as ruby-slim) you will need to install it yourself. On debian you can install it with the command sudo apt-get install libcurl4
.
Implemented enhancements:
- Upgrade to support HTTP/2 #192, fixed in #197 (mattheworiordan)
- Default fallback hosts for custom environments #232, fixed in #196 (mattheworiordan, owenpearson, lmars)
Implemented enhancements:
- statesman dependency very outdated #199
- Add support for custom transportParams #176
- Re-enable imempotency tests as part of 1.1 release #174
- Ensure request method accepts UPDATE, PATCH & DELETE verbs #168
- my-members presenceMap requirement change for 1.1 #163
- Add ChannelProperties as part of 1.0 spec (RTL15) #112
Fixed bugs:
- client_id should be passed as clientId #159
- Error in the HTTP2 framing layer issue before heroku-20 #215
- Using a clientId should no longer be forcing token auth in the 1.1 spec #182
Merged pull requests:
- Continue running all workflow jobs when one fails #235 (owenpearson)
- Set SNI hostname and verify peer certificates when using TLS #234 (lmars)
- Validate that members presenceMap does not change on synthesized leave #231 (TheSmartnik)
- Conform license and copyright #229 (QuintinWillison)
- Add ChannelProperties (RTL15) #227 (TheSmartnik)
- Replace fury badges with shields.io #226 (owenpearson)
- Add transport_params option to realtime client (RTC1f1) #224 (TheSmartnik)
- Use GitHub actions #223 (owenpearson)
- Add support for delete, patch, put method in #request #218 (TheSmartnik)
- Upgrade statesman #217 (TheSmartnik)
- Remove until_attach option for presence history #216 (TheSmartnik)
- Update Travis CI versions #214 (TheSmartnik)
- Add maintainers file #213 (niksilver)
Merged pull requests:
- RestChannel#publish: implement params (RSL1l) #210 (simonwoolf)
Merged pull requests:
- Remove legacy skipped tests and upgrade MsgPack #184 (mattheworiordan)
v1.1.1 (2019-05-06)
Implemented enhancements:
- Support transient publishes as part of 1.1 spec #164
Fixed bugs:
- RTN16b recovery not fully implemented #180
- Publishing a high number of messages before connected results in lost messages #179
Merged pull requests:
- msgSerial fixes including connection recovery fix #181 (mattheworiordan)
- Known limitations section in README #177 (Srushtika)
v1.1.0 (2019-02-06)
Fixed bugs:
- MessagePack::UnknownExtTypeError: unexpected extension type #167
- Ably::Modules::StateMachine produces confusing error code #158
- Transition state failure #125
Merged pull requests:
- V1.1 release #173 (mattheworiordan)
- Rsc15f remember fallback #172 (mattheworiordan)
- Generate error codes #171 (mattheworiordan)
- Parallel tests #169 (mattheworiordan)
- Transient publishing for #164 #166 (mattheworiordan)
- Idempotent publishing #165 (mattheworiordan)
- Release 1.0.7 #162 (funkyboy)
- Minor test fixes #123 (SimonWoolf)
- Push notifications #115 (mattheworiordan)
v1.0.7 (2018-06-18)
Implemented enhancements:
- Add JWT test #136
Fixed bugs:
Merged pull requests:
- Fix auth_method->auth_params #157 (SimonWoolf)
- Add request_id attribute documentation #156 (funkyboy)
- Add JWT tests #137 (funkyboy)
v1.0.6 (2018-05-01)
Fixed bugs:
- WebSocket driver does not emit events for heartbeats #116
Closed issues:
- Passing a frozen channel name or name gives an error on the REST client [Reopen] #145
Merged pull requests:
- Add request id fix for bulk publishes #154 (mattheworiordan)
- Fix race condition in EventMachine #153 (mattheworiordan)
- Add support for WebSocket native heartbeats #151 (mattheworiordan)
- Add .editorconfig for basic IDE configuration settings #150 (mattheworiordan)
- RSC15d test fixes; add (failing) tests for GET as well as POST #148 (SimonWoolf)
- Do not encode strings in-place #147 (mattheworiordan)
- Only resume if connection is fresh (RTN15g*) #146 (mattheworiordan)
- Fix channel history pagination test #143 (funkyboy)
- New release v1.0.5 #142 (funkyboy)
- Fix presence history test #141 (funkyboy)
- Do not encode strings in-place #140 (aschuster3)
v1.0.5 (2018-04-23)
Implemented enhancements:
- Add Ruby 2.1 and 2.3 to Travis tests #129
- Add supported platforms to README file #128
- Add Ruby 2.1 and 2.3 to Travis tests #130 (funkyboy)
Closed issues:
- Cannot get realtime to work #127
Merged pull requests:
- Improve pagination history test #138 (funkyboy)
- Fix failing auth test #135 (funkyboy)
- Add submodule instructions to Contributing section #134 (funkyboy)
- Add request_id option to client #133 (funkyboy)
- Update README with supported platforms #131 (funkyboy)
v1.0.4 (2017-05-31)
v1.0.3 (2017-05-31)
v1.0.2 (2017-05-16)
Fixed bugs:
- Reconnect following disconnection is hitting a 403 error #117
Merged pull requests:
- Fallback fixes #120 (mattheworiordan)
- Channel name encoding error for REST requests #119 (mattheworiordan)
v1.0.1 (2017-05-11)
v1.1.0-beta.push.1 (2017-04-25)
v1.0.0 (2017-03-07)
v0.8.15 (2017-03-07)
Implemented enhancements:
- Fix HttpRequest & HttpRetry timeouts #110
- Logger should take blocks #107
- 0.9: Use separate internal/external listeners #106
- Add reuse library test #83
- 0.8 final spec check #71
- Use connection#id not connection#key to determine if connection has been resumed #62
- Channel Presence suspended state #41
- Attach / detach timeouts + protocol error handling for Channel #38
- Connection retry and timeout needs to be configurable #6
Fixed bugs:
- Subscribing to all connection state changes doesn't work #103
- Ensure DETACHED or DISCONNECTED with error is non-fatal #93
- Incorrect assumption for channel errors #91
- authCallback assumes a blocking callback, even in EM #89
- Token Reauth error codes #86
- Do not persist authorise attributes force & timestamp #72
- 0.8 final spec check #71
- Receiving CONNECTED when already connected #69
- Connection#connect callback may not be called as expected #68
- nodename nor servname provided #65
- Channel Presence suspended state #41
- Intermittent test fixes #33
Closed issues:
- Remove deprecated ProtocolMessage#connectionKey #108
- 0.9 Extras field #105
- 0.9 UPDATE spec #104
- Token issue bug #75
- Ensure client_id provided is string or cast to string in Auth request_token #74
- Standardise timeouts #64
- Ensure RSpec retry compatibility is used #54
- Spec validation #43
Merged pull requests:
- 1.0 release #111 (mattheworiordan)
- From encoded #101 (mattheworiordan)
v0.8.14 (2016-09-30)
Fixed bugs:
- Several problems with fallback hosts #95
Closed issues:
- Catch common SSL error and show docs #96
Merged pull requests:
- Fallback host improvements #97 (mattheworiordan)
v0.8.13 (2016-09-29)
Merged pull requests:
- Ensure interoperability with other libraries with JSON protocol #94 (mattheworiordan)
v0.8.12 (2016-05-23)
Fixed bugs:
- Ably::Exceptions::ConnectionError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed #87
Merged pull requests:
- Reauthorise #90 (mattheworiordan)
v0.8.11 (2016-04-05)
Merged pull requests:
- Ensure message emitter callbacks are safe (i.e. cannot break the EM) #85 (mattheworiordan)
v0.8.10 (2016-04-01)
v0.8.9 (2016-03-01)
Fixed bugs:
Closed issues:
- New Crypto Spec #80
Merged pull requests:
- Various fixes for open issues #82 (mattheworiordan)
- Encryption spec update #81 (mattheworiordan)
v0.8.8 (2016-01-26)
Closed issues:
- Support :key in ClientOptions and deprecate :api_key #73
v0.8.7 (2015-12-31)
v0.8.6 (2015-12-02)
Merged pull requests:
- Some intermittent test fixes & enable tests that were blocked #70 (mattheworiordan)
- Output detailed log for any text failures #67 (mattheworiordan)
- 0.8 final spec (98% compliance) #66 (mattheworiordan)
v0.8.5 (2015-10-08)
Implemented enhancements:
- Switch arity of auth methods #61
Fixed bugs:
- Switch arity of auth methods #61
- Add test: Message published, connection dropped, then restores to point before last message was published #56
- Documentation for constructor is incorrect #49
Merged pull requests:
- Ensure connections are always closed in tests #63 (mattheworiordan)
v0.8.4 (2015-09-08)
Implemented enhancements:
- Add compatibility support for default Crypto params #53
- EventEmitter on connection #52
- Add test for connectionId attribute for a message sent over REST #50
Merged pull requests:
- Spec update to fix a number of issues #60 (mattheworiordan)
- Allow clientId to be provided on init if using externally created token #58 (SimonWoolf)
v0.8.3 (2015-08-19)
Implemented enhancements:
- Implement :queue_messages option #36
- Check that a non 200-299 status code for REST requests uses fallback hosts #35
- Move stats fixtures into ably-common #34
- Add tests for messages with no data or name fields #21
- Namespace MsgPack as MsgPack5 because compliance is not merged in #12
- Add test coverage for receiving messages more than once i.e. historical messages resent somehow on reconnect #11
- Add async methods for Authentication in the realtime library #8
Fixed bugs:
- Check that a non 200-299 status code for REST requests uses fallback hosts #35
Closed issues:
- Scope default token params in arguments #55
- Channel options can be reset when accessing a channel with #get #46
Merged pull requests:
- Separate token params for auth #57 (mattheworiordan)
- Ensure files are required in a consistent order #51 (SimonWoolf)
v0.8.2 (2015-05-20)
Implemented enhancements:
- Ensure Array object can be used in place of Hash for payload #44
- Change connect_automatically option to auto_connect for consistency #42
- Rename PaginatedResource to PaginatedResult for consistency #40
- EventEmitter should use
emit
nottrigger
to be consistent with other libs #31 - Add exceptions when data attribute for messages/presence is not String, Binary or JSON data #4
- Auth Callback and Auth URL should support tokens as well as token requests #2
Closed issues:
- Realtime Presence#get does not wait by default #47
- No implicit attach when accessing channel.presence #45
Merged pull requests:
- Reject invalid payload type #48 (mattheworiordan)
v0.8.1 (2015-04-23)
v0.8.0 (2015-04-23)
Merged pull requests:
- Token naming refactor #29 (mattheworiordan)
v0.7.6 (2015-04-17)
Implemented enhancements:
- Rename Stat to Stats for consistency #32
- Stats objects #24
- Need a test to handle errors in callbacks #13
- Allow token ID or API key in the client constructor #5
- Typed stats similar to Java library + zero default for empty stats #25 (mattheworiordan)
Fixed bugs:
- Need a test to handle errors in callbacks #13
Closed issues:
- New ttl format #15
Merged pull requests:
- Test encoded presence fixture data for #get & #history #28 (mattheworiordan)
- Add coveralls.io coverage reporting #27 (mattheworiordan)
- New paginated resource #26 (mattheworiordan)
- History since attach #22 (mattheworiordan)
v0.7.5 (2015-03-21)
v0.7.4 (2015-03-21)
Merged pull requests:
- Presence Member Map #14 (mattheworiordan)
v0.7.2 (2015-02-10)
Implemented enhancements:
- Use PresenceMap for presence instead of queues #10
Merged pull requests:
- Update README to include various missing snippets for core features #9 (kouno)
- Fix connection retry frequency #7 (kouno)
v0.7.1 (2015-01-18)
v0.7.0 (2015-01-12)
Closed issues:
- JSON encoder should only append utf-8 before a cipher encoder is applied #1
v0.6.2 (2014-12-10)
v0.2.0 (2014-12-09)
v0.1.6 (2014-10-31)
v0.1.5 (2014-10-23)
v0.1.4 (2014-09-27)
v0.1.3 (2014-09-26)
v0.1.2 (2014-09-25)
v0.1.1 (2014-09-23)
v0.1.0 (2014-09-23)
* This Change Log was automatically generated by github_changelog_generator