Version 2.0.1 is the first major release after Version 1.5.x. It introduces a broader radixAPI user and operations experience, including token-based login with refresh-token support, an expanded backend UI, license-aware workflow handling, configurable per-node processing limits, and new workflow/PDF capabilities for marketing endpoints and pdfToolbox-based processing.
The release also includes supporting platform work for logging, database cleanup, PostgreSQL performance, and Dockerization.
AuditLogs table to only what is required by the UI.debug=true now produce debug-level logging even when the default logger level is lower.io nodes using form://file input resources.radix://, and customId:// resources in workflow and marketing endpoint payloads.2, unless a node/module-specific value is configured.RADIX_CRON_CLEANDATABASE_AFTERDAYS.RADIX_CRON_CLEANDATABASE_TIMEFRAME; it remains supported for backward compatibility.RADIX_CRON_CLEANWORKFLOWS_SOFTDELETE=true|false to control whether expired workflows are soft-deleted or deleted immediately.VACUUM ANALYZE after database cleanup to help PostgreSQL reclaim space and keep query planning efficient.jtsName column.No data available when the historical logs are no longer available through the previous database-backed path.RADIX_CRON_CLEANDATABASE_TIMEFRAME is deprecated. Use RADIX_CRON_CLEANDATABASE_AFTERDAYS for new deployments.RADIX_CRON_CLEANWORKFLOWS_SOFTDELETE defaults to true.These are regular .env or compose environment values.
New runtime environment variables since Version 1.5.x:
| Variable | Default | Description |
|---|---|---|
RADIX_CRON_CLEANWORKFLOWS_SOFTDELETE |
true |
Keeps the existing behavior by default: expired workflows are soft-deleted first. Set to false to delete expired workflows immediately. |
RADIX_CRON_LICENSE_EXPIRE_NOTIFICATION_PATTERN |
0 8 * * * |
Cron pattern for license-expiry notification checks. |
RADIX_CRON_DISKSPACE_NOTIFICATION_PATTERN |
0 * * * * |
Cron pattern for disk-space notification checks. |
RADIX_CRON_CLEANDATABASE_PATTERN |
0 2 * * * |
Cron pattern for permanent cleanup of old soft-deleted database records. |
RADIX_CRON_CLEANDATABASE_AFTERDAYS |
30 |
Days after soft-delete before workflows are permanently purged. |
RADIX_THROTTLE_LIMIT_GLOBAL |
10 |
Global API request limit for throttling. |
RADIX_THROTTLE_TTL_GLOBAL |
1000 |
Global throttling TTL in milliseconds. |
RADIX_THROTTLE_LIMIT_WORKFLOW |
3 |
Workflow endpoint request limit for throttling. |
RADIX_THROTTLE_TTL_WORKFLOW |
1000 |
Workflow endpoint throttling TTL in milliseconds. |
RADIX_THROTTLE_LIMIT_MARKETING |
3 |
Marketing endpoint request limit for throttling. |
RADIX_THROTTLE_TTL_MARKETING |
1000 |
Marketing endpoint throttling TTL in milliseconds. |
RADIX_OPENSEARCH_NODE_URL |
https://localhost:9200 |
OpenSearch node URL used when OpenSearch logging is enabled. |
RADIX_OPENSEARCH_USERNAME |
admin |
OpenSearch username. |
RADIX_OPENSEARCH_PASSWORD |
empty | OpenSearch password. |
RADIX_OPENSEARCH_CA_CERT_PATH |
empty | Optional path to the OpenSearch CA certificate. |
RADIX_LOG_DRIVER |
database |
Selects the log backend. Supported deployment values include database and opensearch. |
Deprecated runtime environment variable:
| Variable | Default | Description |
|---|---|---|
RADIX_CRON_CLEANDATABASE_TIMEFRAME |
none | Deprecated fallback. Used only when RADIX_CRON_CLEANDATABASE_AFTERDAYS is not set. |
Copy-paste defaults for compose files:
environment:
RADIX_CRON_CLEANDATABASE_AFTERDAYS: "30"
RADIX_CRON_CLEANWORKFLOWS_SOFTDELETE: "true"
RADIX_CRON_LICENSE_EXPIRE_NOTIFICATION_PATTERN: "0 8 * * *"
RADIX_CRON_DISKSPACE_NOTIFICATION_PATTERN: "0 * * * *"
RADIX_CRON_CLEANDATABASE_PATTERN: "0 2 * * *"
RADIX_THROTTLE_LIMIT_GLOBAL: "10"
RADIX_THROTTLE_TTL_GLOBAL: "1000"
RADIX_THROTTLE_LIMIT_WORKFLOW: "3"
RADIX_THROTTLE_TTL_WORKFLOW: "1000"
RADIX_THROTTLE_LIMIT_MARKETING: "3"
RADIX_THROTTLE_TTL_MARKETING: "1000"
RADIX_OPENSEARCH_NODE_URL: "https://localhost:9200"
RADIX_OPENSEARCH_USERNAME: "admin"
RADIX_OPENSEARCH_PASSWORD: ""
RADIX_OPENSEARCH_CA_CERT_PATH: ""
RADIX_LOG_DRIVER: "database"
Copy-paste defaults for .env files:
RADIX_CRON_CLEANDATABASE_AFTERDAYS=30
RADIX_CRON_CLEANWORKFLOWS_SOFTDELETE=true
RADIX_CRON_LICENSE_EXPIRE_NOTIFICATION_PATTERN="0 8 * * *"
RADIX_CRON_DISKSPACE_NOTIFICATION_PATTERN="0 * * * *"
RADIX_CRON_CLEANDATABASE_PATTERN="0 2 * * *"
RADIX_THROTTLE_LIMIT_GLOBAL=10
RADIX_THROTTLE_TTL_GLOBAL=1000
RADIX_THROTTLE_LIMIT_WORKFLOW=3
RADIX_THROTTLE_TTL_WORKFLOW=1000
RADIX_THROTTLE_LIMIT_MARKETING=3
RADIX_THROTTLE_TTL_MARKETING=1000
RADIX_OPENSEARCH_NODE_URL=https://localhost:9200
RADIX_OPENSEARCH_USERNAME=admin
RADIX_OPENSEARCH_PASSWORD=
RADIX_OPENSEARCH_CA_CERT_PATH=
RADIX_LOG_DRIVER=database
These are stored in the application database table EnvironmentVariables, not in the runtime .env file.
| Service | Key | Default | Description |
|---|---|---|---|
concurrency |
<node/module name> |
2 |
Maximum number of parallel processes for the configured node/module. |
Example:
EnvironmentVariables:
- service: "concurrency"
key: "pdftoolbox-generic"
value: "2"