ADO.NET Provider for Salesforce

Build 23.0.8839

Changelog

General Changes

DateBuild
Number
Change
Type
Description
02/17/20248813SalesforceAdded
  • FileStream input was added for the DownloadAttachment and DownloadDocument stored procedures, it can be used to download the content into an input stream.
  • Content was added for UploadAttachment, UploadContentDocument and UploadDocument stored procedures, it can be used to upload the content from a stream.
02/15/20248811SalesforceAdded
  • Added support for the 'QueryMode' input in the QueryBatch stored procedure. This feature enables users to execute either a SQL or SOQL query using this stored procedure.
01/18/20248783ADO.NETAdded
  • Added support for EFCore 8.
12/26/20238760SalesforceAdded
  • Added support for OAuthPKCE (Authorization Code Flow with Proof Key for Code Exchange).
11/29/20238733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.

Changed
  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
11/15/20238719ADO.NETChanged
  • NuGet license and icon are now embedded within the package itself, in compliance with the package authoring best practices.
11/14/20238718SalesforceAdded
  • Added the 'QueryBatchId' and 'QueryJobId' outputs in the QueryBatch stored procedure.

Removed
  • The 'Id' output corresponding to the batch ID in the QueryBatch stored procedure has been removed. To get the id of the batch use the new 'QueryBatchId' output instead.
11/08/20238712SalesforceAdded
  • Added the IsUpdateable, IsCreateable columns in sys_tablecolumns table which indicate whether the fields can be edited/created.
10/20/20238693SalesforceRemoved
  • The 'CreateReportSchema' and 'GetCustomReport' stored procedures have been removed and cannot longer be used.

Replacements
  • We have changed and improved support for querying Salesforce reports. The 'CreateReportSchema' and 'GetCustomReport' stored procedures have been removed and cannot longer be used. To query Salesforce reports set the IncludeReports property to true and query the reports as normal tables. The new feature supports additional report types such as SUMMARY, MATRIX reports.

Added
  • Added support for IncludeReports property, which indicates if salesforce reports should be exposed as views.
  • Added support for IsReport column in sys_tables table which indicates if a view is a Salesforce report.
10/06/20238679SalesforceAdded
  • Added the InLineHelpText column in sys_tablecolumns table which outputs the user-defined help text information for each of the fields.
10/05/20238678SalesforceChanged
  • Changed the default Salesforce API Version to 58.

Added
  • Added support for eight new PK Chunking-Enabled Objects with Bulk API and Bulk API 2.0 as of v57.0: CaseRelatedIssue, ChangeRequestRelatedIssue, ChangeRequestRelatedItem, Contract, Entitlement, IncidentRelatedItem, ProblemIncident, ProblemRelatedItem.
08/02/20238614SalesforceAdded
  • Added support for FileId, Success, and FailureMessage outputs in the download stored procedures. These outputs are helpful in showing the status of each download in multi-file downloads.
06/20/20238571GeneralAdded
  • Added the new sys_lastresultinfo system table.
05/29/20238549SalesforceRemoved
  • Removed the ContentType input of the GetBatchResults stored procedure. The driver automatically resolves the content type.
05/23/20238543SalesforceRemoved
  • Removed the SOQL input of the CreateSchema stored procedure. Instead, for running SOQL queries directly, the QueryPassthrough connection property should be set to true.
05/02/20238522SalesforceAdded
  • Added support for the ‘EmptyValueBehavior’ hidden connection property which takes two values: ‘ConvertEmptyStringsToNull’ and ‘IgnoreEmptyValue’.The property impacts CUD statements when UseBulkAPI = true.'ConvertEmptyStringsToNull' is the default behavior which updates/creates a field value to NULL if the user has specified an empty string or NULL value,while 'IgnoreEmptyValue' will consider empty string values and NULL as no change made to the field's value.
04/26/20238516SalesforceChanged
  • The BulkPageSize connection property has been marked as hidden. To continue using this property, you should append it to the Other connection property
04/25/20238515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
04/19/20238509ADO.NETRemoved
  • Removed support for EFCore 3.1.
04/18/20238508ADO.NETRemoved
  • Removed support for SSRS 2012.

Added
  • Added support for SSRS 2022.
01/06/20238406SalesforceAdded
  • Added support for RemoveBOMCharacter hidden connection property which if set to true, is used to remove the BOM character from the content.
12/14/20228383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
12/13/20228382SalesforceAdded
  • Added the IsQueryable column in sys_tables table which is useful to differentiate queryable objects when the ExposeNonQueryable connection property is set to true.
