Skip to content

0.0.12-alpha ✔️

Build time: 2024-02-18T22:21:52+02:00
Commit Ref: 7788838
Docker tag: sirveo/sirveo-alpha:0.0.12-alpha

Summary

This release adds JWT signing and verification features to flows.

Breaking Changes

None.

Features

  • ⚡💠 new JWT Create node

    • Create signed JWTs with arbitrary claims
    • Supports unsigned JWTs (useful for testing)
    • Supports HMAC signing: HS256, HS384, HS512 with secret
    • Supports ECDSA signing: ES256, ES384, ES512 with PEM-encoded private keys
    • Easily configure registered claims (iss, sub, aud, exp, nbf, jti)
    • Option to auto-add a iat claim with current timestamp
    • Configure additional claims via JSON
    • Configure any claims from node input
    • Option to output header details
    • Option to output claims
    • Outputs encoded JWT in an jwt field
  • ⚡💠 new JWT Parse node

    • Parse an encoded JWT from a given property in node input data
    • Parse-and-verify mode for signature validation with 13 algorithms:
      • HMAC: HS256, HS384, HS512
      • ECDSA: ES256, ES384, ES512
      • RSA: RS256, RS384, RS512
      • RSA-PSS: PS256, PS384, PS512
      • Ed25519: EdDSA
      • Verification uses PEM-encoded public keys (or HMAC secrets)
    • Parse-only mode for skipping signature verification
    • Outputs claims, JWT headers and details about verification

Enhancements

  • 🔼 ui: server variables supports and displays multi-line input values
  • 🔼 ui: the flow editor’s run button renamed to “run output”, to clarify its behaviour
  • 🔼 server: when the admin and inbound HTTP servers encounters critical errors, they cause a graceful server shutdown, instead of an immediate exit
  • 🔼 cli: the $sirveo version command has more detailed output
  • 🔼 cli: the binary supports the conventional $sirveo --version flag
  • 🔼 ui: a new server view displays non-sensitive configuration and version details
  • 🔼 ui: the header bar displays a more concise build version, build mode, and navigates to the new server view

HTTP Node Enhancements

  • 💠⚙️ http node: no longer includes a X-Sirveo-ReqId header with a UUID value in requests
  • 💠⚡ http node: the default User-Agent header, which has a value of sirveo, can be overridden by custom headers
  • 💠⚡ http node: request timeout is now configurable in milliseconds, between 1 and 20 seconds. Defaults to previous behaviour of 10 seconds
  • 💠🔼 http node: more concise error messages for timeouts ("request timed out") and DNS resolution failures ("no such host")

API Changes

  • ⚡⚙️ GET /api/server/info includes more non-sensitive configuration, version and build details

Server Licensing

  • ⚙️ config: rename environment variable SIRVEO_LICENSE_KEY to SIRVEO_LICENSE
  • ⚙️ server: license validation is completely implemented
  • ⚙️ server: new system event license.valid (triggered on license validation state change)
  • ⚙️ server: new system event license.invalid (triggered on license validation state change)
  • ⚙️ server: licensed builds without a valid license runs in restricted mode, which disables the ability to execute flows
  • ⚙️ ui: when the server is in restricted mode, notices are shown on the dashboard, flow list, server view and the header bar
  • ⚙️ ui: licensed builds show license status in the header bar
  • ⚙️ ui: licensed builds displays license details (if configured) on the server details view
  • 🔼 cli: the $sirveo check-license command has improved output, and can read licenses from file, CLI option or environment (SIRVEO_LICENSE)