On the Server side, we’ve implemented a new feature – the "importer.defaultCatalog" model property.
We’ve also enhanced Google BigQuery to allow setting partitioning and clustering options for recommended optimizations and materialized tables created for them. Additionally, we’ve fixed a bug that caused INSERT and SELECT INTO queries with a subquery in a WHERE IN clause to hang in the running state.
We’ve also worked on LDAP authentication, enabling hybrid LDAP and internal authorization, and fixed a bug causing "SYSADMIN.changeResourceOwnerAndExecutor" to not function properly.
Also, we’ve implemented the ability to add a user-specific time zone configuration for job schedules. The Exporter now supports exporting data based on the user’s time zone, too.
The REST API has also received some improvements: we’ve extended pagination support for source endpoints calling stored procedures with return values and made the "format" parameter specified in the URL take precedence over the ACCEPT header when both are provided. Please note that as a result, the "format" parameter in the URL now takes precedence over the ACCEPT header when both are present. To preserve the previous behavior, you can omit the format parameter from the request URL.
Our SFTP implementation now supports login using both private key and password.
We’ve also integrated two new CData drivers: Microsoft Dynamics CRM and Microsoft Dynamics 365.
For the Studio, we’ve created a wizard for setting BigQuery partitioning options for materialization jobs, added the "Execution start time" column to the "Job history" tab and support for multibyte characters in table names within the replication job wizard, and fixed a bug that caused OAuth2 credentials to be encrypted twice when editing data sources.
As for the Connectors, the most important changes concern Facebook, where we’ve added generic breakdowns by product ID to the ad insights procedures. This means the following:
- The MarketingInsights procedure has been updated with a new parameter, breakdown_product_id, which enables the breakdown of results by the ID of the product involved in an impression, click, or action, and a new product_id column that stores the product ID as returned by the Facebook API.
- The MarketingActions procedure has been updated with new parameters to enable data breakdowns: breakdown_age, breakdown_country, breakdown_device_platform, breakdown_gender, breakdown_publisher_platform, and breakdown_product_id. Each parameter enables a corresponding breakdown by age, country, device platform, gender, publisher platform, and product ID. Additionally, a new set of columns has been introduced for the procedure: age, country, device_platform, gender, publisher_platform, and product_id. These columns contain breakdown values as returned by the Facebook API.
For the Braze connector, we’ve updated the CanvasDetails procedure to support new fields – tags and message. As a result, it now includes the following additional tables:
- Variants with fields: report_date, canvas_id, id, name, first_step_ids;
- Steps with fields: report_date timestamp, canvas_id, name, type, id, next_step_ids, channels.
We’ve also migrated the BolAPI from v8 to v10 and updated Shopify to API version 2025-01 (as a result, the following procedures now return error 404: AccessScopes, UserCurrent, Users, Balances, MobilePlatformApplications).
Our Amazon Ads connector now supports Reporting v3. According to the migration reporting from v2 to v3 page from Amazon, the new reports of v3 replace the following ones of the deprecated v2:
- Consolidated_Report (recordType => 'adGroups') → Report_Consolidated_AdGroup
- Consolidated_Report (recordType => 'campaigns') → Report_Consolidated_Campaigns
- Consolidated_Report (recordType => 'keywords') → Report_Consolidated_Targeting
- Consolidated_Report (recordType => 'targets') → Report_Consolidated_Targeting
- Consolidated_Report (recordType => 'productAds') → Report_Consolidated_AdvertisedProduct
- Brands_Report (recordType => 'targets') → Report_Brands_Targeting
- Brands_Report (recordType => 'keywords') → Report_Brands_Targeting
- Brands_Report (recordType => 'campaigns') → Report_Brands_Campaigns
- Brands_Report (recordType => 'adGroups') → Report_Brands_AdGroup
- Display_Report (recordType => 'campaigns') → Report_Display_Campaigns
- Display_Report (recordType => 'adGroups') → Report_Display_AdGroup
- Display_Report (recordType => 'productAds') → Report_Display_AdvertisedProducts
- Display_Report (recordType => 'targets') → Report_Display_Targeting
For the Amazon Selling Partner connector, we’ve added the CompetitivePriceThreshold property. As a result, the CompetitivePricing, ItemOffers, and ListingOffers procedures were updated as follows:
- CompetitivePricing now includes the new columns: AttributeSets, Offers, Relationships, SellerSKU, TradeInValue_Amount, TradeInValue_CurrencyCode.
- The procedures ItemOffers and ListingOffers now include these new columns: ASIN, Offers_ConditionNotes, Offers_offerType, Offers_Points_PointsMonetaryValue_Amount, Offers_Points_PointsMonetaryValue_CurrencyCode, Offers_Points_PointsNumber, Offers_QuantityDiscountPrices_listingPrice_Amount, Offers_QuantityDiscountPrices_listingPrice_CurrencyCode, Offers_QuantityDiscountPrices_quantityDiscountType, Offers_QuantityDiscountPrices_quantityTier, Offers_SellerFeedbackRating_FeedbackCount, Offers_SellerFeedbackRating_SellerPositiveFeedbackRating, Offers_ShipsFrom_State, Summary_BuyBoxEligibleOffers_Csv, Summary_CompetitivePriceThreshold_Amount, Summary_CompetitivePriceThreshold_CurrencyCode, Summary_NumberOfOffers_Csv, Summary_SalesRankings_Csv, Summary_SuggestedLowerPricePlusShipping_Amount, Summary_SuggestedLowerPricePlusShipping_CurrencyCode.
We’ve also fixed the bug with missing columns in the FBALongTermStorageFeeCharges report. The following new columns have been added for the procedure Report_FBALongTermStorageFeeCharges: amount-charged, surcharge-age-tier, and rate_surcharge.
Here are all issues in this release:
Server
- DVCORE-8719 (New Feature): BigQuery: make it possible to set partitioning and clustering options for recommended optimizations and materialized tables created for them
- DVCORE-8281 (New Feature): Implement "importer.defaultCatalog" model property
- DVCORE-8724 (Improvement): LDAP Authentication: enable hybrid LDAP and internal authorisation
- DVCORE-8684 (Improvement): CData Virtuality REST API: extend the pagination support for source endpoints calling stored procedures with return values
- DVCORE-8648 (Improvement): CData Virtuality REST API: make the "format" parameter specified in the URL take precedence over the ACCEPT header when both are provided
- DVCORE-8639 (Improvement): SFTP: enable login with both private key and password
- DVCORE-8629 (Improvement): Job loses RUNNING status in the "SYSLOG.JobLogs" table after getting the NOT_STARTED status from a parallel start by a CRON schedule
- DVCORE-8627 (Improvement): Integrate Microsoft Dynamics CRM CData JDBC Driver
- DVCORE-8626 (Improvement): Integrate Microsoft Dynamics 365 CData JDBC Driver
- DVCORE-8590 (Improvement): OAuth2 Authorization: allow ommitting "configurationUrl", "clientId", and "clientSecret" when connecting to the server via JDBC
- DVCORE-8581 (Improvement): Implement a user-specific time zone configuration for job schedules
- DVCORE-8506 (Improvement): Make it possible to set multiple values for the "importer.tableNamePattern" model property
- DVCORE-8776 (Bug Fix): Incorrect column ordering in TEXTTABLE when the ordinality column affects column shifts
- DVCORE-8767 (Bug Fix): INSERT queries run via EXECUTE IMMEDIATE cause unnecessary permission checks when inserting from a table
- DVCORE-8764 (Bug Fix): ClickHouse: values are shifted when inserting dates or timestamps into DATETIME columns
- DVCORE-8763 (Bug Fix): Temporary table creation with the same name incorrectly succeeds in both outer and inner blocks instead of failing in the inner block
- DVCORE-8718 (Bug Fix): Incorrect errors are generated when using bitwise functions with scientific notation as input
- DVCORE-8676 (Bug Fix): Column names containing multibyte characters are corrupted by materializations and replications
- DVCORE-8672 (Bug Fix): Column Level Data Lineage: multibyte characters are corrupted in XML result
- DVCORE-8662 (Bug Fix): Objects in INFORMATION_SCHEMA cannot be used as source tables in copyOverSourceTableJobs
- DVCORE-8659 (Bug Fix): NullPointerException is thrown on server startup when some optimizations are corrupted
- DVCORE-8647 (Bug Fix): LDAP Authentication: "SYSADMIN.changeResourceOwnerAndExecutor" does not work
- DVCORE-8554 (Bug Fix): BigQuery: INSERT and SELECT INTO queries with a subquery in a WHERE IN clause hang in the running state
- DVCORE-8497 (Bug Fix): Git integration: Git generates an invalid script for creating views and procedures if the initial script contains an empty comment
- DVCORE-8461 (Bug Fix): Row-based security rules do not work correctly when used on a procedure with EXECUTE AS set to OWNER
- DVCORE-8435 (Bug Fix): Case sensitivity behavior of OWNER differs for LDAP and regular users causing inconsistency in permission system and during login
- DVCORE-8433 (Bug Fix): OAuth2 Authorization: using "mapToRole" feature of "SYSADMIN.setPermissions" procedure with an SSO role results in an error in the log file on the server start
- DVCORE-8361 (Bug Fix): Virtual Databases: SYS.Tables and SYS.Procedures do not contain user views and procedures for custom VDB after server restart
- DVCORE-7591 (Bug Fix): LDAP connector: after some time connection gets closed with a NullPointerException
- DVCORE-7227 (Bug Fix): Snowflake: tables get an incorrect name in the source upon creation if "importer.useFullSchemaName" property is not set
- DVCORE-4248 (Bug Fix): Azure Synapse Analytics: running any replication job in parallel with two or more SQL jobs that call a procedure containing non-transactional BEGIN...END blocks causes the SQL jobs to fail with a transaction error
Studio
- DVCORE-8793 (Improvement): Remove OAuth parameters from login screen and CData Virtuality Server wizard
- DVCORE-8720 (Improvement): Create a wizard for setting BigQuery partitioning options for materialization jobs
- DVCORE-8683 (Improvement): Add the "Execution start time" column to the "Job history" tab
- DVCORE-8680 (Improvement): Allow multibyte characters for table name in replication job wizard
- DVCORE-8739 (Bug Fix): OAuth2 credentials are encrypted twice on data source editing
Exporter
- DVCORE-8797 (Improvement): Support export of user's time zone
Connectors
- SQL-1007 (New Feature): Target Plus: create connector
- SQL-965 (New Feature): Amazon SP: add AWD report
- SQL-1010 (Improvement): Facebook: add generic breakdowns by product ID to ad insights procedures
- SQL-1006 (Improvement): Meltwater: add header and procedures to the connector
- SQL-1004 (Improvement): Amazon SP and VC: add coverage for Ireland and South Africa
- SQL-1000 (Improvement): Walmart: create "InboundShipments" and "InboundShipmentItems" pipes templates
- SQL-999 (Improvement): Amazon Selling Partner: ListingsItem fails with "ERROR: not found in marketplace (NOT_FOUND)"
- SQL-998 (Improvement): Braze: update CanvasDetails procedure to support new fields
- SQL-995 (Improvement): Walmart: support Canadian marketplace
- SQL-994 (Improvement): Amazon Selling Partner: support multiple values in the status parameter
- SQL-990 (Improvement): Amazon Selling Partner: support extended version of InboundPlans for Fulfillment Inbound API v2024-04-30
- SQL-984 (Improvement): Google Ads API: ensure compatibility with v18
- SQL-977 (Improvement): Bol: migrate API from v8 to v10
- SQL-976 (Improvement): Shopify: update to API version 2025-01
- SQL-974 (Improvement): Amazon Ads: support Reporting v.3
- SQL-956 (Improvement): Google Ads API: add new tables
- SQL-953 (Improvement): Amazon Selling Partner: support Data Kiosk API
- SQL-949 (Improvement): Amazon SP: add CompetitivePriceThreshold property
- SQL-877 (Improvement): Amazon Ads: support parcing of impactMetrics for the report sp/targets/keywords/recommendations of v.5
- SQL-1013 (Bug Fix): Amazon SP: Amazon VAT Transactions Report returns fatal error
- SQL-1011 (Bug Fix): Amazon SP: missing columns in FBALongTermStorageFeeCharges report
- SQL-1005 (Bug Fix): Amazon Advertising: some reports fail with 403 error
- SQL-1003 (Bug Fix): Amazon SP: procedure Report_FBAStorageFees fails with a throttling error
- SQL-1001 (Bug Fix): Keepa: incorrect mapping of "salesRanks" column in "Products" procedure
- SQL-997 (Bug Fix): Amazon Advertising: some V3 reports do not support "group by" metrics
- SQL-996 (Bug Fix): Amazon SP: сhild table awdinboundshipments_ShipmentSkuQuantities is not populated with data
- SQL-993 (Bug Fix): Amazon Ads: consolidated reports occasionally fail with 401 errors during operation
- SQL-987 (Bug Fix): Amazon Ads: data missing after the second run of a job
- SQL-986 (Bug Fix): Microsoft Dynamics 365 Business Central: creating a data source fails with a parsing error
- SQL-983 (Bug Fix): Hibob: unable to create a data source
- SQL-978 (Bug Fix): Shopify: incorrect column size for the billing_address_phone column in Orders