Releases: Accenture/reactive-interaction-gateway
Releases · Accenture/reactive-interaction-gateway
reactive-interaction-gateway-helm-v2-2.0.0
A Helm v2 chart for Kubernetes
reactive-interaction-gateway-2.0.0
A Helm chart for Kubernetes
reactive-interaction-gateway-helm-v2-1.0.1
A Helm v2 chart for Kubernetes
reactive-interaction-gateway-1.0.1
A Helm chart for Kubernetes
3.0.0-alpha.1
Merge pull request #325 from Accenture/release-3.0.0-alpha.1 Bump version to 3.0.0-alpha.1
2.4.0
2.3.0
Added
- In addition to SSE and WebSocket, RIG now also supports HTTP long-polling for listening to events. Frontends should only use this as a fallback in situations where neither SSE nor WebSocket is supported by the network. #217
- When terminating an SSE connection after its associated session has been blacklisted, RIG now sends out a
rig.session_killed
event before closing the socket. For WebSocket connections, the closing frame contains "Session killed." as its payload. #261 - New API for querying and updating the session blacklist:
/v2/session-blacklist
, which introduces the following breaking changes (/v1/session-blacklist
is unaffected) #261:- When a session has been added to the session blacklist successfully, the endpoint now uses the correct HTTP status code "201 Created" instead of "200 Ok".
- When using the API to blacklist a session, the
validityInSeconds
should now be passed as an integer value (using a string still works though).
Fixed
- Fixed usage of external check for
SUBMISSION_CHECK
andSUBSCRIPTION_CHECK
. #241 - Logging incoming HTTP request to Kafka works again and now also supports Apache Avro. #170
- Fixed HTTP response for
DELETE 4010/v1/apis/api_id
andDELETE 4010/v2/apis/api_id
to correctly return204
and no content.
Removed
- Removed the
JWT_BLACKLIST_DEFAULT_EXPIRY_HOURS
environment variable (deprecated since 2.0.0-beta.2). #260
Security
- A connection is now associated to its session right after the connection is established, given the request carries a JWT in its authorization header. Previously, this was only done by the subscriptions endpoint, which could cause a connection to remain active even after blacklisting its authorization token. #260
Technical Improvements
- Upgrade the Elixir and Erlang versions for source code and Docker images. #211
- Automated UI-tests using Cypress make sure that all examples work and that code changes do not introduce any unintended API changes. #227
- Refactor JWT related code in favor of
RIG.JWT
. #244 - Fix flaky cypress tests; this shouldn't be an issue anymore when running Travis builds. #265
2.2.1
2.2.0
Added
- [API Gateway] New custom metric:
rig_proxy_requests_total
. For details seemetrics-details.md
. #157 - [Rig] Integrity-check for the correlation ID #218
- Beta - Added Apache Avro support for consumer and producer as well as Kafka Schema Registry.
- [Docs] Added new set of topics in documentation about Api Gateway, even streams and scaling.
- [Docs] Added examples section to documentation website.
- [API/Proxy] Added new
response_from
option --http_async
together with new internalPOST
endpoint/v1/responses
. You can send correlated response to/v1/responses
and complete initial Proxy request. #213 - Implement HTTP Transport Binding for CloudEvents v0.2. A special fallback to "structured mode" in case the content type is "application/json" and the "ce-specversion" header is not set ensures this change is backward compatible with existing setups. #153
- [API/Proxy] New request body format for endpoints with
kafka
andkinesis
targets; see Deprecated below.
Changed
- The environment variable
KAFKA_GROUP_ID
has been replaced with the following environment variables, where each of them has a distinct default value:KAFKATOFILTER_KAFKA_GROUP_ID
,KAFKATOHTTP_KAFKA_GROUP_ID
,PROXY_KAFKA_RESPONSE_KAFKA_GROUP_ID
. #206 - The default Kafka source topic for the Kafka-to-HTTP event stream has been changed to
rig
. The feature was introduced to forward all incoming events to an (external) HTTP endpoint, so it makes sense to use the default topic for incoming events here too. - [Subscriptions] Changed
:refresh_subscriptions
GenServer handler fromcall
tocast
to improve performance. #224
Fixed
- Fixed a bug that caused the subscriptions endpoint to return an internal server error when running RIG in a clustered setup. #194
- Support for forwarding HTTP/1.1 responses over a HTTP/2 connection by dropping connection-related HTTP headers. #193
- [Docs] Added missing
id
field to swagger spec formessage
API. - [Kafka] Fixed random generation of group IDs. This led to wrong partition distribution when using multiple RIG nodes. Now consumers will have the same ID which can be changed via environment variable - defaults to
rig
. - [Proxy] When forwarding an HTTP request, the
Host
request header is now set to thetarget_url
defined by the proxy configuration. #188 - [Docs] Fixed missing
swagger.json
file in production Docker image. - [Proxy] Added missing CORS headers for Kafka/Kinesis target type when not using
response_from
. - [Kafka] Fixed schema registry validation when using binary messages in Kafka consumer. #202
- Forwarding events to HTTP did not contain (all) Kafka messages, as the Kafka consumer group ID was shared with the consumer for forwarding events to frontends. #206
Deprecated
-
[Proxy] Endpoints configured with target
kafka
orkinesis
now expect a different body format (that is, the previous format is deprecated). This aligns the request body format with the other endpoints that accept CloudEvents.For example, instead of using this:
{ "partition": "the-partition-key", "event": { "specversion": "0.2", "type": "what_has_happened", "source": "ui", "id": "123" } }
you should put the partition key in the CloudEvent's "rig" extension instead:
{ "specversion": "0.2", "rig": { "target_partition": "the-partition-key" }, "type": "what_has_happened", "source": "ui", "id": "123" }
2.1.1
Added
- When using the proxy, RIG will now add an additional
Forwarded
header. #113 - Increased length of header value in HTTP requests to 16384 to support long tokens for SAML.
Changed
- HTTPS certificates may now be passed using absolute paths. (Previously, the locations of the HTTPS certificates were limited to the OTP-applications'
priv
directoriesrig_api/priv/cert
andrig_inbound_gateway/priv/cert
.) Additionally, for security reasons we no longer include the self-signed certificate with the docker image. Please adapt your environment configuration accordingly. #151 #182 - Validation errors for SSE & WS connections and the subscriptions endpoint should now be a lot more helpful. Invalid JWTs, as well as invalid subscriptions, cause the endpoints to respond with an error immediately. #54 #164
Fixed
- [Proxy] Parsing of JSON files in proxy module -
api.id
was expected to be an atom, but when using files it's a string. - [Kinesis] Support for CloudEvents versions 0.1 and 0.2.
- [Docs] Fixed channels example with latest RIG API changes.
- [Docs] Fixed sse/ws examples to use JWT inferred subscriptions correctly.