Qorus Integration Engine  3.0.4.p7
Qorus 2.7 Series

back to Release Notes

Qorus 2.7.0.p6

Issues Fixed

Bug ID Severity Description Change
557 NORMAL error raised in asynchronous workflow's attach function causes a database constraint violation in the system schema fixed in Qorus
556 CRITICAL the new streaming LOB write APIs introduced in 2.7.0.p5 are sometimes including the trailing NULL in CLOB data, and sometimes not fixed in the oracle driver

Qorus 2.7.0.p5

Issues Fixed

Bug ID Severity Description Change
555 MAJOR a race condition in qore library static destruction can cause a crash when a background thread calls exit() fixed in the qore library
554 CRITICAL *LOB values cannot be stored in an Oracle DB when the client is SPARC Solaris and the *LOB value is very large (32MB or larger approximately) fixed in the Oracle driver
553 MAJOR an error setting the Program context when merging user module code to a Program object can cause a crash if the user module code has parse errors fixed in the qore library
552 MAJOR the internal buffer size for the File class is too small for reading files efficiently fixed in the qore library
551 MAJOR there is a dynamic memory leak in Program destruction if the Program contains constants that contain call references fixed in the qore library
550 MINOR a race condition managing startup and shutdown can cause either 1 and 2 spurious exceptions to be thrown if the system is shutdown while starting up fixed in Qorus

Qorus 2.7.0.p4

Issues Fixed

Bug ID Severity Description Change
549 MAJOR the qore library is not rounding arbitrary-precision numeric values correctly for display when the last significant digit is just to the right of the decimal point fixed in the qore library
548 CRITICAL the oracle driver is not returning number values correctly in some cases fixed in the oracle module
547 MAJOR when using an expression with an operator that has side effects as the direct argument of the background operator with local variable arguments, a crash results fixed in the qore library
546 NORMAL autostarting services happens in one single thread, so a service that is autostarted and takes a long time to start will block other services from starting fixed in Qorus
545 CRITICAL a system deadlock can happen if a service returns objects and then the service is reset while an object returned by the service attempts to make service calls fixed in Qorus
544 MAJOR trying to delete or reset a service from within a service results in a deadlock fixed in Qorus

Qorus 2.7.0.p3

Release Overview

Qorus 2.7.0.p3 is a bugfix release to 2.7.0.p2 and includes new features to make programming easier and to make interface development easier.

New Features

  • Qore Updated to 0.8.6 Final
    This includes the new intuitive "%perl-bool-eval" default boolean evaluation mode and many iterator improvements, including the new CsvUtil module implementing the CsvUtil::CsvFileIterator class.
  • New System Options
    The following new options were developed to allow Qorus to run in a mode that turns off new features for backwards-compatibility:

Issues Fixed

Issues Fixed

Bug ID Severity Description Change
543 MAJOR the qore library can crash when destroying a Program object due to a race condition in removing signal handlers managed by the Program object fixed in the qore library
542 NORMAL qore does not catch errors when namespaces are declared both public and not public in user modules which can result in entire namespaces being silently not exported from user modules fixed in the qore library
541 NORMAL if an init() closure is defined in a user module then the module cannot be loaded due to a bug in the module loading code fixed in the qore library
540 CRITICAL an error in managing private namespace pointers in function entries when merging function lists in namespaces at parse time can cause a crash fixed in the qore library
539 MINOR calling getWorkflowInstanceData() with the "starttime" key does not work fixed in Qorus
538 NORMAL failure to clear the top-level flag when initializing statements can cause a crash with out-of-order parse initialization and top-level statements fixed in the qore library
537 MINOR client library APIs QorusClientAPI::createWorkflowInstanceID() and QorusClientAPI::createWorkflowInstanceName() do not work fixed in Qorus

Qorus 2.7.0.p2

Release Overview

Qorus 2.7.0.p2 is a bugfix release to 2.7.0.p1.

New Features

  • Qore Arbitrary-Precision Number Type The qore library now implements the "number" data type for arbitrary-precision numeric support. The MPFR and GMP libraries provide the underlying implementation.
  • Qore DBI Subsystem and Drivers Updated Qore's DBI driver layer was updated to support driver options, and tThe "oracle", "pgsql", and "mysql" drivers were updated to support Qore's new "number" type for retrieving NUMBER (ie NUMERIC, DECIMAL) data instead of strings, or an integer if possible (if the NUMBER value fits in an integer, then it is retrieved as an integer). These drivers also support the following options to control how numbers are retrieved:
  • "string-numbers": can be set for backwards-compatibility
  • "optimial-numbers": the new default: return numbers as integers or "number" values
  • "numeric-numbers": always return NUMBER values as arbitrary-precision numeric values
  • Job Repeat/Skip Specifications
    A skip/repeat specification can now be appended with an asterisk (*) or a range in the format "/number", which means that the job should run every number units (ie minutes, hours, days, etc) in the range.
    See Job Cron Schedule for more information

Issues Fixed

