Qorus Integration Engine®  5.0.12_git
Release Notes

Qorus Release Notes History

Latest version: Qorus 5.0.12

Qorus 5.0

Release Overview

This is a major release of Qorus with the following major changes:

  • Kubernetes Cluster Support
    • This version of Qorus officially supports Kubernetes clusters
  • Python Support
    • Python can now be used alongside Qore and Java as a supported language in all interface contexts. This brings all of Python's AI/ML/Machine Vision/Data Science capabilities to Qorus
  • Flow Designer / Finite State Machines
    • Qorus's Flow Designer built in to the IDE enables the creation of complex logic using drag and drop with a mouse rather than coding to reduce the complexity and risk in delivering integration solutions; see Finite State Machines / Flow Designer for more information
  • Data Pipelines
    • Data pipelines allow large volumes of data to be processed in potentially multiple parallel strings; these enterprise-class data pipelines can be built graphically in the IDE using a drag-and-drop approach with a mouse; see Data Pipelines for more information
  • Microsoft Dynamics 365 Data Provider Support

Important Upgrade and Backwards Compatibility Information

  • Function-Based Interface APIs Officially Deprecated
    Workflow, service, and job function-based APIs have been officially deprecated in this release
  • Removed Deprecated System Options
    The following deprecated system options were removed:
    • flush-status
    • tibco-daemon
    • tibco-network
    • tibco-service
    • tibco-timeout
  • Qore Fixes

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3566 High fixed a bug where make-release did not include code files referenced from YAML metadata files
3554 Normal fixed a bug where service file resource template logic containers did not have the entire service API imported
3552 Normal fixed a bug serving resources in UI extention services
3547 Normal added a missing constructor to the QorusSystemRestHelper class in the client
3543 Normal fixed a bug where WebSocket server services did not work in qsvc processes
3528 Normal made write operations in UserApi::updateOutputData() thread atomic
3521 Normal updated qctl to handle qorus.node option errors gracefully
3517 Normal added logic to qorus-master to refuse to start if the server and system schema have mismatches time zone configurations

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.1

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Important Upgrade and Backwards Compatibility Information

  • Java Reverted to Java 11
    Qorus's Java support has been reverted back to OpenJDK 11 on request, as Java 11 is an LTS release; see Java Requirements for more information
  • Qorus Will No Longer Start if the System DB Server Has Invalid Time Zone Settings
    Previously, Qorus would start with a system DB server with incorrect time zone settings, and silent corruption would occurr with dates. As of Qorus 5.0.1, qorus will refuse to start if it detects a DB server with invalid time zone settings. To address such issues, correct the time zone settings on the DB server, or use the timezone option for the DB connection in the qorus.systemdb option.

    This should have been fixed in 5.0 with the fix for issue 3517, however the fix was inadequate, and this version has an improved fix.

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3580 High fixed a bug where the remote client server-side REST API would allow any executable to be called; now the API checks against a whitelist unless the calling user has the REMOTE-EXEC-ALL permission, in which case any executable path can be used
3577 High fixed a bug running non-Qorus programs with the remote client
3576 High fixed a bug autostarting workflows
3575 High fixed an error handling qorus-core aborts in qsvc processes
3572 High fixed an error handling SQLStatement objects in remote qdsp servers that could cause a deadlock
3571 High fixed a bug that could cause a deadlock recovering from service crashes during service setup
3570 Low suppressed a spurious exception message in a race condition deleting services
3517 Normal enhanced the logic in qorus-master that checks for datasource server time zone discrepencies; in such cases an error message will be returned, and the Qorus cluster will refuse to start

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.2

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Release Notes

  • oload has been updated to produce more user-friendly and consistent output
  • Updating a connection will cause all affected mappers to be reset
  • Updating a datasource will also reset the datasource

Bug Fixes in Qorus

Issue ID Severity Description
3594 High fixed a bug in oload loading complex workflows with many asynchronous steps
3593 Critical fixed a bug in workflow execution where a failure to start the workflow would result orders being stored with an invalid session ID and therefore unable to be processed
3591 Low fixed a bug in qctl displaying exception responses from API commands
3590 High fixed a bug where updating a datasource would not cause the datasource to be reset
3585 High fixed a bug where UserApi::getQorusOptionInfo() was broken in remote processes
3584 High fixed a bug where UserApi::callNetworkApi() was broken in remote processes
3583 High fixed a bug where option APIs (UserApi::getOption(), WorkflowApi::getOption(), ServiceApi::getOption(), JobApi::getOption(), and related APIs) were broken in remote processes
3240 High fixed a bug where updating a connection would cause all dependent mappers to become unusable until reloaded manually; now mappers are reset automatically when connections are updated

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.3

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Release Notes

  • Bug fixes in the web UI
  • A new WebSocket-based API has been added to support a better user experience in remote Qorus instances (in particular containerized instances) with Qorus clients to enable real-time output in future Qorus clients

Bug Fixes in Qorus

Issue ID Severity Description
3600 Critical fixed a bug where mapper modules that use deprecated APIs could not be loaded
3599 High Fixed a bug where a workflow with at least one invalid or missing step would cause the REST workflow retrieval API to fail and the UI to crash
3598 Critical Fixed a bug resetting datasources that could lead to a deadlock
3597 Normal Fixed a bug in the oauth2 module where token validation calls were made over an external HTTP request without authentication instead of with internal calls
3596 Normal fixed a bug in the /api/latest/logs REST API response
3595 High fixed a bug in the web UI where complex workflow diagrams were rendered incorrectly
3588 Normal fixed a bug in the web UI where the URL edit control was hidden with long URLs

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.4

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3604 Normal fixed a bug handling qorus-master backwards-compatible starts (i.e. not using qctl) after a crash
3603 Critical fixed a bug handling errors recovering interface processes after a qorus master restart or crash
3602 Cosmetic corrected oload output when loading user connections in verbose mode
3601 Normal fixed a bug handling a race condition in service initialization
3578 Normal fixed a bug handling absolute paths in the WebSocket remote client API
3538 Normal fixed a bug in oload where user interaction metadata was ignored in YAML step data

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.5