12/09/20228378SalesforceRemoved
  • Removed the OutputFolder parameter for the CreateReportSchema stored procedure. The Location connection property must be used to set the output directory for writing schemas to a file.

Added
  • Added the WriteToFile parameter for the CreateReportSchema and CreateSchema stored procedures. It defaults to true and specifies whether to write the contents of the generated schema to a file or not. Set it to false to write the schema to FileStream or FileData.
11/25/20228364SalesforceAdded
  • Added support for ExposeConceptualEntities connection property which is used to expose Salesforce objects' record types as tables.
11/18/20228357SalesforceAdded
  • Added support for ReplaceInvalidUTF8Chars connection property which is used to replace invalid UTF8 characters with a '?'.
11/11/20228350SalesforceDeprecated
  • The SOQL input of the CreateSchema stored procedure has been deprecated and will be removed in the next version.Instead, for running SOQL queries directly, the QueryPassthrough connection property should be set to true.
11/04/20228343SalesforceChanged
  • We have updated our SQL joins validation logic. We internally resolve and translate more SQL joins into salesforce relationship queries for faster and better performance.
10/27/20228335SalesforceChanged
  • Changed the default Salesforce API Version to 56.
10/17/20228325SalesforceAdded
  • Added support for retrieving PickListValues only for a specific record type. RecordTypeId should be specified in the WHERE clause along TableName.
09/30/20228308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
09/28/20228306SalesforceAdded
  • Added the IsIdLookup column in sys_tablecolumns table.
09/20/20228298SalesforceAdded
  • Added the ContentDocumentId output for the UploadContentDocument stored procedure.
09/13/20228291SalesforceAdded
  • Added an option for directly executing SOQL queries. This mode is enabled by setting QueryPassthrough to true.
09/07/20228285SalesforceAdded
  • Added the State output for the GetJobBatchIds stored procedure and JobId output for the CreateBatch, GetBatch stored procedures.
08/26/20228273SalesforceAdded
  • Added the UseToolingAPI connection property.
08/25/20228272SalesforceAdded
  • Added the SupportNativeDataType connection property which if set to true, will report types using the original Salesforce data type with no translation to the generic type.
08/24/20228271SalesforceChanged
  • Changed the default Salesforce API Version to 55.
06/08/20228194ADO.NETRemoved
  • Removed support for VS2010.
05/19/20228174ADO.NETRemoved
  • Removed support for .NET 2.0.
05/19/20228174SalesforceDeprecated
  • The OAuthGrantType connection property has been deprecated.

Replacements
  • The AuthScheme connection property will be used as a replacement for OAuthGrantType. Its new option OAuthPassword replaces OAuthGrantType=PASSWORD while OAuth replaces OAuthGrantType=CODE.
05/10/20228165SalesforceAdded
  • Added the Encoding input and FileData output for the DownloadAttachment, DownloadContentDocument, DownloadDocument stored procedures.
04/27/20228152ADO.NETRemoved
  • Removed support for EFCore 3.0 and EFCore5.0.
04/08/20228133SalesforceChanged
  • Changed the default Salesforce API Version to 54.
02/09/20228075SalesforceAdded
  • Added support for the PolymorphicColumnsRelationships table, which lists tables and columns details of polymorphic relationships.
02/08/20228074SalesforceAdded
  • Added support for the AggregateCompoundFieldsFormat connection property. This property controls the format of the compound fields that will be aggregated. It accepts two values: JSON(defaut) and NONE.

Changed
  • Changed aggregate compound fields format to JSON for when the connection property AggregateCompoundFields is set to true. The format of the compound fields can be controlled with the AggregateCompoundFieldsFormat connection property.
02/01/20228067SalesforceChanged
  • Changed the default Salesforce API Version to 53.
12/31/20218035SalesforceChanged
  • Due to a recent improvement we have replaced the instance url format in the OAuthSettings.txt file. If possible, we advise users to remove the existing OAuthSettings.txt file and reissue a new connection.
11/18/20217992SalesforceAdded
  • Added support for persisting the session token retrieved with OKTA MFA. These tokens are short lived and expire after two hours. At that point, the driver will send a request for a new MFAPasscode which should be reissued in a new connection. Retrieve your MFA Token from you phone, email, or other method you have configured with OKTA to handle MFA.
  • Added support for the CredentialsLocation connection property which specifies the location of the settings file where the token retrieved with OKTA MFA is saved. This works the same as the OAuthSettingsLocation.
