- Adds unique query IDs as well as duration in API debug output, to make it easier to track long requests
- Finishes up MSC support, get sync over SSE working flawlessly
- Exposes the #listen_forever method in the client abstraction
- Fixes room access methods
- Adds code for handling non-final MSC's in protocols
- Currently implementing clients parts of MSC2018 for Sync over Server Sent Events
NB, this release includes backwards-incompatible changes;
-
Changes room state lookup to separate specific state lookups from full state retrieval. This will require changes in client code where
#get_room_stateis called to retrieve all state, as it now requires a state key. For retrieving full room state,#get_room_state_allis now the method to use. -
Changes some advanced parameters to named parameters, ensure your code is updated if it makes use of them
-
Fixes SSL verification to actually verify certs (#9)
-
Adds multiple CS API endpoints
-
Adds
:room_idkey to all room events -
Adds
:selfas a valid option to the client abstraction's#get_usermethod -
Separates homeserver part stringification for MXIDs
-
Exposes some previously private client abstraction methods (
#ensure_room,#next_batch) for easier bot usage -
Changes room abstraction member lookups to use
#get_room_joined_members, reducing transferred data amounts -
Fixes debug print of methods that return arrays (e.g. CS
/room/{id}/state)
- Adds error event to the client abstraction, for handling errors in the background listener
- Adds an
open_timeoutsetter to the API - Fixes an overly aggressive filter for event handlers
- Adds the option to change the logger globally or per-object.
- Improves response handling to add accessors recursively
- Removes MatrixSdk extensions from the global scope,
if you've been using these in your own code you must now remember to
extend MatrixSdk::Extensionsin order for them to be available.
- Fixes mxc download URL generation
- Adds getters and setters for more specced room state
- Fixes handling of the timeout parameter for the sync endpoint (#7)
- Additionally also now allows for running sync with a nil timeout
- Cleans up the CS protocol implementation slightly, removing a mutation that's not supposed to be there
- Cleans up the gemspec slightly, no longer uses
git ls-files - Add support for explicitly setting proxy config for API
- Fixes a faulty include which broke the single implemented S2S endpoint
- Replaces the room name handling with a cached lazy loading system
- The create_room method in the client abstraction now automatically stores the created room
- Adds more CS API endpoints, exposed as #get_joined_rooms, #get_public_rooms, and #username_available?
- Adds a method to the client abstraction to reload all joined rooms
- Adds a method to the client abstraction to get a list of all public rooms
- Adds avatar tracking to rooms in the client abstraction
- Adds lazy loading of join rules and guest access for rooms in the client abstraction
- Adds granular error classes like MatrixSdk::MatrixNotFoundError to make error handling easier
- Improves the CS API endpoint for room state retrieval
- Fixes an issue in the client abstraction where it would fail to load aliases if multiple HSes have applied aliases to a room
- Fixes an error in the room creation code
- Fixes a divergence from spec in the room message request
- Fixes a slight divergence from spec in the kick method
- Fixes a divergence from spec in the tags handling methods
- Improves testing and code coverage of existing code
- Fixes a series of minor bugs found during the writing of tests
- Adds code for handling member lazy load in the client abstraction, and activates it by default
- Adds methods to read device keys from users
- Adds basic methods for device handling
- Restructures the API code to separate protocol implementations
- Improves the domain discovery code to support all currently specced methods
- Improves performance in sync calls
- Started work on an application service prototype, not ready for use yet
- Testing has been written for large parts of the code
- Adds a parameter to the client abstraction to allow retrying syncs on timeouts
- Adds support for token-based login in the client abstraction
- Adds rudimentary username and password validation in the client abstraction
- Adds MXID validation in the client abstraction
- Adds a method to discover a homeserver address based on a domain.
- Supporting both SRV and .well-known lookups
- Adds methods from the r0.4.0 spec
- Adds support for version 3 event IDs
- Extends the connection exceptions with a specific timeout error
- Sets a series of filters in the simple client example to skip unhandled event
- Fixes an exception when null values end up in the body cleaner during debugging
- Fixes an error with CGI not being required correctly
-
Adds missing accessors for HTTP timeout
-
Adds methods for checking auth status to client API
-
Adds a wrapper class for API responses to ease use
-
Adds option (and defaults) to store login details on registration
-
Allows creating a MatrixSdk::Client off of an existing MatrixSdk::Api
-
Extends event handling
-
Fixes batch handling in sync
-
Fixes event handling in the sample
-
Removes unimplemented API methods to avoid confusion
-
Plenty of documentation work
- Fixes for multiple issues discovered after initial release
- Adds additional API methods
- Higher-level client API gets room and user abstractions
Initial release