Bug ID Severity Description Change
536 NORMAL the qore library does not handle nested %ifdef and/or %ifndef directives with internal %else statements properly fixed in the qore library
535 NORMAL qore's "split" function and pseudo-method when used with a quote string does not return a value when the separator string is not found and the single field is also not quoted fixed in the qore library
534 NORMAL the Qore library does not always handle SSL socket I/O correctly with non-blocking operations when an SSL renegotiation is required fixed in the qore library
533 MAJOR the Qore library does not support non-blocking-I/O and timeouts on send operations fixed in the qore library
532 CRITICAL the Qore library does not handle read timeouts with non-blocking-I/O on sockets correctly fixed in the qore library
531 NORMAL an error in a regular expression in the HttpServer::addListeners() method causes the omq.system.start-listeners() method to fail fixed in the HttpServer user module
530 MINOR ojview -f does not work with a job name argument fixed in ojview
529 NORMAL the jobs.minute field is only 80 bytes wide and schedule fields do not take x/y format values, so a job scheduled every 2 minutes cannot be configured fixed in Qorus
528 MINOR the error message when trying to acquire (ie start working on) a workflow order is incorrect in some cases if the workflow is cached (ex: status is incorrect) fixed in Qorus
527 MINOR there are bugs calculating the byte offset for string searches in the index() and rindex() functions when the offset is negative and the strings have a multi-byte character encoding (such as UTF-8) fixed in the qore library
526 MAJOR key-based connections with the ssh2 module fail silently if the private key or public key file is not readable fixed in the ssh2 module
525 NORMAL calling an abstract method from the class where the abstract method is implemented will cause a parse error, however it should not fixed in the qore library
524 NORMAL Qorus becomes unresponsive when the thread table is full fixed in the HttpServer user module
523 MAJOR the number of concurrent threads a service can spawn is not limited and a Qorus service can therefore fill up the thread table if it spawns too many threads that do not terminate fixed in Qorus; added the max-service-threads option

Qorus 2.7.0.p1

Issues Fixed

Bug ID Severity Description Change
522 CRITICAL a race condition handling reference counting/atomicity bug with global variables can cause a crash fixed in the qore library
521 CRITICAL errors in transaction handling with system auditing can cause a deadlock with a very busy/loaded system fixed in Qorus
520 MINOR schema-tool ignores the "enabled" property when updating RBAC access groups although it reports that the operation was executed fixed in schema-tool
519 MINOR the setOrderKeys() workflow API function does not give an understandable error message when a key value is not convertible to a string fixed in Qorus
518 MINOR calling SQLStatement::fetchRow() before calling SQLStatement::next() results in invalid data being returned from the oracle driver fixed in the qore library
517 MINOR the MailMessage module is encoding mail headers that do not need encoding and is not encoding mail headers that do need encoding fixed in the MailMessage user module
516 MINOR the MailMessage module is encoding "_" characters incorrectly in mail headers; email addresses cannot be displayed properly in messages sent from the SmtpClient module fixed in the MailMessage user module
515 MINOR system service method omqmap.dumpMap does not work with the "systemserviceids" and "userserviceids" maps fixed in the system.omqmap service
514 NORMAL get_call_context() is not returning call information when called externally fixed in Qorus
513 CRITICAL the SQLStatement class deallocates the a connection after execution when created with a DatasourcePool object and the associated commit then does not commit the transaction on the correct Datasource fixed in the qore library
512 MAJOR an exception in deleting instance data causes a deadlock in Qorus fixed in Qorus

Qorus 2.7.0

Release Overview

Qorus 2.7.0 is a minor release over the Qorus 2.6.3 branch, however bringing major new features to the Qorus platform. It is based on the Qore 0.8.5 library, which contains major new features over previous versions of Qore as well.

New Features

System Schema Data Model 2.7.0 Changes

  • New Tables
    • USER_STORAGE
    • WORKFLOW_FEEDBACK

Issues Fixed

Bug ID Severity Description Change
511 NORMAL deleteDynamicDataKey() does not work when a list is passed fixed in Qorus
510 CRITICAL excessive serialization on certain workflow order actions within a workflow type leads to lack of scalability when multiple execution instances are started of the same type fixed in Qorus
509 NORMAL the modified date is set incorrectly in the archive schema due to an error in triggers on oracle only fixed in Qorus
508 MAJOR workflow orders with event steps cannot be archived properly fixed in the system.arch service
507 CRITICAL the qore library does not always differentiate between a pointer to NOTHING and a valid type pointer with "or nothing" types (ie *hash, *list, etc) which can result in a crash fixed in the qore library
506 NORMAL a step's COMPLETED timestamp is not set with the real date/time that the step is completed fixed in Qorus
505 MAJOR the Oracle PL/SQL API was missing in the schema file for the 2.6.3.p42 release fixed in Qorus
504 NORMAL omq.system.get-workflow-options() does not work when additional arguments are passed giving the option names fixed in Qorus
503 TRIVIAL omq.system.set-workflow-option() does not delete options when an option value is set to NOTHING, making it more difficult for programs using the API to see when an option is set or not fixed in Qorus
502 TRIVIAL when a workflow order creation action fails, the arguments are not logged fixed in Qorus
501 NORMAL an error handling thread-local variables with global scope means that only the first such variable can be used outside the top-level block fixed in the qore library
500 MAJOR too-aggressive parse-time variant matching regarding the "object" type can cause runtime errors fixed in the qore library
See also
Qorus 2.6 Series