JSON reading - unicode null character should not be interpreted and decoded
Could not connect through HTTP to a Runtime located in some environments such as cloud environments
Could not connect through HTTP to a Runtime when using a complete path as hostname (such as "hostname.domain/with/some/additional/path" instead of only "hostname.domain")
Delivery Repository - HTTP Repository V2 - unable to invoke through web service a delivery coming from this type of repository
Delivery Repository - HTTP Repository V2 - defaultDeliveryPath parameter was not working
JMS Receive Message Process Action - JMSMessageID mask is not working properly in some situations such as in "Out File Pattern"
JSON Writing - some forbidden characters were unexpectedly not encoded in generated data
Process Actions - File Move and File Copy - Using "file drom dir" and "file to dir" without defining "includes" was not working anymore, producing errors such as "Specify at least one source--a file or a resource collection"
Restarting a session is sometime failing, making the session being stuck in PREPARED state
Restarting a session which is in error might not work properly, the restart is unexpectedly ignoring Actions under some circumstances
Scheduling a multi-configuration delivery with "command line" execution mode does not work, schedule is created but the execution does not start, throwing an error in Runtime
Temporary exchange files using XML format will now use XML 1.1 format to avoid issues with some special characters
When installing Runtime as windows service, jna_tmpdir option is not correctly generated in some situations, unexpectedly pointing to a user folder, which can lead to permission issues
XML writing - values were unexpectedly not written anymore on mapped key elements
Build delivery - The error message has been improved when building a delivery from an invalid package which misses some externalized attributes
Concat Files Process Action - when using append mode, a new additional parameter has been added to define if a separator should be placed or not between the concatenated files
Concat Files Process Action - new parameter to choose the order in which the files are processed
Designer Command Line utility - added a command to uberize the runtime
Internal change on how some libraries are built to ease maintenance
JSON writing - improve performances and memory usage in some situations
Possibility to specify the configuration when invoking a web service published as a multiconfiguration delivery
Scripting Context - allow using the "executeRemoteCommand" function with user and password parameters without having to define the last boolean parameter which is not used
Delivery Repositories - when no repository defined in the Runtime Configuration file (engineParameters.xml), the name of the default webservices repository created should be "webservices" instead of "wsdl"
Execute Delivery Process Action - the execution mode was unexpectedly not stored in log database when using "Deliv Memory Mode"
Execution session logs - "sess_last_tstamp" column was no longer updated during executions, possibly showing sessions with incorrect status in other tools until the session is terminated
File Management Process Actions - IND_SESSION_FILE_OP_LST table was created without explicit NULL clause in column definition, which could cause some issues with some databases and situations
File Move, File Copy, File Delete Process Actions - "Includes" and "Excludes" parameters were unexpectedly ignoring files masks which contain spaces characters in file name
Fix a typo on one of the error messages returned by the Process Action performing WSDL invocation
HTTP REST - An exception such as "Element content must be character data or well-formed tags" could be thrown at runtime if there was a parameter with the '$' (dollar) character in name
JSON - "Name selection pattern" attribute was unexpectedly not supporting the "|" character
REST Web Services Publication - Deliveries published as web services which have other Metadata Links as input / output than JSON Metadata Links were unexpectedly not generated in Swagger / OpenAPI3 definitions
REST Web Services Invocation - WSDL Metadata - when using JSON NodeLocalName Property field as output, the value was not decoded when starting with numeric character
Runtime commands - when running the "restart session
Scripting context methods (__ctx__) - when running a delivery on a Runtime secured with user / password, a "Credentials are required" exception was unexpectedly thrown when using the executeCommand method in a sub-session
Web Services Invocation - WSDL Metadata - Invocation using a Metadata Variable as repetition key was unexpectedly not working anymore
Execution session logs - "sess_last_tstamp" column was no longer updated during executions, possibly showing sessions with incorrect status in other tools until the session is terminated
Action / Scripting - Expressions syntax in metadata and at execution have been updated to be more clearer
XML and JSON Metadatas - The new Property Field named "nodeAbsolutePosition" has been added
XML and JSON Metadatas - The new Property Field named "nodeUUID" has been added
Execute delivery command - add support to execute delivery in standalone mode
File Driver - added support for column names with delimiter (double quotes) in queries
Runtime Log Database connection - addition of ability to disable the connection retry mechanism and improvement of performances
Runtime Configuration File - added a new parameter to define the recording mode of Session Logger: synch, asynch or synchFirstLog
"Error impossible to untyped data" might be thrown when writing into JSON structures
Invocation of Stambia Web Services - An "headers already sent" exception was unexpectedly raised when using an invalid module in used metadata
Runtime Delivery Repository - fixed issues with the cache storing loaded deliveries, which could cause performance issues
Runtime Security - when connecting to a Runtime via HTTP, the filtering defined in the Runtime configuration file (engineParameters.xml) via the 'allow address' node was ignored
Runtime configuration - Purge of sessions did not work with some databases when "logPurgeBatchSize" parameter was specified
Session Logs - some logs were missing on sub-processes executed in a loop
Abstract the way the Runtime is logging information to be able to provide other implementations and plugins in the future
Concate File Process Action - Possibility to define several masks in the "IN_FILE_MASK" parameter
Runtime commands - new "cipheringKey" parameter on the "encrypt" command allowing to choose the ciphering key to be used to encrypt the value
Runtime Session Logs - add of a dedicated and structured Session Logger
Runtime Session Logs - Support having no log database defined
SQL File Export Process Action - new value available for "generate header" parameter to allow indicating that the header should always be added (even in append mode)
Scheduler - ability to specify the name of a Runtime native load balancer (client.xml) as the hostname of a schedule, so that the schedule will be started on the load balancer
SCP Actions and SSH Metadata - Added a new "SSH Additional Connection Properties" parameter to define specific connection properties
Web Services Publication - additionally to existing swagger2 definition, an Open API 3 definition of the published web services is now exposed
File driver - when retrieving source file data in scripting through a bind using __ctx__.getSourceResultSet(), the file was getting locked even when the execution was finished
Process Actions - the session variable named "CORE_RET_CODE" that is published on Process Actions was not present when the Process Action was in a sub process
Runtime console was displaying an unnecessary line at startup about the path of some properties and libraries: this unnecessary line has been deleted
Runtime was going into an out of memory when executing with a log level prior to 400 a Mapping / Process which contains a loop
The jdbcAppender logger entry for the jdbc log file was missing in default log4j.xml file
Variable - Generation error when having in a Process an XSL Variable with the same name as a Metadata Variable
BigQuery Metadata - support Metadata Variable internal table creation
Email Metadata and Send Email Process Action - A new key/ value attribute is added on Outgoing Server to define extra connection properties
Various internal Runtime improvements
JSON data writing - When writing a null value in a JSON node while using "Nil Behaviour=ForceToTrue", the "nodeName" property field was ignored
Runtime execution - Fix of action execution not completing when using remote PostgreSQL as log database
Read email process action - When multiple received emails contained attachments with the same name, the attachments were overridden (only the last one was kept)
Runtime configuration file - Using a file external to engineParameters.xml for configuring repositories no longer worked
REST Web Services Publication - Runtime Endpoint 2 - "urlPartMapper" META-INF property was ignored on this endpoint
Scheduler jobs using the Execute Delivery Process Action failed when security enabled
Send Mail Action - Added a new "Mail content file encoding" parameter to define the encoding to use to read the content of the file specified by the "Mail content file" parameter
The Runtime configuration file was unexpectedly not supporting anymore using variables such as environment variables in Delivery Repositories
WSDL Metadata - Some composed content-types were no longer supported in wsdl metadata
Web services invocation with Wsdl - Fix of the conflict generated when user attributes had the same name as internal stambia attributes
Execute Delivery Process Action - new parameter to define from which Runtime repository the delivery should be executed
Process Actions - new mechanism to define the Module required to find the class of a Process Action, allowing to retrieve it automatically from Metadata for instance
Runtime commands - purge command now supports purging a session by specifying the session id
Runtime JSON internal deserialization supports repetition on other nodes than list
Runtime HTTP Delivery Repository - add option to set default delivery path
Runtime cyphering key - a new parameter "deliveryPasswordCipheringKeyName" is available to define the cyphering key to use for delivery password only. The previous parameter "passwordCipheringKeyName" is renamed by "globalPasswordCipheringKeyName"
Runtime commands - Added a new parameter "repository" on "execute delivery" command which allows to define the Runtime Repository from which the delivery will be executed
Runtime Delivery Repository - Improvements to the delivery repository system and configuration to be more flexible
Scripting context methods - addition of a new method which allows to specify Runtime credentials when using "executeRemoteCommands" method
Various improvements and fixes on Runtime binded prepared statements
Web Services invocation - addition of new attributes in Metadata and Templates to declare a Connection Timeout and a Read Timeout
Web Service authentication with OAuth2 - a new parameter named "Send Client Credentials" has been added to define how client id and client secret should be sent, with the support of a new mode to send them in Basic Auth header
Bind executions unexpectedly hang after 1000th iteration
Bean Scripting Process Action - improve the error message returned when trying to use __ctx__ context object within multiple bean scripting actions configured with "javascript" language and with the same "Scripting Connection", which is not supported
Concat Files Process Action - when using utf8 encoding, removal of footer was not working properly, the footer was only partially removed (some parts of the footer were still be present in target file)
Concat Files Process Action - defining the "IN FILE MASK" parameter from a bind variable coming from a previous action was unexpectedly throwing "NullPointerException" error
Execute Delivery Process Action does not find the delivery to be executed when executing with "Deliv Name" parameter on a remote Runtime
File Driver - Reading behaviour - "Trailing Fields" attribute is not working
File Export Process Action and File Driver - when having as source a column with "Timestamp with time zone" datatype, the value is not populating properly the target file, writing an empty or wrong value
File Driver - when writing files, decimal values are unexpectedly rounded to 3 decimals when no format is specified, even if the "decimal" attribute specifies a higher number of decimals
File Wait Process Action - "Wait File Includes" and "Wait File Excludes" parameters were not handling files mask with spaces characters
File Driver - when generating a file with string_content property field the encoding set on the Metadata is not taken into account
Load of database to XML - when an error happens while using the action which loads data from a database into XML using "streamhook" mode, the exception returned should only display the error and not the streamhook parameters
Runtime commands - fix some typo on messages returned by Runtime commands
REST Web services invocation: when an invocation was failing, JSON response was not correctly populating "Fault" part, which avoided to retrieve the error response into a target datastore
Runtime should not start when more than one web services Repository is defined in configuration file (Runtime can have only one web services repository enabled at once)
Runtime Delivery Repository - Executed and published deliveries were not found when no repository was set in Runtime Configuration File (engineParameters.xml)
Runtime commands - "remove trigger" command fails when it contains extra space characters at the end
Runtime Commands - the column "deliveryid" of the "format" option was always empty
Runtime commands - added a new column on the "format" option named %parentiter which returns same information as %parsentiter column which had a typo in the name
SCP Process Actions - an error was thrown when trying to retrieve a file at root directory, such as /file.txt
SQL File Export Process Action - when using a File Metadata on the action, an error such as the following was thrown: "Parameter 'default/SQLFileExport/SQL_EXP_JAVA_DRIVER' is null"
SOAP Web Services Invocation - invocation errors were not handled anymore, they were unexpectedly considered as successful invocations in some situations
Scripting context methods - compiler does not work and throws an error when trying to use inner classes
Scripting context methods - __ctx__.getModule(moduleName) method was not working
Scripting context methods - compiler is unable to find some classes which are in Runtime internal librarie
Scripint context methods - improve named objects and fix some issues
Scripting context methods - compiler does not work and throws an error if the Runtime is installed in a folder path in which there is space characters
Web Services invocation with WSDL Metadata - an error was thrown when an empty value was sent to "Sent Messages Folder" or "Received Messages Folder" parameters
Web Services invocation with WSDL Metadata - incorrect URL generated when using http:urlReplacement parameters on a source URL that already have a "?"
Web Services invocation with WSDL Metadata - when invoking a webservice from a Metadata having a fault node without name, errors such as "Local Name cannot be null" were unexpectedly thrown
XML writing - an error is unexpectedly thrown when having a comma in a comment: "malformed comment"
Zip Files Process Action - "Zip Includes" and "Zip Excludes" parameters unexpectedly ignore files which contain spaces characters in their name
startcommand.bat / startcommand.sh - the scripts were not working if the Runtime properties folder was externalized
Execute Delivery Process Action - variables passed to the sub delivery might not be set properly
No changes on Runtime in this version, only the related Designer contains fixes
HTTP REST Component includes too much libraries dependencies, which makes its plugin size larger than expected
Email Metadata and Read Email Process Action: on Incoming account, new attribute to provide additional key / value connection properties
Log Database and Scheduler Database: addition of the possibility to specify the module to be use to find necessary libraries when using custom databases
Load of XML Files into Database: support defining if a row separator should be added at the end of the file when extracting source data for dedicated loaders (support of rowSepOnLastRow property in XmlToJdbcActionCodeI action with fileExportProperties)
New Process Action "Raise Error" available to raise an error with a defined message
Process Actions: new advanced property "Semaphore Name" is available to synchronize actions between them
Runtime configuration: ability to specify keystore's key label to be used when securing Runtime endpoints
Runtime Log Database: at startup, the Runtime now waits for the log database to be available and retries to connect a certain amount of time before given up (The number of retries and delay being configurable in Runtime Configuration File)
Runtime Log Database: When the connection to the Log Database is lost or unavailable, the Runtime will now try to reconnect a certain amount of time before given up (The number of retries and delay being configurable in Runtime Configuration File)
Startdelivery.bat / startdelivery.sh: addition of a new option to specify the path to a session variable containing the code to be used for the Operating System Exit code which is returned
When executing from Designer or from an Execute Delivery Process Action, the initialization and the execution of the session are now performed in the same request (instead of two, avoiding issues with load balanced clusters)
A Process Parameter with an empty value is not substituted properly in some cases such as when being passed to Execute Delivery Process action
File Driver: when writing into a file from a source which does not return a datatype for a column, the file driver should write data as a string data, instead of writing an empty value
JDBC Process Actions (such as SQL Operation): when multiple actions are executed in parallel within the same transaction, erratic behaviors might happen (such as statistics being displayed on the wrong action, queries not being executed properly, ...)
Read Email Process Action: unable to read messages from a Microsoft Shared Mailbox
Send Email action: Mail content in HTML mode was not properly encoded when the system encoding was UTF-8 and an attachment was sent
Statistics were not generated on a sub-process with a name containing double quotes
SQL To Parameters Process Action: improvement of the error message when Type attribute is not defined
Web services publication: anonymous user can unexpectedly execute web services even if the anonymous user does not have execute permission
buildDelivery command line utility - default value of Metadata was not generated properly in the delivery in some situations
startcommand.bat / startcommand.sh scripts: return code was incorrect if the delivery did not exist when executing a Start Delevery command, or if the connection to a runtime failed
Execute Delivery Process Action: new parameter "Deliv Async Ignore Error" to specify if the action should end or not with error if one of the asynchronous execution fails
File driver: support defining an escape character when reading files
File Driver: add the ability to use apply string delimiter on all fields no matter the field value or datatype
New dedicated HTTP Rest Metadata to design and perform REST API operations
Runtime commands: addition of a new format column named '%exception' to retrieve the complete exception on related commands
XSLT Transformation Process Action: support specifying an output directory instead of an output file through a new parameter "Output directory", which allows splitting one file into multiple ones for instance
Execute Delivery Process Action: when using asynchronous mode on an action which is not the target of a bind, the action unexpectedly ends without waiting the child sessions to finish, no matter the value of "Deliv Wait All Sessions" parameter
Excel driver: 'OutOfMemoryException' error is thrown when trying to write large sets of data
File Driver: when writing a file, the string delimiter character is not escaped properly if it is found in source data
Google Sheets and Excel Components: improve some error messages
Runtime RMI connection: an error message should be displayed when there are authentication issues when trying to connect
Runtime unexpectedly starts successfully when securing endpoints with a keystore which does not contain the necessary keys
Runtime log file: REST Endpoints V2 and V3 were not mentioned in startup sequence
Runtime Log Database: missing parameter in DB2 Log Database configuration sample, which leads to issues when trying to delete sessions
Sessions View: add a warning message when trying to do a purge while being connected with a user without permission to purge
Session variables were not resolved when being used within an action which contains special characters such as ?, #, and more...
Some typos in the log files have been fixed
Web Services Invocation: unable to stop a session which is performing an HTTP REST invocation
Support delivery pulling for deliveries published as web service on Analytics 3 repositories
Execute Delivery Process Action: java.lang.NullPointerException may be thrown in some situations when the Runtime has not executed sessions for some time
Execute Delivery command: when executing from command line a delivery through 'synch' option, an 'error during waiting delivery' is unexpectedly thrown if the given delivery has the 'nbmaxParallelsession' property specified in the Process meta-inf
Schedules launched with 'command' mode are not using configuration declared in STAMBIA_PROPERTIES_LOCATION environment variable
Schedules list is empty when Runtime is accessed through HTTP from Navigator View
Scheduler: migration of Scheduler database from S19 to S20 is not working properly, a java.lang.reflect.InvocationTargetException exception is thrown
Unable to execute multi-configuration deliveries
Unable to use file driver when Runtime connection pooling is enabled, exception messages such as 'isValid() returned false' are thrown
ODBC: unable to execute Mappings / Processes which are using ODBC because exceptions are thrown at execution (such as "java.lang.UnsupportedOperationException" or "java.sql.SQLException: No suitable driver")
Runtime as Windows service: installEngineAsService.bat now supports java 11
Web services invocation and reverse: support NTLM authentication
Excel Driver: when using truncate option on large Excel files a "Java Heap Space error" is unexpectedly thrown
Runtime database connection pooling: when connection pooling is enabled, there might be errors at execution when the Runtime tries using a connection which is not valid anymore (such as when the database is restarted after the connection has been created)
SQL File Export Process Action: string delimiter is not correctly doubled when already doubled in source data
SOAP Web Services Publication - standard soap endpoint is now properly published on "wsi" endpoint
SOAP Web Services Publication - non wsi-compliant soap endpoint is now properly published on "nonwsi" endpoint instead of root endpoint
Default class loading in intvariables.sh is now Stambia classloading
Delivery pulling from Analytics 3.x is now supported
Jython Scripting: ability to configure the Runtime to use a custom Jython version
JdbcToXml action: support overriding parameters values through a dedicated key / value parameter
Module feature has been added to manage all libraries
New Process Action "Execute FTP Command"
Runtime RMIS communication: ability to specify a custom certificate, which is now a mandatory step to be able to use RMIS
Runtime RMI / RMIS communication: when connecting to a Runtime through RMI / RMIS, it is now possible to specify the protocol "rmi://" or "rmis://" in the hostname connection properties
Runtime RMIS communication: embedded certificate used for RMIS has been removed
Runtime is now logging session execution information in log database in real time based on the loglevel defined, replacing the insert / delete mechanism
Support Java 11 and higher
Jython Scripting Action: unable to use JDBC Drivers in Jython scripts
Runtime scheduler: when scheduling a delivery in “command” mode the session name is truncated when it contains whitespace characters
When writing JSON / XML files using the sort order feature, the generated queries are unexpectedly using a "non-breaking space" character which can cause issues with some databases
When an error occurs while executing a Runtime command, the error is only returned as a text message in the output instead of being thrown and considered as a real error