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)
- HMAC:
- 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 ofsirveo
, 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
toSIRVEO_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
)