- Added PersonalAccessToken as an authentication schema. Set AuthScheme to PersonalAccessToken to use Personal Access Token authentication with Airtable.
- Added OAuthPKCE as an authentication schema. Set AuthScheme to OAuthPKCE to use OAuth authentication with Airtable.
- Added the Default column to the sys_procedureparameters table.
- Added BaseName as a property to be used with the Metadata API.
- Added support for the Metadata API endpoints. Note that the Metadata API is not available for general access.
- Added EnableMetadata API as a property.
- Added ClientSecret as a property.
- Added SchemaName as an input to the CreateSchema procedure to use when the Metadata API is enabled.
- Added the IsPath column to the sys_procedureparameters table.
- Added a config file option STATUSBAR_UPDATE=TRUE. Indicates whether the Excel Add-In will update the Excel Status Bar with progress status on completed tasks. The default value is TRUE. This way there is the option to NOT update the Status Bar by setting it to FALSE.
- Improved the User Experience on CData Connection Editor by introducing a Basic tab for the most imporant connection properties.
- We now support handling the keyword "COLLATE" as standard function name as well.
- Changed the behavior so that auto-refreshing continues even if the worksheet is not active anymore or loses focus.
- Added support for inserting rows on tables when no primary key is defined on a given table.
- The button "Get Data -> From ProviderX" now displays a submenu with existing connections buttons, and a separator, with the "New ProviderX Connection" button, if a connections exist. If no connection exists, then clicking "Get Data -> From ProviderX" will prompt the user to create a new connection prior to selecting the data.
- In the "Table Selection" form, the "Source", "New Connection", "Connection", "Edit Connection" are removed as they are out of the context of the "Table Selection" form.
- Added support for adding columns to existing tables. This feature is only added for the Snowflake driver at the moment. More providers may be added in the future.
- Added batch support for CDATAINSERT, CDATAUPDATE, CDATADELETE UDFs.
- Added the TypeDetectionScheme connection property. Currently None and RowScan data type detection schemes may be specified.
- Added a config file option RETRIEVE_DATA_ROWS_PERCOUNT. When getting data, this indicates the number of rows to be retrieved per count. The default value is 1000.
- Improved performance when loading data from Get Data/Refresh and the CDATAQUERY function.
- Implemented a mechanism to detect if the user aborted the process or not.
- Added new VBA functions: GetLastErrorCode and GetLastError.
- Added new VBA functions: GetUpSertedRows, UpSertRows, UpSertAll and UpSert.
- The "Update Rows" button has a new context. It will update changes made to existing rows or insert newly created rows.
- The "Add Rows" button has been removed.
- Added the ability to create and populate tables in the data source based on existing Excel tables. This feature is only added for the Snowflake driver at the moment. More providers may be added in the future.
- When loading data, table columns are auto-fitted to display all cells content. In cases when cells have large amounts of text and the table has many rows, this operation might be slow.
- Added a config file option DISABLE_AUTOFIT_COLUMN. Setting DISABLE_AUTOFIT_COLUMN==TRUE will speed up the process in those cases. The default value is FALSE.
- Changed the maximum characters that a cell can get from the data source from 8,192 to 32,767.
- Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
- Added the KeySeq column to the sys_foreignkeys table.
- Added the new sys_primarykeys system table.
- Added the possibility to sort via UI on the "CData Query" form. The order of the sort is defined by reordering the columns.
- Updated the Literal Function Names for relative date/datetime functions. Previously relative date/datetime functions resolved to a different value when used in the projection vs te predicate. Ie: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly the two LAST_MONTH() methods would resolve to different datetimes. Now they will match.
- As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. Ie: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that previously were calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
- Removed support for .NET 3.5. Before upgrade/downgrade, a clean uninstall and then the same product versions install should be performed. So, if we want to downgrade, all the downgrade build versions must be with a .NET 3.5 support. If we want to upgrade, all the upgrade build versions must be with the dropped .NET 3.5 support.
- Added the TCP Logging Module for the logging information happening on the TCP wire protocol. The transport bytes that are incoming and ongoing will be logged at verbosity=5.
- Added a config file option REPLACE_SYSTEM_LOCALE=TRUE. This indicates whether Office culture replaces system locale. The default value is TRUE. This way there is the option to disable overriding system locale by setting it to FALSE.
- Added the ability to move the columns up and down on the "CData Query" form grid view and change their order via UI.
- Added the default parameter "showPopups" so the user may decide to show or not popups when calling VBA functions.
- A new UI implementation is added for "in" and "not in" filter options on the "CData Query" form. The user is able to select via an interface from a list of distinct column values.
- Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = Concat(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
- Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
- Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
- Reduced the length to 255 for varchar primary key and foreign key columns.
- Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you would need to generate new metadata caches if you are currently using CacheMetadata.
- Updated index naming convention to avoid duplicates
- Updated and standardized Getting Started connection help.
- Added the Advanced Features section to the help of all drivers.
- Categorized connection property listings in the help for all editions.
- Kerberos authentication is updated to use TCP by default, but will fall back to UDP if a TCP connection cannot be established
- Implemented user awareness during the upgrade process from 2019 to 2020 or 2021 editions.
- Added the "is null" and "is not null" filters on the "CData Query" form.