We are thrilled to announce the first release of the new version 25 of CData Virtuality. Along with it comes the brand-new version of the CData Virtuality Documentation to help you get the most out of the update.
The improvements on the Server side include replacing the WMIC Windows tool in the startup scripts and migrating the Server to WildFly 26.1.3 and Java 17. While we’re not making performance promises, moving to Java 17 and WildFly 26.1.3 brings important modernization benefits:
-
Java 17 is the next LTS after Java 11, ensuring ongoing security updates and stability;
-
Improvements to Garbage Collection, JIT compiler, and memory handling may offer subtle performance gains;
-
Built-in crypto improvements and reduced attack surface thanks to stronger encapsulation (JEP 403) increase security;
-
Internal changes improve startup and module loading times;
-
More recent and secure versions of libraries like RESTEasy, Undertow, Elytron, and more.
Another implemented solution improves security: the AES encryption and decryption functions now support encryption initialization vector, salt, and iteration count parameters, and yet another, the OAuth 2 authorization: we've updated the DV_AUTH_SERVER_URL option default value to configuration URL value.
We've also worked on several system procedures: SYSADMIN.getDataCatalogAttribute now should execute even if the user lacks permissions for published resources, the connect-dv-role role how has permissions for SYSADMIN.hasPermission, SYSADMIN.webBusinessDataShopPublish now allows passing several resource names in one call, and two parameters of SYSADMIN.createSchedule (startDelay and enabled) have become optional. Also, the sessionId column in SYSLOG tables now has the capacity for 255 symbols.
In addition, we've fixed a number of bugs: among these, for Azure Tables, the ClassNotFound exception is no longer thrown on the data source creation, scientific notation literals with significands greater than 10 are now parsed correctly, checking mapped to role permissions on the configuration database doesn't cause a delay on procedure execution, clustering mode starts properly on Wildfly 26.1.3. For the CopyOverSQL and CopyOverSourceTable jobs, RefreshTarget can now be deactivated, and the SYSADMIN.getSchemas and SYSADMIN.getCatalogs stored procedures are now able to find the connection by name after data source replacement.
For the CData Virtuality REST API, we've fixed a bug where 406 error was returned by "/status" endpoint when "Accept" header was set to "application/xml" or "application/array", and for SCP, SFTP, FTP we've resolved another problem which caused writing into file to fail when password contains "at" sign. Now all is well.
Another important bug fix concerns data source creation failure after non-default encryption key for the internal database was configured. This, too, has been fixed - please note that, as a result, the encryption keys must now be encrypted using AES, DES, or old DES.
As fort the Studio, we've updated it to Java 17 and fixed a bug where permissions with resource type prefix were not shown in the "Permissions" context menu.
The Exporter now has improved built-in help in the CLI Exporter, and we've also deprecated the "configuration-url", "client-id", and "client-secret" OAuth connection parameters.
As for the Connectors, the Awin connector got new columns for reports, which means some important changes. The procedures AdvertiserReportsAggregatedByCreative, AdvertiserReportsAggregatedByPublisher, AdvertiserTransactionsById, AdvertiserTransactionsList, PublisherCommissionGroups, PublisherProgrammeDetails, PublisherProgrammes, PublisherReportsAggregatedByAdvertiser, PublisherReportsAggregatedByCreative, PublisherTransactionsById, PublisherTransactionsList were updated as follows:
- The procedures AdvertiserReportsAggregatedByCreative, AdvertiserReportsAggregatedByPublisher, PublisherReportsAggregatedByCreative, and PublisherReportsAggregatedByAdvertiser got the new column tags and changed accountId datatype from integer to long;
- The procedures AdvertiserTransactionsById, AdvertiserTransactionsList, PublisherTransactionsById, and PublisherTransactionsList got new columns accountId, commissionSharingPublisherId, commissionSharingSelectedRatePublisherId, campaign, ipHash,customerCountry, amended, customerAcquisition, advertiserCost, advertiserCostCurrency, basketProducts,networkFee. Also, the columns trackedCurrencyAmount and originalSaleAmount were removed;
- The procedures AdvertiserTransactionsList and PublisherTransactionsList has changed the data types of the following columns: accountId, publisherId, and advertiserId from Integer to long;
- The procedure PublisherCommissionGroups changed the data types of the following columns: accountId, advertiserId, commissionGroupId, groupId from Integer to
long; - The procedure PublisherProgrammeDetails changed the data types of the following columns: accountId, advertiserId, id from Integer to long;
- The procedure PublisherProgrammes changed the data types of the following columns: accountId, id from Integer to long.
For the Amazon Selling Partner connector, we've improved the ShipmentItemsByShipmentId procedure in two ways:
- The ShipmentItems procedure which retrieves data from the GET/fba/inbound/v0/shipments endpoint, has been restored. The ShipmentItemsByShipmentId procedure has been removed, and its functionality has been integrated into ShipmentItems. ShipmentItems now includes two additional parameters:
- shipmentIds - a CSV list of shipment identifiers for selecting items in a specific inbound shipment;
- shipment_table - a table with a shipmentId column containing shipment IDs. - The ShipmentItems procedure which retrieves data from the endpoint GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/items has been renamed to InboundPlanShipmentItems.
- We have also removed the following procedures related to deprecated endpoints:
- TransportDetails
- PreorderInfo
- InboundGuidance
Here are all issues in this release:
Server
- DVCORE-8869 (Improvement): Migrate CData Virtuality Server to WildFly 26.1.3 and Java 17
- DVCORE-8868 (Improvement): "SYSADMIN.getDataCatalogAttribute" should execute even if the user lacks permissions for published resources
- DVCORE-8866 (Improvement): Replace WMIC Windows tool in the startup scripts
- DVCORE-8862 (Improvement): Add permissions for "SYSADMIN.hasPermission" procedure to "connect-dv-role"
- DVCORE-8857 (Improvement): Extend "SYSADMIN.webBusinessDataShopPublish" procedure to allow passing several resource names in one call
- DVCORE-8803 (Improvement): OAuth2 Authorization: update DV_AUTH_SERVER_URL option default value to configuration URL value
- DVCORE-8785 (Improvement): Add encryption initialization vector, salt, and iteration count parameters to AES encryption and decryption functions
- DVCORE-8777 (Improvement): Trino: adapt embedded Trino to allow reconfiguring Azure and Google keys without restart
- DVCORE-8668 (Improvement): Increase the "sessionId" column length to 255 symbols in "SYSLOG tables"
- DVCORE-8132 (Improvement): Make "startDelay" and "enabled" parameters optional in "SYSADMIN.createSchedule" procedure
- DVCORE-8861 (Bug Fix): Azure Tables: ClassNotFound exception is thrown on the data source creation
- DVCORE-8850 (Bug Fix): "SYSADMIN.getSchemas" and "SYSADMIN.getCatalogs" stored procedures cannot find the connection by name after data source replacement
- DVCORE-8832 (Bug Fix): Oracle: server hangs on long-running queries to Oracle Database v23 or newer
- DVCORE-8827 (Bug Fix): Scientific notation literals with significands greater than 10 are parsed incorrectly
- DVCORE-8826 (Bug Fix): "RefreshTarget" cannot be deactivated for "CopyOverSQL" and "CopyOverSourceTable" jobs
- DVCORE-8824 (Bug Fix): Checking mapped to role permissions on the configuration database causes a delay on procedure execution
- DVCORE-8804 (Bug Fix): User's time zone is not stored in "SYSLOG.UsersHistory"
- DVCORE-8746 (Bug Fix): CData Virtuality REST API: 406 error is returned by "/status" endpoint when "Accept" header is set to "application/xml" or "application/array"
- DVCORE-8646 (Bug Fix): Clustering mode does not start on the Wildfly 26.1.3
- DVCORE-8561 (Bug Fix): SCP, SFTP, FTP: writing into file fails when password contains "at" sign
- DVCORE-8366 (Bug Fix): Data source creation fails after non-default encryption key for the internal database is configured
Encryption keys must now be encrypted using AES, DES, or old DES. - DVCORE-8194 (Bug Fix): Server tries updating the data source metadata cache stored in the configuration database on table creation or dropping even if "enableMetadataCache" property is set to FALSE
Studio
- DVCORE-8586 (Improvement): Update to Java 17
- DVCORE-8636 (Bug Fix): Permissions with resource type prefix are not shown in "Permissions" context menu
Exporter
- DVCORE-8808 (Improvement): Improve built-in help in CLI Exporter
- DVCORE-8805 (Improvement): Deprecate "configuration-url", "client-id", and "client-secret" OAuth connection parameters
Connectors
- SQL-1024 (Improvement): Awin: add new columns to reports
- SQL-1017 (Improvement): Impact: data-source creation script takes more than 30 minutes to report failure
- SQL-1014 (Improvement): Amazon Selling Partner: Improve ShipmentItemsByShipmentId procedure
- SQL-1008 (Improvement): Amazon Selling Partner: KioskReport economics fails with error: "The procedure parameter UTILS.convertCSVtoTable.delimitedList is not nullable, but is set to null."
- SQL-1034 (Bug Fix): Amazon Vendor: connector deployment fails
- SQL-1028 (Bug Fix): Hibob: initializeMetadata has invalid reference to data source
- SQL-1025 (Bug Fix): Meltwater : installExamples procedure throws error
- SQL-1022 (Bug Fix): Klaviyo: update the connector to the latest stable version
- SQL-1020 (Bug Fix): Emarsys: InstallExamples procedure throws error
- SQL-1019 (Bug Fix): LeadAlliance: installExamples procedure throws error
- SQL-1009 (Bug Fix): Amazon SP : ShipmentItems errors with http 400 by rejecting the pagination token
- SQL-955 (Bug Fix): TikTok: Improve looping in reports
- SQL-946 (Bug Fix): Hibob: connector installation fails if the secret is incorrect
- SQL-1 (Bug Fix): "UTILS.getTableIntersection" procedure does not throw an error if the tables do not match at all