Qorus Integration Engine®
4.0.3.p2_git
|
back to Release Notes
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
3313 | Critical | fixed a bug where Table objects with out of date datasource pools could be placed in the table cache causing difficult to debug data corruption |
Issue ID | Description |
3571 | fixed a critical error in thread resource handling where user thread resource handlers were not run in all cases which could lead to inconsistent behavior and data corruption |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
3033 | Major | binding a subworkflow with sensitive data results in the sensitive data being lost |
3032 | Major | sensitive data is temporarily lost resulting in errors processing workflow orders when sensitive data is provided with a new workflow order through the REST API |
2618 | Normal | fixed a bug in oload where library objects for services and jobs were not supported on multiple source lines |
2580 | Normal | do not throw an exception on PostgreSQL when info.searchWorkflowInstances() is called with an integer value for the keyvalue search key |
2578 | Normal | fixed a bug in oload where qmapper was not recognized as a valid file extension in some cases |
2571 | Normal | fixed a bug in oload where an authentication error in a reset command would not cause an error code to be returned |
2530 | Normal | fixed a bug in the UI where the expand and collapse all buttons would only work on the initial top-level nodes |
2528 | Normal | fixed a bug in the UI rendering workflow diagrams with parallel initial steps |
Issue ID | Description |
3367 | WSDL module: fixed an internal error that caused an exception to be thrown with valid SOAP messages |
3354 | fixed a crashing bug with invalid arguments in replace() |
3321 | fixed a bug setting connection options in REST connections that caused default timeouts to be ignored |
3243 | fixed a bug handling invalid datasource options |
3225 | WebSocketHandler module: fixed a bug handling client errors |
3225 | WebSocketClient module: added missing exception handling that could cause client errors |
3206 | fixed a memory error in internal list handling that could lead to a crash in some cases |
3194 | xml module: fixed a XML namespace handling bug |
3192 | fixed a bug in Dir where an exception was thrown with a symlink with a non-existant target |
3116 | fixed a bug where the HTTP server could return an invalid response to a HEAD request when a server error occurred |
3111 | fixed a crashing bug using Qore::TransformInputStream with an encryption algorithm |
3108 | fixed a crashing bug in the hash map operator where multiple keys in the hash would cause a crash |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2534 | Normal | fixed a bug in omq.system.get-global-errors() that would cause the internal global error cache to be corrupted after the first call |
2527 | Normal | fixed bugs handling key arguments in wf_get_sensitive_data() and wf_get_sensitive_data_from_alias() |
2495 | High | fixed a bug where the loosely-coupled parent workflow instance ID was not available in child orders in wf_parent_wfiid() |
2489 | High | fixed a bug in workflow feedback when using PostgreSQL as the system schema |
2469 | Low | fixed a bug when workflow synchronization events are not queued when Qorus uses Oracle as a system DB (omq) |
2416 | High | fixed a bug in REST API PUT /api/latest/orders/{id}?action=setError where no old_status and priority atributes were returned |
2400 | High | fixed a bug in retrieving workflow step information when there are large lists of dependent subworkflow orders |
2394 | High | fixed a bug in update triggers in the system schema on PostgreSQL DBs |
2379 | High | stopped sending the HTTP basic authentication header for authentication errors which caused spurious login windows to appear on Chrome and other browsers with the system UI |
Issue ID | Description |
3061 | fixed a bug where CRLF was translated to LF on Windows with stdin, stdout, stderr, stdin_stream, stdout_stream, and stderr_stream |
3053 | fixed a bug handling encrypted socket connections with TLS with servers that require SNI |
3038 | fixed a deadlock sending an empty file with FtpClient |
3032 | fixed a timeout bug handling InputStream arguments to FtpClient::put() |
3031 | fixed a possible deadlock in FTP PORT handling if no data connection is received from the server |
3029 | WSDL: fixed a namespace handling bug in some WSDLs |
3027 | fixed a bug that could result in a crash with recursive constant and function declarations |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Description |
2982 | pgsql: fixed a bug retrieving DATE values after the year 2038 |
2982 | fixed a memory leak in binary value handling; affected SFTPClient::transferFile() |
2963 | PgsqlSqlUtil: fixed a bug where schema alignment would fail when there were functions to be dropped |
2953 | fixed a bug where an unknown Content-Encoding header value received by HTTPClient would cause a crash |
2950 | jni: fixed handlng of callbacks from Java threads with invalid / destroyed Program logic containers that would result in a crash |
2928 | fixed an error in runtime variant matching that could lead to spurious errors |
2906 | fixed a race condition that could lead to a crash in the ThreadPool class |
2880 | WSDL: fixed handling of multi refs in SOAP messages |
2900 | WSDL: fixed support for complex types as part types |
2899 | WSDL: improved handling of SOAP / XSD array types |
2880 | ConnectionProvider: fixed a bug where objects where connected in the connection lock which caused performance issues where a single connection could block many operations in Qorus |
This is a bugfix release that greatly increases compatibility with SAP SOAP interfaces and improves the reliability of the system UI with long-running connections; for details, see the issues addressed below.
Issue ID | Severity | Description |
2309 | Normal | fixed a bug in the schema-tool for user defined tablespaces - not to take always a default ones |
2301 | Normal | fixed a bug where mappers with invalid field mappings caused runtime errors when accessing the mapper through the REST API |
2299 | Normal | fixed a confusing error message when duplicate workflow order keys were given in wf_append_order_keys() |
Issue ID | Description |
2894 | Swagger module: fixed a bug where the response body was not checked if the response message was not defined in the schema |
2893 | Swagger module: fixed a bug where the text/plain Content-Type was not used for simple string responses |
2889 | fixed a potential deadlock in Qore code that could cause the Qorus process to freeze |
2887 | WebSocketHandler module: fixed a bug where missing heartbeat functionality caused long-running connections to fail when no events were present on the socket |
2877 | fixed a bug where <hash>::values() and hash_values() would not return a typed list for typed hashes |
2874 | SoapHandler module: fixed a bug where the SoapHandler class would not report request HTTP headers correctly in the log callback |
2872 | SoapClient module: fixed documentation for SoapClient::call() methods |
2871 | SoapHandler module: fixed a bug where the SoapHandler class would throw an invalid error with duplicate soapAction values due to a bug |
2869 | fixed a type error in the += operator with complex types |
2859 | WSDL module: fixed support for the token and normalizedString base XSD types |
2857 | WSDL module: fixed WSDLLib::getWSDL() when called with an XML string without an XML preamble |
2856 | WSDL module: fixed a bug handling XML attributes names with non-word characters |
2855 | WSDL module: fixed a bug handling union declarations in simpleType definitions |
2840 | fixed a memory leak in TreeMap::put() |
2835 | fixed a crashing bug in Socket::accept() handling |
2834 | fixed a bug where module load errors did not always show the module with the error |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2285 | Normal | fixed a bug in the system.info service where refreshing DB snapshot got in an infinite loop |
2284 | Normal | fixed a bug in the system.info service where info.getWorkflowOverviewIntern() reported incorrect counts of orders in some corner cases |
2282 | Normal | fixed a regression where workflows with library functions also declared as step function could not be loaded |
2280 | Normal | fixed a performance bug with large numbers of internal events that caused very slow workflow performance |
2273 | Normal | do not try to delete sensitive data for orders when no sensitive data exists |
Issue ID | Description |
2817 | fixed a deadlock with the Condition class when used with a RWLock object when the read lock was recursively acquired |
2816 | RestSchemaValidator, RestHandler: fixed bugs where it was not possible to implement REST services that accepted raw binary data in message bodies |
2807 | fixed a bug where modules with global variables could not be imported if the importing Program had PO_NO_GLOBAL_VARS set |
2806 | CsvUtil module: fixed a bug where it was not possible to set the number format |
2805 | HttpServer module: fixed a bug where the HttpServer class would not accept HTTP methods other than the basic ones |
2804 | WSDL module: fixed bugs in the generation of server-side SOAP fault responses |
2784 | fixed a bug in soaputil where external XSDs were not automatically imported when parsing the WSDL |
2783 | WSDL module: fixed bugs handling URI paths that made it impossible to bind multiple SOAP services with overlapping operation and SOAPAction names even if the URI paths were distinct |
2782 | WSDL module: fixed a bug in example message generation that affected soaputil |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2274 | Normal | fixed an internal bug where the path given in the SOAP binding was not used to bind the handler with svc_register_soap_handler(); added the uri_path option to this function |
2271 | Normal | implemented the qorus.compat-wsdl-allow-any-header option for SOAP functionality to allow SOAP headers to be sent even when the WSDL does not allow for it for backwards compatibility with Qorus 3.0 |
2270 | Normal | fixed handling of the api_version option and automatic API fallback for remote Qorus connections to older Qorus instances |
2268 | Normal | implemented the ignore_socket_warnings option for remote connections so that socket I/O warnings on slow connections will not cause transient alerts to be raised |
2267 | Normal | fixed a regression in WebUtil-based template handling in Qorus services introduced in 3.1.1.p3 |
2266 | Normal | implemented the qorus.compat-wsdl-empty-string-is-nothing option for SOAP server services to force the WSDL module to return a blank value for a required string field when the associated XML element is present as no value instead of an empty string for backwards compatibility with Qorus 3.0 |
2264 | Normal | fixed a bug where the Qorus client library could not be used by users other than the application user due to encryption keys not being readable |
2263 | Normal | implemented the qorus.compat-csvutil-force-empty-string option to force CsvUtil parsers to return an empty string instead of no value with missing string fields for backwards compatibility with Qorus 3.0 |
2262 | Normal | fixed bugs with get_connections() and get_connection_hash() |
Issue ID | Description |
2775 | TableMapper module: fixed a bug where the RawSqlStatementOutboundMapper class could not be used directly without subclassing and declaring internal options |
2773 | fixed a performance problem with outbound table mappers where mappers would execute the full query when initializing the mapper |
2767 | fixed a bug in Qore where complex types declared with subtype auto were being subjected to complex type stripping which caused a performance problem with large data structures |
2766 | xml module: fixed a performance issue in the WSDL module where some large SOAP messages were processed very slowly due to unnecessary internal complex type stripping |
2765 | xml module: updated the WSDL module with a compatibility option to allow any SOAP header to be sent |
2760 | Mime module": fixed a bug in @ref Mime::mime_parse_form_urlencoded_string() "mime_parse_form_urlencoded_string()" with missing key values |
2754 | xml module: implemented a compatibility option for the WSDL module to allow empty strings to be returned as NOTHING in certain cases for backwards compatibility with early versions of Qore |
2752 | xml module: fixed a bug in soaputil that caused an error when generating example SOAP messages |
2746 | implemented a global option in CsvUtil to return an empty string instead of NOTHING for missing input fields for backwards compatibility with early versions of Qore |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2261 | Normal | fixed a bug in oload where deprecated warnings were being issued even if the qorus-client.warn-deprecated-api option was disabled |
2258 | Normal | addressed an issue formatting source labels to enable easier source location when debugging |
2257 | Normal | addressed an issue where Qorus would not install on older Oracle versions |
2238 | Normal | fixed a bug in the web UI that made it impossible to edit workflow order data |
2237 | Normal | fixed a bug where service resources could not be generated with predictable names resulting in unpredictable URI paths for UI resources |
2235 | Normal | fixed a bug handling interfaces that are added or removed from disabled groups |
2234 | Normal | fixed a bug in swagger2service with certain Swagger schemas |
2233 | Normal | fixed a bug where Qorus Web UI did not cache large JavaScript and CSS resources which led to long loading times |
2231 | Normal | fixed a bug where inconsistent internal locking in the metadata cache could lead to cache corruption and system instability |
2228 | Normal | fixed a bug in the GET /api/workflows/{id_or_name}/orders/{id} API |
Issue ID | Description |
2712 | fixed a bug where a memory error in object creation could cause a crash |
2690 | freetds: addressed an issue where the selectRow() method was not implemented leading to inefficient single-row query execution |
2689 | freetds: fixed a bug where using the incorrect tds version could lead to a segfault due to a memory error in the freetds driver |
2686 | WebUtil: made it possible for WebUtil::FileHandler subclasses to add headers to response |
2684 | fixed a bug where the date format Z did not work when no timezone was set |
2679 | fixed a bug where a crash could result with certain expressions with the brackground operator |
2675 | fixed a design bug where declaring immediate typed hash values required excessive typing |
2657 | fixed a bug where dependency errors in out-of-order class initialization could cause unrecoverable parse errors |
2655 | json: fixed a bug where date/time values were not serialized in ISO-8601 format |
2652 | fixed a bug where lvalues with complex types did not always get created with the correct runtime type when implicitly initialized |
2651 | fixed a bug where the map operator did not correctly supoprt complex types at runtime when executed with an empty list operand |
2647 | fixed a bug where empty lists and hashes were not found to be compatible with complex types at parse time |
2643 | worked around a bug in some Oracle dataserver versions in materialized view creation in the OracleSqlUtil module and the SqlUtil module where when the schema user is missing the CREATE MATERIALIZED VIEW grant the table backing the view is created but the materialized view itself is not created causing future creation actions to fail (issue 2643) |
issue 2637 | fixed a crashing bug in the background operator with non-constant hash expressions with local variable references |
issue 2634 | fixed a crashing bug in the += operator with objects and hashes when %require-types is not in force |
issue 2621 | improved HTTP log masking in the HttpServerUtil module to mask fewer false positives when attempting to mask sensitive data |
This is a bugfix release including the following fixes:
For further details including other fixes not listed above, see the issues addressed below.
Issue ID | Severity | Description |
2216 | Normal | fixed a bug in the QorusConnectionProvider module where a configuration exception was not caught resulting in spurious configuration exceptions being incorrectly propagated to clients |
2215 | Normal | fixed a bug in the client library where a MISING-FILE exeption was thrown instead of MISSING-FILE (as documented) |
2214 | Normal | added support for the "qorus" connection to the QorusConnectionProvider module |
2208 | Normal | fixed a bug returning the "info" key of errors; now it's returned in the data format the error was created in instead of raw YAML |
2201 | Normal | WEB UI: fixed a bug where changing the date on the order list page resulted in an infinite loop |
2187 | Normal | fixed bugs in service resource URLs with wildcard and HTTPS listeners |
2159 | Normal | fixed a type bug in the server code that sorts mapper fields for proper display in the UI |
2067 | Normal | fixed a confusing error message when a workflow order is created with duplicate order keys |
1970 | Normal | added support for dumping user connections to oview with oview conn: connection_name |
Issue ID | Description |
2613 | added ConnectionProvider support to qdbg-remote |
2610 | fixed a crash in HTTPClient::setDefaultPath() when called with no argument |
2609 | oracle: fixed a bug resulting in an ORA-01406 error retrieving LONG column values; affected SqlUtil schema analysis with Oracle DBs |
2604 | improved breakpoint usability in the debugger |
2603 | fixed a bug in the debugger providing the programId context |
2601 | fixed a crash in the Qore debugger when setting breakpoints with a code signature with extra spaces in the argument specification |
2600 | fixed a badly-formatted error message in the debugger when a function or method could not be matched |
2596 | fixed a bug in the Qore remote debugger qdbg-remote where wss:// schemes were not accepted (i.e. it was not possible to make a secure connection to the Qorus server with the debugger) |
2591 | fixed a memory error with the += operator and date/time values that would cause invalid values to be returned resulting in silent data corruption |
2573 | improved error messages with argument type errors in the YamlRpcHandler, XmlRpcHandler, and JsonRpcHandler modules |
2566 | WebSocketHandler: fixed a bug where unsolicited PONG messages caused the connection to be closed prematurely |
2563 | added support for showing all active threads and program threads to the debugger |
2556 | updated QUnit to provide additional info about differences between number and float values |
2555 | fixed SqlUtil to allow cop_value() to be accepted as a value in other column operators |
2491 | fixed a type bug handling type-safe hashes with implicit initialization |
1720 | improve QUnit assertion failure output to include more stack information to cover the case when multiple test modules are used |
802 | oracle: updated to close the connection when an ORA-01041 error is received to work around Oracle bugs in version before 12c |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2181 | Normal | the rtopts option in get_mapper() calls now overrides any definition in the mapper itself |
2177 | Normal | jobs starting/loading with single-instance specified leads into system schema lock in datasource pool |
2171 | Normal | many Qorus APIs use any as parameter and return value type, however auto should be used instead |
2170 | Normal | oload shows a warning for correct usage of get_qorus_options() |
2151 | Normal | fixed a bug in GET /api/orders where an empty date key in the request was not respected; the default minimum date was changed from one day to seven |
2157 | Normal | fixed a bug where it was not possible to provide additional information in input and output record descriptions with mappers where the input and output records were acquired automatically from the DB |
2155 | Normal | call_rest_api_with_authentication() was not imported into interface logic containers as documented |
2154 | Normal | fixed a bug resetting interfaces after deleting the last interface of a certain type |
2152 | Normal | implemented support for replacing all system properties in a single call |
2145 | Normal | added new REST APIs to allow for workflow order data to be retrieved and updated as serialized YAML strings to allow for all supported data types to be updated over network transports that do not support accurate data serialization (ex: JSON from the web UI); the following APIs were added: - GET /api/v2/orders/{id}?action=yamlDynamicData - GET /api/v2/orders/{id}?action=yamlStaticData - GET /api/v2/orders/{id}?action=yamlSensitiveData - PUT /api/v2/orders/{id}?action=yamlDynamicData - PUT /api/v2/orders/{id}?action=yamlStaticData - PUT /api/v2/orders/{id}?action=yamlSensitiveData |
2146 | Normal | fixed a bug where system properties and datasource connections would be needlessly reset when the system would shut down |
2136 | Normal | fixed a bug in new installations creating encryption keys when no options file exists yet |
2134 | Normal | SIGUSR1 removed as a shutdown signal for Qorus as it must remain free for modules (ex: jni) |
2133 | Normal | fixed a confusing error message with invalid mapper input or output record descriptions |
2118 | Normal | added restart_transaction() to all interface APIs and in the client library to allow user code to recover from restartable DB errors |
2116 | Normal | a back icon was added to the SLA page in the web UI |
2111 | Normal | fixed a race condition in concurrent resets for the same workflow with cached data |
2110 | Normal | Added missing transaction recovery logic to server-side user connection APIs |
2098 | Normal | fixed oview service source export |
2089 | Normal | Added missing process module docs |
2076 | Normal | Fixed a bug where it was not possible to update multiple sensitive data entries in one transaction by implementing SensitiveDataHelper::replaceMulti() |
2066 | Normal | Fixed a bug where jobs with SLAs attached would not reflect the SLA after a system restart |
2062 | Normal | fixed a bug in oload deleting sensitive workflow order data |
Issue ID | Description |
2549 | ssh2: fixed a bug where SFTPClient::getFile(), SFTPClient::getTextFile(), SFTPClient::get(), and SFTPClient::retrieveFile() would fail to retrieve zero-length files |
2543 | fixed an issue where a 400 response is now returned by the HttpServer module when a request has encoding errors rather than a 500 response |
2542 | fixed an exception error code inconsistency with DBI-SELECT-ROW-ERROR exceptions |
2529 | fixed compilation bugs in Windows builds |
2527 | PgsqlSqlUtil: fixed a bug causing a false positive on columns with some default values when aligning schemas |
2526 | fixed bugs in the debugger infrastructure shutting down debug clients and enumerating threads |
2520 | TableMapper: fixed a bug where input and output field descriptions for automatically generated records could not be overridden with configuration |
2517 | Swagger: fixed a bug where a valid response without a "Content-Type" header could not be parsed |
2516 | Swagger: fixed a bug where paths were not be matched correctly in some cases |
2507 | Swagger: fixed a bug where consumes and produces properties of operations were ignored |
2505 | Swagger: fixed a bug where string/binary values were handled as hex strings instead of actual binary values |
2497 | Swagger: fixed a bug that made it impossible to return data with other content/mime types than json , yamlrpc , FormUrlEncoded or MultipartFormData |
2495 | Mapper: fixed a bug in error processing with a field length error condition |
2494 | xml: fixed a bug where it was not possible to parse XML and strip namespace prefixes from element names |
2493 | xml: fixed a bug where the XSD-ERROR exception did not provide error context information |
2492 | xml: fixed a bug where it was not possible to specify the date format when serializing XML |
2490 | xml: fixed a bug where it was not possible to provide external schema references with a callback |
2489 | xml: fixed a bug where it was not possible to perform XML schema validation with a SAX parser |
2487 | xml: fixed a bug where XML SAX parsing failed when the element being parsed had a namespace prefix |
2472 | fixed a bug where qdbg did not exit immediately with a ^C or quit command |
2440 | implemented a way for modules to assign multiple signals atomically |
2439 | fixed a bug where the error message for module signal errors is not formatted correctly |
2437 | jni: fixed a bug where if the JVM initialization failed, the jni module could never be loaded |
2418 | OracleSqlUtilIntro: updated to allow to use DBA_* views instead of ALL_* if possible and necessary |
2409 | Swagger: fixed a bug where date values were not formatted correctly in responses |
2408 | OracleSqlUtilIntro: fixed a bug where chained synonyms were not resolved |
2405 | RestHandler: fixed a bug where a 409 was returned instead of a 404 error when child class/resources were missing |
2401 | fixed bugs in debug breakpoint handling |
2398 | RestHandler: fixed a bug where a 400 was not returned when a string encoding was invalid |
2397 | Swagger: fixed a bug where a 400 response should be returned when date parameter is invalid instead of a 500 |
2396 | Swagger: fixed a bug where minLength/maxLength were ignored for incoming requests but enforced for responses |
2392 | fixed a bug resolving variant arguments at parse time |
2388 | Swagger: fixed a bug parsing non-string query parameters |
2380 | fixed a bug executing private:internal methods in some cases |
2377 | fixed a bug detecting relative paths on Windows |
2369 | Swagger: fixed a bug where an invalid error was raised when the optional body parameter was missing from a request |
2366 | Swagger: fixed a bug where messages with non-object (i.e. non-hash) bodies could not be validated |
2365 | Swagger: fixed a bug where confusing error messages were emitted regarding errors with the message body |
2364 | Swagger: fixed a bug where enums with types other than string were not handled properly |
2360 | MailMessage: fixed a bug where calling Message::addBody() without any body and with the default encoding failed |
2349 | Swagger: fixed a bug where date/time values were not de/serialized correctly |
2346 | Swagger: fixed a bug that prohibited loading schemas with relative paths |
2346 | Swagger: fixed a bug where date and date-time format strings were not validated with string values |
2344 | Swagger: fixed a bug where a 400 Bad Request error should have been returned instead of a 500 error in case of missing or wrong parameter in a request |
2343 | yaml: fixed a bug where single-quoted strings were not always deserialized as string values |
2342 | Swagger: fixed a bug where string example values were output incorrectly for binary types |
2341 | Swagger: fixed a bug where strings with with date or date-time formats were not handled correctly |
2340 | fixed a bug in HTTP handling where HTTP headers that differed only in case were not handled properly |
2338 | Swagger: fixed a bug where integer/float info values were not handled correctly in the schema version value |
2333 | process: fixed a bug where calling Process::readStd* () with negative values caused an abort |
2319 | fixed bugs where an exception in cleanup code in background thread expressions could cause a crash due to a memory error |
2319 | fixed bugs where an exception in cleanup code in background thread expressions could cause a crash due to a memory error |
2317 | fixed bugs where recursive class inheritance checks were too aggressive and disallowed legal hierarchies |
2314 | SqlUtil: fixed support for custom column operators |
2312 | fixed bugs managing statement indices with parse errors for debugging purposes |
2294 | fixed bugs in the debugger handling command arguments |
2292 | fixed bugs in the debugger handling ambiguous partial matches |
2276 | updated sqlutil to use BulkSql to load data dumps |
2269 | fixed bugs where some local variables were not visible in the debugger |
2267 | xml: added support for validating XML against a DTD |
2260 | fixed bugs in lazy evaluation of slices |
1865 | fixed bugs in argument matching for debugging support |
1588 | QUnit: implemented Test::assertNeq(), Test::assertGt(), etc for better argument reporting with test errors |
This is a major release with new features and bug fixes; new feature highlights:
soaputil
See below for details
"QORE_CONNECTION_PROVIDERS=QorusConnectionProvider"
in your system environment to take advantage of the QorusConnectionProvider module as a connection provider to command-line programs so that Qorus user connection or remote connection identifiers can be used instead of URL strings in Qore programs like rest
and sfrest
, etc."QORE_DATASOURCE_PROVIDERS=QorusDatasourceProvider"
in your system environment to take advantage of the QorusDatasourceProvider module as a datasource provider to command-line programs so that Qorus datasource names can be used instead of full datasource connection strings in Qore programs like sqlutil
, schema
, and schema-reverse
.latest
path will always point to the latest version of the REST API"/api/latest"
URI path prefix by default"/api/latest"
URI path prefix by default and also now supports an "api_version"
option in the QorusSystemRestHelper::constructor() ("api_version"
= "v1"
ensures that the original REST API is used for example), furthermore this class was modified to automatically fall back to the original base (v1) REST API if the remote instance does not support the latest API and no specific API version is given in the constructor"api_version"
option"admin"
with the superuser role is created with a random passwordqorus-client.client-url
option is now set automatically to the first HTTPS listener, if present, to allow REST APIs dealing with sensitive order data to be used (which are otherwise unavailable over non-encrypted HTTP interfaces)qorus-sensitive-data
can be used to periodically purge sensitive workflow order dataorderkeys
and workflowname
"admin"
with the superuser role is created with a random password-K
option to allow for sensitive data encryption keys to be created / checked automaticallysoaputil:
program to generate client/server SOAP source code or example messages from a WSDL (typesoaputil -hfor usage information)
rest:
updated to generate example REST messages and client/server source code from a Swagger schema (typerest -hfor usage information)
"QORE_CONNECTION_PROVIDERS=QorusConnectionProvider"
"QORE_DATASOURCE_PROVIDERS=QorusDatasourceProvider"
"sewiorest"
and "sewiorests"
)"sewiows"
and "sewiowss"
)private:internal
)Issue ID | Severity | Description |
1985 | Normal | services cannot be deleted or reset while persistent connections are in place and being served; the reset or delete action will wait until the persistent connection is closed |
1844 | Normal | oload did not report unrecognized hash keys in a workflow definition |
1832 | Normal | fixed a race condition in starting workflows when a rest or stop operation was also in progress for the same workflow |
Issue ID | Description |
2179 | CsvUtil: added an exception when detected headers do not match the fields option |
2175 | fixed crashes in scanner due to EOF in comments |
2145 | fixed a bug where a call reference to an object method that crosses Program boundaries could result in a core dump when called due to an error managing thread-local data |
2130 | WebSocketClient: fixed a thread lock starvation race condition |
2098 | fixed a bug where Qore::replace() could get in an infinite loop with arguments with embededed nulls |
2083 | fixed a bug in regular expression extraction where an infinite loop could occur |
2016 | Qore::RangeIterator::constructor(int) and Qore::xrange(int) were updated; the second arguments were removed to avoid ambiguity with the other overloaded variants |
2002 | fixed a bug where the *data type restriction would allow all types to be assigned at runtime |
2001 | fixed a bug where immediate date-time values were not marked with their type at parse time |
1980 | fixed cmake builds on Darwin |
1976 | fixed memory leaks in the scanner related to EOF conditions |
1952 | rewrote Qore functions gethostbyname(), gethostbyname_long() and gethostbyaddr() to use standard C functions getaddrinfo(3) and getnameinfo(3) internally instead of the deprecated gethostbyname(3) and gethostbyaddr(3) |
1941 | fixed a bug where code signatures would accept parameter variables without "$" signs even when %allow-bare-refs was not in effect |
1930 | fixed many bugs where parse-time errors could be reported at an incorrect source location; parse-time error location reporting has been completely overhauled and reimplemented for correctness |
1897 | fixed a bug in overloaded call variant matching where missing arguments were counted towards the match |
1852 | fixed a bug in handling the SqlUtil::BLOB type in the |
1819 | fixed a bug in the reference and *reference assignment restrictions; previously any value was accepted, now only references are accepted as the initial assignment values |
1813 | fixed bugs in HTTPClient methods where string message bodies were not converted to the object's character encoding before transmission |
1775 | fixed Qore::trim(), Qore::ltrim(), Qore::rtrim() and the trim operator with strings with UTF-16 encodings |
1586 | fixed Qore::substr() and <string>substr() with strings in UTF-16 encodings |
1579 | fixed a bug where an ASCII string and the same string in a different encoding and with diacritics could incorrectly be marked as equal |
1551 | fixed a bug with strongly-typed lvalue assignments with classes created in different Program objects |
1548 | File::read() now uses character semantics for the length argument |
1463 | fixed a bug where int(number) returned rounded value instead of the integer part (while int(float) behaved correctly; also cf. initializing a softint value from a number vs. from a float) |
1385 | fixed a bug where ord() would return negative numbers for bytes with the high bit set with compilers where char is the same as signed char |
1303 | fixed a bug where a closure created in an object scope could not be called if the object had been deleted, even if the closure did not refer to the object |
1258 | fixed bugs where calls to Socket::upgradeClientToSSL() and Socket::upgradeServerToSSL() were ignored with no exception thrown if the socket was not connected |
1230 | fixed a bug where exceptions in base class constructor calls did not reflect the actual source location |
1231 | fixed a bug where runtime function/method variant matching was incorrectly biased towards default matches for missing arguments |
1229 | fixed a bug where different overloaded method variant resolution rules were used at parse time (best match in hierarchy) and runtime (best match in first matching class) in a class hierarchy |
1222 | fixed a bug in qpp support of the 'final' class flag |
1209 | fixed a bug where the + operator provided access to private members from outside the class |
1191 | fixed a bug where the instanceof operator would return True with objects that did not publically inherit the given class or where the given class is not accessible |
1187 | fixed a bug where Qore allowed code to be declared both public and private without a warning |
1156 | fixed bugs with inconsistent conversions of int, float, and boolean values to date/time values, now they are all converted uniformly to relative date/time values |
1154 | BulkSqlUtil: fixed the module to work properly even with DB drivers that do not support parameter array binding |
1106 | fixed a stack corruption bug with asynchronous I/O on UNIX systems with ReadOnlyFile methods |
1099 | fixed an issue where an internal C++ API (QoreProgram::parseCmdLineDefines()) performed a needless copy of a data structure |
1086 | HttpServer and RestHandler: added logic to allow sensitive data to be masked in log messages |
1062 | CsvUtil: fixed a bug in an error message validating input data |
1047 | HttpServerUtil: fixed a bug where the msg arg to AbstractAuthenticator::do401() was ignored |
1013 | SqlUtil: fixed a bug in update and upsert statement generation when the given data does not have enough columns to use the unique index found, an error message is generated that contains all the columns names instead of just the column names required by the index |
976 | fixed a bug where break and continue statements were accepted outside of loops |
968 | fixed a bug causing AbstractQuantifiedBidirectionalIterator not being available |
966 | fixed a bug causing an infinite loop in decompression functions |
958 | fixed a bug compiling on Solaris SPARC with g++ where MPFR_DECL_INIT() is compiled incorrectly with -O1 or greater |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2142 | Normal | fixed a race condition in workflow initialization when a workflow is started during a cache reset |
2096 | Normal | fixed a bug in oview where substep values were truncated after 4 digits |
Issue ID | Description |
2500 | fixed a bug where qore was not throwing an ENCODING-CONVERSION-ERROR exceptions on platforms with updated GNU iconv libraries |
2479 | fixed inconsistent "action" argument handling in REST services in Introduction to the RestHandler Module the "RestHandler" module |
2448 | oracle: fixed a bug where DATE column values were not matched with selects when they crossed a DST boundary with the current time |
2334 | fixed a bug where calling any SQLStatement method in another thread with an active connection from a DatasourcePool object caused a crash |
2303 | fixed a memory bug in the Splice Operator (splice) operator with a binary operand |
2242 | json: fixed a bug bug in json serialization with hash keys with quotes in the string |
2163 | fixed bugs in SqlUtil where column names that are reserved words could not be used |
2155 | fixed a bug in the HttpServer class where more than one HTTP listener with a wildcard bind address could not be added |
2149 | pgsql: fixed a bug where selecting small numeric values returned invalid results |
2143 | fixed incorrect documentation for timeouts with Queue class methods |
2135 | updated to allow building with openssl 1.1.0+ |
2058 | fixed a connection status error bug in the HTTPClient class |
2030 | fixed a bug where referencing argv in base class constructor execution would cause a crash |
2023 | fixed a bug where defining and instantiating a class with a member defined as the same class caused a crash |
2020 | fixed an internal memory leak in C++ object ValueEvalRefHolder with non-temporary values |
1099 | internal C++ function QoreProgram::parseCmdLineDefines() uses an API that performs a needless copy of a map |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
2108 | Normal | fixed bugs in the system.info service in the following methods: info.getOrderInfoFromKey() and info.getOrdersFromKey() where exceptions were thrown when no data was matched instead of returning an empty list |
2085 | Normal | fixed bugs in the system.info service where empty arguments (for example as sent from the web UI) would be used as date/time values in some cases |
2063 | Normal | fixed a bug purging empty workflow order queues (mostly affects new Qorus instances) |
2057 | Normal | fixed a bug with excess contention in with system datasources when a single datasource took a long time to connect |
2005 | Normal | fixed a type error in validating certain interfaces with oload |
1998 | Normal | fixed a cosmetic error in connection file warnings |
1997 | Normal | fixed a bug in schema-tool when checking "shadow datasources" |
1996 | Normal | fixed a bug setting the timeout and connection timeout values in REST and RPC connections to remote Qorus connections |
1981 | Normal | fixed errors executing the detach function when (un)blocking or (un)canceling orders in the context of HTTP connection sharing |
1979 | Normal | oprop command errors result in a confusing error message |
1975 | Normal | property name that is an invalid XML tag prevents dumping properties to XML |
1967 | Normal | signal handling has been reenabled in the Qorus server |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1976 | Normal | react: use "responsive web design" to implement support for tablets and smaller PC screens in the web UI |
Issue ID | Severity | Description |
1965 | Normal | remove server information from qorus-diff |
1962 | High | react: boolean values are not displayed in the order data page |
1959 | Normal | fix race conditions in the regression test wf |
920 | Normal | Qorus Compare/Diff Tool |
Issue ID | Description |
1992 | Datasource::getConfigString() must only be called with an active connection or a crash can result bug c++ fixed |
1994 | Datasource::getConfigHash() returns a different value when connection and not connected bug c++ confusing fixed |
1947 | add broken-logic-precedence-warn flag |
This is a bugfix release; for details, see the issues addressed below.
The system web UI has been updated to use the new react UI; the old web UI is still available from the new UI in case of any issues. This new version of the web UI provides the basis for future development of the Qorus Integration Engine user interface; it brings better performance, much more functionality, and more user-friendliness to Qorus. The new react UI features improved functionality in all areas plus the following new features:
Issue ID | Severity | Description |
1957 | Normal | fixed a bug in oload in the verify-load-schema release command |
1953 | Normal | fixed a bug where skipping a workflow step with a bound subworkflow would fail with a spurious exception on Oracle |
1945 | Normal | fixed a bug in the system.arch service when archiving audit events |
1944 | Normal | fixed a bug in the system.arch service related to column renaming |
1932 | Normal | fixed "file_name" and "component" search options in GET /api/releases |
1931 | Normal | fixed "limit" and "offset" option in GET /api/releases |
1922 | Normal | fixed a division by zero error retrieving datasource status |
1921 | Normal | resolved a bug that caused scalability issues due to excessive contention on the connection dependency manager lock |
1917 | Normal | the OMQ::StreamConfig class was not available in the Qorus client while all derived classes were |
1915 | Normal | fixed a bug where the HTTP I/O timeout was not set on the underlying connection object in stream API classes: OMQ::AbstractFsRemoteReceive, OMQ::DbRemote, OMQ::DbRemoteReceive, OMQ::DbRemoteSend, OMQ::FsRemote, OMQ::FsRemoteSend |
1914 | Normal | fixed a bug where make-release created invalid releases for services with nested service resources |
1912 | Normal | fixed a bug where service connection dependencies were returned by the REST API with an invalid "type" attribute; affected:- GET /api/remote/datasources/{name} - GET /api/remote/qorus/{name} - GET /api/remote/user/{name} |
1909 | Normal | REST header and origin information is now logged with LL_DEBUG_1 log level (was LL_INFO) |
1903 | Normal | the "read-only" role is missing the FILESYSTEM-READ permission |
1896 | Normal | REST API GET /api/jobs now returns the "group" key as documented |
1895 | Normal | REST API GET /api/workflows no longer returns synthetic groups in the "group" key |
1894 | Normal | the "readonly" option was added to the FilesystemConnection class to support readonly filesystem connections |
1890 | Normal | the "remote" role did not contain the FILESYSTEM-READ and FILESYSTEM-WRITE permissions |
1888 | Normal | RPC API omq.system.flush-options() flushes invalid options to disk |
1886 | Normal | REST API GET /api/remote/qorus/{name} was fixed to respect the with_password option as documented |
1885 | Normal | REST API GET /api/remote/qorus/{name} can fail to respond due to an error processing the call due to an argument error in an internal API |
1883 | Normal | set up Qorus for dual UI |
1881 | Normal | error while setting properties via xml file |
1879 | Normal | fixed bugs handling multiple values in the URI path or message body for arguments taking multiple values in GET /api/orders?action=listErrors |
1875 | Normal | the POST /api/remote/datasources API sets min and max options to 0 when creating a new datasource if those options are not present |
1872 | Normal | created a REST API to DELETE a datasource connection: DELETE /api/remote/datasources/{name} |
Issue ID | Description |
1928 | fixed a bug that caused spurious parse-time exceptions when variant matching (affected oload in some cases) |
1920 | fixed a bug that could cause a crash when processing strings with encoding errors in certain cases |
1909 | fixed a bug where it not possible to select only columns from the main table when using joins with SqlUtil |
1895 | once a "broken-*" option is set, it cannot be undone in code |
1886 | SqlUtil: adding column comment with single quote when creating new schema in Postgresql leads to an exception |
1884 | backquote builtin function sets 'rc' arg wrongly |
1880 | SqlUtil: offset option when set to 0 does not result in ordering by the table's primary key as documented |
1869 | fix module links in docs |
1856 | corrected documentation on the wop_or() function in SqlUtil |
1849 | fixed a bug in the TableMapper class where log messages for flushing data were incorrect |
1836 | fixed a bug in the SQLStatement class where the connection was not released to the pool when a "SQLSTATEMENT-ERROR" exception was raised |
1835 | fixed a bug in the SQLStatement class where a spurious exception was raised when a "DATASOURCE-POOL-TIMEOUT" exception was raised |
1832 | updated HttpServerUtil so that the HttpServer class would no longer log each HTTP chunk received by default |
1828 | fixed error messages in FixedLengthUtil that were confusing and made debugging harder |
1815 | fixed a bug in qpp where a reference type restriction was handled as any |
1805 | fixed a bug handling module deletion that caused a crash when the qore library was shut down |
1800 | updated and corrected ssh2 module documentation |
1794 | documented that sending a message body with HTTP GET requests is bad practice and non-standards-compliant |
1791 | fixed crashes with builds with newer compilers caused by calling objects with NULL this pointers |
1717 | fixed a bug in the oracle module where automatic session reconnections would have bind and statement handles freed in the wrong service context that could lead to crashes |
1250 | implemented an API to allow lost DB connections to be reported which made possible the fix for issue 1717 |
1233 | documentation updates to Qore::HTTPClient::send() and similar methods |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1863 | Normal | fixed a bug where the job expiry date would not be updated correctly in the internal caches when changed via an API call |
1861 | Normal | fixed a bug where workflow orders with BLOCKED or CANCELED status could remain in the event queues and cause spurious errors in the log files |
1857 | High | fixed installation issues related to $LD_PRELOAD set loading libraries provided by Qorus |
1851 | Normal | fixed a rare race condition where rescheduling a workflow order with BLOCKED or CANCELED status could cause it to be temporarily cached and for the API to return an incorrect READY status |
1666 | Normal | REST API call GET /api/users?action=current returns an error in some cases |
Issue ID | Description |
1774 | memory leak in reference handling |
1768 | build issues with clang++ |
1756 | Mapper module fixes: fixed support for the allow_dot and allow_output_dot options |
1754 | Mapper module fixes: fixed compatibility issues introduced with performance optimizations in Qorus 3.1.0.p11 (Qore 0.8.12.7) |
1749 | fixed a memory leak in Queue::copy() |
This is a bugfix release; for details, see the issues addressed below.
ostatus
-CC to show an unfiltered thread list (issue 1819)Issue ID | Severity | Description |
1842 | Normal | fixed a bug where OMQ::DefaultQorusRBACAuthenticator did not support token-based authentication |
1841 | Normal | fixed a bug where user connections with an invalid URL prohibit the system from starting |
1830 | Normal | fixed a bug where setting the schedule on an active job did take effect until after the job was reset |
1829 | Normal | updated the docs for GET /api/jobresults regarding the limit and offset arguments |
1828 | Normal | fixed a bug where the ids argument of GET /api/jobresults did not work |
1825 | Normal | fixed a bug where the "last_executed" key was missing or incorrect in the return value to the job_info() job API function |
1820 | Normal | fixed a bug where jobs were triggered immediately even when they were not eligible for execution when they were disabled and enabled in certain situations |
1814 | Normal | the qore binary delivered with Qorus was missing support for the -g option |
1812 | Normal | rescheduling a canceled / blocked workflow order causes the status to be updated to either READY or SCHEDULED |
1440 | Normal | fixed a race condition in workflow execution instance stopping and resetting |
Issue ID | Description |
1738 | HashListIterator fails to iterate hash keys with single values |
1736 | InboundTableMapper::queueData() error with hashes of lists |
1729 | fixed a bug where threads got into an infinite loop consuming 100% of the CPU when the remote end closed a socket during an SSL send operation |
1728 | parse_url() and the HTTPClient class ignore invalid characters in the port in the URL |
1725 | there is no timeout in websocket socket operations in the WebSocketHandler module |
1723 | ssh2 module: fixed crashes on Windows due to bugs in the underlying libgcrypt library |
1697 | incorrect error message with type conversions in lvalue assignment |
1696 | ssh2 module: missing argument in module API error message |
1693 | Qore::trunc_str() returns an invalid string if invalid multi-byte characters are present in the string |
1690 | there is a memory leak in %try-module error handling |
1688 | SqlUtil: oracle: character_semantics can be different for each column, not only for the whole schema |
1684 | SqlUtil schema management: schema alignment skips column with name "driver" |
1610 | SqlUtil schema management: functional indexes are rejected without () in name |
1547 | workflow options are logged incorrectly in the workflow log file |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1791 | Normal | workflow options are logged incorrectly in the workflow log file |
1790 | Normal | oprop shows the wrong short option letter for the –show-url option |
1789 | Normal | ocmd -W returns with a non-zero exit status even when successful |
1786 | Normal | the REST DataStream echo API is broken: /api/system?action=stream;stream=EchoDataStream |
1785 | Normal | qrest outputs errors to stdout instead of stderr |
1784 | Normal | command-line programs output confusing error messages when authentication fails and a 401 Unauthorized response is received |
1777 | Normal | the REST API must return array step ind elements in numerical order |
1775 | Normal | network calls made in the same HTTP session can fail due to bugs handling thread-local data |
1774 | Normal | oview dump source code exports also synthetic group names disallowing next oload again |
1772 | High | crash in queueing workflow events caused by an error handling internal data in a race condition with blocking and unblocking the same order at the same time |
1769 | Normal | oload options documentation incomplete |
1760 | Normal | job duration update impossible with qrest |
Issue ID | Description |
1673 | global top variables of a module not exported |
1671 | pdox with incorrect shell |
1670 | xml module: missing documentation for WSOperation member functions |
1660 | SqlUtil's op_in() operator does not handle large number of elements when used with Oracle |
1659 | xml module: SalesforceSoapClient does not allow to override SOAPAction in the header |
1657 | sfrest script does not honor -U option |
1648 | preprocessor: try-module meaning confusing |
1640 | 32-bit builds use incorrect *printf() format placeholders for size_t args |
1638 | Memory leak in reference.qtest |
1635 | non single-compilation-unit build is broken |
1632 | bug in windows build in configure |
1626 | Improve InboundTableMapper performance with bulk inserts |
1617 | recursive references are not always detected at runtime which leads to runtime errors |
1363 | performance issue with deterministic garbage collection / prompt collection |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1746 | Normal | sending streaming classes (ex: OMQ::DbRemoteSend) may report an incorrect record count |
1745 | Normal | added documentation for the SERVICE_AUTOSTART_CHANGE event |
1741 | Normal | updated the oprop documentation regarding how arguments are parsed |
1722 | Normal | omq-schema added to the response for GET /api/public/info |
1719 | Normal | sorted the HierarchyInfo key in the response to GET /api/orders/{id} for proper display in the web UI |
1718 | Normal | passwords are no longer returned by default in the REST responses for user connections and remote connections; the GET /api/remote/user/{name} and GET /api/remote/qorus/{name} calls now take an optional "with_password" option to include the password in the "url" and "url_hash" keys |
1717 | Normal | environment variables are only resolved once when connections are initially parsed and loaded, and additionally at runtime in the server; additionally environment variables are supported in all connection attributes; see Connection File Parsing for more information |
1716 | Normal | backbone: the job detail page is broken in the 3.1.0 web UI |
1715 | Normal | Qorus cannot start with the qorus.autostart-interfaces option set to False |
1711 | Normal | fixed the workflowstatus key for IN-PROGRESS orders owned by foreign application sessions as returned by GET /api/orders and info.searchWorkflowInstances() |
1682 | Normal | corected documentation regarding HTTPS URLs in user connections |
1675 | Normal | a missing WSDL for a SalesforceSoapClient connection results in a confusing error message |
1674 | Normal | there is a race condition in deleting connections that can cause spurious errors in the system |
1671 | Normal | service file resource data cannot be retrieved with GET /api/services/{id_or_name}/resource_files/{name} |
1670 | Normal | fixed Soap and SalesforceSoap connections so that URLs without a host and with just a path can be used to resolve locally-stored WSDLs |
1649 | Normal | The REST API call GET /api/jobs/{id_or_name} does not return all library source when called with lib_source=true |
1621 | Normal | sort the mapper input and output options according to used fields first (improved fix) |
1611 | Normal | fixed a bug where special characters cannot be used in connection files; for example a password in a URL cannot contain "," , "$" , ")" and other characters; now connection files are parsed with well-defined rules; quoted strings and escape characters are supported; see Connection File Parsing for more information |
1580 | Normal | streaming classes do not maintain an externally-usable record count |
1435 | Normal | added documentation about HTTP errors returned with REST API calls |
Issue ID | Description |
1631 | xml module: Wrong services/port/address in WSDL |
1625 | BulkInsertOperation in the BulkSqlUtil module is broken when used with constant hashes |
1620 | Mapper and InboundTableMapper performance is poor with large output records |
1617 | recursive references are not always detected at runtime which leads to runtime errors |
1590 | a crash results if a method is declared both static and abstract |
1583 | oracle module: there is a memory leak in exception handling in certain cases |
1566 | fixed an incorrect parse-time type error with the square brackets operator [] when operating on a binary object |
1558 | Core dump parsing try catch blocks with type errors in the catch block |
1557 | ssh2 module: streaming from SFTP servers is impossible without user re-implementing SftpPoller methods |
1535 | user module initialization not called with PO_LOCKDOWN as documented |
1524 | parse_url() does not parse a one-character hostname correctly |
1398 | json module: function parse_json() does not handle BOM in UTF-8 input |
1379 | Schema SqlUtil: the character_semantics column option is ignored in schema alignment |
This is a bugfix release; for details, see the issues addressed below.
"sfrests"
)Issue ID | Severity | Description |
1664 | Normal | connections returned with the REST API are not sorted by name |
1663 | Normal | do not return URL with password in the response to the REST ping connection action (PUT /api/remote/qorus/{name}?action=ping and PUT /api/remote/user/{name}?action=ping) |
1660 | Normal | add step description attribute to step hash in the workflow REST API response |
1629 | Normal | invalid/confusing error message with mappers with invalid input records |
1628 | Normal | fix qorus build warnings and set warnings as errors |
1621 | Normal | sort the mapper input and output options according to used fields first |
1620 | Normal | oload should display a warning in all cases when not updating connection URLs |
1619 | Normal | perform environment variable substitution in connection file URLs |
Issue ID | Description |
1489 | do not include the port in the Host header when connecting to port 443 with SSL |
1488 | openssl read errors when the remote closes the connection are not reported correctly |
1487 | json module: request logging is broken in the JsonRpcHandler module |
1484 | SalesforceRestClient broken due to a bug in send_encoding handling |
1469 | xml module: make_xml(list) produces invalid XML that cannot be parsed |
1465 | OracleSqlUtil does not support spatial data types |
1455 | parse_url() does not parse a one-character username correctly |
1448 | the RestClient module throws an exception with empty chunked responses |
1445 | add a SalesforceRestClient module |
1442 | floating-point @inf@ is broken on Windows |
1438 | yaml module: non-DataStream chunked responses cannot be parsed due to a bug in HTTP handling |
1437 | RestClient: fix support for XML message encodings for REST servers that use raw XML encodings |
1436 | RestClient: fix support for URL form-encoded data in the REST client as an alternative serialization method |
1432 | Qore can deadlock with 100% CPU with invalid gzip or deflate data |
1428 | SqlUtil: schema alignment: default values can be complex statement instead of simple value only |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1616 | Normal | do not raise an INTERFACE-GROUP-DISABLED alert when synthetic groups are disabled |
1609 | Normal | fixed recursively updating workflows from changes step functions with oload |
1605 | Normal | fixed race conditions executing synchronous workflow orders while non-synchronous workflow execution instances for the same workflow are running |
1579 | Normal | DbRemote throws an extraneous exception in the destructor when DbRemote::rollback() is called with no argument or with DO_DISCONNECT |
Issue ID | Description |
1424 | xml module: SoapClient cannot be constructed with a WebService object |
1418 | AbstractSqlStatementOutboundMapper::iterator() does not respect runtime options already set |
1417 | getCount() in SQL outbound iterators created from an outbound mapper always returns 0 |
1395 | SqlUtil is missing a column function for SQL LENGTH |
1046 | fixed QUnit to report the test assertion source location respecting test APIs on top of QUnit |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1575 | Normal | oload did not store valuemap description values |
1573 | Normal | oload and the REST valuemap API allow for invalid values that do not confirm to the declared type to be stored in the value map |
1572 | Normal | the REST valuemap API does not allow deleting elements |
Issue ID | Description |
1369 | string to date conversions accept invalid dates and return unpredictable values without raising an error |
1363 | performance issue with deterministic garbage collection / prompt collection |
1359 | xml module: request info missing from SoapClient call info hash |
1358 | xml module: typo in a debug logging statement |
1355 | error in CsvUtil AbstractCsvIterator::identifyTypeImpl() error message |
1352 | MailMessage::attach() without an encoding argument or with "default" fails |
1327 | trunc_str() never returns when a unicode char happens to be at the truncated length position |
1309 | reference error that can lead to a crash in the Queue class |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1566 | Normal | invalid mapper files generate spurious error log messages |
1565 | Normal | updating a job's schedule does not actually make the schedule take effect |
1564 | Normal | remove a job expiry date with an expired job fails |
1563 | Normal | cannot activate an inactive job |
1561 | Normal | when jobs are run manually, they are run holding the global job write lock |
1558 | Normal | a user with only the LOGIN permission should be able to use the web UI in read-only mode |
1552 | Normal | ongoing WORKFLOW-NOT-RUNNING alerts are not cleared when the autostart is set to 0 |
1543 | Normal | oload can still fail silently without setting an error code |
Issue ID | Description |
1295 | FtpClient::pwd() returns invalid directory names |
1293 | a crash results when using socket event queues with the FtpClient class |
1292 | the Queue class must purge the queue before deleting otherwise a crash can result |
1284 | HttpServer cannot accept a bind on port 0 to mean any random port |
1272 | oracle module: fixed a memory leak in Oracle connection handling |
1270 | Qore allows methods to be called on already deleted objects under certain conditions |
1268 | executing a call reference to a deleted object method can cause a crash |
1260 | Socket::recv(0, ...) can return NOTHING but should always return a string |
1255 | retrieving an empty file with FtpClient throws an exception |
1252 | implement timeout handling in the FtpClient class |
1251 | sybase module: dataserver reconnections do not actually check for a working connection |
1248 | sybase module: crash in SQLStatement handling with automatic reconnects |
1244 | xml module: incorrect SOAP response Content-type with soapFault responses |
1241 | SQLStatement::fetchColumns() does not behave as documented when no more rows are present |
1215 | segmentation fault when calling exit() in a multithreaded script with active threads |
1084 | crash in prompt collection / deterministic garbage collection |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1545 | Urgent | objects in the SQL table cache can get out of sync with the underlying DatasourcePool |
1542 | Normal | fixed logging of websocket connections |
1541 | Normal | there is a race condition in the regression test workflow in the test for bug 1326 |
Issue ID | Description |
1227 | xml module: the WSDL module cannot parse empty base64Binary or hexBinary elements |
1226 | xml module: the WSDL module generates a SOAPAction header even when the wsdl gives an empty value |
1225 | gnu-java: namespace handling appears broken |
1216 | WebSocketUtil, WebSocketClient, and WebSocketHandler do not read or generate the close status code correctly |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1524 | Normal | double authentication is required when the UI uses its own login page |
1517 | Normal | the REST documentation for /api/remote/qorus is incorrectly documented as for /api/remote/remote |
1514 | Normal | Qorus shutdown fails due to a user class failing parsing |
1513 | Normal | QorusRestApiHandler must log into http log |
1484 | Normal | race condition leading to a deadlock in workflow resets |
1470 | Normal | oload -Rlv is not enough to override a value map |
1469 | Normal | negative autostart values |
1244 | Normal | Comment handling in qmapper files |
Issue ID | Description |
1206 | fixed a memory leak with static class member initializers |
1202 | there are internal memory errors in the Queue class that can cause spurious exceptions to be raised |
1201 | Datasource automatically opens a connection during construction if there are options in the connection string |
1197 | method variants tagged as deprecated are internally marked as "runtime noop" variants |
1194 | call_object_method() and related functions allow access to private methods from outside the class |
1193 | string encoding with CE_XML is broken and includes encoding of XHTML entities |
1188 | declaring a copy method as synchronized results in a crash when the method is called |
1174 | ModMap destructor confusion in qore vs openldap |
1169 | referencing "self" in base class constructor arguments causes a crash |
1149 | format_number() and <float>::format() give incorrect results when rounding |
1130 | the decimals value when formatting numbers is not required and is not limited to one digit |
1124 | CsvUtil backward compatibility broken for single-row-type format |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1448 | Normal | stopping a workflow with the REST or RPC APIs returns a successful message but does not work |
1437 | Normal | qorus reporting unhandled exceptions on stdout |
1431 | Low | Add logout button to interface |
Issue ID | Description |
1126 | public APIs missing from libqore breaking ABI compatibility |
1120 | xml module: the WSDL module serializes xsi:type information in some cases when it's not necessary |
1117 | HTTPClient fails to retrieve the message body with chunked receives |
1112 | xml module: the WSDL module does not respect different elementFormDefault values in different schemas in the same wsdl |
1103 | race condition in prompt collection with closures could cause a crash |
1096 | thread memory handling bug with some operator expressions and the background operator |
This is a bugfix release; for details, see the issues addressed below.
Issue ID | Severity | Description |
1402 | Urgent | each HTTP request must be subject to authentication; authentication cannot be reused on the same socket |
1408 | High | react webapp not working with RBAC authentication |
Issue ID | Description |
1091 | xml module: the WSDL module is sending invalid namespace values in some cases |
1088 | TableMapper.qm: AbstractSqlStatementOutboundMapper::iterator() fails to use options when creating the new Mapper object |
1075 | error in base class matching when resolving base class method calls |
1049 | make Util.qm in 0.8.12 forward-compatible with 0.8.13 |
1040 | ssh2 module: crash in SFTPClient |
This is a bugfix release; for details, see the issues addressed below.
None.
Issue ID | Description |
996 | fixed crash in parsing empty base 64 strings |
985 | xml module: fixed serialization of complexTypes fails when it extends another type and the expected type is used |
984 | xml module: fixed a bug where the WSDL module could not handle valid but empty complexType declarations |
981 | fixed a bug where TableMapper::SqlStatementOutboundMapper would throw an error if the required "table" or "sh" options are used |
979 | fixed a bug where TableMapper::SqlStatementOutboundMapper::iterator() would return the wrong iterator object which causes AbstractMapperIterator::mapBulk() to fail |
975 | xml module: fixed a bug where the WSDL module had an error in parsing complexTypes |
974 | fixed a bug with handling NOTHING when passing an optional parameter to built-in function |
953 | oracle module: fixed a bug where ambiguous OracleExtensions::OracleDatasourceBase::beginTransaction() variants would cause errors |
Qorus 3.1 is a major new release bringing many new features to Qorus designed to further empower operational teams and reduce Total Cost of Ownership by providing a higher level of interface automation, reliability, and operational transparency.
list l = 1, 2, 3;
were valid assignments. Due to operator precedence, such statements should normally be interpreted as (list l = 1), 2, 3;
, which is not a valid expression. Not only were the rules applied with only some assignment operators, but such lists were only rewritten if used as top-level statements, therefore the rules were applied inconsistently depending on where the expression was located in the parse tree. As of this release of Qorus, these inconsistencies have been eliminated by default from Qore; all lists are processed according to the precedence rules defined in operators. This could break old code that relied on the old, broken behavior. To get the old behavior, use the %broken-list-parsing parse directive in individual code objects, or set qorus.compat-broken-list-parsing in the options.CALL-WITH-TYPE-ERRORS
exceptions; in order to allow for such argument errors for backwards-compatibility, use qorus.compat-permissive-api in the System Options File. Note that this option has global effect; it's not possible to override this setting on the interface level.tibco
and tibrv-api-gateway
services have been removed from Qorus"omq"
system property domain; no non-system controlled values should appear in this domain; in general any non-API-driven manipulation of the Qorus system schema can lead to incompatibility issues with future versions of Qorus"superuser"
role will always have all possible permissions). User-created roles will need to be updated manually"parse-options"
allows parse options to be globally applied to service methods and any service resource template programsSOCKET-THROUGHPUT-WARNING
transient alerts are raised if the transfer size is less than 1024 bytes-Q,–remote=ARG
to give the name of the remote connection making it much easier to communicate with remote Qorus instances"-A"
and "-E"
options for saving and restoring workflow autostart statuses–recover
option assumes the local instance key if none is givenPUT /api/orders/
workflow_instanceid?action=updateKeys HTTP/1.1
(required argument: orderkeys
(hash), optional: truncate
(bool))PUT /api/system/listeners/
listenerid?action=setLogOptions;option=0 HTTP/1.1
(valid options: Listener Log Options)GET /api/system/listeners/
listenerid?action=getLogOptions HTTP/1.1
GET /api/system/sessions HTTP/1.1
GET /api/system/sessions/sessionid HTTP/1.1
GET /api/system/metadata/cache HTTP 1.1
Issue ID | Severity | Description |
1364 | Normal | the info service does not respect limits properly when there is an archive datasource defined for searching |
1363 | High | Qorus does not enforce access restrictions properly with jobs through interface groups |
1362 | High | qrest does not handle a full URL after the HTTP method argument |
1359 | High | oload does not load all connection options correctly (ex: target_url with soap connections) |
1353 | Normal | user connection files cannot be parsed with special chars inside description tag |
1350 | Normal | when HTTP listeners which are also service resources are stopped, the service resource is not removed |
1348 | Urgent | if an attach error occurs when starting a backend segment, the step status is not released resulting in a deadlock for the wf exec instance |
1346 | Normal | in case of system errors, application sessions can fail to be recovered in case there are multiple sessions for the same instance with an 'ACTIVE' status |
1337 | Normal | Absolute links at GUI/System/Http services |
1323 | High | job execution is not checked for thread resources left allocated after the job's code is run |
1322 | High | different DatasourcePool objects can be returned in the same workflow step or job if a reset for that datasource is effected while the logic being executed is acquiring DatasourcePool objects |
1317 | High | PermissiveAuthenticator does not set the internal system user in the HTTP call context as documented |
1316 | Normal | tempdata is not always set in the unblock_order() call |
1315 | Low | job exceptions where the err component is not a string cannot be handled properly |
1313 | Normal | subworkflow execution is sometimes not handled correctly due to internal errors managing workflow exec instance state data |
1312 | Normal | an error in exception handling when an error occurs acquiring a new workflow when resetting workflows can lead to a deadlock |
1308 | Normal | locking issues when opening streams can cause a service deadlock |
1297 | Normal | there is no way to return service resources with the REST API |
1294 | Normal | error messages in the ocmd page are displayed in red text with a red background and are only readable if you highlight the text with the mouse |
1292 | Normal | jobs cannot be enabled or disabled even if the user has JOB-CONTROL |
1291 | Normal | services cannot be enabled or disabled even if the user has SERVICE-CONTROL |
1290 | Normal | workflows cannot be enabled or disabled even if the user has WORKFLOW-CONTROL |
1289 | Normal | real connection options used are not returned by the REST API |
1288 | Normal | the target_url option of SOAP connection is ignored |
1287 | Normal | invalid connections with options cause oload to fail to load any options |
1268 | Low | oload does not display service information correctly when creating new interface groups with -v |
1260 | Normal | the workflowstatus attribute may not be returned in the REST or RPC APIs when a READY order is first processed |
1253 | Normal | job instances are not shown in descending order on the job instance results page |
1252 | High | the REST POST /api/workflows/{id_or_name}?action=createOrder does not handle the "status" argument as documented |
1251 | Low | Confusing error message for duplicate mapper declarations |
1250 | Low | the RPC start-workflow online API docs incorrectly refer to an "instances" key |
1245 | Normal | Inconsistent type returned by info.getOrderInfoFromKey() |
1228 | Normal | Cross references for SftpPoller.qm don't work correctly |
1208 | Normal | Qorus may fail to start if services are being loaded into the DB at the same time as the internal service map is being initialized |
1197 | Normal | schema-tool -r fails on files with "\r\n" EOL markers |
1195 | Normal | errors setting up a service stream are not logged in the service log file |
1194 | Normal | job overview queries take excessively long to execute in large databases due to the lack of appropriate indexing |
1189 | Normal | There is no error message when a remote connection file cannot be loaded or has an invalid URL |
1181 | Normal | qorus-client.warn-deprecated-api : false does not apply to Qore and module APIs |
1180 | Normal | oload -F and make-release-F do not throw an error if a workflow refers to step functions not included in the release, therefore these options allow for incomplete releases to be created |
1162 | Low | qrest shows cryptic information for HTTP error responses which leads to confusion on the command line |
1159 | Low | oview does not display patch tags when displaying code and configuration objects |
1155 | Normal | RBAC permissions WORKFLOW-CONTROL and WORKFLOW-ORDER-CONTROL do not imply EDIT-WORKFLOW-DATA as originally designed |
1151 | Normal | oracle bindOracleCollection crashes when collection expects elements of any of date types and string is provided |
1139 | Normal | Don't display the modal detail window when clicking on workflow name in Step diagram |
1132 | Low | the job version is not being reported in STOPPED-JOB ongoing alerts when the job cannot be started due to an initialization error |
1103 | Normal | oload should not add out of date services to the validation list when validating dependencies |
1089 | Normal | the REST API returns the "sys" tag key in several places (workflow functions, jobs, library source) instead of folding system tags into the parent object |
1087 | Normal | specify the application of RBAC controls on all service calls using the omqservice variable in server code; also specify that all calls made with call_network_api*() are made with system permissions |
1078 | Normal | oload does not validate jobs or services when affected constant library objects are loaded due to a bug in the validation dependency logic in oload |
1076 | Normal | oload cannot list steps in the database; there is no way to see what steps are present in the system schema without starting the system and using the API or going directly to the DB by hand |
1075 | Normal | when loading a new version of a library object dependencies for reset are not calculated correctly |
1070 | Normal | oload cannot list user connections with the -L or –list options for offline user connection listing |
1069 | Normal | oload does not support server refreshes consistently; there is no way to load objects without attempting any server refresh (omqmap is always reloaded), also partial refreshes are not useful |
1068 | Normal | oload does not support deleting user connections; without this once a user connection is loaded it can never be deleted |
1037 | Low | the failure reason for failing to start workflows does not appear in the monitoring log file when workflows cannot be autostarted |
1035 | Normal | Sort service methods alphabetically |
1021 | High | the enabled status of synthetic groups for workflows, services, and jobs is not persistent and disappears on Qorus restarts |
988 | Urgent | it's not possible to log HTTP messages (headers & body) in Qorus which is required to debug HTTP-based interfaces (ex: SOAP) |
933 | Normal | when starting workflows that create error definitions for the first time, and a workflow error has been created offline by oload, the workflow cannot be started and throws a spurious exception |
904 | Low | update install.sh templates to not adjust the environment when not needed (ie qore / qorus / libqore /etc not installed in $OMQ_DIR/ ...) |
881 | High | the enabled status of synthetic groups for workflows, services, and jobs is not persistent and disappears on Qorus restarts |
863 | Low | empty remoteconnections files cause spurious errors in the monitoring log |
Issue ID | Description |
946 | class copy() methods cannot declare type "object" |
942 | SqlUtil::AbstractTable::update() fails with correct arguments |
940 | Qore::sort_descending_stable() reverses elements even when unnecessary |
934 | memory leak in Qore::SQL::DatasourcePool when an error occurs in the first connection during initialization |
915 | Comparison operators for numbers and floats do not handle @nan@ correctly |
908 | wrong result from pow(10n, 1000) |
906 | xml module: the WSDL module is setting an incorrect charset value in the HTTP header |
900 | the RestHandler module does not handle requests with multiple continuous / chars correctly |
899 | the RestClient module creates invalid paths when the request path is empty and there is a contextual base path |
891 | Segfault when redeclaring global hash variable |
859 | RestHandler should return a standard error response with unknown root subclass names |
855 | using the remove or delete operators with internal hash keys that do not exists incorrectly creates the hash keys |
852 | is_writable() does not return correct value in all cases (effective vs. all groups list) |
851 | format_number() gives invalid output when the number of decimals is 0 |
841 | when performing calls across a Program barrier, CALL-WITH-TYPE-ERRORS should only be thrown if the target program hosting the code does not allow the call |
839 | invalid handling of a 2 dimensional array with c++ new / delete [] causes a crash on FreeBSD with clang++ |
832 | mysql module: duplicate columns are not renamed to xxx_n |
831 | pgsql module: duplicate columns are not renamed |
830 | sybase module: duplicate columns must be rewritten with *_n |
828 | oracle module: columns are not renamed when selecting rows (single or multiple-row list format) |
822 | parse_url() returns an invalid result with ".." |
821 | http_get_url_from_bind() does not enclose IPv6 addresses in square brackets |
817 | object member references are treated as constant expressions at parse time which can lead to crashes |
813 | Util::normalize_dir_windows() does not handle UNC paths correctly |
811 | Windows timezone format problem |
796 | qdx does not support escapes in single-quoted strings correctly |
777 | it's not possible to escape an escape character before a $ sign in a regex substitution expression |
768 | error in SqlUtil updating indexes when there are no source constraints |
763 | socket connection refused errors not reported on Windows |
761 | glob() for windows omits the leading directory path when matching files |
734 | when sending a chunked response with AbstractHttpRequestHandler, send errors must be reported to the stream object for logging |
732 | an exception must be thrown when SSL_write() returns 0 when sending socket data |
714 | ssh2 module: socket event polling is implemented only with select(2) and no bounds checking is performed on the socket descriptor leading to a crash |
708 | SqlUtil generates invalid SQL for Oracle when columns are given and also the wildcard is given in a select |
691 | when sending streamed chunked data and there is an I/O error on a Socket but there is data to be read, abort the transfer and allow the data to be read |
689 | errors in socket operations in the HTTPClient and Socket classes are sometimes reported in the wrong method |
683 | assigning an lvalue with an int restriction does not result in a runtime exception when an incompatible type is assigned |
672 | example sqlutil tool does not work properly with databases other than oracle |
666 | the Dir class incorrectly normalizes UNC paths by stripping the leading backslash on Windows |
665 | glob() for windows does not return paths in sorted order by default |
664 | glob() for windows fails on "\*" or "/*" |
663 | xml module: the WSDL module does not accept en empty list as the value a complex types when the list element is optional |
660 | glob() for windows returns paths beginning with "." |
657 | SqlUtil::uop_lower() and SqlUtil::uop_upper() do not allow nesting |
653 | broken %exec-class with CRLF line endings |
645 | SqlUtil::join_inner() has a bug where the condition is ignored |
643 | the Dir class does not work properly on Windows |
636 | Subtraction of numbers cannot be assigned |
631 | Windows outputs 3 digits of exponent with *sprintf() e/g output which violates C99 |
630 | Precision of numbers is not handled correctly |
627 | I/O errors in reads in the ReadOnlyFile and File classes are silently ignored |
626 | Qore::TimeZone::constructor(string) is broken on Windows when used with an absolute path |
624 | SqlUtil::cop_seq() and SqlUtil::cop_seq_currval() are not implemented |
618 | parse_url() does not support Windows paths for file:// schemes |
616 | WebUtil::FileHandler can return a 204 No Content response with non-empty files |
610 | the Mapper module does not recognize "constant" tags assigned to a value that evaluates to boolean False |
591 | SQLStatement::describe() must grab the transaction lock |
590 | pgsql module: allow SQLStatement::describe() to work if result set information is available |
589 | oracle module: allow SQLStatement::describe() to work if result set information is available |
584 | Qore::Timezone::date(string) is broken and always returns a date in the current time zone instead of the time zone of the object |
583 | Coredump when wrong qore command is issued |
582 | hash update operators behave differently |
576 | HTTP_MESSAGE_RECEIVED socket event processing uses a hash in the event that is later modified causing a crash |
574 | Crash when a local variable is declared in a class member list |
571 | xml module: the SoapHandler module should return a usable URL in the address location for each service when returning WSDLs |
569 | HttpServer::parse_uri_query() implemented in HttpServerUtil should parse URI query strings without a key=value assuming key=True |
563 | sybase module: the freetds driver is sending strings with an extra space on the end |
561 | xml module: the WSDL module does not use element-specific namespace prefixes correctly when serializing SOAP data |
560 | xml module: the WSDL module may not resolve recursively-defined types with more than two levels of parent references correctly |
542 | sybase module: enforce the optimal-numbers option |
541 | mysql module: enforce the optimal-numbers option with values with trailing zeros after the decimal point to align with other drivers |
538 | namespace hierarchies are not indexed during parse time when added to already-committed namespaces which can lead to symbol resolution errors |
537 | oracle module: cached NTY info is used after a reconnect which causes OCI-21710 errors |
534 | still some numeric conversion issues with MySQL and TDS drivers |
530 | incorrect exception messages for HTTP chunked data errors in multithreaded contexts |
527 | recursive closures cause a memory leak |
524 | MysqlSqlUtil should require a size for the binary type |
523 | mysql module: binary types are not returned as binary objects but rather as strings |
522 | mysql module: time values need to be returned with a date component of 1970-01-01 instead of invalid 0000-00-00 |
521 | the documentation fails to build when none of the yaml, xml, or json binary modules is installed |
517 | SqlUtil::cop_count() does not allow other operators as its arguments |
512 | sybase module: decimal columns are returned with an excessively-high precision which causes comparisons with the original number to fail |
511 | cop_value(0) triggers a bug in column operator handling |
508 | Qore::ReadOnlyFile::readTextFile() and Qore::ReadOnlyFile::readBinaryFile() should return an empty object when reading empty files |
501 | the Schema module does not allow providing Database options when creating schemas |
500 | SqlUtil::op_in() operator function is broken when used with a single argument of 0 |
499 | SqlUtil does not support wildcards with join tables as documented |
494 | SqlUtil should allow for complex bind values required by some drivers to specify the types |
481 | Bitwise and logical operator precedence |
480 | lists not properly parsed |
476 | PgsqlSqlUtil does not compare types correctly because member types are not normalized |
470 | is_executable() returns NOTHING instead of False when called with non-existant path |
468 | xml module: the WSDL module does not always deserialize nil elements correctly |
465 | SQLStatement transaction lock errors |
457 | there are bugs converting relative date/time values to an integer |
455 | oracle module: the oracle module refuses to work with collections with size zero but this can be valid |
437 | relative date comparisons are incorrect |
434 | HTTPClient gets blocked waiting for empty string GET or POST response. |
421 | segfault on syntax error |
416 | identifiers in parenthesis used to dereference a hash or object are being interpreted as string literals instead of variable references as intended when used with %new-style |
415 | several basic PostgreSQL data types are not [correctly] supported in PgsqlSqlUtil |
408 | SqlUtil runs SQL with the AbstractTable lock held when generating upsert closures |
404 | the PgsqlSqlUtil module does not support the "varbit" type |
403 | mysql varbinary types are not supported correctly by MysqlSqlUtil |
393 | xml module: the WSDL module does not recognize the XSD namespace correctly when declared with the "xsd" prefix due to a bug in namespace prefix handling |
389 | the modulo operator is consistently misspelled as the modula operator |
388 | modulo of 2 literals fails with debugging builds |
386 | pgsql module: arbitrary-precision numeric values bound to numeric columns are bound with an incorrect scale value causing the digits behind the decimal place to be lost |
385 | the PgsqlSqlUtil module does not handle time columns correctly |
381 | update examples/test/qlib/Qorize/realWorldCase.qtest so that it can run if the xml module is not present |
380 | some on_error are not called when one of them throws |
374 | oracle module: retrieving number values in non-English locales causes numbers behind the decimal marker to be truncated |
373 | uuid module can't build |
365 | SqlUtil can generate invalid SQL with tables accessible through synonyms when used with join conditions |
355 | yaml module: plus and minus floating-point infinity values in canonically-serialized YAML strings are deserialized as 0 |
354 | yaml module: arbitrary-precision numeric values in canonically-serialized YAML strings are not deserialized with the correct precision |
343 | xml module: the WSDL module does not support "integer" types as unbounded integers |
341 | xml module: the WSDL module does not support SOAP operations with either an empty input or an empty output message |
336 | Qore::HashListIterator and <hash>::contextIterator() should iterate a simple hash as if each key were assigned to a one-element list |
333 | persistent connections are not managed properly in the HttpServer module |
330 | Relational operators with mixed types |
329 | the regex operator with "\</td>
<td>" and the global option makes an infinite loop |
320 | Lists nested in another lists |
318 | xml module: the WSDL module does not implement default namespace handling for unprefixed elements or types |
312 | sybase module: error messages sometimes have a trailing colon |
308 | there are typos in the HttpServer module in a logging statement so some HTTP errors are not logged proprely |
307 | xml module: the WSDL module cannot handle namespace prefixes temporarily overridden in schema definitions |
292 | the exec-class parse directive does not enforce checks for classes with unimplemented abstract methods |
271 | time components of absolute date/time values before the UNIX epoch are returned with invalid values |
270 | pgsql module: intervals retrieved from the DB are not justified for hours and minutes |
268 | pgsql module: CHAR columns are returned with invalid internal string sizes |
267 | pgsql module: fix retrieving numeric values that cannot be represented as an integer |
250 | Subtracting an absolute date from a relative date |
249 | date arithmetic does not normalize values between hour and minute values |
243 | Invalid relative date arithmetic |
242 | json module: typo in exception message for invalid JSON-RPC messages |
225 | the RestClient module will fail with an obscure error message if no serialization modules can be found |
223 | there are memory errors in managing Program feature lists as shown by valgrind |
217 | Qore::Program::importGlobalVariable() does not check the pending variable list for a variable with the same name which could lead to a memory leak |
216 | imported global variables are added to the pending list but to the committed index and so can cause memory errors if a parse rollback action is executed |
215 | inconsistent push operator behaviour |
186 | Non ASCII symbols in error message |
183 | Inconsistent naming in CsvAbstractIterator versus CsvUtil::AbstractCsvWriter |
168 | qore can set the wrong default zone offset for time zones |
161 | qdx does not convert Qore simple namespace definitions followed by a semicolon to a format understood by doxygen |
131 | sybase module: auto-reconnect is not working; once the server connection is interrupted the connection is no good until it's closed |
118 | json module: the JsonRpcHandler module throws a confusing error with invalid JSON-RPC requests |
117 | the RestClient module module is sometimes inserting multiple leading "/"s to the request URI |
98 | PgsqlSqlUtil does not report integer columns correctly |
97 | xml module: elements that are empty result in deserialization errors even if the element is supplied (and empty) |
89 | GetOpt::parse(list) can modify the read-only list argument resulting in a violation of call-by-value and copy-on-write semantics |
87 | xml module: the WSDL module cannot handle complexType definitions with a sequence of choice and element elements |
86 | xml module: the WSDL module does not handle multiple elements with the same name in different namespaces correctly |
85 | xml module: the WSDL module does not always resolve all complexTypes and elements correctly |
84 | xml module: the WSDL module does not handle simpleContent definitions in a complexType declaration |
83 | xml module: the WSDL module does not handle namespace prefixes defined directly in schema definitions if the schema is not imported |
82 | xml module: WSDLLib::getFile() can throw a confusing exception if passed a directory or empty file |
80 | Qore::ReadOnlyFile::readTextFile() and Qore::ReadOnlyFile::readBinaryFile() return no value (contrary to the declared return type) if a directory is passed |
73 | there is a memory leak when assigning a closure that captures "self" to an object member |
68 | oracle module: NUMBER with very large exponent value can lead to ORA-01406 |
62 | trim operator returns int? |
58 | the Qore parser allows for whitespace between operator characters like += (+ =), which doesn't make sense and makes it harder to parse correctly |
46 | calling HttpServer::addListener() with an integer argument causes a UNIX socket to be opened instead of a wildcard listener on the given port number |
45 | cannot refer to object members in base class constructor arguments even though members are initialized first |
44 | Memory leak concerning const closures |
42 | Unpredictable order of member initialization |
38 | Crash when referring to self during evaluation of member initializer of a closure |
37 | Memory leak if self used during member initialization |
36 | xml module: the WSDL module cannot handle WSDLs that use elements that refer to other elements (ref attribute) |
33 | Precedence of the comma operator |
32 | Assignment operator precedence |
30 | Inconsistent meaning of empty curly braces |
28 | Catch clause ignores variable type |
22 | qore build breaks with newer ssl due to missing EVP_sha() |
21 | xml module: the WSDL module cannot parse WSDLs with attribute definitions in complexType descriptions, furthermore these cannot be serialized or deserialized |
20 | xml module: the WSDL module fails to merge input namespace prefixes when importing external schema definitions |
19 | xml module: the WSDL module fails to parse wsdls with multiple schema imports |
18 | ssh2 module: SftpPoller keeps polling without sleep when files are not deleted. |
16 | there is a memory leak in the Program::parseRollback() call when there are pending unresolved global variables |
15 | call references to local non-static methods are not created with the current object contained in the reference; when the objects are used outside the class a crash occurs |
12 | there is a bug handling closure-bound local variables when closures are created in the background operator expression |
9 | while decompressing certain input, the bzip2 library can request a buffer size that cannot be handled by the bzip2 library which is not handled by qore and causes a crash |
4 | runtime exception are sometimes reported at the wrong source location |
2 | Qore blocks SIGCHLD by default on UNIX platforms which causes problems with system() and execvp() when waiting on child processes (or when children wait on grandchildren) |
1 | oracle module: selects with more columns with the same name can lead to data multiplication |