Skip to content

Releases: rsocket/rsocket-py

v0.4.9

05 Mar 16:59
c5b2c39
Compare
Choose a tag to compare
  • Optimization to routing requests to methods and parsing composite metadata

v0.4.8

22 Feb 17:59
342415d
Compare
Choose a tag to compare
  • Removed copying data and metadata into frame during serialization

v0.4.7

21 Dec 16:37
ae53ef1
Compare
Choose a tag to compare
  • Send cancel to responders when requester disconnects and error to requesters when requester disconnects
  • Fix guide examples to properly cancel responders which use asyncio Task as value source
  • Rewrote guide statistics example to use generator instead of task

v0.4.6

10 Dec 17:29
7eedb7c
Compare
Choose a tag to compare
  • fire_and_forget now only removes the stream id when the future denoting the frame was sent, is done
  • API documentation auto generated at rsocket.readthedocs.io
  • Request router changes:
    • Raise error on empty or None route specified in request router
    • Added the following methods to RequestRouter to allow specifying handlers of unknown routes:
      • response_unknown
      • stream_unknown
      • channel_unknown
      • fire_and_forget_unknown
      • metadata_push_unknown
    • Officially support route aliases by using the decorator multiple times on the same method
    • Fix value mapping in request router:
      -A parameter of any name (not just payload) specified on a routed method with a type-hint other than Payload will use the payload_mapper to decode the value
      • Any parameter with the type CompositeMetadata will receive the composite metadata

v0.4.5

23 Nov 23:15
64bc60c
Compare
Choose a tag to compare
  • Breaking change: Normalized the request_channel method argument names across implementations and added where missing (vanilla, reactivex etc.):
    • local_publisher renamed to publisher
    • sending_done_event renamed to sending_done
  • Breaking change: ReactiveX clients will remove empty payload from request_response Observable, resulting in an actually empty Observable
  • Bug fix: fixed channel stream being released prematurely when canceled by requester, and responder side still working
  • Bug fix: removed cyclic references in RSocketBase which caused old sessions not to be released
  • Bug fix: fixed ability for ReactiveX streams and fragmented responses to send payloads concurrently
  • CollectorSubscriber : exposed subscription methods directly instead of relying on internal subscription variable
  • Reactivex server side request_response allowed to return reactivex.empty(). Library code will replace with empty Payload when needed
  • Added EmptyStream for use in stream and channel responses
  • Tutorial code: release logged out users from global chat data (weak references)

v0.4.4

13 Nov 09:48
2591db6
Compare
Choose a tag to compare
  • Fragmentation fix - empty payload (either in request or response) with fragmentation enabled failed to send
  • Breaking change: on_connection_lost was renamed to on_close. An on_connection_error method was added to handle initial connection errors
  • Routing request handler:
    • Throws an RSocketUnknownRoute exception which results in an error frame on the requester side
    • Added error logging for response/stream/channel requests
  • Added create_response helper method as shorthand for creating a future with a Payload
  • Added utf8_decode helper. Decodes bytes to utf-8. If data is None, returns None.
  • Refactoring client reconnect flow
  • Added example code for tutorial on rsocket.io

v0.4.3

08 Nov 10:52
0eed515
Compare
Choose a tag to compare
  • Command line fixes:
    • limit_rate argument was effectively ignored. fixed
  • Added on_ready callback to RSocketServer. Called when sender/receiver tasks are ready
  • Implement ReactiveX (3.0, 4.0) server side handler. Allows to define RequestHandler directly using ReactiveX
  • Added sending_done_event argument to request_channel to allow client to wait until sending to server is complete/canceled
  • Added find_by_mimetype to CompositeMetadata class. Returns list of relevant items by mimetype
  • Breaking Change: Removed RSocketBase class dependency from RequestHandler. It is not longer required as an argument to init

v0.4.2

26 Oct 01:31
5127c85
Compare
Choose a tag to compare
  • Command line fixes:
    • Support passing ssl certificate and http headers when using ws/wss
    • Support requesting --version without the need to specify URI arguments
    • Option --interactionModel to specify interaction (eg. request_response, request_stream)
    • Added Metadata Push support

v0.4.1

25 Oct 12:45
Compare
Choose a tag to compare
  • Added running tests on python 3.11 and package classification
  • Removed data and metadata content from logs. Replaced with data and metadata sizes
  • Performance test examples available in performance folder
  • WSS (Secure websocket) example and support (aiohttp)
    • Refactored Websocket transport to allow providing either url or an existing websocket
  • Added command line tool (rsocket-py)

v0.4.1.dev1

25 Oct 12:40
Compare
Choose a tag to compare
v0.4.1.dev1 Pre-release
Pre-release

changes from 0.4:

  • Added running tests on python 3.11 and package classification
  • Removed data and metadata content from logs. Replaced with data and metadata sizes
  • Performance test examples available in performance folder
  • WSS (Secure websocket) example and support (aiohttp)
    • Refactored Websocket transport to allow providing either url or an existing websocket
  • Added command line tool (rsocket-py)