RIG v2.0.0 Release Notes

Release Date: 2019-01-16 // over 5 years ago
  • โž• Added

    • ๐Ÿ‘ HTTP/2 and HTTPS support. #34
    • The SSE and WebSocket endpoints now take a "subscriptions" parameter that allows to create (manual) subscriptions (JSON encoded list). This has the same effect as establishing a connection and calling the subscriptions endpoint afterwards.
    • ๐Ÿ“š OpenAPI (Swagger) documentation for RIG's internal API. #116
    • ๐Ÿ‘Œ Support for the CloudEvents v0.2 format. #112
    • [Proxy] In API definitions regular expressions can now be used to define matching request paths. Also, request paths can be rewritten (see api.ex for an example). #88

    ๐Ÿ”„ Changed

    • The SSE and WebSocket endpoints' "token" parameter is renamed to "jwt" (to not confuse it with the connection token).
    • [Proxy] When forwarding requests, RIG related meta data (e.g. correlation ID) in CloudEvents is now put into an object under the top-level key "rig". Note that in terms of the current CloudEvents 0.2 specification this makes "rig" an extension. Also, all RIG related keys have been renamed from snake_case to camelCase.
    • ๐Ÿ”’ [Proxy] Previously API definitions for proxy were turning on security check for endpoints by not_secured: false which is a bit confusing -- changed to more readable form secured: true.
    • ๐Ÿ‘€ [Auth] No longer assumes the "Bearer" token type when no access token type is prepended in the Authorization header. Consequently, a client is expected to explicitly use "Bearer" for sending its JWT authorization token. More more details, see RFC 6749.
    • All events that RIG creates are now in CloudEvents v0.2 format (before: CloudEvents v0.1).
    • [Proxy] When using Kafka or Kinesis as the target, connection related data is added to the event before publishing it to the respective topic/partition. With the introduction of CloudEvents v0.2, RIG now follows the CloudEvent extension syntax with all fields put into a common top-level object called "rig". Additionally, the object's field names have been changed slightly to prevent simple mistakes like case-sensitivity issues. Also, the expected request body fields have been renamed to be more descriptive. To that end, usage information returned as plaintext should help the API user in case of a Bad Request.

    ๐Ÿ›  Fixed

    • ๐Ÿ”ง Extractor configuration reload
    • ๐Ÿ›  [Inbound] Fixed response to CORS related preflight request.