Skip to content

2.18

Workflow

Enhanced Jinja Syntax Highlighter and Completer

APIO now includes a new syntax highlighter and completer for Jinja templates.

SFTP Node

The SFTP node can now remove remote files.

Update User Node

The Update User node now includes a new output link to handle the case where the user is not found.

HTTP Call Node

The HTTP call node now includes an option to disable automatic response body parsing.

System-Wide Jinja Macros

APIO now includes an option under System Configuration → Macros to define global Jinja2 macros. Macros are available during any template rendering.

Configurable Purging of Annotated Workflow Instances

APIO now includes an option to disable purging of workflows with comments.

System-Wide Secrets

APIO now includes an option to define secrets as environment variables for use inside workflows.

New Jinja Filters

  • The new sanitize filter protects against malicious HTML input.
  • The new urldecode filter is now available.

Provisioning UI

Trunkgroup User Lookup Policy

ProvUI now includes an option to select the user lookup policy.

Updated Tenant List View

The tenant list in ProvUI now includes the backend name.


Integration

Phone Number Library Update

The phonenumbers library has been updated to match the version used by BWGW.

Unified BroadWorks User Creation

Only one user account is created per user, even when they log in using a BroadWorks alternate ID or short username.

INFO

To clean up all pre-existing duplicated users, connect to the apiocore container and run the following CLI command:

shell
/usr/local/go/cli -cleanremoteusers bwks

You can also pass the -dry-run option to get a list of users that would be deleted from the APIO cache. After cleanup, new accounts are auto-created at the next login.


Operations

Improved DB Schema Migration for Downgrades

Schema migrations are now stored in the database to support automatic rollback when an older version is restored.

Restore Old Configuration from GUI

The GUI now includes the ability to restore an older configuration version. After selecting an older configuration version under Settings → Configuration, click Revert configuration to restore the selected version.

Improved API Rules Test Tool

Under System → Users → Profiles → API Rules, it is now possible to set the method of the test request.

HTTP/2 Support

APIO now supports inbound HTTP/2 connections. To enable it, pass the -http2 command-line option.


User Management

GUI Session Limit

APIO now includes a configuration option to limit users to a single active session.

Reset Password Email Template Improvement

The following new variables are passed to the template:

  • first_name
  • last_name

2FA Enforcement by User Profile

APIO now includes an option to set the 2FA mode at the user profile level.

Improved User List

The users list view now includes a profile column.

Password Expiration Warning

The GUI now shows a warning when the password is about to expire.


Security

Trusted Proxies

APIO now includes an option to explicitly configure the list of proxies to be trusted.

Access Token Configuration

APIO now includes an option to configure the access token duration. The default duration is now 5 minutes.

Extra Authentication Token (Optional)

You can optionally ask APIO to generate a random token written to a local file. All requests to APIO are then accepted only if the X-Apio-Extra-Security-Token header is present with the correct token.

To enable it, pass the -extraAuthTokenPath <path to token file> command-line option.


Patch Versions Release Notes

Release 2.18.0

Pull idFix
574disabled proxying of internal endpoints
571block proxied login requests if access token is already present
581switched to sandboxed environment for Jinja template rendering
586improved obfuscation of requests and contexts
588improved API rules functionality description & logging
592slowed down metrics update
584fixed automatic gateway switchover to backup URL in case of 5xx error
560updated API endpoints to provide number of days lest before user expiry
602added first_name and last_name to password reset email template rendering
565fixed counting of unhealthy gateways
566fixed insertion of backup URL(s) when creating a new gateway
572added profile name in users list
575added option to explicitly configure the network origins for trusted proxies
576added logging of pending log in attempts when second-factor is not provided yet
612adapted logout API endpoint to support POST method
608adapted user expiration calculation
598added option to define global Jinja2 macros available during any template rendering
606added new output link to node Update user to handle case where user is not found
599added support for inbound HTTP2 connections
590fixed spurious error when importing user profile API rules
621disabled logging of Broadworks proxied health requests
617added option to set 2FA mode at user profile level
615added environment variable CORE_RENDERER_TIMEOUT to configure template rendering timeout in seconds
642fixed automatic adding of leading 0 to local phone number in Provisioning UI
626added CLI option to force initial admin password
650added option to node HTTP call to disable response body automatic parsing
629added option to configure access token duration (changed default duration to 5 minutes)
646fixed session handler to prevent retry of HTTP request on login URL in case of authentication failure
699fixed software version passed to RPM packaging tool
668fixed inner body obfuscation
671fixed swapped column headers in ProvUI call recordings table
670fixed missing French translations for table headers in several ProvUI tables
691fixed corruption of configuration data caused by obfuscation
678updated swagger file with logout endpoint
686added warning if command-line includes non-flag arguments
673fixed login attempts being exposed on the local user's own profile page and API response
674added a configuration option to limit users to a single active session
694fixed duplicate user accounts created when logging in with a BroadWorks alternate ID or short username
679enabled line wrap for code editor
684added ability to remove remote files with node sFTP
619fixed workflow graph not displayed when goto node targets a renamed node
622improved user audit page with direct links to the relevant objects
628fixed body missing from requests when debug log is active
630adapted form validation to allow + sign in email addresses
633fixed commenting of instances causing the page to crash
634added option to disable purging of workflows with comments
636added backend name to tenant list in ProvUI
638fixed style when cloning node
651optimized alarm DB queries for performance
665added filter urldecode to Jinja templates
677added missing filters suggestions for code editor
692increased timeout for docker images list command
658fixed passkey on Chrome and Firefox
640fixed switch node to filter out double quotes from output
659fixed some menus not closing automatically after being selected (e.g. system configuration)
662changed response code from 500 to 504 when proxy call times out
666improved user profile API rule test tool to allow selecting HTTP method
597fixed parallel executions of scheduled workflows
593added option to define secrets as environment variables for use inside workflows
661fixed job scheduler page failing when the workflow attached to a scheduling is deleted
675added Jinja template sanitize filter
672updated phonenumbers library to match BWGW version
653fixed service pack assignment in ProvUI
654added option to generate extra token for improved security
681added option to select user lookup policy in ProvUI
696fixed crash when setting task status to error in subworkflows
708fixed memory crash when evaluating Jinja template in some race condition
712added button to sign in with passkey on login form
709removed debug log in ProvUI
703fixed workflow working version being replaced by displayed workflow version when run activity button is clicked
707disabled support for reset password for Broadworks users backed by an external IdP
656improved audit tool with tables to show suspicious Broadworks changed settings
690moved common CSS classes from provisioning style to main one
713fixed reset password link overflow
693switched to ACE code editor
714embedded network debug tools in docker image

Upgrade from 2.17

No special steps are required. Please follow the standard procedure described in the Deployment Guide.

Downgrade to 2.17

  • Stop all APIO Core 2.18 instances.
  • Start the previous version of APIO Core (e.g., 2.17).