2.3.0-rc7
Pre-release
Pre-release
-
RabbitMQ Improvements
- Closed Rabbit connections will now be automatically unbound at the client.
- The automatic recovery feature of the rabbit client will now be enabled by default.
- When a channel gets closed, make sure all unacknowledged messages get re-queued.
- To improve throughput, multiple channels (via RoutingKeys) will be used for requests, responses and acknowledgements.
-
On-Premise Interceptors
- It is now possible to add custom code into the On-Premise Connector that is able to intercept and modifiy requests and responses.
-
Modify content streams
- Interceptors now can read and modify the content streams of requests and responses.
-
General improvements
- The RelayServer now warns when the
SharedSecret
setting is missing and uses a random value to be able to work at all, if it is not configured for Multi-Server operation. - The EF model was extended with more accurate information and new indices.
- If an On-Premises target sets an invalid value for the expires header, there won't be an error anymopre.
- Logging of sensitive data is now configurable and enabled by default.
- Now all information required for manual acknowledgment is provided for easier handling.
- Request logging now also tracks the request id.
- It is now possible to register the On-Premise Connector types with Autofac.
- The On-Premise Connector service now initializes http connection properties.
- Relative paths in configuration are now consistently evaluated against the exe directory of the RelayServer and not against the execution dir anymore.
- The new default for our own responses now is JSON and not XML.
- An own implementation (or inherited from the default one) of an IOnPremiseConnectionContext can be registered in the DI.
- For an easier migration scenario of changed IOnPremiseTargetRequest implementations a property called "Properties" was introduced, which will be serialized onto the root JSON object to be deserialized as properties on the on-premise side.
- A PING will be removed from the RabbitMQ queue directly by the server because of using AcknowledgeMode.Auto.
- The Entity Framework Context (RelayContext) is now public.
- It is possible to use a custom implementation of an
IOnPremiseConnectionOnReceivedHandler
by registering that in an Autofac module within a custom code assembly to handle incoming data on a SignalR connection.
- The RelayServer now warns when the
-
Bugfixes
- Under certain circumstances the On-Premise Connector demo service wasn't able to load a framework assembly.
- The On-Premise Connector is now able to recreate the
HttpClient
that is used to send responses to the RelayServer in case there are errors when posting. - HttpConfig needs to be explicitely initialized under certain circumstances.
- A newly created HttpClient now also receives the authentication header values of its predecessor.
- The request interceptor now also has access to the request body.
- Accessing empty bodies on intercepted requests and responses does not throw a NullReferenceException anymore.
- The acknowledgement was not done on the correct RabbitMQ model.
- An already deactivated connection was repeatingly deactivated again.
- The config message was accidentally sent to On-Premise Connectors not supporting it.
- Malformed query strings prevented the relaying of the request.