ruby-matrix-sdk

Ruby SDK for the Matrix communication protocol

MIT License

Downloads
65K
Stars
80
Committers
8

Bot releases are hidden (Show)

ruby-matrix-sdk - Version 2.8.0 Latest Release

Published by ananace about 2 years ago

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
ruby-matrix-sdk - Version 2.7.0

Published by ananace about 2 years ago

Changes since 2.6.0;

  • Added a bot subsystem + DSL
  • 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
ruby-matrix-sdk - Version 2.6.0

Published by ananace over 2 years ago

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
ruby-matrix-sdk - Version 2.5.0

Published by ananace almost 3 years ago

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 (#19)
  • Fixed inconsistency in MXID typing for the Client abstraction (#18 #20)
  • Fixed missed autoloader entries for errors (#22)
  • Fixed some potential issues arising from broken user-provided state data
ruby-matrix-sdk - Version 2.4.0

Published by ananace over 3 years ago

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
ruby-matrix-sdk - Version 2.3.0

Published by ananace over 3 years ago

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
ruby-matrix-sdk - Version 2.2.0

Published by ananace almost 4 years ago

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
ruby-matrix-sdk - Version 2.1.3

Published by ananace about 4 years ago

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
ruby-matrix-sdk - Version 2.1.2

Published by ananace about 4 years ago

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
ruby-matrix-sdk - Version 2.1.1

Published by ananace about 4 years ago

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
ruby-matrix-sdk - Version 2.1.0

Published by ananace over 4 years ago

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
ruby-matrix-sdk - Version 2.0.1

Published by ananace over 4 years ago

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
ruby-matrix-sdk - Version 2.0.0

Published by ananace over 4 years ago

NB, this release includes backwards-incompatible changes.

Changes since 1.5.0;

  • Changed 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.
  • Changed some advanced parameters to named parameters, ensure your code is updated if it makes use of them
  • Fixed SSL verification to actually verify certs (#9)

 

  • Added multiple CS API endpoints
  • Added :room_id key to all room events
  • Added :self as a valid option to the client abstraction's #get_user method
  • Separated homeserver part stringification for MXIDs
  • Exposed some previously private client abstraction methods (#ensure_room, #next_batch) for easier bot usage
  • Changed room abstraction member lookups to use #get_room_joined_members, reducing transferred data amounts
  • Fixed debug print of methods that return arrays (e.g. CS /room/{id}/state)
ruby-matrix-sdk - Version 1.5.0

Published by ananace almost 5 years ago

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
ruby-matrix-sdk - Version 1.4.0

Published by ananace about 5 years ago

Changes since 1.3.0;

  • Added the option to change the logger globally or per-object
ruby-matrix-sdk - Version 1.3.0

Published by ananace over 5 years ago

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.
ruby-matrix-sdk - Version 1.2.1

Published by ananace over 5 years ago

Changes since 1.2.0;

  • Fixed mxc download URL generation
ruby-matrix-sdk - Version 1.2.0

Published by ananace over 5 years ago

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
ruby-matrix-sdk - Version 1.1.1

Published by ananace over 5 years ago

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
ruby-matrix-sdk - Version 1.1.0

Published by ananace over 5 years ago

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