03.04.2025 12:00:00 Version 4.6.13 Notes: *** This version contains all tickets of 4.6.13-BETA plus these additional bug fixes and minor improvements *** Bugs: #42941 - Fix, DataCockpit: deletes blank/space character #43169 - Fix, Filter starts-with(a, b, [c]): always returns false without parameter c set #42735 - Fix, license: wrong expiry date being used for particular services when creating an emergency license #42917 - Fix, phase 3: fixed a bug in tree-creation where _val- and _attr-fields ended up with a wrong naming scheme #42956 - Fix, redis interop: profile number range access problems after a restart of redis #43165 - Fix, SAP: fixed NullPointerException #43125 - Fix, SchematronPreParser: fixed NullPointerException #43192 - Fix, SchematronPreParser: bug while reading "schematron.xsl.dependencies.path" property #43181 - Fix, SQL Cron: fixed NullPointerException when creating source structure from config file #43158 - Fix, Update-Center: when beta version is available no other version, below beta, will be displayed #43099 - Improvement, AMQP: added quality of service to AMQP 1.0 queue (and only queue) consumer #43142 - Improvement, AS4: added language file entries for AS4 based commlog type #43039 - Improvement, phase 5: XMLNoTemplate Unit added a configuration that allows to control if fields containing the namespace-URI should be created Misc: #42547 - Phase 3, templates: added templates for ZUGFerD and X-Rechnung #43206 - SchematronPreParser: better logging to get more info if any error occurs #42953 - Fix, Cloudstorage: using wrong time format to parse date for Dropbox files #43199 - ETL updated to 1.5.4 including several fixes 06.03.2025 12:00:00 Version 4.6.13-BETA Notes: This is a BETA release: should only be deployed on test systems. To update via Update-Center please enable checkbox "Allow beta versions" there. Bugs: #42818 - Fix, AS2Service now checks if the data storage directory can be used for data storage and gives a meaningful error message if not #42590 - Fix, Added check to prevent a rare null pointer exception on login #42860 - Fix, Admin Console: double download when downloading SQL results #42803 - Fix, Admin Console: set correct URL to online documentation #42743 - Fix, Certbothandler: ending in an endless loop if a considerably larger number is configured for `daysBeforeExpireRefresh` #43103 - Fix, Channel FTP/SFTP, SSH set default values for remote password #42729 - Fix, CharsetAwareEDICreationUnit: calculation field at start of segment results in invalid structure #43140 - Fix, CloudStorage requests are not send via DMZ #42945 - Fix, Commlog: CSV export did not include message-id #42730 - Fix, Content-Inspector: Sunday can now be chosen for exceptions #42816 - Fix, Control Center: "Restart with other profile" in error view works correctly now #42809 - Fix, DBConfig Presets: line break on tooltips was not displayed correctly #42758 - Fix, DataFlow: incorrect display of workflows called via custom response #42770 - Fix, HTTP Server no longer fall back to default certificates if a particular certificate has been configured using cert-id and that particular certificate's algorithm didn't fit with the one requested #42761 - Fix, HTTP-cron-agent: missing Content-Length header #43077 - Fix, Http Requests to "/dw/Request" results into NullPointerException #42905 - Fix, Http channel: channel test for refresh-token failed if token hasn't expired #43057 - Fix, Http-Channel: typo in refresh url pasword -> password #42904 - Fix, InsightCreator: internal SQL statement to generate Insight-Data did not work properly on some DBs #42893 - Fix, JSON IU: prevent 'null' output if root node is transparent and top level element is anonymous #43086 - Fix, JSON Splitter: added parameter to split on root array #42863 - Fix, Kafka: offset commit interval not working correctly #43006 - Fix, MQTT/AMQP: password field did not resolve constants #42977 - Fix, NullPointerException: unexpected behaviour when profile selection, based on SAP type, is not set properly #43053 - Fix, OAuth2 using grant type with json fixed bug to also send password #42760 - Fix, OpenApi: consistent API generation when using "Custom Class" #42784 - Fix, Phase 1, FTP-cron: download of files was stopped too early if max batch sizes are set and the download directory contained subdirectories #43041 - Fix, Swagger rendered with wrong encoding #42738 - Fix, Transportmanager: incorrect count of maximum allowed workflows #42785 - Fix, TreeToTemplate export (Lobster-internal only class) lost namespace definitions when creating a template out of a destination tree #43025 - Fix, access to cloud storage lead to a NullPointerException in some very specific circumstances #42795 - Fix, aggregate function can not be used on xml attributes #42984 - Fix, corner case, errors occurring with some startup.xml configurations if emergency license mails are attempted to be sent on startup. #42615 - Fix, correct var_sys_filepath on an ssh event on load balance systems #42779 - Fix, cron-SQL-agent: statements using "with ... select"-syntax lead to an error #42997 - Fix, custom class CallProfile: now works correctly #42709 - Fix, direct call triggered file-cron profile receives VAR_SYS_FILE_PATH of previous profile #42737 - Fix, function references in workflow are updated incorrectly #42856 - Fix, load balance: WN now correctly forwards kept CI messages to new NC #42873 - Fix, logs overview: logs need to be filtered by current client when using the extended search #42686 - Fix, macros in EnvironmentCheck were not exported/transported #42969 - Fix, phase 2: JSONParser NPE in corner case #42800 - Fix, phase 3: NPE if mapping plan has no name for source and destination nodes #36143 - Fix, phase 3: correct preview of list entries #42845 - Fix, phase 3: display issue with level-spacers in mapping tree #42865 - Fix, phase 3: mapping documentation link not working correctly #42883 - Fix, phase 3: preserve input and output tree while creating structure via sample file #42636 - Fix, phase 3: trim list/map/var preview values from right to left #42964 - Fix, phase 5: changes aren't saved in intermediate version of the profile #42817 - Fix, phase 6: NPE in response route due to non-existent channel in profile #42648 - Fix, rare corner case of NPE during FTP communication between DMZ and inner system in a SOCKS proxy setup #42857 - Fix, remove profile values from storage service when profile is deleted #42901 - Fix, removed trimming of file name containing dots; trims file suffix instead #42751 - Fix, unresolved iDocs saved with the same filename get merged into an invalid iDoc if files arrived with less than 1 millisecond delta #42975 - Improved, ZUGFerD-PDF: attachment export, PreParser now better recognizes the used filename #42902 - Improvement, BackupResponse: name for input file, if not set, is now changed from "n.a." to "input.txt" #42920 - Improvement, CloudStorage: better memory handling of CloudStorage response #42867 - Improvement, CronFtp via DMZ: now takes sorting settings into account when having set a max batch size #42698 - Improvement, SQL plugin and Admin Console: syntax now properly supports multi-line comments #42995 - Improvement, TreeToTemplate utility class: Support for loading of templates for XML-structures #42792 - Improvement, XSD import with better support of namespace definitions in source and destination trees #42913 - Improvement, XSD import: XSDs using a default namespace are now imported as such and no longer receive an "ns0" namespace prefix #42884 - Improvement, added timeout for SQL-wizard when displaying tables #42771 - Improvement, client secret in OAuth should not be limited to 250 characters #43031 - Improvement, cloud storage azure file/BLOB, new property for setting REST version #42846 - Improvement, phase 2: added support for multi-layer arrays using JSONParser #42911 - Improvement, templates: added warning when attempting to save new template-file to an already-existing name #42955 - Improvement, user permissions: regarding access to profile logging configuration #43075 - Jobs per profile: Context menu no longer offers file operations if sensitive input/output data is active and user has no admin rights #43022 - Prevent possible corruption of X.400 passwords if a systems starts with a non-fitting authkeys.dat. #43021 - XmlParseXml can now handle BOM Features: #42858 - AS4: allow the use of Holodeck 7.0 as underlying AS4-server, added support to get the original filename of received attachments if the sending side provides them #42780 - Added new grant type Authorization flow code to Http Channel #41826 - ETL: offer data format Parquet for input and output #42990 - Insight Data: Count number of ETL Jobs (DATA-42990) #43034 - MongoDB: added adjustable batch size for input agent #43094 - New PostExecutor to re-encode; input and output encoding specifiable #42606 - New PostExecutor to render HTML as PDF #42740 - New custom class, MongoDBMacroListener: add support for MongoDB change streaming events #42897 - Own Class - Inform via mail if files are older than 24hrs on DMZ #42924 - Own certs/keys: added the support for Ed25519 when exporting key in OpenSSH format #42640 - Phase 1, AMQP: add 0.9.1 basic properties to profile metadata as MSG_CALL-variables #42020 - Phase 1, FTP: keep fetched file if following delete or rename command failed OS-wise #41975 - Phase 1, HTTP: mandatory request parameters now allow multiple values #42611 - Phase 1, SSH: implement global connection limit to deal with non-terminating client connections #42514 - Phase 2, DynamicCharsetRecodePreParser: extend dynamic behaviour to utilise variables #42678 - Phase 3, BasicCreateJWT function: creation of complex JSON payload now possible #43003 - Phase 3, function "call as400": can now be configured to return multiple response values #42653 - Phase 3, macros: it is now possible to expose macro functions via REST API #42676 - Phase 3, new function 'get sql column names(a,b,c,d,e)': retrieve SQL column names of a SQL statement #43015 - Phase 3, new function 'replace text(a,b)': is able to leverage key-value placeholder substitution #41549 - Phase 3,4: auto-generated key columns are now available #42402 - Phase 3: Add JSON schema export/import option #42635 - Phase 3: added file export for mapping test logs #42652 - Phase 3: new functions to convert content of map or list to JSON: 'convert map to JSON(a,b,c)' and 'convert list to JSON(a,b,c)' #42756 - Phase 3: set field data type to string when pasting fields with field name as fix value #43033 - Phase 5, TemplateUnit: new option to use TemplateUnit without file operations #41986 - Profile import, default now: no overwrite of old config files #42656 - QuickReport: added profile-view and edit-links #42706 - QuickReport: added profile documentation URL #42749 - QuickReport: profile id is now included #43035 - SAP PI Importer: new functions: MathSign, StringFormatNumber and BasicCompare #42813 - Support for import of WOYB mapping files #42732 - Workflow: function view now adapts to windows size #42831 - additional parameter for function "http" / "http-json-lookup" to disable redirects Tasks: #42886 - Insight Data: added track of PreParser, PostExecutor & EnvironmentCheck classes #42641 - Phase 1, HTTP cron: PUT is now able to send requests without body #42734 - Phase 1, SQL cron: MSG_CALL variables are now initialized with default values if not passed to profile #42939 - Phase 1, mail: add all Received-header-data into a new variable VAR_SYS_MAIL_HEADER_RECEIVED_ALLB64 as comma-separated, base64-encoded data #42752 - Phase 2, JSON parser: improve floating point parsing Usability: #42605 - Channel (SSH/FTP): White and Blacklist IP is not all visible #42626 - Phase 3: improve icon tooltip for nodes Misc: #42943 - CI: improve creation of file names after splitting/merging data #42766 - Insight Data: ensure that Insight Data is sent at least once a week #42787 - Phase 1, HTTP cron: add placeholder 'http(s)://' in URL text field 30.10.2024 12:00:00 Version 4.6.12 This version contains all tickets of 4.6.12-BETA plus additional bug fixes and minor improvements Notes: setMaxMessageSize in startup.xml now only allows values up to (including) 2,097,151 kiB as limit. If a larger value is set it lead to the deactivation of the max size check, except when downloading files via FTP where all files (independent of their size) were rejected. With this patch, attempts to set larger values will lead to a failure during startup. Please check your setting and adjust it to a working value, accordingly. PrintCustomResponse is now deprecated: As many issues with printer connections are typically caused by configuration issues in the driver or operating system, Lobster_data is unable to provide support. Consequently, we have decided to discontinue support for this class. However, existing processes will not be affected and will continue to function in the future. Additionally, many printers already support various protocols, such as FTP or SMB, and can accept jobs via these. MongoDB: Updated and compiled MongoDB support using latest version 5.1.1 - will not work with older version 4.x drivers Phase 3 performance updates: the initial loading of the mapping structure has been optimized, significantly improving performance, especially for large source or destination trees. Bugs: #42660 - Phase 1 (Cron:SQL): fixed possible NullPointerException in MultipleSqlCron #42639 - Phase 3 (Mapping Test): IU preview switches to wrong encoding #42665 - Phase 6 (Message): don't fill queue context and name if profile does not belong to the same client #42687 - Profile: Fixed File name containing Job*** is changed to JOB*** #42696 - SQLBulkUnit: Salesforce Bulk Unit doesn't work with the new driver version #42673 - Dashboard: Graph does not refresh after changing from node controller to working node #42634 - Channel (HTTP): empty OAuth2 Access Refresh Token #42481 - Swagger: Wrong comma when using "enum" by setting allowed attribute #42663 - Cloud Storage Cron Legacy Connection: Deletion of processed file fails #42695 - Cloud Storage Cron: File Pattern does not apply on literal file name (AwsS3Storage) #42642 - Preparser: EncodingByBomOrXmlPreParser to refer to XML Header #42248 - Fixed fetching of config for session manager #42570 - Hide container scrollbar and centering fix for diagrams Features: #42523 - ETL: support JSONLines in data source JSON #42657 - Macros: offer copy/paste of functions #42618 - Crypto: Added support for the new OpenSSH export format #42667 - Channels: Show the number of channels / filtered channels in the channel overview footer #37850 - Support for ZUGFeRD 2.2 #42475 - HttpClient: configurable CookieSpec behavior when using "lobster_cookiespec" header Misc: #42674 - TCP: optimize getting job count on queue #42533 - Client side optimization in visualization of large trees #42714 - CData: Added Workday JDBC Driver to Business Connector Overview Removed vtd (xml) debug terminal messages ETL: file preview encoding fix ETL: omit line break auto append for templates without velocity engine ETL: fixed potential ClassCastException from Json parser & fixed '..' extract variables feature used by UI. ETL: fixed field prefix wrapping for generated SQL statements 24.09.2024 12:00:00 Version 4.6.12-BETA Notes: This is a BETA release: should only be deployed on test systems. To update via Update-Center please enable checkbox "Allow beta versions" there. setMaxMessageSize in startup.xml now only allows values up to (including) 2,097,151 kiB as limit. If a larger value is set it lead to the deactivation of the max size check, except when downloading files via FTP where all files (independent of their size) were rejected. With this patch, attempts to set larger values will lead to a failure during startup. Please check your setting and adjust it to a working value, accordingly. PrintCustomResponse is now deprecated: As many issues with printer connections are typically caused by configuration issues in the driver or operating system, Lobster_data is unable to provide support. Consequently, we have decided to discontinue support for this class. However, existing processes will not be affected and will continue to function in the future.Additionally, many printers already support various protocols, such as FTP or SMB, and can accept jobs via these. MongoDB: Updated and compiled MongoDB support using latest version 5.1.1 - will not work with older version 4.x drivers Phase 3 performance updates: the initial loading of the mapping structure has been optimized, significantly improving performance, especially for large source or destination trees. Bugs: #42095 - Modules: refresh entries before drag & drop in different group to avoid cache problems #41972 - Logs: system logging tab should not initially be visible when you don't have the permission #42184 - Jobs per profile: Context menu does not appear #41994 - Suspend table check requires a dw_log_fields table on the hub database even if log db is defined #42003 - AMQP: importing AMQP Profile created in 4.1.0 to 4.6.10 is not compatible #42063 - SAP: ability to use Idoc templates when only being connected to a SAP system #42209 - TCP: unable to add multiple TCP/IP clients with same port #41971 - Databases: show all database aliases regardless of client limitations #42522 - Databases: fixed bug leading to the truncation of micro- and nanoseconds #42069 - TestCaseManager: stop testcases when license expires #42331 - GoogleCloudStorage: Root Objects Not Accessible #42508 - Cloud Storage Cron: variable VAR_SYS_FILE_PATH contains only path fragment -> VAR_SYS_FILE_PATH contains just the path of directories, without the final file name. The file name is available via VAR_FILENAME #42500 - Modules: check group existence before moving via drag & drop #42067 - Phase 1 (Cron:HTTP): preceding plus char is appended for every query parameter if url encoding is enabled #42124 - Phase 1 (Cron:SQL): select statements with join condition(s) are truncated for creating tree #41010 - Phase 1 (OPC UA): Subscription settings are not saved if only IoT client has been activated #42202 - Phase 3: function "send mail" ran into an exception when logging filter messages and trying to send a mail using default configuration #42356 - Phase 3: function "delete-file-or-directory" didn't delete files containing particular characters #41996 - Phase 3: function "abort job and schedule again after x seconds" should not reset timer on server restart #42518 - Phase 3: function "http" cuts mime-type (parameter f) when using own media-type #42490 - Phase 3: test files are sorted incorrectly in the restart dialog box #41584 - Phase 6 (OFTP via DMZ): fixed effect leading to empty dw_... directories after successful sending attempts #42515 - ASM: check directory in files view (IndexOutOfBoundsException) #42567 - ETL: not all possible fields are offered in GUI if a complex SQL statement is used #42249 - Don't show EDIFACT-templates when trying to load Tradacoms templates #42246 - Possible reset of permanent ids on startup if hub database becomes available mid startup #42614 - Update-Service: incorrectly distributed _pro_dmz patch #42284 - Plugins (SQL Console): timeout in SQL Console do not work #42536 - Plugins (SQL Console): select statement is being executed as update in SQL Console when certain white spaces are used #39689 - Expired certificates: exclude "let's encrypt" certificates in home view and pinboard (fixed) #42203 - setMaxMessageSize only supported values up to ca. 2 GB but allowed higher values to be set essentially leading to the deactivation of that function #42486 - Variable AMQP_Type is not passed to JMS header #42488 - ContentInspection: Index out of bound exception if merge class does skip all files #42578 - ExcelWithHeaderUnit: Invalid column index exception when a series of empty rows is created #42584 - dw_log_fields entries are not replicated to DataCockpit (using a SQL database) #42598 - Some function extends from wrong super class and therefor are shown in DataFlow diagram #42579 - FTP-client operations: Fixed issue with TLS session resumptions when SNI is used when communicating with particular FTP-servers #42591 - OPC/UA: fixed NullPointerException in IoT-filter when trying to access fields as folder #42316 - OPC/UA (client configuration): omit the username and password in the XML when saving the configuration with empty fields #42513 - Semantic check: Iterations of a node does not work #41680 - Channel (HTTP): refresh token fix exception (NPE) #42243 - Update-Center: login waits until patch request #42407 - Adjust background http requests from www.lobster-world.com to prevent unnecessary loading time #42106 - [DataCockpit] SSO: login doesn't redirect correctly #42222 - [DataCockpit] Roles overwriting user right "May see all profiles of selected client" Features: #38079 - Phase 1 (Cron:DB): possibility to adjust timeout for test sql #42086 - Phase 1 (Http): optional response with empty payload #42001 - Phase 3: function "decode base64" got a new parameter to configure the behavior in case of a decoding error #42064 - Phase 3: function 'extract xml" got a new parameter allowing to specify a map containing namespace definitions #42464 - Phase 3: new function 'perform MongoDB operation' #42420 - Phase 3: new function to set status message of a running profile during phase 3 #42074 - Phase 3: offer search & replace of namespaces #41885 - Phase 3: create structure from clipboard (enter text manually) #41596 - Phase 6: SignXMLPostExecutor can now be configured in order to change signature algorithm, type, etc. #42549 - SignXMLPostExecutor and XMLNoTemplateUnit now support more signature algorithms and key types #42450 - New custom response 'MongoDBResponse' #41993 - New system function to replicate a file on a load balance environment #42296 - Expert Search (Profile): add option to search for profile changes (history notes) #42201 - New PreParser for the validation of an xml against an xsd #41862 - Schematron validation preparser #42482 - Show macro Id in Macro management view #41791 - TestCaseManager: add shorter time periods for TestCase deletion #42026 - CloudStorage Azure File: NPE when accessing file in root folder #42010 - JSON IU: offer NoUnicodeEscapingTransformer to prevent replacing chars with unicode #41600 - Extend Mapping Plan for repetitive Edifact data elements #41540 - Update-Center: Download each CData driver individually #41655 - Swagger-/OpenAPI: Interface description responses #42481 - Swagger-/OpenAPI: Data type additional allowed attribut "enum" #41567 - SQL assistant: select views from database #42275 - New report about (un)used channels #41707 - Constants: include statements and config files for constant usage report and offer preselection in const overview #42268 - Offer permanent profile values in sql, mongo & http cron settings #42302 - CryptoTools: Added support for the import of binary PKCS#8 encrypted private keys (.epk-files) #42325 - Offer sql timeout for basic SQL and business connector SQL #42337 - GeneratePdfPostExecuter now supports ZPL as report type. In order to actually be able to use this, an additional library in addition to Jasper reports is required. #42394 - SshService: Implemented workaround to ensure shutdown of network connection with some versions of the SSH-Library #41799 - FtpService: Allow commands PBSZ and PROT to be issued before authentication #42457 - TemplateParserUnit: ability to offer more encoding than ISO-8859-1 #42484 - Support of 'abort all execution exception' during 'check environment phase' #42581 - Retrieval of SSH-server-keys could end up in a NullPointerException if the connection ran into a particular error #42501 - ErrorRetrieveCron: Class lists only the first error of a job #42442 - Optional new limit for max. records of a profile #42475 - HttpClient: configurable CookiePec behavior #42016 - Workflow: show job number in workflow log and the workflow name in triggered profile job log #42293 - Support ZIP files in "Import CSR" file upload Usability: #42580 - Cron Connectors: Improve usability by adding link to tutorial #41883 - Phase 3: open in new browser tab possible with mouse over icon on the context menu item #42147 - Phase 3: improved handling of field assignment when mapping source to target structure (larger drop zone) #42533 - Phase 3: performance improvement of mapping trees for large structures #42146 - Phase 6: optimize width of response unit window #41727 - ASM: tooltip for base dir requirements when using load balance #41886 - Display checkbox "via DMZ" only when configured #40035 - Automated search in restart job dialog when user settings have "auto search" enabled #41891 - TransportManager: menu items in navigation should be disabled without a valid connection to remote server #42541 - CertificateExchange: change grid column name "Error Text" to "Info text" #42554 - Partner channel: Context based help within specific channel types #42571 - Channels (HTTP): Tooltip for "Use preemptive login" checkbox Misc: #42407 - Adjust background http requests from www.lobster-world.com to api.lobster-world.com #41363 - Phase 0: change default encoding from 8859-1 to UTF-8 for JSON and XML (include identical value ISO-8859-1) #41992 - Phase 1: reset field "Start on IS only" (factory name) on non load balance systems #41973 - View passwords in the channel settings as a non-administrator #42168 - Added EDIFACT templates for 88.1, 90.1, 90.2, 91.1, 91.2, 92.1, 93.2 #42358 - HTTP Server: Update Jetty library to 10.0.24 #41940 - SSH Service: Update SSH library to 1.7.59 #42250 - FtpServer and Monitoring: Avoid log flooding by shortening messages if the error is occurred by a bad behaving monitoring system #42248 - Added timeout for ClientSession based on Vaadin heartbeats #42487 - Statistics overview: tooltip for time in ms #42516 - Increase initial 'valid until' value to 50 years #42519 - Remove paper plane icon due to similarity to Telegram icon #42534 - Expert search: support for searching mails in cc/bcc #42526 - Fixed possible memory leak in main view #42301 - Fixed a problem in BouncyCastle leading to the effect that TLS-Server were ignoring EC-based keys for the handshake #41978 - Workflow: sync-triggered jobs are not shown by its job# in the Jobs overview #42381 - [DataCockpit] Documentation for using cookies ETL: Fixed clipboard lookup Char replacement for prefix text ("." to "_") when adding profile to source tree Added additional info to Insight _data Language fixes 07.06.2024 12:00:00 Version 4.6.11 Bugs: #41871 - Profiles: deleting variable can cause faulty renaming in used references #41904 - Phase 0: HTML mail text in Checkpoints is not visible #41833 - Entries closed via browser tab remain locked (depends on browser) #41941 - Menu: no results when searching for "Transport Manager" #41878 - No longer ignore file changes for a set interval time because it's not expected in e.g. _data, leading to effects when cached files changes on the file system #41889 - Oauth2: send 'Client credentials' in Header does not work with DMZ #41907 - SMB-Problem: faulty check for duplicate mount points #41888 - DatabaseRules: Error while calling oracle stored procedures #41844 - System Variable MSG_CALL_HTTP_PATH_DATA: faulty behaviour since 4.6.10 #41906 - User rights: users without administration right can view partner certificates view #41768 - Plugins: Test XPath does not resolve function #41790 - TestCaseManager: last run value disappears in grid after filtering #41875 - ETL: prevent DirectoryMonitor threads from starting in ETL mapper #41669 - DataFlow: accessing diagram tab in read only access locks all used entries to accessing user Usability: #41812 - Move button "Import certificate" to the top #41894 - Partners/Channels: change SSH icon to prevent mixup with expand/collapse icon in tree #41880 - LobsterUpgrade: shorten tooltip help texts Misc: #41887 - Logs: Add comment to Errorlog #37614 - Improve Autonumber-System-Wide Behaviour on LB-Failover #41860 - (S)FTP: Log Session ID for inbound messages Profile default validity set to 50 years [DataCockpit] Start process: max allowed file upload set to count of 50 Translation fixes Notes: Since version 4.6.10, there has been a change that affects the MountManager under Linux. Shares are no longer internally mounted as: "IS/mnt/ip_address/share_name" but as "IS/mnt/ip_address/hash_value" Please note: the internal mounted shares should not be referenced directly and are subject to change in the future 22.05.2024 12:00:00 Version 4.6.10 Bugs: #41476 - Profiles: remove unnecessary warning message for unsaved profile (edge cases) #41355 - Phase 0 (General Data): information in history is incorrect when profile is transported with input agent and response settings #41286 - Phase 1 (Cron:HTTP): NullPointerException on request from wsdl #40832 - Phase 1 (HTTP): adjust unnecessary slash handling in "URL address suffix" and "API variables" #41272 - Phase 3: function "send mail" now supports smtpes and uses the channel's protocol if not specified otherwise by parameter #41560 - Phase 3: function "send mail" now supports OAuth2-authentication #41320 - Phase 3: fixed milliseconds smaller than 100 being formatted incorrectly #41340 - Phase 3: incorrect behavior when loading test data initially after new node creation #41546 - Phase 3 (Test Mapping): no notification, when an error occurs during filling input tree #41459 - Phase 3 (Test Mapping): mapping test automatically uses test data that was previously used to display test data in the source structure when running a mapping test with file selection in a new window #41585 - Phase 3 (Batch processing): fill character for non numerical values does not support space #41104 - Phase 5 (X12 Parsing): Fixed bug in parser in immediate-check-mode leading to min-max-errors #41762 - Phase 5: Xml-IUs with XML signature: When using SHA-384 as algorithm SHA-256 was incorrectly used as method #41772 - Phase 5: SqlBulkUnit throws exception with sql mode "only delete" #41507 - Phase 6: create zip with password protection for response type 'file' is not set #41738 - Phase 6 (HTTP): avoid creation of a response by "return data" setting if the option is activated but cannot be used #41261 - UpdateCenter: "changelog" link is wrong #41328 - UpdateCenter: Connector's cant be downloaded on Windows #41715 - UpdateCenter: Can't update second DMZ #41620 - Cloudstorage Sharepoint - connection to document libraries doesn't work with @Name notation #41269 - Exception while processing cloud storage file 'null' #41430 - Cron Cloudstorage: Sharepoint only lists first 200 items #41497 - OAuth 2.0: "Error: No value defined for grant_type" when tunnelHTTP=true #41576 - Function: "call-sap-rfc" cuts of character at end with sap data type being "INT4" #41670 - XML V4 Parser: fix string normalization #41467 - XML V4 Parser: parsing value of UTF-16 LE files #41309 - SMBMountManager: potential concurrent threading issue #41781 - NullPointerException in SMTP subscriber if mail sender is only set in envelope #41408 - Documentation: links in short descriptions not found #39250 - API-Management: HTTP Cron Agent: allow YAML for structure #37297 - API-Management: Redirect with Error 303 needs to use method "GET" instead of "POST" #41574 - Parameter "file="for query is not being added to multipart table in response "HTTP" #41399 - TransportManager: NullPointerException within configuration files "Show differences" #41653 - TransportManager: If replace profile on target system and without reponse units mapping not refreshed #41178 - Optional (X.400) mail attachments are not checked against file access list #41212 - ControlCenter: display duration of jobs with seconds #41663 - Logs overview: after client change previous logs are not cleared correctly #41729 - Dictionary encoding issue in DataCockpit/TransportManager #41221 - Kafka: OAuth bearer token always considered valid despite already being expired #41319 - Kafka: Producer Serializers cannot be changed at runtime #41683 - Kafka: Serialization header is part of payload when using file persistance layer for too large messages #41616 - ContentInspection: entry cannot be saved if a client is selected #41004 - SQL Console: no error message on empty tables/procedures result #41250 - NullPointerException in Generic Bearer Token when new channel was not saved before #41716 - FixRecord: Parser is parsing wrong when faulty segments are skipped #41267 - FtpClient truncated filenames if they contained a semicolon and the filename was part of an MLST-response #41571 - FTP Server now shows the file modification date in UTC as part of an MLST-answer #41315 - Excel: Wrong time in columns when time zone is Amsterdam/Europe #41350 - Create Zipped Outfile on SMB File-Share Fails for Remote Share #41644 - "Server Administration" user right currently only works with admin rights #41291 - DataFlow: Bug when exporting Swagger and two or more Profils are having the same mapping #41503 - DataFlow: Import window doesn't use selected profile state #41480 - ETL: JSON dollar signs in janino script variable #41338 - ETL: handle global variables correctly from function "start ETL" #41265 - ETL: Single XPath variables with namespace must be wrapped in JEXL expression #41259 - ETL: Parsing namespaces for the UI Preview gives wrong result if namespace contains '-' char #41747 - Wrong error message when changing the password length for DataCockpit users #41610 - [DataCockpit] SSO NullPointerException #40848 - [AdminConsole] Client tried to fetch more rows than allowed Features: #41687 - Lobster Chatbot BETA - AI Chatbot you can ask anything related to Lobster #41114 - Start: option to only see your own "last profile activities" #41188 - Profiles: show icon in profile overview column and profile entry context menu if there is an intermediate version of a profile #41254 - Profiles: add "Ready for TransportManager" column in profile overview #38008 - Profiles: flag "Ready for TransportManager" should be set to false in target system after transport #41381 - Profiles: offer consolidated view including history via link as html (see Phase 0 -> Info -> "Documentation: Mapping") #41363 - Phase 0: change default encoding from 8859-1 to UTF-8 for JSON and XML #41435 - Phase 1: throw notification when profile by name could not be found anymore on import #41443 - Phase 1 (Cron:Mail): possibility to hide SMTP options #41384 - Phase 1 (AMQP): offer pre collection and other forward settings like MQTT or Kafka #41048 - Phase 1: Preparser for PGPDecryption supports AEAD Encrypted Data Packets #41453 - Phase 3: option to search functions strictly via name and not via description (with prefix ":") #41283 - Phase 6: Ability to send HTTP multipart with query #41343 - Filter: new parameter in function http json-lookup for URL encoding of query #41499 - Remove false positives checkpoint checks in case of a previous restart #41454 - TestMapping: add option for max. process time #40591 - JSON IU: new option to create anonymous top level element - now supporting multiple records #41357 - Mail parsing: Recognize unsupported PGP mime blocks to prevent parsing errors when trying to handle them as S/MIME #41568 - Access list of channel: create folder if it does not exist #41451 - PostgreSQL Stored Procedure Handling: Avoid an error when trying to register an output parameter of type BigInt by using the type Numeric #41531 - Add option "create anonymous top level object" to function "create jsom from tree" #41551 - ErrorRetriveCron: Class should only return errors from the current client when strict client handling is enabled #41462 - Throttle profile jobs when CPU usage is too high for a given period of time #40982 - Function: parameter to skip line in "csv-into-map" #41589 - Offer "||" as "OR" operator in grid search fields #40945 - New function: remove leading/trailing zeroes/characters #41297 - Support AI Vision in AI chat function #41243 - Handle concurrent modifications of variables of a workflow #41032 - Postexecutor PGPEncryption: added ED25519 support #40711 - Databases: offer export/import via xml #41519 - IOT (OPC UA): add/remove clients without restart (new view in administration to create IOT client connections) #41572 - Redesign UI scope handling in OAuth2 #41523 - Users: preselect a client when creating a new user and there's only one client #41665 - DataFlow: import/export windows more resizable #41364 - ASM:File must support placeholder #40532 - OpenID connect: implement dynamic signing key handling if JWK endpoint is availlable #41361 - Add support for placeholder in HTTP response #41386 - Add option to reset 'ready for transport manager' flag of profile on error of testcase #41404 - Workflows: ability to hide layout titles/labels #41341 - ETL: offer possibility to use global variables in db alias #41380 - [DataCockpit] indicate that an active workflow is already being worked on by another user Usability: #41294 - UI: multi-select via drag in trees and tables #41436 - Make "Restart" option more prominent in profile and in logs views #41424 - Phase 0: move validity and field "Replace Profile" to the end #41169 - Phase 0: profile image moved from "general" to "info" in main settings #41440 - Phase 1 (HTTP): offer full URL address info #41445 - Phase 1 (Cron:FTP): Add label SFTP/FTP/FTPS in overview #41446 - Phase 1 (SSH): Add label SCP/SFTP in overview #41599 - Phase 3: adjustable height of mapping plan text area #41432 - Phase 5: possibility to hide options for Postexecution #41444 - Phase 6: move option "Additional text on error" to the end #41443 - Phase 6: possibility to hide server/channel connection options #41448 - Main view title: display complete module name for ASM and CI Misc: #39945 - PatchInstaller: add MD5 validation logs #38838 - Kafka: Automatically restart profiles if stopped due to unrecoverable errors #41439 - Integration Unit ExcelWithHeaderUnit works differently than Integration Unit CSVWithHeaderUnit #41244 - Phase 3: hide attribute "Path" in source when XML V3/V4 is used #37583 - Phase 6 (Mail): clearing response input fields not persisted in Safari #41071 - Parameter "Delimiters" in "EDICreationUnit" does not accept Line feed #41264 - FtpCopy should check 'stop signal' (cancel cron in ControlCenter) #41496 - Added slash in Token-Link for Admin-Console #41591 - ListErrorEntries: Class reports an error if no entry is found #41382 - [DataCockpit] only allow Super-Users to delete an active Workflow _pro Logs: sort log entries via start date descending Added EDIFACT templates for D.22B and D.23A Translation fixes New Vaadin Version 23.4.0 27.02.2024 16:00:00 Version 4.6.9 Notes: Important: new internal update service to provide _data preleases and updates for _pro as well (see #38750) Please make sure your firewall does not prevent access to: https://api.lobster-world.com Important: all TestCases must be recorded again (by Bulk operation in GUI) due to a bugfix in the internal structure (see #40900) Important: CloudStorage: with this _data version CloudStorage "Legacy Connections" were moved to the new implementation. In this context, "Box" will no longer be supported by us! Please also note that CloudStorage channels of type DropBox, which are still running with the old implementation, must be re-registered via OAuth2 after this update! Important: failover-logging was redesigned. Now there is not a failover.log anymore. It is split in message.log and error.log. Web app "api" (Swagger display) renamed to "openapi" due to "One Lobster Platform" and preventing url conflict with Lobster_pro. Security: #40852 - Use longer client secret for OAuth2 server #40725 - Bumped version of logback to 1.2.13 to fix CVE-2023-6378 CVE-2023-6481 "just to make sure" - _data's standard configuration doesn't use the vulnerable functionality #40800 - DataWizardHttpAgent: Copy Authorization Header in Global Variable only if System-Property is defined Bugs: #40970 - CloudStorage: Google Cloud Storage upload is not working correctly #40989 - Uncaught NullPointerException while try to add SSO #41028 - CertificatExchangeService: Prevent start error if no SmtpService isn't configured #40949 - Text editor: possibility to format file contents again after changing encoding #40862 - Users: newly created admin user should not be forced to change password #40930 - Prevent loss of profiles in special cases while performing a suspend-operation #40900 - Test Case fails when path of a node is a variable with multiple iterations #40888 - LicenseCheck: fixed bug leading to a license error if format restrictions are in place and XML is licensed #40745 - System Monitor: Fixed considering ssh connections tests as failed all the time #40827 - Fixed failing SCP-transfers if a particular way of naming the uploaded file is used by the client #40322 - AwsS3Storage fixed removing of temp files #40494 - Kafka: Add missing translations in Phase 1 #39788 - MQTT: fixed setting debug flag #41162 - ETL: If destination Template is selected not using template engine (text), the footer is not placed korrekt #41157 - ETL: Namspaces are not resolved for Preview if no XPath Variable extraction was done before (init bug) #41154 - ETL: VTD preview / test XPath generates different result for extracting XPath ETL variables then expected executing XPath on document #41059 - ETL: Fix auto creation of XPath and JSONPath to guaranteed valid expressions #40737 - ETL: Pipeline import, disrupts exported format of prefix, body and suffix for Template as Destination data #40198 - ETL: Export Pipeline with Log level "Error & info & debug" returns Error #38045 - ETL: XML whose elements are in one line are not resolved correctly #40104 - ETL: VelocityConnection support variables in Footer #41020 - ETL: Emergency Halt doesn't pause ETL cron jobs #40759 - Cloud Storage: Azure File Storage: missing slash separator between path and file name #40770 - Profile: creating backup when profile is deleted #40802 - Phase 1 (Cron:HTTP): missing elements in soap envelope header request after import #41086 - Phase 1 (Cron:MAIL): save column visibility user preference for all columns in rule grid #40944 - Phase 1 (CrossSQLCron): selection of columns for selects in configuration wizard is not displayed #40943 - Phase 1 (CrossSQLCron): missing fixed assignment between select and alias from Business Connector leads to incorrect behaviour in the configuration #39881 - Phase 4: skip committing inactive SQL-nodes #40957 - Phase 4: set internal skipping value back to null #40787 - Phase 6: URI setting in HTTP response should not be mandatory #40781 - Phase 6 (HTTP): functionality broken for dynamic multipart entries #40929 - Phase 6 (FTP): avoid NullPointerException if no server address is given in used channel #40986 - Phase 6 (FTP): Fixed wrong creation of a control filename for ftp-responses if prefix is selected as type and the destination name contained a path #40978 - Phase 6 (FTP): Fixed wrong creation of a temporary filename for ftp-responses, "losing" a character, if prefix is selected as type and the destination name contained a path #40343 - TransportManager: replacing a profile with Cron:DB fails when only selecting "without response units" #41070 - TransportManager: ASM name missing in DIFF of source profile #40600 - Date functions handling working days used the wrong days as weekend for some countries #40667 - File encoding of profile is changed during structure import for destination tree #40677 - HTTP Oauth2ServerServlet: deadlock/race condition when accessing token endpoint by many clients at the same time #40692 - Function 'create json from node(a,b,c,d,e,f,g,h,i,j)': Parameter E 'Escape < and >' does not work if type safe option is set to false #40713 - Running jobs: remove DMZ option in load balance combo box #40712 - Plugins: SQL Console is using wrong method for calling CData Procedures #40748 - DatabaseService: Consistent behavior over all databases when handling values of timezone containing columns #40826 - JSON IU defect when using cut-off params and created data > 1024 chars #40941 - Dataype of variable changed from blob to string on profile import #41161 - OpenApi: missing reference occurs when openapi.war file is deployed on a different HTTP server than the request-servlet Features: #40999 - SSHService: Workaround to be able to react on file transfers that are finished after the client (falsely) logged off #40867 - Offer tile display in each module overview #40865 - Possibility to upload an image for module entries #38750 - New update service which also includes _pro #41034 - Home: new panel "Quota" for used/available module entries #41047 - Dashboard: show amount of started jobs for each _data system since last start #40822 - ETL: use Text driver instead Velocity if the template does not contain velocity specific functions / macros #33224 - ETL: support compressed files (zip, rar etc.) as input source #40648 - ETL: new input type "Loop" #37652 - Kafka: support Authentication using SASL OAuth with Keycloak #41135 - HTTP input parameters: support regex for allowed values #41055 - Phase 1 (Kafka): offer DateTimePicker for reset timestamp field #40698 - Phase 1 (HTTP): mapping variables should be available in HTTP response message #41104 - Phase 2 (X12 Parsing): Added support to interpret the repetition character 'U' as "unused" (as it's sometimes used in a non-standard-way) #40640 - Phase 3: make all columns in mapping trees resizable #40659 - Phase 3: csv export for field overview table #40977 - Phase 3: more space for node/field description #40657 - Phase 5: group constants like in phase 3 #40676 - Phase 6 (HTTP): adjust wrong content of constant(s) in host field #41149 - Phase 6 (HTTP): add badge with entry count of adjusted HTTP headers #39894 - Phase 6 (HTTP): add default response option for responses with empty body #40856 - Functions: offer test functionality with optional result data of each function #40734 - New function to change additional values of partner channels #40792 - Workflow: option to render text or localized text as HTML #40869 - Workflow: show triggered jobs of an active workflow in jobs overview #40282 - Workflow: use of variables and constants in e-mail settings #39595 - Failover: include date and version header in logs #40308 - Failover: log exceptions in FOExternalUrlPing #40610 - Failover: FOExternalURLCheck skip certificate validation #40637 - Add autoserialize maps/lists to Kafka header - on demand #40639 - Reorg: arbitrary time adjustment #40963 - CommLog: offer SFIDs (Originator/Destination) in details #40736 - Offer export/import of additional partner keys #40655 - Add variable/placeholder VAR_SYS_MESSAGE_ID for HTTP agent #40651 - Avoid file scanning if Just One Particular File is Specified #40633 - DatabaseService: keep milliseconds of time-containing values on PostgreSQL DBs #40697 - DatabaseService: handle unconstrained decimals and numeric columns on PostgreSQL as real and not as long #40799 - MessageService: allow the configuration to omit log entries of repeatedly failed messages consumes #40709 - Generic Bearer Token: token available in a variable for response unit #40825 - Generic Bearer Token: save (defined/given) HTTP-Header #41108 - Generic Bearer Token, support credentials not only for requesting a new token #40815 - Partner channel: opt. HTTP header name for access token of OAuth2 #40931 - ASM: handle duplicate OFTP filename in ENV File of simultaneous jobs in LB environment #40948 - Plugins Upload: offer refresh button for directory #40836 - Forms: show multi line stacktraces in error notification #40953 - [DataCockpit] Forms: Option to set the column width for fields that are shown in a list Misc: #41141 - Increase "valid until" of trace logs settings up to 7d #41116 - SwapManager: use tmp.IO as default root folder if not define #41104 - Enable X12-Parser to accept "U" for "unused" as repeating character #39493 - CloudStorage: add scopes to channel settings; open links in new tab #40835 - Optimization to Generic Token Handling in communication channels #40818 - PostExecutor ChangeVariable #40768 - Phase 1 (Cron:SQL): different error behavior of 'Delete data' and 'Delete data using where-clause' #40699 - Dashboard: hide request count when working node is selected #40754 - New DB preset for Snowflake All _data and DataCockpit cookies are now set to "httpOnly" Custom user styling in embedded view like function help view Profile selection window: implement wildcard search Phase 3: functions are now searched in grid via name and also via description Phase 3: add index of field in section in context menu header Phase 6 (File): make file path field wider ETL: add fields to template via double click Added Error handling for queries in Scriptella library JSONSplitter throws exception if created part is invalid due to wrong settings Fixed wrong URL check in de.lobster.tunnel.TunnelDriver.connect() Translation fixes New Vaadin Version 23.3.33 19.12.2023 10:00:00 Version 4.6.8 Notes: Important: with next _data version 4.6.9 CloudStorage "Legacy Connections" will be moved to the new implementation. In this context, "Box" will no longer be supported by us. Security: #40693 - Raised SSH library version to 1.7.56 containing the fix for critical vulnerability CVE-2023-48795 #40708 - Phase 1 (Cron:HTTP): Trigger authentication does not work when not using channel 30.11.2023 12:00:00 Version 4.6.7 Bugs: #40571 - Cloud Storage AWS S3: issue if many objects are living within a bucket (Phase 6) #40566 - DataFlow: Swagger import is not working for array schema #40570 - Logs Overview: extended search should include only entries from current client #40578 - Tunneled Http requests do not have HTTP header(s) #40577 - Function 'deactivate channel' does not support all IDs #38178 - Offer resizable columns in test mapping dialog #40586 - JSON splitter does not work with 2 tags when second tag is right after first tag #40504 - AS4 channel: error messages regarding signed sending and receiving without certificate are switched #40579 - [DataCockpit] Forms: VAR_SENDER contains the prefix WebMonitor twice, when called via the DMZ Features: #40591 - JSON IU: new option to create anonymous top level element #40573 - Phase 1 (DataCockpit): offer direct link to DataCockpit #36347 - Phase 1 (HTTP): Return a JSON/YAML OpenAPI specification if no mapping is provided #40509 - OPC/UA subscription manager makes sure subscriptions are recreated if a session is reestablished or there are subscription transfer errors Misc: #40594 - Phase 6 (HTTP): MIME-Type of additional parts in a multipart message should be set to "text/plain" during migration of a profile #40575 - Improve Monitoring Output on Windows, SystemLoadAverage Footer row with entry count in restart job window ETL: entry import fix ETL: handle path variables in subtasks Notification in GUI before cloud maintenance 23.11.2023 16:00:00 Version 4.6.6 Notes: #40372 - New default export format for CI, ASM, Workflow and ETL is now a readable xml file Bugs: #39452 - ETL: TestSource triggered by UI does not support namespaces correctly #40064 - ETL: Tree level data misinterpreted when original root task is deactivated #40290 - ETL: Timing (cron) does not trigger Pipelines #39501 - ETL: Upsert fixed for MSSQL, postgreSQL, Oracle, DB2 / AS400, MySql, HSQL #39978 - ETL: Destination file name with spaces prevents ~.tmp file from being renamed #40104 - ETL: VelocityConnection class incomprehensible problem with local parameter cache #40063 - ETL: missing table column "started_by" leads to exceptions in log view #35716 - API Viewer: implement endpoint authentication and non standard DW - request servlet #40108 - Scriptella: NULL string pattern for RegEx fails on parsing getParameter("name") with double quotes #40407 - VTD: buf.getBytes(...) when VTDGenHuge.MEM_MAPPED is used is not implemented #35841 - SapConnectionService: If multiple request servers are configured to start delayed, only one of them got stopped #40042 - Profile: export as CSV should contain the "modified by" information #40228 - Profile: copy sample files when cloning profile #40082 - Phase 0 (Checkpoints): content in e-mail fields is overwritten when selecting variable name #39462 - Phase 1 (Cron:HTTP): not all Multipart MSG_CALL variables aren't filled if FileKey is empty #40219 - Phase 3: show control characters in IU preview initially and set checkbox accordingly #40547 - TransportManager: Profile on second transfer via schedule ends up inactive #40398 - Failover: synchronizes an empty loadbalance.xml #35575 - PDFSplittingPreparser "lost" page orientation when splitting with some files #40197 - Prevent NullPointerExceptions when activating verbose mode and handling particular stored data #40248 - Adjust all references when name of Workflow or ETL/ELT was modified #37485 - MonitorPlainServlet DMZ: access granted if no PartnerCommunicationChannel available #33394 - SMB: remove regkey check for EnableLUA when mount points are to be used under Windows by start-parameter #36781 - SMB: _data unable to correctly mount a shared drive over IPv6 #40117 - EngDat: adjust user permissions for sending #40091 - EngDat: adjust which fields are actually mandatory #40081 - Synchronization with subProfile has problem with profile name containing < or > characters #40083 - Not possible to add HTTP headers in odata-schema plugin #39471 - Faulty table overview with Informix and Oracle database #39963 - Outputstream ist not closed in MulitPDFCreatorUnit #36546 - SAP JDBC driver now supports statements that are longer than 70 characters #39635 - SAP-Connector accept connection during emergency halt #39579 - ControlCenter: showing all follow up jobs in the errors #35564 - Added missing segment in template Fortras 100 Bordero 512 #39518 - SQL console: Creation of a new table on postgres database returns error: relation "tablename" already exists #37832 - Unclosed Stream Problem on Postexecutor Class Base64PostExecuter #39990 - The variable VAR_FILENAME_SUFFIX is not resolved when 'no mapping' is used #40022 - Server logs: failed downloads of log files from working node #40480 - HTTP Channel: close entry when configuring OAuth1 (addtional value fix) #39788 - MQTT: Duplicate Profile Runs + added debug trace marks #40531 - SSH: fix server ignoring black/whitelist settings in the XML #40460 - OFTP: PickUp NullPointerException when no files are present (via DMZ) #40535 - OFTP: temporary files were not deleted in all cases #40504 - AS2 channel: correction of error messages regarding signing requirements #40514 - SMTP: Can't create new smtp profile, if service is inactive on _data, but used via DMZ #40032 - Manual start of a cron job of a 'single run profile' does not check all conditions #40033 - Function "remove last entered node" does not work with "XMLNoTemplateUnit" #39834 - Message type "persistent" doesn't forward HTTP MSG_CALL response variables #40107 - Splitting json with less elements than max chunk size throws exception #40174 - Modification of MSG_CALL variables are not stored at end of record #40145 - Google Cloud Storage: issue with files/storage objects containing space #40402 - Missing body data with application/x-www-form-urlencoded in combination with DMZ and tunneled HTTP option #40527 - Constants are not replicated to workers upon creation if replicateFiles = false and replicateAdmin = true #39841 - Cron Webdav: fails to rename file containing white space #40024 - ASM: HTTP entry import returns 'null' #40411 - ASM: X400 NullPointerException on disconenct via DMZ #40432 - ASM: OFTP Originator & destination is swapped #40457 - [DataCockpit] NullPointerException in WebMonitorSubscriber ConsumerThread #40551 - OAuth(2) dialog does remove user credentials #40558 - ASM OFTP: sending with file limitations within one session does not work Features: #40341 - New function 'change application secret of CD(a,b)' #39247 - Phase 6 (HTTP): redesign UI for easier URL handling #40389 - Support for multiple error code responses in Phase1:Http #39949 - API-Management: Phase 3: Import Swagger Version 3.0.X #40340 - Filter: create barcode(a, b, c, d, e) add parameter for additional encoding settings #40483 - DataFlow: Export Swagger from DataFlow entry #39252 - HTTP Event Agent: add settings to swagger documentation and fix wrong fields #38178 - Phase 3: offer resizable columns #40368 - API-Management: HTTP-Event make it possible to choose more than one Endpoint example file for swagger #39261 - API-Management: new function: get http error code #40389 - API-Management: Http-Event more than one error code #40320 - API-Management: HTTP CRON define path variables if API is REST #39244 - API-Management: Profile: Http cron agent - Trigger profil by setting VAR_SYS_HTTP_PAGING_URL #40372 - Offer XML export and import for all other modules and not just profiles #40357 - Expanded Swagger parameter for authimport #40341 - New function 'change application secret of cloud channel(a,b)' #33088 - Certificate Management, SSH Service and SSH client access now supports ED25519 and their use in public key authentication #39242 - Filter: execute json xpath(key a, expression b, array as text c, ignore exception d) select all properties from one object #56124 - TextParser (used by e.g. TemplateParserUnit) now supports "empty", "nonempty", "blank" and "nonblank" as options for the Check-tag #40257 - Offer "Entry used in..." functionality for CI, ETL & Workflow to find all references #39992 - Profile: Error handling via Workflow and CI:pass file(s) to workflow #40113 - Phase 0: offer OData structure import #40474 - Phase 1 (BusinessConnector): UI optimizations #39247 - Phase 6 (HTTP): Redesign UI for easier handling #40101 - Inactive profile (for further processing in phase 1) is creating huge logs - can be controlled by trace settings #40214 - Kafka: warn user when using group.id in alias #40510 - Kafka: adding a kafka-producer-pool to shorten runtime #40461 - CloudStorage: support client credential flow for MS 365 OneDrive / Sharepoint #34306 - Databases: offer connection test for an alias #39977 - Databases: offer more examples and optimize existing templates #40375 - Databases: mask passwords in JDBC properties #40023 - Show message queues and threads of working node in system view #40023 - Dashboard: show message queues of current working node #39929 - Dashboard: save DMZ setting in session when leaving page #40342 - ETL: expert mode only via system property (hub.datawizard.etl.expertModeAllowed) #40251 - ETL: improve behaviour when editing entry with unavailable db aliases #23340 - ConfigFiles: include files like defaults.properties to be configurable (./etc/admin/datawizard) #40229 - ConfigFiles: keep file/folder selection after refresh #39879 - User preferences: offer option to disable animation for dialogs #40538 - Remember compact theme setting of user in cookie #39862 - OFTP: Add SHA3-512 as supported signature algorithm #39954 - New function to de/activate partner channel #40018 - TransportManager: enable Logrollover #40534 - Statistics: improve visual output (adust min scale) #40031 - Enable nested macros again #40094 - Incomprehensible reaction in excel parser - strip trailing zeros #40060 - Redesign of the Http response in Phase 6: better multipart support #40106 - Modify 'last run' in cron:http on success only #40037 - Workaround for bugs in the JVM concerning parsing dates that contain abbreviated month names #40102 - Workaround for getting "stable" system IDs on particular virtualized systems (e.g. AWS) leading to unusable emergency licenses #40130 - ErrorRetrieveCron: new error code for timeout operations in phase 6 #40119 - Detect duplicate HTTP header and save it as MSG_CALL_ variables #40144 - Log HTTP header in all 'PassBackDataResponse' classes #40162 - Do not copy HTTP Authorization Header into MSG_CALL variable #40169 - Add type checking/guessing in JSON Importer #36226 - HTTP client multipart handling of strict and browser compatible mode - redesign #40193 - New VelocityTemplateUnit #40051 - Remove default config subfolder of client configuration if strictClientHandling is activated #40238 - Cron:Http should support 'run in background' option #40324 - Support HTTP GET with body #40336 - Support 'regex:' in response unit dependency settings #40323 - Workflow: offer deep links to navigate directly to the current state (also for DataCockpit) #40326 - AMQP: Property name as Filename #40364 - Improve rescue handling of incoming data during system failure #40363 - Create error log entries for crashed jobs which are not restarted #40362 - Dump the log entry of a job overview into a CSV recovery file if DB operation fails #40382 - Add new API class 'AddOrChangeVariables' #40381 - New function "is workflow in state(a,b)" #40385 - New function "get current state of workflow(a)" #40396 - Accept new placeholder in Cron:Http which will be replaced by channel settings at runtime #40417 - Send mail notification if DMZ and _data version differ #40427 - Generic bearer token handler: functionality to extract tokens from HTTP response headers #36980 - ContentInspection: test/check file of all CIs of one group #40196 - Send error email in case of shutdown caused by an error of a service #40454 - Option to create source tree structure in Cron:Http #40157 - Channel ID of used partner for authorization of cron HTTP trigger is stored in VAR_SYS_TRIGGER_HTTP_CHANNEL_ID #40495 - HTTP Channel OAuth2 configuration: alternativ access token field 'id_token' #38714 - HTTP Channel OpenID Connect configuration: New authentication settings using Json Web Token (JWT) #40353 - MFT: offline mail notification is sent without final check #40285 - [DataCockpit] show link for the documentation only for admin users #40286 - [DataCockpit] Forms: sorting of profiles in the overview by display name #40556 - Send a mail notification if a job exceeds the swap file size limit of 20GB Misc: #39267 - JDBC: Implement tunnel driver to securely access databases on a remote AS2 Connector system #40511 - Nested time placeholder of resolved constants are not resolved in mail subject of 'error mail' or 'checkpoints' #38321 - _data-API, import partner: operation 'change' or 'delete' should accept name as well #40475 - Phase 1: Target Namespace without slash at end needed #40449 - Set 'login name' instead of 'real name' in VAR_SENDER on manual restart #40410 - Improve Handling of Missing Tables #39958 - SMB: change order of 'net use' and 'mklink' in SMBMountManager #40057 - SQL Console: offer checkbox "Multiple Statements" to avoid errors with CREATE PROCEDURE #40294 - Change default password on first login of admin user (_data & AdminConsole) #40181 - ETL: better handling of test files being larger than max preview size Dashboard: more space for running jobs [DataCockpit] Forms: current state fixes SQL console _data: fix for formatted sql statements with multi line Adjust tab indices, to jump over inner buttons in text fields Adjust wrong csv settings for Cron:DB on save Start view: open profile in new tab, if user setting is set accordingly Commit 2FA access code via Enter key New Vaadin Version 23.3.26 08.09.2023 12:00:00 Version 4.6.5 Notes: * In a future release, CloudStorage "Legacy Connections" will be moved to the new implementation. In this context, "Box" will no longer be supported by us. * Since version 4.6, the _data application shuts down automatically when the hub database is no longer accessible. The development team has opted for a fail-early approach here, as otherwise a number of problems are to be expected. Bugs: #39482 - PDFContentCreator: throws exception when \TAB is being used in Phase 3 #39792 - AS2: Partner certificate is not saved if same CN, despite different IDs #39745 - CData: time limited connectors are not offered in Update center (also errors in AdminConsole) #39697 - DataCockpit: allow only profile selection of selected client in user management #39682 - Update-Center: Patch History and Connectior History will be removed if checkbox is pressed #39565 - Cloudstorage: File Patern with exact name of file returns an error #39815 - ControlCenter: only users with admin rights should be able to visit logs configuration or remote logs #39451 - ETL: JSONPath expressions containing spaces cannot be executed #39709 - ETL: export error when null values actually contain null #39701 - ETL: complex select statements can generate cryptic ETL/ELT fields #39837 - ETL: Velocity writing Header and Footer in same Scripting context enabling context Variables #39387 - ETL: mapping upsert issues with MSSQL #39237 - Profile: merge values from nodes with the same name for datatype json #39663 - Phase 1 (BusinessConnector): config layout not shown initially when alias not found #39657 - Phase 3: indicator of mandatory fields not always correctly shown #39562 - Phase 3: fix value icon not refreshed when applying EDI values from field definitions #39489 - Phase 3: editing field/node name with illegal characters #39588 - Phase 3: reference should not be adjusted if field was renamed automatically because of duplicate name #39528 - Phase 3: test mapping dialog via shortcut does not have current value of number field #39685 - Phase 3: target structure not refreshing when deleting folders #39517 - Cron:File is unable to delete files under Windows if compression settings of profile does not match input file compression #39898 - Swagger import: set maximum to 1 if node is defined as type object #39483 - Macros: references to the new 5xxx id of custom functions is not resolved #39617 - Excel Parser: taking account of date 1904 format is no longer considered #36321 - OAuth2 without client secret is missing authorization header / body #39880 - Refresh field falsely still shown as active #39721 - [AdminConsole] Login not possible if using special characters and non UTF-8 file encoding #39771 - [DataCockpit] hide content of sensible input/output files from non power user #39768 - [DataCockpit] start cron in a load balancing system Features: #33594 - Swiss QR billing filter #39808 - CData Connectors: split up database string properties into JDBC Properties (tab) #37929 - ETL: possibility to define conditional tasks #37931 - ETL: possibility to read from remote source (input url) #37932 - ETL: separate handling of errors in destination for each row/record (define extra destination for error records) #39417 - ETL: get last run date #39791 - CI: add JSON Merger #39616 - Presets: add Tooltip for Dialog TextFields #38369 - CEX: redesign task configuration #18916 - CEX: enable automatic change of partner certificates #39689 - Expired certificates: exclude "let's encrypt" certificates in home view and pinboard #39540 - Select last group in module views after cancelling new or imported entry #39525 - Restart Job: offer editing meta data on archive files #39548 - Support for Aggregation in MongoDB input agent #39480 - MessageService: provide figures about consumed message #37730 - Partnerchannel HTTP: avoid race condition for concurrent OAuth2 token retrieval #39553 - DMZ: tunnelhttp=true does support Oauth-server now #39633 - New function 'remove last entered node(a)' #39458 - DefaulSqlCron: Display more detailed error message, if the source structure cannot be created #39725 - Profile: import variables from other profile #39846 - Phase 1 (Cron): rename tab "Times" to "Times/Execution" #39241 - Phase 2 (JSON): settings to handle JSONLines #39699 - Phase 3: include more Maps/Lists helper in path dropdown #39805 - Phase 3: save "Execute IU" setting in test mapping dialog for each profile (session based) #39238 - IU: create possibility to create mulit-dimensional JSON arrays #39630 - Offer generic (bearer) token handling #39636 - Offer JSON splitting in phase 2 #39640 - Enable projection for MongoDB Cron Agent #39656 - Workflow: add AI functions #39691 - New function: extract XML from XML #39886 - Retry jdo storage operation (on error) before shutting down system #39778 - Kafka: Add asynchronous persisting of messages larger than broker limit Misc: #39511 - MFT: hide option "view only" on locked entries #39461 - MongoDB-Driver Looks Like It's EOL #39571 - Help mode: links inside short description should be external #39619 - Hint for a tooltip when adding a new preset #39716 - MongoDB, log field names: no dot in name is allowed #39883 - Logs Error: tooltip of lock info in status icon Mapping tree performance optimizations (virtual scroller) Modules tree export fixes (csv export after expert search, column header names) ETL: Minor Bug Fix Null String Issue Phase 1: Business connectors can be seen without admin permissions Phase 1: increase width for sql queries Phase 1: predefined URLs in HTTP & Cron:HTTP Phase 3: filter helpers for source & destination fields Predefined channel directories with hashed folder Mime ComboBox: allow custom mime types CData: New Business Connector Airtable Vaadin update to 23.3.21 20.07.2023 16:00:00 Version 4.6.3 Bugs: #39454 - Emergency mode remains persistent if releaseEmcyHaltByPro is set and _pro was not "ready" until the restart. #37756 - Vaadin StackOverflowException in views with refresh component #39071 - Azure Blob Storage: filter blob object list according to path settings #39436 - ETL: Read and display row for target .csv, parses first data row vertically when "|" is used as separator #39428 - OneDrive storage returns an error if the path is set to "./" #39384 - Start of NC does release EmergencyHalt #39375 - Filter "format date/timestamp to text" returned wrong value when it was supposed to return an empty one #39328 - Start Page can not load because of faulty profile (no history entry with date information) #39214 - Phase 0: Tradacoms stays as document type after selecting other document type #38867 - Phase 1: trigger by Http: Oauth2 Token won't be accepted #39297 - Phase 3: test mapping dialog via shortcut does not have current value of text field #38856 - Phase 3: keep sequence when moving multiple elements by drag & drop #39099 - Phase 3: mapping tree does not escape all HTML characters #38753 - Phase 3: right click on root folder button opens context menu for whole tree #38772 - Phase 3: assignment icon not always refreshed #38796 - Phase 3: Drag and Drop source node directly to path node attribute #39313 - Phase 4: Failed mapping settings if CommitSQL and RollbackSQL response not in right order #39197 - Phase 4: Skip update statement when using only update with empty SET parameters #38938 - Phase 4: Empty values in a subnode of a sqlnode lead to an empty set on update-statement #39316 - Update-Center: inserting correct credentials for downloading patches #38925 - Update-Center: Patch to update version 4.5 to 4.6 is not displayed in Patch-History #38964 - Update-Center: Patch timestamp bug #39217 - Exceptions: take account of functions when searching for channel-ID #38326 - Failover: Fixed daily log-rollover #38443 - Failover: Possible NPE at start and stop if failover is set to false in loadbalance.xml #39068 - Failover: RequestSize was overwritten by Threshold #39038 - [DataCockpit] Forms: field names with suffix "-n" are not being filled in form #39131 - [DataCockpit] Forms: grid filter does not take effect if record was edited #39437 - [DataCockpit] fields with _keepInSession_ should not be transmitted on normal profile call (only on data profiles) #39099 - New Mapping Tree does not escape HTML Text in TestMapping dialog #39053 - Remove extra confirm dialog when leaving client or user entry #39050 - Errors locked by current user should be deletable #38839 - Prevent NullPointerException when handling non-finished certbot certificates #38999 - Oftp pickup via DMZ tried to process files in some cases even if the process on the DMZ lead to an error #38970 - Fixed wrong presentation of directory entries if the home directory is configured with a trailing slash #38977 - List selection helper also for addToList and splitText #38926 - Improve responsiveness of _data interface if www.lobster-world.com is unreachable #38965 - Channels: Function "Used in" does not update channel information in header #38858 - Constants: include db alias of node settings in usage report #38931 - Presets: Replacement of data value in driver url is not working when property ends with the same word #38857 - Import profile: page will not be closed properly when profile import was canceled (import window layout fix as well) #38797 - Kafka: Offset reset function also fetching older messages than specified due to wrong timestamp resolution #38834 - SAP IDOC request listener is not removed under all circumstances #38682 - Autoserialize does not work in combination with "abort job and schedule again after x seconds #39086 - BIC: duplicate partner exception due to bug on save #37632 - IoT client pool exhaustion when using OPC browser in subscription mode #39290 - Function "get timestamp of prev. run" does return second to last entry #39325 - X12CreationUnit: non-existent nodes create fields in the output message Features: #39174 - [API] Endpoint should allow relative and absolute path #39268 - SQL Console: offer usage of parameters like @1:i@ #39082 - New plugin CSV-Editor (read & write csv files) #39352 - ControlCenter: possibility to filter by exact duration (manually add the seconds in combobox) #38016 - BackupSearch: offer option to define the max. returned amount of entries #38971 - Whiteboard: pin messages (always valid, displayed on top) #39351 - Jobs per Profile: find follow jobs via context menu #39105 - OPC/UA client settings: Name resolve mapping can now be used all the time and not only if the host couldn't be resolved #39100 - ControlCenter: add a logger view for _pro #39052 - Channels (FTP): offer option to release file lock (event exceptions) #39058 - Certificates: offer more filter options (revoked certificates) #37849 - TextEditor: highlight marked values #38830 - DataFlow: offer better management to entries transferred via TransportManager #38828 - TransportManager: display already transferred DataFlow entries #38973 - Partner channels: possibility to change client in overview #38852 - [DataCockpit] Separate GUI logger ("./logs/DataCockpit/") which also logs each user login #39190 - [DataCockpit] Better handling of invalid JSON response #39271 - [DataCockpit] Add option to disable automatic log search #38582 - DataCockpit User Report: Include profile permissions #38744 - Add info about expired certificates to start page #38732 - Extend SQLWizard for CrossSQL usage, support constants for db alias and improve wizard usability #38907 - Automatically remove all SCX handler of the OFTP service when this is a working node #38792 - Server Logs: include tcp log #39089 - Create missing message queue for remote messages automatically #37900 - Eventbased Message: Show only useful existing queues #37586 - Improve LDAP error behaviour #39152 - Add support for ChatGPT as a function #39403 - Aggregate statistic messages of a LB system to increase performance Misc: #38990 - OFTP: channel combobox selection for signature algorithm & encryption #38998 - OAUTH2 Server: Use application/json (instead of text/json) as Content-Type #39292 - Smaller ApiFormLayout window with only one column for input fields Logs: open profile (via context menu) in new tab if user preferences are set accordingly ResponseUnit grid: possibility to add extra columns "Type" and "Name" Show documentation URLs in quick view Phase 1 (BusinessConnector): show driver icon if possible Reload page after max sessions dialog was closed (login button directly active after that) Refresh mapping tree after adding multiple elements on field Help/Info view contains infos about charset, file encoding, time zones etc. Fixed profile diversion or profile name change handling with browser tab close Mapping dialog layout optimizations including focus on search field Handle internal Vaadin exceptions Better timeout handling for retrieving tables or stored procedures Add horizontal padding to all ControlCenter views Confirm dialog header size fix 02.06.2023 15:00:00 Version 4.6.2 Bugs: #38731 - Moving a node from non root level to root level doesn't update its references #38707 - AdminTools SQL-Monitor could lead to a hang when acessing Oracle databases #38376 - Avoid line break in node or field names #38285 - Reduce loading times of profile imports if large tree structures are used #38624 - Subsequent spaces of a fixrecord field are not displayed in the test mapping #38110 - Safari browser does not render darg & drop item(s) correctly #38676 - Tcp Connection StringResponseHandler: literal delimiter serialization rather than hex notation #38533 - Improve Login Time in Case News-Server or the-like Are Unavailable #38596 - Inactive or 'marked as deleted' channels are not checked during runtime #38599 - TestMapping: preference "Execute IU" is saved in session and is kept even for profiles without IU #38597 - TestMapping: if IU is toggled on, DB nodes are not removed #38510 - OpenAPI: problem with identical field names in source structure #38548 - Phase 1: BusinessConnector complains too often about complex sql statements #38569 - Support of exec-checks with classes residing in Java 11 modules #38553 - Fixed error occurring in the GUI if the constants file contained equal entries in different cases #38530 - ControlCenter (Active Jobs): incorrect file size displayed #38496 - Mapping: selected items are not sorted #36831 - MFA from TEST overrides MFA from PROD on mobile device #38488 - Remote-Logs: Properties File for IP-Adresse can not be created if folder does not exists #38007 - Profile overview: context menu is not correctly refreshed after multi operations #38247 - [DataCockpit] Cookie-Banner not clickable when dialogs are opened #38454 - [DataCockpit] first column list header does not have localized value #38457 - ChangeVariablePostexecutor: ArrayIndexOutOfBoundsException with empty value after "=" #38443 - Failover: Possible NPE at start if failover is set to false in loadbalance.xml #37150 - Remove leading ./ from paths when receiving files by SSH to be saved in VAR_SYS_FILE_PATH to get back old behavior #38420 - If DNS name in loadbalance.xml is not resolvable, the _data itself doesn't start #38367 - Phase 4: Fix of SQL node generation when using MSSQL #38399 - Phase 6: SCP response (client) was deactivated if SSH Service (server) is not licensed #38282 - [DataCockpit] Forms: display whole fileUpload field in list #38010 - [AdminConsole] Missing data in MessageServiceView #38183 - Phase 3: RFC templates can not be loaded into the source tree #38157 - GUI: selection of target fields in function #38164 - Response unit SAP ALE (check of EDI_DC40 segment ignores mode=default) #38201 - SshService now correctly checks the subtype allowance for SFTP and SCP before granting access #38234 - Azure Blob Storage is not using the Bucket and Directory correct #38324 - Welcome Page shows wrong version of _data #38368 - Problems with the OpenAPI interface and digest authentication #38372 - OFTP sending process with fixed format as type and active file security could lead to an error #37740 - SCP had timeout issues when unsuccessfully trying to remove files or create directories, leading to delays of 10 minutes an more #38460 - SMTP Phase 1 encoding in basedata is ignored for mailbody #38455 - Function "hex to base64" threw an error when trying to handle hexdata without delimiter #38470 - Phase 6 - Dependency on error: Asterisk * doesn't work as described Features: #37445 - Main menu: possibility to reorder favorite menu items #38590 - When user preferences are set to open entries in new tab, then the whole browser tab should be closed when cancel or save & close button is clicked #38710 - ExtendedJsonCreationUnit: write empty node as object #38756 - DataFlow: make package import more tolerant #38577 - Show API to public and mandatory parameters in OpenAPI GUI #38366 - Cloud Storage: OneDrive 365 configuration drive-id #38691 - Partners: possibility to (de-)activate all channels of a partner #38586 - Start Page: New Icon to signal new patches #38463 - Phase 6 (SCP): clear port when changing channel to use default setting #38338 - Improved text parsing capabilities in PdfParser #38669 - Start Page: sort user sessions by login date #38571 - Make config file dialogs resizable #38528 - Phase 3: field overview columns should be resizable #38497 - Phase 0 (Checkpoints): allow using constants in "Sender" field #38382 - [DataCockpit] keep order in grid after modifying an entry #38188 - Mapping: add function via keyboard (shortcuts) #38232 - Phase1, Phase4: Show DB schema when listing tablenames #38161 - Tablename selection for Postgresql is limited to public ones #38009, #37960 - Added new system-variable VAR_SYS_EXCEPTION_STACKTRACE to return stacktrace if error occurs in Phase4 and certain filters #38292 - Trace access time of MongoDB logger (profile only) #38225 - Pinboard (Info widget): add CI unresolved counter #38187 - New user access right for "unresolved data" #38202 - ExtendedJsonCreationUnit should allow an empty starting node for "root" #37940 - Extension of the DHL presets by the DHL WSDL URL and integration of the presets into the Cron HTTP #38259 - Azure Blob Storage: support of hierarchical namespace #38349 - HTTP Agent: resolving dummy body data for GET besides POST and PUT #38049 - New checkbox to allow sending of non-anonymous insight data #37906 - Update-Center: Download Updates in the Background #37911 - HttpAgent Authorization: issue if agent has configuration for several partner channels with different authorization type #38000 - Function: create barcode EAN128 #38402 - Enable async http request handling if only a generic response is returned #38308 - Oauth2: authentication support for Http Trigger/Request using channels #36392 - ODTCreationUnit: transfer linefeed of value into the template Misc: Phase 1 (Cron:SCP): directory not mandatory ETL: setting value via combobox fix Language fixes Jetty update to 10.0.15 Vaadin update to 23.3.12 24.04.2023 17:00:00 Version 4.6.0 Bugs: #37568 - for sql-db-node, the value of a subnode filter is not taken into account #38084 - SQL Assistent: Missing numbering in the record type identifier for the individual selects #38082 - TRUNCATE TABLE does not work in SQL-Plugin #38131 - Kafka: Log directories are also created in installation directory Features: #38060 - Improve log messages for MongoDB during reorganisation tasks #38070 - Add support for AWS DocumentDB 18.04.2023 17:00:00 Bugs: #38046 - ETL: BindingException with csv files with "$" in header #14709 - Prevent "invalid data"-messages when using System:DWForwardReceiver as consumer queue for calling a subsequent profile #37739 - Variables are empty in phase 6 if you execute phase 4 in phase 3 #38033 - Fixed Header Lines with " in ETL CSV / FixRecord #37998 - Fixed Exception on missing Search Key in ETL Clipboard #38036 - Phase 1 (Mail): mail type reset after saving profiles #37975 - "call as400" supports default handling of types for response #38034 - RefreshOAuth2AccessToken HTTP Channel: NullPointerException if no expires_in defined in channel 06.04.2023 17:00:00 Initial release V4.6