ADO.NET Provider for Xero

Build 24.0.9060

Changelog

General Changes

DateBuild
Number
Change
Type
Description
05/09/20248895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
03/15/20248840GeneralAdded
  • Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
01/18/20248783ADO.NETAdded
  • Added support for EFCore 8.
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/28/20238732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
11/15/20238719ADO.NETChanged
  • NuGet license and icon are now embedded within the package itself, in compliance with the package authoring best practices.
07/13/20238594XeroDeprecated
  • Deprecated SwitchTenant stored procedure. To switch tenants dynamically, specify the desired TenantId in a WHERE clause on individual queries instead.
06/20/20238571GeneralAdded
  • Added the new sys_lastresultinfo system table.
04/26/20238516XeroAdded
  • Added CreateReportSchema stored procedure to save a dynamic Profit and Loss report as a view.
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.
04/05/20238495XeroAdded
  • Added DownloadPDF stored procedure to download documents from Invoices, CreditNotes, and Quotes table in PDF format.

Added
  • Added DownloadPDF stored procedure to download documents from Invoices, CreditNotes, and Quotes table in PDF format.
03/30/20238489XeroAdded
  • Added bulk INSERT support for tables which model line items in PayrollAUS and Accounting data models. These are: BankTransactions, ManualJournals, PaySlipDeductions, PaySlipEarnings, PaySlipLeaveAccrual, PaySlipReimbursements, PaySlipSuperAnnuations, PaySlipTaxes, PayslipTimesheetEarnings, and Timesheets.
03/07/20238466XeroAdded
  • Added CUD operation support for PaySlip line item tables in PayrollAUS data model.
12/14/20228383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
09/30/20228308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
09/23/20228301XeroAdded
  • Added the OAuthClient AuthScheme for Xero custom connections. These are machine-to-machine OAuth applications that authenticate using OAuthClientId and OAuthClientSecret. Unlike normal apps they are specific to an organization and do not require user interaction.
06/08/20228194ADO.NETRemoved
  • Removed support for VS2010.
05/19/20228174ADO.NETRemoved
  • Removed support for .NET 2.0.
05/09/20228164XeroAdded
  • Added an embedded OAuth application that can be used from all editions, not just within Connect and other hosted apps. This required changing the default AuthScheme to PKCE because the new app uses PKCE for security.
04/27/20228152ADO.NETRemoved
  • Removed support for EFCore 3.0 and EFCore5.0.
03/03/20228097XeroAdded
  • Added columns for compliance with STP-related changes in PayrollAUS. This affects Employees, PayItemsEarnings and PaySlipEarnings. Note that this does not include any changes related to cashing out leave as those are still in development within Xero.
01/12/20228047XeroAdded
  • Added support for querying payslip line-item tables in the PayslipAus schema (PayslipEarnings, PaySlipDeductions, etc.) without requiring that a PayslipID be present in the WHERE clause. If no PayslipID is given then the relevant line item type will be retrieved from all payslips.
01/06/20228041XeroAdded
  • Added support for reading all allocations from credit notes, prepayments and overpayments. These are exposed as the new tables CreditNoteAllocations, PrepaymentAllocations and OverpaymentAllocations.
10/22/20217965XeroAdded
  • Added foreign key metadata to the table definitions across all supported APIs.
10/05/20217948XeroAdded
  • Added support for reporting API limits via the GetLimitInfo stored procedure. This procedure can be called to report the last known API limits (minute, daily and app) for any tenant that has been queried on the current connection. It also reports the suggested retry delays in case applications want to handle long-term daily and app retries.
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.
06/07/20217828ADO.NETAdded
  • Added support for the DbCommand.CommandTimeout property.
05/29/20217819ADO.NETRemoved
  • Removed support for SSRS 2008.
05/26/20217816XeroAdded
  • Added support for the TenantId pseudo-column, which can be used as an alternative to the SwitchTenant to query an organization different than the one the connection was configured for. DML isn't supported but queries work, including sliced queries and queries which split the filter across multiple contexts like SELECT * FROM Contacts UNION SELECT * FROM Contacts WHERE TenantId = '...'
05/06/20217796XeroAdded
  • Added support for the OrganisationActions view, which lists out special permissions granted to the current OAuth app within the organisation it is connected to.
  • Added support for accessing the Budgets and BudgetLines APIs within Accounting.
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.
03/17/20217746XeroAdded
  • Added support for using WHERE filters inside of PayrollAus. This has been a long-standing limitation due to limited support for server-side WHERE, but we now annotate each table supporting that parameter explicitly. Most of the non-report and non-history tables in Accounting have this option in addition to these tables from PayrollAus:
    • Employees
    • LeaveApplications
    • PayrollCalendars
    • PayRuns
    • SuperFunds
    • Timesheets
03/15/20217744XeroAdded
  • Made extesnsions to XML aggregate support now that column#1, column#2 syntax is deprecated
    • Added insert aggregate support to ContactGroups, ExpenseClaims and LeaveApplications
    • Added support for using aggregates when a row ID is provided. This is intended to allow queries like (1), which used to be the recommended way to insert multiple line items onto an existing entity.
    • Added support for using aggregates in UPDATE. When given this way, the provider will overwrite any existing line items with the content of the aggregate.
03/12/20217741XeroRemoved
  • Everything to do with OAuth1 support is gone. Xero is going to remove it from their service at the end of the Mar 2021.
  • Removed the certificate store properties, they no longer exist even as hidden properties since none of the OAuth2 flows need them.
  • Removed the MigrateOAuth1Token procedure, that API will stop working when the rest of the OAuth1 functionality does so there's no reason to keep it.
  • It is no longer possible to use OAuth1 by specifying AuthScheme=Auto and providing the XeroAppAuthentication properties via Other.
  • Deprecated OAuth2 as an AuthScheme, it is now called OAuth
01/05/20217675XeroAdded
  • Added support for revoking tenants using the RevokeTenant stored procedure.

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