Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

release 4.38

Compare
Choose a tag to compare
@irmen irmen released this 27 Jun 13:09
· 584 commits to master since this release

NOTE The below mentioned wire protocol change is backwards-incompatible. You have to update all your pyro libraries on clients and servers. (And Pyrolite libraries if you use them too)

  • wire protocol version changed to 48 (new connection logic).
  • changed the initial connection handshake protocol. Proxy and daemon now perform a handshake by exchanging data.
    You can set your own data on the proxy attribute _pyroHandshake. You can override a proxy method _pyroValidateHandshake
    and a daemon method validateHandshake to customize/validate the connection setup.
  • drastically reduced the overhead of creating a new proxy connection by piggybacking the metadata on the
    connection response (this avoids a separate remote call to get_metadata). New proxy connections are ~50% faster.
  • added Daemon.clientDisconnect() as a hook for when clients disconnect (Daemon.validateHandshake can
    be used as the hook to handle new connections)
  • you can now register a class on the Daemon instead of an object, and define instancing strategy: singleton, session, percall
  • you can provide an optional factory method to create instances of your pyro server class when needed according to the instancing_strategy
  • added handshake, instancemode and usersession examples
  • added distributed-computing2 example
  • added messagebus example
  • fixed callcontext example daemon to actually return a custom annotation
  • fixed benchmark/connections example
  • httpgateway recognises X-Pyro-Correlation-Id http header on requests
  • new mailing list address ([email protected]). Bye bye Sourceforge.