Release Overview

This is a bugfix release; see the issues addressed below for more information. Note that Qore adds one new connection type in this release:

Note
Qore added support for ServiceNow REST communication and an associated DataProvider interface (see also ServiceNow REST User Connections)

Bug Fixes in Qorus

Issue ID Severity Description
3612 Normal fixed a bug in the YAML schema for workflow errors
3610 Normal fixed a bug where file handline with the ServiceFileHandler class was broken in remote services
3609 High fixed a bug where oload would fail to load YAML connection files with options
3607 High fixed a bug where an unhandled exception shutting down qorus-core caused a deadlock
3606 Low improved handling when a program crashes and there are no more socket descriptors available
3602 Low fixed a cosmetic bug in oload when oloading connections

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.6

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3625 Normal fixed a bug where DataProvider factories were not created correctly for mappers and data pipelines
3623 Normal fixed a bug where processor definitions were not stored correctly in the metadata cache and therefore were unusable
3622 Normal fixed a bug where it was not possible to access Qorus APIs from external web sites due to the lack of CORS headers in HTTP resposes; the following system options were implemented to enable this:
- qorus.cors-enable
- qorus.cors-allow-credentials
- qorus.cors-allow-headers
- qorus.cors-allow-methods
- qorus.cors-allow-origin
- qorus.cors-max-age
3621 Normal fixed a bug where it was not possible to search interface objects by tag using the REST API
3620 High fixed a race condition that could cause a deadlock when remote workflows are reset and disabled at the same time
3619 Normal fixed a bug where it was not possible to use the weak assignment operator (:=) in Qorus interfaces
3618 Normal fixed a bug where Qorus UI extensions do not support overriding the URL in ServiceApi::uiExtensionRegister()
3617 Normal fixed a bug where Qorus remote connections handled timeout options incorrectly and inconsistently leading to excessively long timeouts in some cases
3616 Normal fixed a bug where it was not possible to implement a raw socket handler from a generic HTTP handler
3614 High fixed a bug in the web UI where a UI crash would result when trying to edit the value of a configuration item of type *list or *string
3588 Normal fixed a bug in the web UI where the connection edit control was cut off with long URLs

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.7

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3639 Normal fixed a bug where old-style jobs with the duration attribute were not supported properly
3637 Normal fixed a bug where starting Qorus with qctl while Qorus was already running resulted in a confusing error
3636 Normal fixed a bug in handling UI user preferences for users authenticated with external authentication modules such as LDAP or OAuth2
3630 Normal fixed a bug where make-release did not handle service resources in YAML metadata files correctly

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.8

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3649 High fixed a type error in finite state machine flow execution handling with local data that could cause spurious exceptions to be raised causing flow execution to fail
3645 Normal fixed a bug handling mappers using data provider factories for input or output
3644 Normal fixed a race condition where qdsp processes could fail to track SQL statements and transactions in rare circumstances
3643 Normal fixed a bug where a deadlock could result when a qsvc process crashed that served HTTP or other similar network requests and an external request arrives while the service is being recovered
3640 Normal fixed a bug where schema-tool did not handle the qorus.node option correctly in all cases

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.9

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3651 Normal fixed a bug executing tests with server side remote deployment APIs where incorrect test results could be delivered to the caller
3651 Normal fixed a bug where OPTIONS requests were not handled with REST API paths when qorus.cors-enable was enabled

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.10

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3663 High fixed a bug where zombie qwf processes were left in the process table in some situations when qorus-master failed to reap terminated detached processes
3662 High fixed a bug where Qorus would fail to initialize if the HTTPS certificate and private key options were set directly in the qorus.http-secure-server option
3660 High fixed a bug where Qorus would fail to start with qorus.node option errors under Docker and Podman in some cases
3659 High fixed a race condition executing tests with the remote development REST API
3658 High fixed a bug where valid services without a description could not be loaded in Qorus
3657 High fixed bugs in mapper execution and handling when used in Data Pipelines and Finite State Machines / Flow Designer
3656 High fixed bugs in metadata cache handling regarding mappers used in Data Pipelines and Finite State Machines / Flow Designer
3655 Normal fixed a bug in oload loading new Qorus Mappers with Data Pipelines and Finite State Machines / Flow Designer
3650 Normal fixed a bug where startup errors related to temporary remote file directory ownership were not reported and Qorus would appear to deadlock on start

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 5.0.11

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3774 High fixed a bug where updating a job instance's status at runtime could fail on Oracle with an ORA-00060 error due to missing indices on foreign constraints on the JOBS table causing excessive runtime locking
3736 High fixed a bug where the REST API call to replace dynamic data would replace static data
3670 High fixed a bug where user storage was not initialized properly from users provided by external RBAC providers
3668 High fixed a deadlock in workflow handling related to a race condition handling workflow stop actions and qwf process aborts
3667 Normal fixed a race condition handling qwf terminations during initialization that could cause a deadlock shutting down qorus

See Bug Fixes in Qore

Qorus 5.0.12

Release Overview

This is a bugfix release; see the issues addressed below for more information.

Bug Fixes in Qorus

Issue ID Severity Description
3818 Normal fixed bugs with REST API handling and data serialization of floating-point values when Qorus is started with a locale that uses , as the decimal point separator

See xml Module Version 1.5.1.1