Skip to content
Tags give the ability to mark specific points in history as being important
This project is mirrored from https://github.com/ananace/ruby-matrix-sdk.git. Pull mirroring updated .
  • v2.8.0
    6a766d15 · Version 2.8.0 ·
    Version 2.8.0
    
    Changes since 2.7.0;
    - Dropped support for EoL Ruby 2.6
    - Added helpers for accessing room state
    - Fixed Client#sync_token usage
    - Improved caching of state events in rooms
    
  • v2.7.0
    d406c66f · Version 2.7.0 ·
    Version 2.7.0
    
    Changes since 2.6.0;
    - Added a bot subsystem + DSL
      - [An example](examples/bot_api.rb) can be found in the examples folder
    - Added additional useful helpers for Room and User
    - Fixed Client.new_for_domain
    - Improved the handling of MXIDs as strings
    - Improved handling of caches for rooms
    - Improved Client shutdown when using Client#start_listener_thread
    - Improved account data handling, with caches on both Client and Room level
    
  • v2.6.0
    3b1ad4ab · Version 2.6.0 ·
    Version 2.6.0
    
    Changes since 2.5.0;
    - Added some multi-thread usage support to the API (create your API/client with `threadsafe: :multithread/true/false`)
      The API will currently default to running with multi-threaded requests. In case your application is single-threaded - or never performs requests from multiple threads - then you can set `threadsafe: true/false` to support connection reuse.
    - Changed room finding to ignore non-canonical aliases by default
    - Improved room alias handling
    - Improved Ruby 3.0+ support
    - Improved debug output by supporting PP (Ruby pretty print) on all MatrixSdk objects
    
  • v2.5.0
    588e881c · Version 2.5.0 ·
    Version 2.5.0
    
    Changes since 2.4.0;
    
    - Added preliminary support for the Matrix v1.1 `client/v3` API
    - Added some support for knocking rooms
    - Added mutex synchronization on API requests to avoid some threading issues
    - Fixed error on attempting to skip cache for certain requests
    - Fixed inconsistency in MXID typing for the Client abstraction
    - Fixed missed autoloader entries for errors
    - Fixed some potential issues arising from broken user-provided state data
    
  • v2.4.0
    1ccc8d2e · Version 2.4.0 ·
    Version 2.4.0
    
    Changes since 2.3.0;
    - Added support for matrix: URI's according to MSC2312
    - Added some basic support for detecting Spaces (MSC1772)
    - Fixed sync against Synapse 1.38.0 missing empty fields
    
  • v2.3.0
    e699d417 · Version 2.3.0 ·
    Version2.3.0
    
    Changed since 2.2.0;
    - Added support for Ruby 3.0 (#15)
    - Added support for requests against the Synapse admin API
    - Added helper methods for checking and changing user power levels
    - Added a proper caching system for room data
    - Fixed argument error in `#get_room_messages`
    - Removed unfinished and broken AS abstraction
    
  • v2.2.0
    53c1d6bc · Version 2.2.0 ·
    Version 2.2.0
    
    Changed since 2.1.3;
    - Added direct message (1:1) room mapping to client abstraction
    - Added Api#get_room_event_context (#13)
    - Improved support for JRuby
    
  • v2.1.3
    1de8ec02 · Version 2.1.3 ·
    Version 2.1.3
    
    Changed since 2.1.2;
    - Added separate state event handler as Client#on_state_event
    - Changed Client sync interval to by-default run at full speed
    - Fixed state events being sent twice if included in both timeline and state of a sync
    - Improved error reporting of broken 200 responses
    - Improved event handlers for rooms, to not depend on a specific room object instance anymore
    
  • v2.1.2
    3129e8b3 · Version 2.1.2 ·
    Version 2.1.2
    
    Changes since 2.1.1:
    - Added method for reading complete member lists for rooms, improves the CS spec adherence
    - Added test for state events
    - Fixed state event handler for rooms not actually passing events
    - Fixed Api#new_for_domain using a faulty URI in certain cases
    
  • v2.1.1
    2be5ee9f · Version 2.1.1 ·
    Version 2.1.1
    
    Changes since 2.1.0;
    - Fixed a crash if state event content is null (#11)
    - Fixed an uninitialized URI constant exception when requiring only the main library file
    - Fixed the Api#get_pushrules method missing an ending slash in the request URI
    - Fixed discovery code for client/server connections based on domain
    
  • v2.1.0
    355ae114 · Version 2.1.0 ·
    Version 2.1.0
    
    Changes since 2.0.1;
    - Added unique query IDs as well as duration in API debug output, to make it easier to track long requests
    - Finished up MSC support, gotten sync over SSE working flawlessly
    - Exposed the #listen_forever method in the client abstraction
    - Fixed room access methods
    
  • v2.0.1
    c6300aca · Version 2.0.1 ·
    Version 2.0.1
    
    Changes since 2.0.0;
    
    - Add code for handling non-final MSC's in protocols
      - Currently implementing clients parts of MSC2018 for Sync over Server Sent Events
    
  • v2.0.0
    f7dc0f52 · Release version 2.0.0 ·
    Version 2.0.0
    
    **NB**, this release includes backwards-incompatible changes.
    
    Changes since 1.5.0;
    - Changes room state lookup to separate specific state lookups from full state retrieval.
      This will require changes in client code where `#get_room_state` is called to retrieve
      all state, as it now requires a state key. For retrieving full room state,
      `#get_room_state_all` is 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_id` key to all room events
    - Adds `:self` as a valid option to the client abstraction's `#get_user` method
    - 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`)
  • v1.5.0
    29ee22e8 · Version 1.5.0 ·
    Version 1.5.0
    
    Changes since 1.4.0;
    - Added error event to the client abstraction, for handling errors in the background listener
    - Added an `open_timeout` setter to the API
    - Fixed an overly aggressive filter for event handlers
    
  • v1.4.0
    cfbf2f40 · Release version 1.4.0 ·
    Version 1.4.0
    
    Changes since 1.3.0;
    - Added the option to change the logger globally or per-object
    
  • v1.3.0
    9e0819c8 · Version 1.3.0 ·
    Version 1.3.0
    
    Changes since 1.2.1;
    - Improved response handling to add accessors recursively
    - Removed MatrixSdk extensions from the global scope,
      if you've been using these in your own code you must now remember to
      `extend MatrixSdk::Extensions` in order for them to be available.
    
  • v1.2.1
    57d9deb4 · Release version 1.2.1 ·
    Version 1.2.1
    
    Changes since 1.2.0;
    - Fixed mxc download URL generation
    
  • v1.2.0
    1acda6ca · Release version 1.2.0 ·
    Version 1.2.0
    
    Changes since 1.1.1
    - Added getters and setters for more specced room state
    - Fixed handling of the timeout parameter for the sync endpoint (#7)
        - Additionally also now allows for running sync with a nil timeout
    - Cleaned up the CS protocol implementation slightly, removing a mutation that's not supposed to be there
    - Cleaned up the gemspec slightly, no longer uses `git ls-files`
    - Added support for explicitly setting proxy config for API
    
  • v1.1.1
    367806fd · Version 1.1.1 ·
    Version 1.1.1
    
    Changes since 1.1.0;
    - Fixed a faulty include which broke the single implemented S2S endpoint
    - Replaced the room name handling with a cached lazy loading system
    
  • v1.1.0
    b3dc23e0 · Version 1.1.0 ·
    Version 1.1.0
    
    Changes since 1.0.1;
    - Changed the create_room method in the client abstraction to
      automatically store any created rooms
    - Added more CS API endpoints, exposed as #get_joined_rooms,
      #get_public_rooms, and #username_available?
    - Added a method to the client abstraction to reload all joined rooms
    - Added a method to the client abstraction to get a list of all
      public rooms
    - Added avatar tracking to rooms in the client abstraction
    - Added lazy loading of join rules and guest access for rooms in the
      client abstraction
    - Added granular error classes like MatrixSdk::MatrixNotFoundError to
      make error handling easier
    - Improved the CS API endpoint for room state retrieval
    - Fixed an issue in the client abstraction where it would fail to load
      aliases if multiple HSes have applied aliases to a room
    
    Note that this release adds a series of new error classes, subclassed
    off of MatrixSdk::MatrixRequestError, these are;
    - MatrixNotAuthorizedError for error 401
    - MatrixForbiddenError for error 403
    - MatrixNotFoundError for error 404
    - MatrixConflictError for error 409
    - MatrixTooManyRequestsError for error 429