09/02/20217915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
08/07/20217889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
08/06/20217888GeneralChanged
  • Added the new sys_primarykeys system table.
07/23/20217874GeneralChanged
  • 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 as opposed to the predicate. For example: 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. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
07/13/20217864SalesforceAdded
  • Added support for CUD operations on polymorphic fields.
06/17/20217838SalesforceAdded
  • Added support for OAuth JWT.
06/11/20217832SalesforceChanged
  • Bulk queries use a new downloader when running against API v1. The new downloader downloads and process chunks of result data in parallel and uses temporary files to store data that has not yet been processed. It is both faster and more resilient against slower readers than the previous download mechanism.
  • The BulkAPIVersion property is hidden. It's not recommended for users to set this property since bulk API v2 is slower and has fewer features.
06/07/20217828ADO.NETAdded
  • Added support for the DbCommand.CommandTimeout property.
05/29/20217819ADO.NETRemoved
  • Removed support for SSRS 2008.
05/20/20217810SalesforceChanged
  • Added support for GETDELETED to the ContentDocument and ContentVersion tables.
04/25/20217785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
04/23/20217783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
04/16/20217776ADO.NETChanged
  • Separated the ADO.NET Provider assembly and Entity Framework Core 5 Nuget packages.
  • Single precision floating point numbers are now reported as with the Data Type Name as "real". Double precision floating point numbers now have their Data Type Name reported as "float". This change does not impact the actual data types of these columns - only the reported data type name.
  • Separate EFCore 3.0, 3.1 and EFCore 5 dlls are now shipped with the driver. The 2.0 and 2.1 EFCore dlls are removed.
04/16/20217776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
04/16/20217776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.

Changed
  • Updated index naming convention to avoid duplicates.
04/16/20217776GeneralChanged
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
04/13/20217773SalesforceChanged
  • The OneLogin method we used previously has been deprecated by OneLogin. We have updated our design to use the latest version of the OneLogin API, which now requires a seperate OAuthClientId and OAuthClientSecret associated with your OneLogin app to be passed in through SSOProperties. The APIKey that was formerly passed in through SSOProperties for OneLogin is removed.
  • OneLogin also no longer uses SSOLoginURL. Instead, Subdomain and AppId should be specified inside the SSOProperties.
04/07/20217767SalesforceAdded
  • Added GetLimitInfo stored procedure.
03/31/20217760SalesforceDeprecated
  • IdpURL, AppEmbedLink, OktaAppEmbedLink, OktaDomain, IdpSystemPassword, SSOUser, SSOPassword, IdPPassword, IdpSystemUserName, IdpUser, OneLoginAPIKey, OktaApiToken, IdpSystemScheme, IdPSystemSSLClientCert, IdPSystemSSLClientCertType, IdPSystemSSLClientCertSubject, IdPSystemSSLClientCertPassword, and SSOTokenURL are deprecated.

Replacements
  • Deprecated the SSOTokenURL connection property. Instead SSOExchangeTokenURL should be used to specify the endpoint for exchanging SAML token with an oauth token.
  • IdpURL is replaced by SSOLoginURL.
  • The OktaDomain longer needs to be specified for any SSO connections as it can be extracted from SSOLoginURL.
  • SSOLoginURL replaces OktaAppEmbedLink and AppEmbedLink as it is more generic and applicable to other SSO providers.
  • SSOUser, SSOPassword, IdpUser, IdpPassword, IdpSystemUserName, IdpSystemPassword are replaced with the User / Password connection properties.
  • OneLoginAPIKey and OktaApiToken are replaced by APIToken.
  • IdPSystemSSLClientCert, IdPSystemSSLClientCertType, IdPSystemSSLClientCertSubject, IdPSystemSSLClientCertPassword are replaced with the standard SSL cert connection properties.
12/16/20207655SalesforceAdded
  • Added an embedded OAuth app.
12/11/20207650SalesforceAdded
  • Added OrderItemsRest table by implementing the two endpoints from the Place Order REST API: https://developer.salesforce.com/docs/atlas.en-us.api_placeorder.meta/api_placeorder/sforce_placeorder_rest_api_add_orderprod.htm https://developer.salesforce.com/docs/atlas.en-us.api_placeorder.meta/api_placeorder/sforce_placeorder_rest_api_get_details_order.htm The table can be enabled with the EnablePlaceOrderRESTAPI connection property.
11/02/20207611SalesforceChanged
  • Changed the default Salesforce API Version to 50.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839