Release Notes of Invantive® SQL 24.0.469
Invantive® SQL
Invantive UniversalSQL is a .net 6 (or higher) and .net Framework version of Invantive UniversalSQL. Invantive UniversalSQL provides high-performance access to over 75 cloud and database platforms, all acting together as one global virtual database. All drivers support read operations and many include write operations through familiar insert, update, delete and create statements. Bulk loading and data replication operations are available on selected platforms. An integrated optimizer rewrites queries and other SQL statements for optimal execution performanec with reduced CPU and memory resource use. Invantive UniversalSQL runs across Linux, MacOS, Windows, Android and iOS. Functionality is largely identical with some export formats missing or with small layout differences due to the nature of some operating systems. Invantive UniversalSQL bundles an extensive SQL dialect which is largely compatible with ANSI SQL, SQL Server, MySQL, Teradata, IBM DB2, PostgreSQL and Oracle. The SQL language also include a procedural option named Invantive PSQL. PSQL is similar to the ANSI Procedural syntax, PostgreSQL and Oracle procedural extensions. A number of pre-defined packages are available across all platforms. Some PSQL packages are available only on specific platforms due to their nature, such as on Invantive Cloud.
These release notes describe all bug fixes and enhancements on Invantive® SQL per released version. The release number consists of three elements: major version, minor version and patch version. The latest version is listed on top of the list, with older releases further down. Notes are listed per patch release for the current minor release. Changes from patch releases are bundled for previous minor releases. The release notes include all changes deemed informative for use outside the product development team. Refactoring, logging, translations and internal code-only changes are not included in these external release notes. A change is considered a bug fix when it solves a problem with previously released functionality. A change is considered an enhancement when the software change extends previously released functionality.
This software, developed by Invantive, is designed to support a variety of business and information technology data processing functions, such as accounting, financial reporting an sales reporting. It is important to note that this software is not designed, tested, or approved for use in environments where malfunction or failure could lead to life-threatening situations or severe physical or environmental damage. This includes, but is not limited to:
- Nuclear facilities: The software should not be used for operations or functions related to the control, maintenance, or operation of nuclear facilities.
- Defense and Military Applications: This software is not suitable for use in defense-related applications, including but not limited to weaponry control, military strategy planning, or any other aspects of national defense.
- Aviation: The software is not intended for use in the operation, navigation, or communication systems of any aircraft or air traffic control environments.
- Healthcare and Medicine Production: This software should not be utilized for medical device operation, patient data analysis for critical health decisions, pharmaceutical production, or medical research where its failure or malfunction could impact patient health.
- Chemical and Hazardous Material Handling: This software is not intended for the management, control, or operational aspects of chemical plants or hazardous material handling facilities. Any malfunction in software used in these settings could result in dangerous chemical spills, explosions, or environmental disasters.
- Transportation and Traffic Control Systems: The software should not be used for the control, operation, or management of transportation systems, including railway signal controls, subway systems, or traffic light management. Malfunctions in such critical systems could lead to severe accidents and endanger public safety.
- Energy Grid and Utility Control Systems: This software is not designed for the control or operation of energy grid systems, including electrical substations, renewable energy control systems, or water utility control systems. The failure of software in these areas could lead to significant power outages, water supply disruptions, or other public utility failures, potentially endangering communities and causing extensive damage.
- Other High-Risk Environments: Any other critical infrastructure and environments where a failure of the software could result in significant harm to individuals or the environment.
Users must ensure that they understand the intended use of the software and refrain from deploying it in any setting that falls outside of its designed purpose. It is the responsibility of the user to assess the suitability of the software for their intended application, especially in any scenarios that might pose a risk to life, health, or the environment.
Invantive disclaims any responsibility for damage, injury, or legal consequences resulting from the use or misuse of this software in prohibited or unintended applications.
Version: 24.0.469
Released: 02-12-2024 13:16:50 (UTC)
State: Production
Manufacturer: Invantive Software B.V.
Brand: Invantive
Copyright: © Copyright 2004-2024 Invantive Software B.V., the Netherlands. All rights reserved.
Software Requirements:
- Microsoft .NET 4.8 or higher, or Microsoft .NET 6.0 or higher.
- Screen resolution 1280x1024 or higher.
- User license for databases used and/or business applications.
Limitations: For use in service area within important safety and usage conditions.
Category: Business
Email: sales@invantive.com
Forums (URL): https://forums.invantive.com/tag/invantive-sql
Manual (URL): https://go.invantive.com/sqlgrammar
MSI Product ID: 24467287-923b-4dfa-a638-3992c9af298e
Included Components:
Version 24.0.469, released 2024-12-02. Enhancements: - 24 new Exact Online tables. - Add 10 more Freshdesk tables. - Add 8 VAT declarations views for Twinfield. - Add 9 columns to SystemLocks. - Add ActiveCampaign view DealActivitiesNonEmail. - Add AFAS course environment. - Add Calendly driver. - Add check differentiations on Bridge Online driver. - Add cloud_http.get_absolute_path_to_module function. - Add cloud_http.get_request_body_binary and cloud_http.get_request_body_text. - Add ContactNotesAll, CompanyNotesAll and other Teamleader tables. - Add Costs, Memorials and MemorialLines tables to Gripp CRM. - Add Crisp driver. - Add CustomFields table function and eol_premium.update_custom_field PSQL procedure. - Add data dictionary view `SystemTimezones`. - Add DATACONTAINERATTR as namespace for SYS_CONTEXT SQL function. - Add dcr_metadata.get_partitions pipelined table function. - Add default rate limiter to Discourse driver. - Add description with filter SQL execution step. - Add duration_ms and duration_ticks on SystemSqlExecutions. - Add EU VAT SQL functions - Add fin_trs_line_count column to transaction tables on Twinfield such as TransactionSummary. - Add hidedetails to contractlines on Gripp. - Add Horeko. - Add incremental-force-reload provider attribute to Exact Online. - Add itgensgr140 on Robaws due to duplicate rows on PlanningItems. - Add more context when failing to convert a field to the required data type. - Add new Chargebee tables. - Add new company fields to data dictionary. - Add new V2 tables to Teamleader. - Add new Visma.net tables. - Add PSQL objects to available objects in SQL editor. - Add remaining Twinfield declaration tables. - Add server move date to partition list. - Add several new Teamleader Focus tables. - Add SnelStart view SaldiPerPeriode and SaldiPerJaar. - Add Snelstart views. - Add specific error for custom fields of type addon_item. - Add SQL execution ID to session I/Os - Add SQL function "shorten". - Add SQL function clock_offset_avg and clock_offset_last. - Add subject_invoice to Gripp CRM contacts. - Add SystemLocks table. - Add Teamleader Focus table MeetingAttendees. - Add Teamleader tables account, email_mailboxes, ticket_forms and 10 others. - Add Teamleader tables CloudPlatformUrlByTypeAndId, ProjectsV2Status, TimeTrackingMaterials, UserWeekScheduleByUserId and UserWeekSchedulesAll. - Add Teamleader V1 view CreditNoteItems. - Add Teamleader view DepartmentsAll and table DepartmentById. - Add telemetry. - Add Twinfield application control on row count. - Add Twinfield itgentpr100 for "U heeft geen toegang tot opvraagcode". - Add Twinfield roles. - Add Twinfield tables: Declarations, IctReturnAsXbrlByDocumentId, IctReturnAsXmlByDocumentId and NumberOfDeclarations. - Add various new Teamleader tables. - Add view AlleSectoren to Easyflex. - Add view to calculate total number of rows of tables - Add view to calculate total number of rows of tables. - Add views on NMBRS. - Allow 1 failing table and 1 failing package on Robaws when the Swagger is invalid. - Allow automatic logging of incremental metadata. - Allow calling pipelined functions from a select statement outside a begin ... end. - Allow enabling / disabling Teamleader V1 API. - Allow to disable data containers. - Allow using short-lived TOTP password on eol_premium.get_database_credentials - Avoid itgentfr092 / itgentfr095 by trying multiple partitions. - AWS S3 package: add get_object_metadata pipelined table function. - AWS S3 package: add list_buckets pipelined table function - AWS S3 package: add list_directory_buckets pipelined table function - AWS S3 package: add list_directory_buckets pipelined table function. - AWS S3 package: add list_objects pipelined table function. - BOL: Set cache-control header using cache-max-age-sec provider attribute. - Bouw7: update data model. - Brevo: Insert a note and link it to contacts, deals or companies.. - Cache AFAS subject, file and image connector output indefinitely - Calendly: more tables. - Crisp: additional tables. - Decrease early access token refresh time on Exact Online - Detect invalid client ID / missing client secret on Twinfield. - Differentiate itgenvnt007 on Visma.net Financials. - Differentiate SQL Server SSL exception message code. - Disable check itgenspr113 on SQL Server datetime2 values before 1-1-1753. - Disable Teamleader Focus V1 APIs. - Disable V1 to V2 mapping tables when V1 API is not available. - Do not raise error itgenfpr205 when Freshdesk account is unavailable. - Easyflex: add array entities on Persoonsgegevens. - Easyflex: add tables. - Enable configuration of cache for custom field definitions on Teamleader. - Enable configuration of forward filters as table function parameter. - Enable One Exact Identity with Data Hub on Exact Online Belgium. - EOL incremental: do a full sync when experiencing a deviation from the expected number of rows that is too high - EOL Premium: allow retrieving the SQL Server credentials. - EOL: adjust number of requests per minute done based on the licensed available requests per day. - Exchange of cookies with HttpDownload - Exclude more AFAS Pocket connectors. - Exclude new Pocket connectors from available table list on AFAS. - Fine-tune rate limit handling on Freshdesk. - Fortnox driver - Fortnox driver. - Fortnox: rewrite all table and function names to something more meaningful. - Github provider. - GitHub: add functions for procedures that can't be mapped to SQL - GitHub: authenticate using OAuth in the background for Data Hub. - GitHub: Default filtering on organization and repository - Gitlab: Allow using personal access tokens (PATs) to log on when OAuth is not available. - Gitlab: Allow using personal access tokens (PATs) to log on. - GitLab: replace existing provider with a new OpenAPI based version - GrippCRM: Add tags tables. - Ignore ODBC load error when on net8. - Improve determining whether endpoints should become packages or tables. - Improve error message on OAuth error. - Improve error message on SQL functions. - Improve handling of One Exact Identity errors. - Improve Linux compatibility. - Improve named lock and semaphore lock names. - Improve retry for Sendinblue crashing internally. - Improve retry on SOAP-based data platforms - Improve table function SQL editor sample. - Improved build for multiple target platforms. - Improved caching algorithm for tickets_incremental on Freshdesk to better cope with very large updates within one hour. - Include feature in SystemDataContainerProperties of Data Dictionary. - Include JIRA Core tables in JIRA Service Desk. - Increase number of retries on 403 Forbidden for ActiveCampaign from default 2 to 10. - Introduce error code itgeneor801 for invalid callback URL on Exact Online webhooks. - Introduce error itgenoda822 for invalid_tenant on OAuth. - Introduce Loket message code for authorization failed. - ionBiz handle RESTier error format also. - ionBIZ reduced limit on number of IN to OR rewrite for OData. - Limit maximum duration of initial Exact Online connection setup - Limit maximum number of fields in order by for AFAS. - Log startup exceptions - Make hours optional, sometimes misses value. - Make pipeline_id and pipeline_type in Teamleader deals optional. - Migrate Teamleader API version from 2022-09-15 to 2023-09-26. - Optimized point-query on specific email or ID on Sendinblue/Brevo contacts. - Postman driver - Postman driver. - Postman: model validation. - Raise itgeneor814 or itgeneor815 instead of itgenlic556 when the API capacity is exceeded. - Reduce API calls for incremental_tickets. - Reduce duplicates in Twinfield Hierarchies. - Reduce load from VIES EU VAT SQL functions when running in parallel. - Reduce retry period on HTTP name resolution failures - Reduce size of statistics in Exact Online metadata. - Refactoring to describe new object types in QT - Register number of ANSI native database connections opened. - Relocate Chargebee product catalog 1.0. - Remove no longer available view EmployerEmploymentPayrollPeriodPayslipComponents. - Rename Twinfield UserRoles to Roles. - Replace long column names on Easyflex. - Retry retrieval of table fields on AFAS Profit. - Rewrite SQL Server error when firewall closed. - Set bytes in/out on SQL execution steps. - Set database data type on function/procedure parameters. - Set STATEMENT_ID on SESSION_IOS. - Simplicate: merged new API definition. - SQL execution steps: Add step duration without children. - SQL/PSQL: Pipelined table functions. - Support Oracle (21c) container databases. - Teamleader Focus: add custom fields on V2 list tables, fix custom fields not being added when the number of custom fields exceeds 20. - Teamleader: Add notes. - Update Bouw7 driver with new tables. - Use ' ' instead of '\n' to avoid intermittent HTTP 403 on Brevo/Sendinblue CRM/notes. - Validate TLD of email addresses - Visma .NET: Do not add partition code as table function parameter, but do as column. - Visma filtering for >= and <=. - Visma.NET: improve filtering performance. - Visma: improve error handling. Bug fixes: - Add missing data container alias on sample SQL. - Add missing stats-columns such as stats_closed_at to Freshdesk tickets_incremental. - Add table function parameter for the partition code to ease filtering. - Allow dbms_output from execute native on Oracle to be included in UniversalSQL output. - Allow use on OData-based drivers of views with references to local SQL functions. - Auto-recovery from itgeneor708. - Autotask: do not enumerate /query POST operations as package function. - Avoid looping when a scope exception occurs. - Bouw7: ignore format on binary contents. - Complete SQL execution steps on error. - Correct initial count number to be 2 for first duplicate. - Correct nullability of Localazy tables. - Correct purging of incremental table statistics - Deviate between procedures and functions in packages, add return database data type - Do not continue waiting when the request has been cancelled. - Do not include message code in error message of session I/O. - Ensure logging table name specified in SOAP driver during WSDL download. - Ensure sync is being executed in PSQL. - Exclude multi-select custom fields from base tables on Teamleader. - Fix "unknown table" on GeneralLedgerAccountMappingAccounts. - Fix authentication issue on Teamleader Focus. - Fix Brevo parameter naming issue. - Fix calculation of bytes out on root SQL execution step. - Fix calculation of columns in on chained iterator SQL execution steps. - Fix calculation of rows in SQL execution steps. - Fix calculation of rows/columns/bytes in on root SQL execution step. - Fix concurrency issue IndexOutOfRangeException when logging on to database with many data containers. - Fix concurrency issue. - Fix custom fields on Teamleader Deals. - Fix custom function retrieval. - Fix deserialization of SQL execution steps. - Fix duplicate data source alias and column names on pivot. - Fix Easyflex including XML columns in master and detail tables. - Fix EOL not retrieving provider attributes. - Fix error on attributes being set from command line on Exact Online. - Fix error on sitemap XML parsing when complete date format is used. - Fix error on updating non-existing column. - Fix Exact Online OEI log in - Fix execution hints having effect beyond the query itself. - Fix Freshdesk custom_object_fields table. - Fix Freshdesk survey_satisfaction_ratings. - Fix HTTP 501 Not implemented on Exact Online Users filtered by UserTypeCode. - Fix incidental itgengpr200 on ANSI SQL - Fix ItemExtraFieldValues table function parameters - Fix itgenacn071 on Deals. - Fix itgencbr020. - Fix itgenclr008 on Swagger exception handling. - Fix itgenclr009 on calling PSQL procedures. - Fix itgenclr009 on months_between. - Fix itgenclr074 Method not found: System.IO.MemoryStream Microsoft.IO.RecyclableMemoryStreamManager.GetStream(). - Fix itgencmr077 "You have no access to company..." when there are multiple data containers with partitions in a Twinfield database and GeneralLedgerAccountMappingAccounts is retrieved. - Fix itgendid336 for data type conversion in Crisp. - Fix itgenexl148 and improve OAuth token refresh - Fix itgengpr200 on Minox. - Fix itgenlss001 on insert into SMTP MAIL. - Fix itgenoda061 on Sync* tables for some columns. - Fix itgenoda061 on TransctionLinesIncremental for ShopOrder. - Fix itgenoda312 when trying to form fitting URLs for Exact Online. - Fix itgenodo118 was log on to Odoo. - Fix itgenodr007 on reversal_transaction_id of Chargebee. - Fix itgenpse167 on Cloud and Bridge Online. - Fix itgenrse009 on SystemSqlExecutionSleeps. - Fix itgenrst004 on DURATION_MS when querying NativePlatformScalarRequests. - Fix itgenrst004 on internettable website crawler. - Fix itgenrst007 on Localazy projects. - Fix itgenrst009 on ActiveCampaign Deals on column description. - Fix itgensgr140 on Brevo EmailCampaignStatistics - Fix itgensgr196 on Loket and other OpenAPI-based data containers. - Fix itgentft002. - Fix itgentft003 on JIRA Service Desk. - Fix itgenttn290 since 24.0.385 when using views on Visma.net with Visma Connect. - Fix like on PostgreSQL when a slash is included in the search value. - Fix locking issue causing itgeneor708 - Fix log on problem Exact Online with Data Hub. - Fix multiple partitions being returned on Visma.net with Visma Connect, one for each branch. - Fix NRE on create function. - Fix NRE on create procedure. - Fix nullability of Gripp CRM EmploymentContracts and ...ById. - Fix number of slots on Exact Online XML API. - Fix ORA-28264. - Fix package function resolution. - Fix pipeline empty in Deals of Teamleader. - Fix random_blob on 24.0. - Fix row count on SystemSqlExecutions. - Fix SQL execution step parent on group by. - Fix structure of GeneralLedgerAccountMappingAccounts on Twinfield. - Fix Teamleader Orbit table name with spaces failing in BOL. - Fix Twinfield error on UserRoles. - Fix Twinfield view selection issue where calling data container can't be found. - Fix unix_timestamp dynamic calls triggering itgenclr009. - Fix update variable prefix issue. - Fix view errors on Nmbrs. - Fix view Twinfield. - Fix WebhookSubscriptions on Exact Online naming. - GitHub: fix username and password in log on screen. - GitLab: use correct Open API specification and some fixes. - Give pseudo_id a non-0 value for MatchSetLines on Exact Online. - Gripp CRM: make EmployeeYearlyLeaveBudgets fields newsaldothisyear, takeoverlastyear and balance decimals. - GrippCRM: Fix Tags tables column retrieval. - Horeko: fix duplicate function name. - Horeko: several fixes. - Improve available objects list with tooltips and better SQL statements - Improve error message on incorrect field name when parsing SQL. - Improve rate limits on Exact Online XML API. - Improve text formatting in SQL execution steps. - Improved user/password memorization to memorize token in Invantive Keychain. - Log native call to disk also for several types of failed calls. - Loket.nl: fix paging. - PG: set ISO date time style. - Raise more meaningful error than itgendir010 when /licensekey excludes value. - Raise more precise error message on EOL token server resulting in a 502 Bad Gateway. - Rename ProjectAssignmentBudgets to ProjectAssignmentBudgetsByParameters on Simplicate. - Return contents (when present) on HTTPDownload which triggers HTTP error. - Return inner XML for database column values when applicable. - Rows in/out and other properties not set on SQL execution step root levels. - Set description on child SQL execution step. - Set description on master SQL execution step. - Simplicate: Fix last_change data type. - Simplicate: fix page size checks. - Simplicate: improve table function parameter names - Simplicate: several fixes to data model. - Skip itgenfpr205 when no privileges on Freshdesk account. - SnelStart: fix invalid Swagger definition. - Split pipeline in Teamleader V2 deals into the two fields. - Swagger: Fix package and functions containing spaces. - Swagger: only add packages when they have functions. - Trim varchar2 strings in several edge cases. - Twinfield: improve filtering on year, period and year period. - Twinfield: split requests of transaction tables to prevent server errors on too large responses - Visma NET: improve error message code on invalid_tenant. - Visma.NET: Improve error on invalid_tenant. - Wait for the time given when receiving a HTTP 429. - YouTrack: Fix itgendca002. Details of Release Notes: Version 24.0.469: Add EU VAT SQL functions # src/Invantive.Data.Interfaces/MessageCodes.cs Version 24.0.221: Add SQL execution ID to session I/Os # src/Invantive.Data/Providers/DataDictionaryProvider.cs Version 24.0.185: Add view to calculate total number of rows of tables # src/Invantive.Data.Interfaces/MessageCodes.cs # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProviderMetadata.cs Version 24.0.285: Allow using short-lived TOTP password on eol_premium.get_database_credentials # src/Invantive.Data.Interfaces/OAuth/OAuthInformation.cs Version 24.0.14: AWS S3 package: add list_buckets pipelined table function # src/Invantive.Data/Sql/V1/QueryTree/PipelinedTableFunctionTree.cs Version 24.0.14: AWS S3 package: add list_directory_buckets pipelined table function # src/Invantive.Data.Interfaces/MessageCodes.cs # src/Invantive.Data/Sql/V1/PSQL/Packages/AwsS3.cs Version 24.0.293: Cache AFAS subject, file and image connector output indefinitely # src/Invantive.Data.Providers/AfasOnline/AfasOnlineProvider.cs Version 24.0.363: Correct purging of incremental table statistics # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProvider.cs Version 24.0.291: Decrease early access token refresh time on Exact Online # src/Invantive.Data.Providers/OData/ODataWithOAuthProvider.cs Version 24.0.25: Deviate between procedures and functions in packages, add return database data type # src/Invantive.Data.Providers/Dummy/DummyProvider.cs Version 24.0.187: EOL incremental: do a full sync when experiencing a deviation from the expected number of rows that is too high # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProvider.cs Version 24.0.259: Exchange of cookies with HttpDownload # src/Invantive.Data/Sql/V1/QueryTree/InternetFetchResult.cs Version 24.0.430: Fix Exact Online OEI log in # src/Invantive.Data.Providers/OAuth/OAuthBackgroundProvider.cs Version 24.0.337: Fix incidental itgengpr200 on ANSI SQL # src/Invantive.Data.Providers/Ansi/AnsiSqlProviderBase.cs Version 24.0.191: Fix ItemExtraFieldValues table function parameters # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProviderMetadata.cs Version 24.0.424: Fix itgenexl148 and improve OAuth token refresh # src/Invantive.Data.Providers/ExactOnline/XML/ExactOnlineXmlProvider.cs Version 24.0.347: Fix itgensgr140 on Brevo EmailCampaignStatistics # src/Invantive.Data.Providers/Sendinblue/SendinblueProvider.cs Version 24.0.87: Fix locking issue causing itgeneor708 # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProvider.cs Version 24.0.343: Fortnox driver # src/Invantive.Data/Sql/V1/QueryTree/SynchronizeStatementTree.cs Version 24.0.302: GitHub: add functions for procedures that can't be mapped to SQL # src/Invantive.Data.Providers/Swagger/SwaggerProvider.cs Version 24.0.307: GitHub: Default filtering on organization and repository # src/Invantive.Data.Providers/Github/GithubProvider.cs Version 24.0.304: GitLab: replace existing provider with a new OpenAPI based version # src/Invantive.Data.Providers/Gitlab/GitLabProvider.cs Version 24.0.18: Improve available objects list with tooltips and better SQL statements # src/Invantive.Data.Interfaces/Providers/PredefinedPackageFunction.cs Version 24.0.149: Improve retry on SOAP-based data platforms # src/Invantive.Data.Providers/Soap/SoapProvider.cs Version 24.0.222: Limit maximum duration of initial Exact Online connection setup # src/Invantive.Data.Interfaces/MessageCodes.cs Version 24.0.369: Log startup exceptions # src/Invantive.Data/Utilities/ErrorUtility.cs Version 24.0.337: Postman driver # src/Invantive.Data.Providers/Postman/PostmanMetadata.cs # src/Invantive.Data.Providers/Postman/PostmanProvider.cs Version 24.0.134: Reduce retry period on HTTP name resolution failures # src/Invantive.Data.Providers/Http/HttpBasedProvider.cs Version 24.0.20: Refactoring to describe new object types in QT # src/Invantive.Data.Providers/Odoo/OdooMetadata.cs Version 24.0.208: Simplicate: improve table function parameter names # src/Invantive.Data.Providers/Swagger/SwaggerProvider.cs Version 24.0.135: Twinfield: split requests of transaction tables to prevent server errors on too large responses # src/Invantive.Data.Providers/Twinfield/TwinfieldProvider.cs Version 24.0.424: Validate TLD of email addresses # src/Invantive.Data/Sql/InvantiveSQL-documentation.xml Version 24.1.1-BETA, released 2024-01-24. Enhancements: - Add Easyflex view AllePlaatsingen. Bug fixes: - Fix sysdate in PSQL context to be local time instead of UTC. Version 23.1.243-BETA, released 2023-11-06. Enhancements: - Add canonical URL. - Add DueDate and QuotationNumber to QuotationHeadersV2 on Exact Online. - Add EnableSalesPaymentLink to AccountsIncremental. - Add execution profile log. - Add hint to OData errors. - Add hint to unknown partition code. - Add nested fields on Freshdesk. - Add package aws_s3. - Add retry mechanism for Swagger specifications to better handle Robaws. - Add row counts to session I/Os. - Add session I/Os retrieved from cache to session I/O DataDictionary table. - Add support for .net 8. - Add SystemSqlExecutionSleeps Data Dictionary view. - Add Teamleader Orbit provider. - Add Teamleader Orbit Reporting provider. - Add Teamleader views SubscriptionLinesAll, SubscriptionGroupedLinesAll and SubscriptionCustomFieldValues. - Add Twinfield view PeriodsWithTransactions. - Add UniversalSQL logo. - Add view IssueWorkLogs to JIRA. - Additional fields for session I/O form. - Allow duplicate rows in Brevo EmailEventReport. - Allow HubSpot URLs to length up to 16391 instead of 8000. - Allow null value for custom field column 'field'. - ANSI: Improve registering of session I/O. - Atlassian: Add field clauses table. - Change default dbms_output setting for Oracle to unlimited. - Differentiate fhris AFAS HR data container ID. - Disable check on Gregorian dates. - Do not inherit database data type for ID from driver, but from Data Cache. - Enable 'Alter session set pool identity id'. - Enable complex translations in other languages than the default. - Enable Control upload on ANSI database with connection pooling. - Enable differentiation on sleep intervals on HTTP 500 errors - Extend date range for views on Hours and Declaration Lines for Easyflex. - Extend logging by Thread ID and Task ID. - Extend online tips search with category and sorting order. - Extend Teamleader Orbit Reporting for unsufficient autorizations. - Fallback calculation data container ID on SQL Server on-premises to serverproperty when @@servername is null. - Fix contact & update JQuery + load from local source. - Fix contact button. - Improve error handling on recursive errors. - Improve parallelization of requests. - Improve partition filtering on filters with OR. - Improve performance on TimeTracking when filtering on started_on. - Increase filter forwarding on company_code for some Visma.net views. - Increase time resolution to long. - JIRA: Add custom fields to issues including 1:n tables. - JIRA: Add custom fields to issues. - Make itgenhst020 non-fatal when a table (no longer) exists. - Odoo: add account.translations table. - Odoo: allow setting context-language provider attribute to steer output language. - Odoo: allow updating translations. - Odoo: set context language on insert/update. - Odoo: validate context language. - Reduce columns in Robaws. - Retry on HTTP 500 errors. - Split session I/O duration in CPU, I/O and sleep - SQL: Try to optimize similar field comparisons. - Teamleader Focus: Pass filters from query to table function parameters to improve performance. - Teamleader Orbit: add all available tables. - Update Bouw7 APIs. - Upgrade to Robaws V2. - Use nested join optimizer on first rows hint. - Visma.net: support Visma Connect. - Workaround for AgingReceivablesList bug in Exact Online API. - Workaround for Bouw7 dates. Bug fixes: - Add periods to BalanceLinesPerPeriodCostAnalysisAll. - Avoid double escaping on Invantive Control and Invantive Composition. - Correct view Easyflex Uren to use weeks instead of months. - Exact Online XML: Prevent duplicate server side filter to cause an error. - Exclude IsMainContact from ContactsIncremental. - Fix casing deviations between 22.0 and 23.0 to avoid Power BI users having to adapt reports. - Fix cast([not] null) not being applied correctly. - Fix column order on Twinfield table Invoices, Cheques, PayinginSlips and VATGroupCountries, and data type for amounts. - Fix continue on errors for synchronize on delayed execution. - Fix data types in Twinfield finder tables. - Fix default encoding for blob_to_text. - Fix determining influencing insert. - Fix Exact Online-table QuotationsV2Incremental. - Fix incorrect itgensgr140 on SnelStart. - Fix itgenclr009 on Teamleader. - Fix itgenclr026 on ionBiz and AFAS. - Fix itgenjir001 when filtering on calculated view column. - Fix itgenoda061 on PayrollComponents. - Fix itgenodr007 on min_seconds_step in Simplicate timers. - Fix itgenrst error on transaction_id of UploadXMLTopics on Exact Online. - Fix itgenrst004 on FRAGMENT_NUMBER when uploading data to Exact Online. - Fix itgenrst004 on Freshdesk incremental statistics - Fix itgenrst004 on ProjectPlanningLines for Exact Online XML. - Fix itgenrst004 on UploadXMLTopics for Exact Online counters. - Fix itgenrst007 on NMBRS EmployeePartners. - Fix itgenrst007 on Version in IncrementalLoadStatuses. - Fix itgenspe019 txt must be not null. - Fix itgentfr227. - Fix itgentlr014 on Teamleader milestone with where clause on due_on. - Fix missing expansion on itgensql336. - Fix ObjectDisposedException on reading CSV table from file. - Fix partitioning on Twinfield table BudgetByProfitAndLoss. - Fix PurchaseOrderLineSerialNumbers and PurchaseOrderLineBatchNumbers. - Fix Salesforce OAuth. - Fix SQL optimization. - Fix SQL query execution not registered as session I/O. - Improve error message when selecting into a different amount of columns than available. - Nullability and rate limits. - Odoo: fix sync. - Odoo: Improve URL check for different Odoo versions. - PostgreSQL: fix itgensse038 on sync. - Robaws: rate limits. - Teamleader Orbit Reporting: fix duplicate column names. - Twinfield: improve public query parameters. - Visma .NET: Allow duplicate rows on CustomerPaymentLines. - Visma.net: Improve retrieving Swagger specification. Details of Release Notes: Version 23.1.9: Enable differentiation on sleep intervals on HTTP 500 errors # src/Invantive.Data.Providers/Http/HttpBasedProvider.cs Version 23.1.9: Fix itgenrst004 on Freshdesk incremental statistics # src/Invantive.Data.Providers/Freshdesk/FreshdeskMetadata.cs Version 23.1.9: Split session I/O duration in CPU, I/O and sleep # src/Invantive.Data.Interfaces/Providers/GenericProvider.cs # src/Invantive.Data.Interfaces/Providers/SlotbasedRateLimit.cs # src/Invantive.Data.Interfaces/Utilities/DataUtility.cs # src/Invantive.Data.Providers/AccountView/AccountViewProvider.cs # src/Invantive.Data.Providers/Ansi/AnsiSqlProviderBase.cs # src/Invantive.Data.Providers/Conversion/ConversionProvider.cs # src/Invantive.Data.Providers/DataCache/DataCacheProvider.cs # src/Invantive.Data.Providers/Dropbox/DropboxProvider.cs # src/Invantive.Data.Providers/Dummy/DummyProvider.cs # src/Invantive.Data.Providers/EcbExchangeRates/EcbExchangeRatesProvider.cs # src/Invantive.Data.Providers/Edifact/EdifactProvider.cs # src/Invantive.Data.Providers/ExactOnline/REST/ExactOnlineRestProvider.cs # src/Invantive.Data.Providers/ExactOnline/XML/ExactOnlineXmlProvider.cs # src/Invantive.Data.Providers/Foxpro/FoxproProvider.cs # src/Invantive.Data.Providers/Ftp/FtpProvider.cs # src/Invantive.Data.Providers/Http/HttpBasedProvider.cs # src/Invantive.Data.Providers/InMemory/InMemoryStorageProvider.cs # src/Invantive.Data.Providers/Keepass/KeepassProvider.cs # src/Invantive.Data.Providers/Mail/MailProvider.cs # src/Invantive.Data.Providers/Oracle/OracleCoreProvider.cs # src/Invantive.Data.Providers/Ossus/OssusProvider.cs # src/Invantive.Data.Providers/PostgreSql/PostgreSqlProvider.cs # src/Invantive.Data.Providers/Soap/SoapProvider.cs # src/Invantive.Data.Providers/SqlServer/SqlServerProvider.cs # src/Invantive.Data.Providers/Text/TextProviderFromFileBase.cs # src/Invantive.Data.Providers/Xml/XmlProviderFromFileBase.cs # src/Invantive.Data/Providers/DataDictionaryProvider.cs # src/Invantive.Data/Sql/V1/QueryTree/CsvTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/ExcelTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/InternetTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/JsonTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/NdjsonTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/StringSplitTableTree.cs # src/Invantive.Data/Sql/V1/QueryTree/XmlTableTree.cs Version 22.1.298-BETA, released 2022-10-11. Enhancements: - ActiveCampaign: filtering. - ActiveCampaign: more filtering. - Add (slow) ActiveCampaign views for activities, notes, etc.. - Add 12 new Exact Online tables. - Add 200 new Exact Online columns and 7 tables. - Add 320-bit TOTP-secret support to Invantive Authenticator and Invantive Keychain. - Add 5 new views to Bouw7 provider. - Add 600 new fields and 10 tables to Exact Online. - Add additional endpoints. - Add application/xml as supported MIME-type for Swagger-based providers. - Add aws_ses. - Add Bouw7 and Fiscaal Gemak. - Add checks on incorrect dots in domain name for email address. - Add checks on MySQL version compatibility. - Add checks on Odoo server name. - Add client to AWS SES package. - Add company registration city, CoC number and email address to Cloud. - Add configurable checks on Exact Online XML-based metadata. - Add consistency check itgeneor551 and itgeneor552 for Exact Online. - Add context to Bridge Online provider. - Add CSV output format on Swagger-based providers. - Add customers and customer addresses tables on Twinfield. - Add Danish, Finnish, Norwegian Bokmal and Swedish. - Add data checks on Exact Online XML. - Add data dictionary table 'SystemCountries'. - Add data dictionary view "SYSTEMPROVIDERSAMPLEQUERIES". - Add data dictionary view SystemLanguages@DataDictionary. - Add delete on SMTP mail history. - Add division fields to improve filtering. - Add elastic variables. - Add EmployeeExtraFieldsWithStartDate table function. - Add Exact Online Premium (one.exactonline.com). - Add Exact Online Premium database driver to Exact Online. - Add Exact Online Premium provider. - Add Exact Online table QuotationLinesV2Incremental and QuotationsV2Incremental. - Add Exact Online view BalanceLinesPerPeriodAll en BalanceLinesPerPeriodCostAnalysisAll. - Add Exact Online view OutstandingInvoicesPerJournalType. - Add Exact Online views APOutstandingItemsPerFinancialPeriodUltimo and AROutstandingItemsPerFinancialPeriodUltimo. - Add excel.autofit_worksheet PSQL function. - Add fields to various Twinfield Dimensions schema details tables. - Add filters on Freshdesk time_entries. - Add five new Exact Online financial transaction header tables. - Add Freshdesk statistics_incremental. - Add Gripp CRM. - Add handling for HTTP 590 error - Add hint to itgensql151. - Add hints to Twinfield documentation what filters can be used for server-side performance improvements. - Add HTTP error simulation to XML-based drivers. - Add HubSpot scopes. - Add incremental table PjtTimeTransactionsIncremental for Project Time Transactions on Exact Online. - Add invoices-view to Visma Severa. - Add Japanese. - Add journal information to TransactionLines and TransactionLinesVat on XAF 3.0, 3.1 and 3.2. - Add label singular to auto-generated EDM data models. - Add language code as variable to variables-local text file. - Add message code when mail sending fails without pre-defined error. - Add message codes for various Exact Online internal errors. - Add Minox, ionBIZ & Bouw7 API Data Model/img/manual-logo.png. - Add minutely reset to Exact Online statistics. - Add Mollie Orders and OrderLines tables, fix data container ID. - Add more HubSpot domains. - Add new projects module table of Teamleader Focus. - Add new Teamleader tables. - Add OS images. - Add package aws_ses. - Add package dbms_audit. - Add package dbms_sync for analysis. - Add parameters to HTTP download for pre- and post-sleep. - Add partitions to Minox. - Add primary key value check on Incremental-tables for Exact Online. - Add project invoice terms billing information and LeadPurposes, LeadSources and LeaveAbsenceHoursByDay Exact Online tables. - Add PSQL package 'dbms_exception'. - Add PurchaseOrderLinesIncremental and ProjectPlanningsIncremental on Exact Online. - Add registration of IP address on Cloud registration. - Add resource_codes to code domain values for translations. - Add SchedulesIncremental, ScheduleEntriesIncremental and ItemStorageLocationsIncremental on Exact Online. - Add search table function to Wikipedia provider. - Add SendInBlue views. - Add sha1, sha256, sha384, sha512 SQL-functions. - Add Simplicate "API key is expired." handling. - Add simulation of 504, 522 and 524 HTTP errors. - Add SQL function blob_to_text. - Add SQL-function hex_to_blob. - Add SQL-functions for validating IBAN, email and URI. - Add statistical fields to tickets_incremental. - Add SystemUtcOffsets@DataDictionary. - Add Teamleader Orbit docs. - Add Teamleader table CurrencyExchangeRates, MailTemplates, PriceLists and UnitsOfMeasure. - Add Teamleader tables CommercialDiscounts and DocumentTemplates. - Add Teamleader view InvoiceTimeTrackings. - Add Teamleader view TimeTrackingAll. - Add Teamleader views TicketsAnyStatus(All) with all tickets, closed and non-closed. - Add Tixly images. - Add translation use logging with INVANTIVE_MEASURE_TRANSLATIONS_ACTIVE and INVANTIVE_MEASURE_TRANSLATIONS_FILE_NAME_PATH. - Add Tweede Kamer provider. - Add Tweede Kamer tables. - Add Twinfield Budgets tables for Power BI. - Add Twinfield tables for dimensions such as ActivityDimensionValues. - Add Twinfield uncompressed XML logging cumulative. - Add various parameters and fields to Teamleader V2 tables. - Add view for Exact Online Payroll Transactions. - Add view Test1000Rows1Mb1000Sec. - Add views Test0Rows100...Sec to test Bridge Online with no throughput views. - Add Visma Severa view 'HourEntries2Years'. - Add Visma.net second error format. - Add Visma.net view FinancialPeriodStatistics and GeneralLedgerTransactions. - Add Visma.net view JournalTransactions. - Add which formats are provided to itgensgr045. - Add XML output support type for Swagger. - Add YouTrack provider. - Add Yuki error itgenyki050. - Allow providing product specific translations. - Allow retrieval of insert response on Swagger. - Allow retry on delete OData calls. - Allow retry on update OData calls. - Allow specification of encoding on mails (default UTF8). - Allow Teamleader empty phone number. - Allow Teamleader V2 API call recovery when Teamleader API server fails. - Allow Teamleader view parameter values being pushed in to be used for filtering. - Allow updating with simple filters. - Allow use of reserved words in index columns with SQL Server. - Also try to acquire access token when refresh token has expired upon log on. - Async improvements on session state. - AutoTask filtering. - Avoid Exact Online API limit depletion through System/Divisions. - Basic Bouw7 implementation. - Bouw7: add custom attributes to projects. - Bouw7: improve data model. - Cache document from AttachmentByUrl aggressively. - Change transaction number and transaction line number from text to number, and required. - Clearer error message when AFAS token without XML is used. - Cloud HTTP package: read files from HTML forms. - Concat on blobs. - Correct $type field name on YouTrack. - Decrease default time-out on Exact Online from 300 to 23/28 seconds. - Differentiate Brevo error codes. - Differentiate custom attribute data types and Employees and Contacts support. - Differentiate Dropbox for personal use and Dropbox Business. - Differentiate error itgenlic365 to better indicate cause of user error. - Differentiate error message. - Differentiate Exact Online errors when Exact is down. - Differentiate Exact Online log on messages. - Differentiate Exact Online XML Akamai error codes. - Differentiate Gripp CRM error messages. - Differentiate itgenboe161. - Differentiate itgenoda184 for Exact Online expired refresh tokens. - Differentiate itgenspe007 on license required into itgenspe011. - Differentiate parallel partitions and API calls. - Differentiate Teamleader errors. - Differentiate text of time-out errors. - Differentiate Twinfield error messages. - Differentiate Visma.net error codes. - Differentiate Visma.net errors. - Disallow alias in email address. - Display clearer error message when on log on the organisation.administration scope is missing. - Display itgeneor549 for Exact Online 'BadRequest - Invalid division format'. - Do not display error itgentfr175 on TableColumnSpecification Twinfield query when no access. - Do not offer client ID on Exact Online Premium. - Drop obsolete Exact Online tables: PriceLists, QuotationsIncremental, QuotationLinesIncremental, SalesOrdersIncremental, SalesOrderLinesIncremental, SalesPriceListDetails, SyncQuotationLines, SyncSalesOrders. - Drop view. - Ease logging. - Easyflex. - Easyflex: add public functions from Web Service service.. - Easyflex: fixes. - Easyflex: more tables. - Easyflex: paging, error handling. - Easyflex: Sandbox.. - Enable action button on user messages. - Enable autosizing Excel sheets on Linux and MacOS. - Enable configuration on HTTP 404 error tries. - Enable horizontal and vertical filtering on Excel export in Invantive Script. - Enable raise error on native platform request failure. - Enable specification of format for decimal and grouping character on CSVTABLE. - EOL Premium: add division filtering. - Exclude Content-Type from some Swagger requests. - Extend "Cache Reset" on Bridge Online. - Extend error message context of Loket. - Extend maximum length of database startup SQL from 4000 to 32000 characters. - Extend maximum length of item description and item extra description to allow i18n on Exact Online. - Extend parameters of dbms_trace.put_line. - Extend provider row uniqueness checks to primary keys solely. - Extend range@DataDictionary to include slow generation and random BLOBs for performance tests. - Extend SnelStart trial balance views. - Extend SOAP APIs error handling. - Extend statistics_incremental on Freshdesk. - Extend SystemTables@DataDictionary by pre-mapping table name. - Extend Teamleader surname from 60 to 120 characters. - Extract error texts from ionBIZ. - Filtering on Gripp CRM. - Fix headers on for Excel. - Fix Odoo filtering on id/label. - Fix various dead links. - For CSV grammar and basic implementation. - For CSV improvements and for Excel basic implementation. - Get sample SQL statements from provider. - Gripp CRM paging. - Gripp CRM provider. - Gripp CRM: add getone endpoints. - Gripp CRM: add manual get endpoints. - Gripp rate limits. - Gripp: Ensure deterministic order on paged requests. - Handle B2C Exact Online error more gracefully. - Header options on Excel and CSV. - HubSpot log on to query tool. - HubSpot: log on using private API key. - HubSpot: paging. - Ignore HTTP response disposed exceptions during error handling. - Ignore leading and trailing whitespace in values in Excel table. - Implement total changes limit on sync. - Improve boolean expressions matching on fields. - Improve concurrency on OData views. - Improve concurrency on SOAP-based partitioned drivers such as Twinfield. - Improve contents of Twinfield budget-tables. - Improve error handling Odoo. - Improve error handling of SQL parallel reading. - Improve error message on missing access on databases. - Improve feedback on progress of connecting to data containers. - Improve handling of Gripp CRM when no API pack was purchased. - Improve handling of images and XML on Swagger. - Improve label partition selector on Minox. - Improve names of duration to include singular form. - Improve object name resolution. - Improve OData error handling. - Improve OData filter construction and simplification. - Improve OEI API handling. - Improve online payment. - Improve performance by logging on multiple data containers at once. - Improve performance by reducing number of enum custom field value meanings. - Improve performance by retrieving metadata in the background on startup. - Improve performance of constant string concatenation. - Improve performance of IN evaluation. - Improve performance of Teamleader APIs. - Improve retrieval of OData v4 metadata, paging on TK provider. - Improve retry on Gripp CRM 503 rate limiting. - Improve SnelStart data model. - Improve SQL statement formatting for displaying and logging. - Include Cloudflare time outs for retry. - Include column values separately in error itgensql263. - Include context on error itgendid144. - Include database name on PostgreSQL in data container ID. - Include deactivated users in Teamleader.V2.Users as with V1. - Including milliseconds in timespans as text where necessary. - Increase cache duration valid email addresses for improved performance. - Increase caching for DNS-queries. - Increase from 16 to 32 parallel downloads default maximum for Exact Online. - Increase parallelism of HTTP-based providers when a partition-specific rate limiter is active. - Increase time-out on Bridge Online driver from 300 seconds to 6 hours. - Increase Twinfield timeout from 90 to 600 seconds. - Insert bulk insert split earlier so it can use the rotator too. - Introduce handling for "X-ReportInput header must have a valid value for this content-type for this endpoint" on Loket. - IonBIZ. - Make "name" of project optional for Gripp. - Make AccountView available on net core 6.0 windows. - Make custom fields on Teamleader V2 always optional. - Make failed document downloads recoverable. - Make modified of Exact Online item extra fields optional. - Make title of task type on ActiveCampaign optional. - Merge different types of expression to make Invantive SQL language more powerful. - Merge new Simplicate data model version. - Minox en ionprojects. - Minox. - Minox: naming. - Mollie. - Mollie: add tables. - More Twinfield dimensions table. - Nmbrs: Add EmployeesByDebtor table function. - Odoo. - Odoo: data types. - Odoo: more filters. - Odoo: paging. - Odoo: retrieve basic metadata. - Odoo: set maximum length on text columns. - Odoo: update. - On synchronize report number of rows modified instead of inserted or 1. - Provider attribute category translations. - Providing Odoo query args as public query string. - PSQL sync triggers: push update where clause filters to target data container. - Raise error on Excel export with no data. - Raise error when hourly API rate limit is 0 or below. - Randomize partition order on Data Replicator to reduce hotspots. - Reduce impact of empty translation file. - Refactoring OData metadata discovery. - Remove irrelevant and confusing ID column from Exact Online incremental header tables. - Rename Exact Online App Center to Exact Online App Store. - Rename Exact Online group to Exact. - Rename HubSpot tables. - Repalce itgenclr126 on xmlformat by custom exception. - Retry on HTTP 590 on ActiveCampaign whenever possible. - Retry on Teamleader Bad Gateway on API calls. - Retry Visma.net API call when it can not be routed by Visma.net. - Rewrite IN to pass filter to Twinfield. - Sendinblue: show and update contact attributes. - Set data type on field when setting value using excel.set_cell_contents. - Show itgenspe026 on Simplicate instead of itgenoda447. - Show rate limit info for default partition. - Show triggering table name on itgeneor229. - Shuffle partitions when requested. - SIB: add custom fields to ContactInfoByEmail and ContactsByListId. - Simplify exception itgendch534. - Simplify exceptions from Exact Online metadata loading. - Solve itgenodr007 due to data corruption on Exact Online for PurchaseReturnLines and PurchaseOrderLinesIncremental. - SQL rotators on data container. - SQL: make data range optional on Excel table table function. - Standardize Bouw7 tables. - Support more HTTP methods in HTTPDOWNLOAD function. - Swagger: Include simple array types in table. - Switch file signature format to increase reliability. - Switch from UTF-8 collation for catalog matching to CATALOG_DEFAULT collation for better compatibility on SQL Server 2014. - Switch InvoiceTerms to expanded field selection. - Switch Loket.nl test URLs. - Switch Visma.net to new API for company information. - Sync: revert to insert instead of insert when having batch size of 1. - Teamleader switch to Code Grant Flow for on-premises due to automatic logouts for apps. - Teamleader: push date filters. - Tighten HTTP Bad Request retry mechanism default values. - Tighter control Exact Online rates. - Tune BalanceLinesPerPeriodAll to run twice as fast and consume up to 5 times less API calls. - Tweede Kamer (NL): Add extra tables when the resource is retrieved along the regular data. - Tweede Kamer (NL): Add resources tables. - Twinfield: Improve filtering on fin_trs_head_year on transaction tables. - Update Robaws V2 tables. - Upgrade from .net Framework 4.7.2 to 4.8.0. - Upgrade Robaws API V1 to Robaws API v2. - Use more SQL-friendly column names on Knack when special characters are present. - XAF 3.2: Add transaction lines table (TransactionLines2) that includes the parent fields. - YouTrack start of paging, improve data model, exclude endpoints not relevant. Bug fixes: - ActiveCampaign: Fix email not being submitted on sync insert. - Add comparison of unsigned integers, shorts and longs. - Add full qualified name of the object involved on itgenoda491. - Add group functions for ushort, uint and ulong. - Allow Loket.nl use without valid house number. - Allow overrule of cache strategy for Exact Online incremental tables. - Allow UUID as identifier. - AutoTask: fix invalid Swagger definition. - Autotask: send filtering as POST so circumvent URL length issues on long filters. - Avoid duplicate databases on discovery with Exact Online. - Avoid duplicate names for alternatives. - Avoid error on abbreviations in SystemProviders@DataDictionary longer than 3 characters. - Avoid itgeneor626 by better detection of accountancy subscription. - Avoid itgenoda061 on OutstandingInvoicesOverviewForJournalTypes by making JournalTypeIDs required. - Avoid itgenrst009 on SystemDataContainerProperties. - Avoid NRE during NMBRS exception handling. - Avoid NRE on MySQL. - Avoid NRE on StackExchange. - Avoid NRE on web app start up translation. - Avoid StackOverflow when on Exact Online's first active division the daily API limit has been reached. - Avoid unnecessary itgenuse009. - Brevo: Fix setting contact attribute to null doesn't update the actual value. - Change default language to Dutch for typical Dutch providers. - Change HOURSPERWEEK on Nmbrs from int to decimal. - Correct database icons for Invantive Business. - Correct date layout YYYY-MM to include leading zero month. - Correct duration calculation on Exact Online XML. - Correct itgeneor563 error detection. - Correct parameter value requirements of KeePass. - Correct server-side filter property for Sync* tables on Exact Online. - Correct width of Excel columns in Excel export. - Correctly use navigation property binding paths in the table name. - CsvTable: Fix result not being returned when having a single value CSV. - DateTime UTC fix. - Different values on each evaluation of random_blob. - Differentiate Teamleader error messages. - Disable A-record validation. - Disable extensive Twinfield logging. - Disable itgensgr140. - Do not fail on possibly old provider attributes provided through Invantive KeyChain. - Do not filter server-side on column Discount of table SalesPriceListVolumeDiscounts. - Do not load Swagger definitions on startup. - Do not show entry for Swagger file/URL on providers that do not support it. - Do not upper/lower case identifier characters outside ASCII. - Drop obsoleted table GLAccountTranslations. - Dummy definition for planning results to prevent itgenclr003. - Easyflex: fix paging on Combinatie.. - Enable retrieval of default directory separator using sys_context('USERENV', 'DIRECTORY_SEPARATOR'). - Enable use of constant null contents in xmltable. - Enable use of multiple accounts different by API token with NMBRS. - Ensure translations can be determined on bootstrapping. - EOL: Improve OAuth error code handling - EOL: Throw exception when retrieving of partitions was not successful due to scoping issue. - Exact Online: Delete old metadata and cache files of incremental tables. - Exact: Fix positioning of Premium provider attributes. - Exclude empty endpoint. - Extend maximum width of Chamber of Commerce number from 20 to 60. - Extract also default OData error messages for Atlassian products. - Fix ActiveCampaign views for contact data. - Fix altering data type of dummy column in dc_versions. - Fix ArgumentException: The node to be inserted is from a different document context. - Fix AutoTask endless loop on retrieval. - Fix AutoTask TicketHistory filtering issue. - Fix calculating hash error. - Fix code domain value views - Fix Company.info on log on. - Fix concurrency issue with email address validation. - Fix data corruption for specific conditions with incremental tables. - Fix data corruption in Exact Online API SalesInvoicesBulk. - Fix data type conversion issues in DataDictionary provider. - Fix data types in SystemTables. - Fix datatype of contractProjectSecurityLinkName for Bouw7. - Fix date format on Twinfield filters. - Fix default translations issue. - Fix determination of low-cost value. - Fix duplicate field name in Discourse. - Fix error on ordering non-existing field. - Fix every 2nd row gone on Twinfield dimension tables. - Fix Exact Online interactive log on using Implicit Grant Flow. - Fix Excel formatting bug. - Fix exception on sending mail. - Fix faulting OR evaluation yielding no results. - Fix filtering on Twinfield. - Fix filtering on views where the data becomes empty when no partition can be found to filter on. - Fix for UNIX not able to determine the mime type. - Fix format of EDM date time filter on OData4. - Fix Gripp CRM itgengrp019 error. - Fix hourly rate limit information being set. - Fix invalid provider attribute definition. - Fix Invantive Keychain not storing changes in log on screen when refreshing OAuth tokens. - Fix ionBIZ database creation raising error. - Fix issue credentials not being retrieved correctly. - Fix itgenbow015 on Bouw7. - Fix itgenbpr012 on logging on to Bridge Online. - Fix itgenclr003 on only .NET Framework with Teamleader V1 APIs. - Fix itgenclr009 on opening multiple data containers with the same order. - Fix itgenclr047 when extracting error from OData stream. - Fix itgenclr047. - Fix itgenclr078 on YouTrack log on. - Fix itgenclr091 on download of SYSTEMDATACONTAINERSLOTBASEDRATELIMITERSLOTS. - Fix itgenclr113 when selecting field with spaces in its name. - Fix itgencmr114 on update. - Fix itgendcr011 on Invantive first use. - Fix itgeneor328 on AND with ORs for Exact Online. - Fix itgeneor626 when logging on with new App Developer account on Exact Online. - Fix itgengpr015 on application-specific added tables. - Fix itgengpr015 on Invantive Composition/Invantive Control edit parameters. - Fix itgengpr015 referencing an just-created in-memory table in a for loop. - Fix itgengpr082 error on insert using sync. - Fix itgenisr034 or itgengpr015 when creating an in-memory table inside a PSQL block and using that table in sync. - Fix itgenoda042 caused by rewriting URL on OData. - Fix itgenoda061 on retrieve PurchaseInvoices by DueDate. - Fix itgenoda757 on ticket_incremental. - Fix itgenodr007 on projectSecurityName on Bouw7. - Fix itgenodr007 on purchase order lines. - Fix itgenrst errors on data dictionary and Exact Online Me. - Fix itgenrst004 on GLAccountClassifications. - Fix itgenrst004 on HTTP_STATUS_CODE query on NativePlatformScalarRequests. - Fix itgenrst004 on SystemDataContainerProperties. - Fix itgenrst004 The type of the actual data must match the data type of the column 'TRANSACTION_ID' on NativePlatformScalarRequests. - Fix itgenrst004 when querying SystemPackageFunctionArguments. - Fix itgenrst007 errors on NMBRS and ActiveCampaign. - Fix itgenrst007 on company_id and company_searchname for Gripp CRM. - Fix itgenrst007 on DealPhaseHistoryByDealId. - Fix itgenrst007 on DealsWithContants on ActiveCampaign. - Fix itgenrst007 on DeliveryToAddress. - Fix itgenrst007 on Gripp Offers. - Fix itgenrst007 on OData and Exact Online queries. - Fix itgenrst007 on session I/Os. - Fix itgenrst007 on SessionIOs@DataDictionary. - Fix itgenrst009 on HTTP_RESPONSE_HEADERS in SYSTEMDATACONTAINERHTTPCACHECONTENTS. - Fix itgenrst009 on SnelStart B2B-Api v2.openapi.json. - Fix itgenrst009 on Teamleader database corruption of zipcode. - Fix itgenrst012 on Data Cache query on Data Dictionary. - Fix itgensft002 misleading error instead of itgendcr001 when there are too many backslashes in database name. - Fix itgenxml091 for Cost Center Code on NMBRS when using 'KP99'. - Fix itgenyki011 occurring. - Fix itgenyst006 when using Code Domain view from Exact Online REST sub-provider. - Fix Knack connection not yielding field values correctly. - Fix loading Knack metadata when asset largers than 2 GB. - Fix log in to Exact Online Great Britain. - Fix loop variables interfering with variables of enclosing scope. - Fix low cost fetch on group by. - Fix mandatory filtering and selecting AccountsBulk. - Fix measurement of average parallelism across partitions. - Fix metadata retrieval. - Fix minus operator on text operands. - Fix moved StorageLocationStockPositions endpoint. - Fix moving date in PSQL, several date issues. - Fix not able to log in on Exact Online due to changed login screen. - Fix not all translations being translated. - Fix not query giving SQL error. - Fix NRE in Invantive Estate. - Fix NRE on headless log on to Exact Online when Exact Online not available. - Fix NRE on regexpreplace missing 5-th parameter value. - Fix NRE on TipsByTerm@DataDictionary. - Fix NRE. - Fix nullability, error on not between. - Fix NullReferenceException on ticket_by_id(null) on Freshdesk. - Fix NullReferenceException on use of 'for excel'. - Fix OAuth on Twinfield. - Fix OAuth refresh token flow from Data Hub and QueryTool. - Fix OData like operator on OData v4. - Fix OData v4 filter on guid. - Fix Odoo fields retrieval. - Fix old XML selection when having XML namespaces. - Fix optional ActiveCampaign fields. - Fix OR yielding wrong result. - Fix parameter scoping on PSQL constants. - Fix partition switch on SQL Server and MySQL. - Fix predefined views not returning any rows. - Fix problem retrieving time_spent on Freshdesk. - Fix product group operator throwing itgenrst004. - Fix provider attribute display issue. - Fix PSQL argument name matching case-sensitive. - Fix reloading DataTable resulting in mouse click to have double action. - Fix retrieval of underlying data container on Invantive Business products. - Fix retrieving user information on Dropbox. - Fix Roller OAuth token retrieval. - Fix row count on update with instead of trigger. - Fix serialization of sitemaps to meet W3C date requirement. - Fix Simplicate filtering on fields contained in an array. - Fix Simplicate hours which returns fraction, although the documentation indicates an integer is returned. - Fix SQL date time issue with DateTimeOffset. - Fix SQL like multi-line expression not matching correctly. - Fix SQL parameter naming for fields containing invalid identifier characters. - Fix SQL rowcount inside PSQL block. - Fix Swagger base path extraction resulting invalid base paths. - Fix Swagger specification URL formatting. - Fix sync not obeying excluded and ignored fields. - Fix SYSTEMCOUNTRIES.IBAN_ACCOUNT_LENGTH data type and nullability faults. - Fix table function parameters not being passed to the data source. - Fix Teamleader table function parameter date format. - Fix TimeTracking18Weeks and TimeTracking54Weeks on Teamleader. - Fix to_hex for blob. - Fix unable to use Data Dictionary tables without alias. - Fix URL on auto-generated OData providers, TK table naming. - Fix view Exact Online BalanceLinesPerPeriodAll. - Fix Visma .NET. - Fix XML reading not finding any fields. - Freshdesk: fix search_tickets not yielding results. - GrippCRM: Allow company to be null on PurchaseInvoices. - HubSpot: fix custom field retrieval. - HubSpot: Fix itgenrst004 on tables with properties. - HubSpot: ignore HTTP 403. - HubSpot: Prevent itgenhst002 on log on. - HubSpot: rate limits. - Ignore incorrect verification code error on Exact Online. - Improve client side filtering on FetchYield to prevent updating/deleting too many rows. - Improve determination of ActiveCampaign data container ID. - Improve determination of Gripp CRM data container ID. - Improve determination of object name. - Improve discovery of database definition changes. - Improve error message on invalid partition on EOL upload XML. - Improve error message on missing scope. - Improve error message on suspended Odoo subscription. - Improve error message. - Improve error messages. - Improve error when not able to open ANSI database. - Improve filtering on date/time fields. - Improve filtering on object-based fields. - Improve handling of IN, preventing itgenttn154 error message. - Improve handling of synchronize statement inside PSQL foreach. - Improve logic of OEI authentication. - Improve memory performance of reading CSV and JSON table files. - Improve memory performance of reading CSV table files. - Improve memory performance of reading NDJSON table files. - Improve name resolution when the name contains a double quote ("). - Improve passing filter on year and period to Twinfield. - Improve performance of regex match on .net framework 4.8. - Improve retry on making ANSI SQL database connection. - Improve speed of email address lookups. - Include all rows for tables DealWithActivities, DealWithContacts, DealWithNotes and DealWithTasks. - Include deleted rows in initial sync image when created across multiple days. - Include inner exception on SOAP error. - Include number in itgenlic002. - Increase maximum length of division chamber of commerce from 20 to 60. - Install Data Replicator views also when repository installation was not completed fully. - IonBIZ: better exceptions. - IonBIZ: Data container ID. - ionBIZ: Fix log on using Cloud/BOL. - Kadaster: Fix wrong data type on percelen. - Kadaster: make percelen a table function to ease passing parameters. - Make AttachmentByUrl non-partition-specific. - Make company_id and company_searchname in Gripp Tasks optional. - Make HTTP_RESPONSE_HEADERS nullable for use with failed requests. - Make number of purchase invoiec on Gripp CRM optional. - Make order loading settings files deterministic. - Make ReportingUser and MsTeamsReferences non-partition-specific. - Minox: Fix Budgets and Customer2ById returning empty rows. - Minox: fix several issues. - New logic for loading translations. - Nmbrs: add Nmbrs V3 API ScheduleCalendars, WageTaxes. - Nmbrs: fix Nmbrs V3 API EmployeeContracts, EmployeeContractPeriodsCurrentByEmployee, EmployeeTypes. - Nmbrs: fix Nmbrs V3 API EmployeesActive, EmployeesInactive. - Nmbrs: fix Nmbrs V3 API EmployeeSVWsCurrentByEmployee, EmployeeSVWsByEmployee, EmployeeSVWByEmployeeYearPeriod. - OAuth/EOL: implement log on using Azure AD B2C. - OData: fix platform native requests selection. - Odoo: do not select non-selectable fields. - Odoo: Error handling, filters. - Odoo: Fix caching, add basic server side filtering. - Odoo: Fix data type issue with binary data. - Odoo: fix nullability. - Odoo: Fix type conversion issue on updating and deleting. - Odoo: Improve error message. - Pass through date filter on Twinfield Process XML tables. - PostgreSQL: Do not create index concurrently to prevent error on PostgreSQL 15.3. - Prevent itgenoda161 when filtering on SelectionCodes.Active. - PSQL dbms_sync.diff: add parameters for :old, :new, :source. - PSQL: Fix commit and rollback being identified as procedure. - PSQL: Fix procedure compile error. - Raise error on using select into outside PSQL block. - Raise error when an invalid provider name is used. - Raise error when Process XML returns an error inside browse. - Reduce errors downloading document attachments from Exact Online. - Reduce length of error message itgendid018 and itgendid044. - Reduce memory footprint by once size of import data during execution of various ...Table table functions. - Reduce retry frequency on filling GL Account and Account Classification cache to avoid running out of API calls on problems. - Register HTTP statuscode on NativeScalarRequest failure in OData - Relax check on NUMBER_ATTR of AR/AP outstanding items. - Remove dropped field SourceDivision. - Remove HTML from Swagger table documentation. - Remove obsoleted Octopus SOAP driver. - Remove server-side filtering on PurchaseInvoiceLines.purchaseorderline since that is deemed invalid by Gripp CRM. - Remove unused / invalid Swagger from Simplicate. - Rename SnelStart table VerkoopOrderRegelExtraRegelVeldens to VerkoopOrderRegelExtraRegelVelden. - Retry on BadGateway for Teamleader. - Retry on insert for limited ActiveCampaign tables to circumvent Gateway Timeouts on ActiveCampaign. - Return value when accessing CLIENT_IP_ADDRESS_EXTERNAL through USERENV. - Revert "Do not upper/lower case identifier characters outside ASCII. - Sendinblue: do not display useless tables. These should become package functions one day. - Sendinblue: Fix schema name being set to empty. - Sendinblue: Map primary key to path parameter name. - Set collation on metadata query across master database and user databases to prevent identifier casing mismatch. - Set mandatory filtering on AccountsRead for Exact Online. - Set missing provider UID on function parameters view. - Set SQL Server identifier casing to mixed, fixing issues with non-ASCII identifier characters. - SIB: fix attribute data type on booleans, walk all properties on data model creation. - SIB: fix insert/update data type issues with number and boolean. - SIB: improve error handling, fix parameter issues. - SIB: improve errors. - SIB: Set correct attribute data types. - Simplify error message on itgenoda047, yielding the original error instead of itgenoda047 from now on. - SnelStart: fix selection giving itgenclr009 error. - Solve obfuscation issue on Internet fetch result using HTTPDOWNLOAD in PSQL code. - SQL/PSQL: Fix itgemcmr417 on dynamic SQL calls. - SQL: Fix package name matching. - Swagger/Visma .NET: Specify whether to skip, keep or fail on a duplicate row. - Swagger: fix column name casing. - Swagger: Fix determining base path. - Swagger: Improve duplicate row handling. - Swagger: improve handling of metadata. - Swagger: Remove spaces from property names. - Sync triggers: fix issue where triggers were not saved correctly when syncing both ways. - Sync: correctly apply continue on error on trigger actions. - Sync: only pass required fields on insert. - Teamleader Focus: fix invoice taxes retrieving credit note taxes. - Tixly: data container and bug fixes. - Translate Atlassian drivers text. - Trim text values when retrieved from CSVTABLE, EXCELTABLE, HTMLTABLE, JSONTABLE, NDJSONTABLE, STRINGSPLITTABLE and XMLTABLE. - Truncate extreme long error message texts. - Try alternative Exact Online division to determine accountant on, avoiding unnecessary itgeneor063. - Tweede Kamer: Do not enumerate navigation properties. - Update Visma .NET Swagger definition to version 9.31.00.1005. - Use overriden Swagger metadata specification URL from connection setting when present. - Validate EOL OAuth redirect URI. - Visma ERP: Fix financial periods paging issue. - Visma Financials: Fail on duplicate rows to improve analysis of faulting paging. - Visma.NET: Improve determining company ID. - Yuki: Improve data container ID. Details of Release Notes: Version 22.1.35: Add handling for HTTP 590 error # src/Invantive.Data.Providers/Http/HttpBasedProvider.cs Version 22.1.190: EOL: Improve OAuth error code handling # src/Invantive.Data.Providers/ExactOnline/Authentication/EolUtility.cs Version 22.1.161: Fix code domain value views # src/Invantive.Data.Providers/OData/ODataProvider.cs Version 22.1.184: Revert "Do not upper/lower case identifier characters outside ASCII. This reverts commit 4d6f3952da8b0706c4d96b7874170c846c596e23. Version 22.0.3, released 2022-01-25. Enhancements: - Change http links. Bug fixes: - Fix SQL filtering on Exact Online XML using divisions with AND and OR. Version 20.2.247, released 2021-12-12. Enhancements: - Add 5 new Exact Online tables, 150 new columns. - Add 'addHeader' and 'startPosition' arguments to excel.fill_using_query. - Add bind variables to EXECUTE IMMEDIATE. - Add Bridge Online OData4 Response Cache Only mode. - Add check itgeneor382. - Add check itgenrst046 to detect Unspecified kind timestamps. - Add check on usability of table during data replication. - Add checks on client ID, client secret and redirect URL for Exact Online. - Add checks on topic for upload XML topics on Exact Online. - Add context to native call log. - Add data QA check in mapping provider. - Add date/time to Exact Online sync API logging tables. - Add dbms_trace.register_exception for hybrid logging. - Add driver attributes for ActiveCampaign. - Add error message on failed calls. - Add Exact Online view SalesItempricesIncremental. - Add Exact Online views FinancialYearsExtended, APOutstandingItemsPerFinancialYearUltimo and AROutstandingItemsPerFinancialYearUltimo - Add excel functions and code safety. - Add fail_on_error and date/number support to native scalar requests. - Add fields to Twinfield GeneralLedgerAccountMappingAccountsByHierarchyCode. - Add Freshdesk views for Solution*Articles*. - Add functions to Excel package. - Add HTTP 590 error handling. - Add IIID to trace file name. - Add NDJSON export format. - Add non nullable checks on Business data model. - Add Oracle .NET Core driver. - Add parameters to cloud_metadata.execute_module_* functions. - Add server-side filtering for BETWEEN filter on Twinfield transaction year. - Add Teamleader V2 table function parameters. - Add TRUNC(xxx, 3) for dates. - Add Twinfield RGS and dimensions 4 and 5. - Add Twinfield views GeneralLedgerAccountMappings and GeneralLedgerAccountMappingAccounts. - Add user context variable PROVIDER_INSTANCE_UID to SYS_CONTEXT. - Add view SystemDatabases@DataDictionary. - Add view TipsByTerm in Data Dictionary. - Add year filter on browse tables on Twinfield. - Allow calling SQL functions on SQL function call. - Allow changing user language. - Allow email address without a DNS-A record. - Allow logging in using an OAuth access token. - Allow Microsoft Outlook TOTP-secrets of 16 characters. - Allow named function parameters on PSQL procedures and functions. - Allow use of documents with Transactions in XAF (non-standard Exact-specific extension). - Auto-convert unspecified timestamps to UTC. - AutoTask provider. - Better convert database exception. - Better unwrap Exact Online parallel running exceptions. - Bring Your Own App. - Centralize rate limit information collection in DataDictionary. - Change execution log and native call logging to NDJSON format. - Change extension of trace files to NDJSON. - Checkbox in log on screen for boolean provider attributes. - Clarify message itgenexl053. - Clearer OAuth errors. - Consider an empty settings*.xml file as valid. - Detect expired password on Exact Online. - Differentiate ActiveCampaign error messages on AWS with curl. - Differentiate error code 400 on Simplicate to itgenspe010. - Differentiate error messages from Exact Online. - Differentiate error messages when invalid or zero rate limit available. - Differentiate error on invalid callback OAuth URL. - Differentiate itgenobr001 message. - Disable DML on Sales Exact Online end points. - Display itgeneor220 when the user has no access on SystemDivisions with Exact Online. - Display platform native printed output on DBMS Output window. - Do not try to re-authenticate when Teamleader fails on first API call due to subscription end. - Enable Exact Online SSO-log in page. - Exclude minimum-length-text from log on windows on Exact Online. - Exclude NDJSON lines that are not JSON objects when ignore is set. - Extend driver and data container views by provider_instance_uid / provider_uid. - Extend logging for itgeneor364. - Fine-tune error handling. - Fix nullability of group functions. - Ignore UnauthorizedException on maintenance of trace files. - Improve consistency of parameter values as text. - Improve Data Hub messages on log on. - Improve error handling when trace file is not accessible on Linux. - Improve error message 1002 NMBRS explanation. - Improve Exact Online detection of invalid client ID. - Improve language code determination for Exact Online. - Improve Linux directory separator and CR/LF compatibility. - Improve memory footprint of XML deserialization. - Improve performance of incremental tables. - Improve retry on HTTP 503. - Improve sorting of database groups without sorting order. - Improve startup performance. - Include date range and number of deleters on Exact Online Sync API in loading incremental logging. - Include first Exact Online division description in ALL_ADMINISTRATION_CUSTOMERS view. - Include HTTP header Reason on various HTTP-based providers in error handling. - Include IIID in native call log file name. - Increase AFAS default page size from 100 to 1.000. - Increase maximum size of trace files from 10 MB to 100 MB due to new log NDJSON format. - Introduce error message itgenobr166 for Exact Online headless provider. - Log on to Fresdesk with API key. - Make columns in ActiveCampaign eComOrderProducts optional. - Make orig_system_reference and orig_system_group optional on UploadXMLTopics on Exact Online. - Make response HTTP status of native scalar request optional. - Make Warehouse in Exact Online StockPositionsSync and StockPositionsIncremental optional. - Mini optimization of conversion in incremental. - Performance improvements. - Raise error when no redirect URI was specified while the client ID and secret are. - Recover from invalid refresh token on log in from QueryTool and other desktop apps. - Reduce garbage collection. - Reduce instantiation of global state for better performance. - Reduce memory consumption of Robaws driver when instantiated but not used. - Reflect existing Twinfield timeouts in default slot reservations. - Register enforce scopes for Exact Online clients. - Retry on incorrect Bad Request on ActiveCampaign. - Retry on itgeneor342. - Return for non-select native scalar requests the number of rows affected. - RFC 3339 with timezone Z defines kind UTC. - Search for logical overall view names for uniqueness across all data containers. - Show clearer error when Exact Online activates rate limits on access token. - Show full table name on checking row data. - Show Keychain statistics in Data Hub. - Show kind request in error dialog details. - Standardize error messages on Exact Online log in form. - Stash and register rate limit information on boot. - Switch datetime as default data type on SQL Server to datetime2. - Switch to IPv6. - Timespan to text. - Tune DMS view for Invantive Composition. - Tuning audit events. - Twinfield filter on yearperiod when requesting filter on year. - Update Exact Online for Business. - Upgrade EPPlus. - Upgrade Facebook to V12.0 API. - Upgrade to .NET 6. Bug fixes: - Accumulate delay skipped by Exact Online API use during log in. - Activate row data type conversion again. - Add missing message text to itgenpse009. - Allow null values on 'invoicee_name', 'invoicee_customer_type', 'invoicee_customer_id' on Teamleader V2 CreditNotes. - Avoid 501 Not Implemented on URL column of DocumentAttachments. - Avoid ArgumentNullException on lock result set in edge case leading to SQL engine crashing out. - Avoid itgeneor359 on Exact Online minutely rate limit exceeded on after open actions. - Avoid NullReference during exception handling. - Avoid NullReferenceException on Swagger operations without Content-Type. - Change data type of duration_hours in days_off_by_user on Teamleader from integer to decimal. - Change determination of accountant ID to match new Exact Online API. - Check all bulk endpoints for added, non-documented excluded filter columns. - Check if user has rights on connect to Autotask. - Correct Exact Online open procedure. - Correctly calculate PAYLOAD_NODE_COUNT in Exact Online UploadXMLTopics. - Create initial incremental load logs even when no privileges/rows. - Differentiate to avoid itgeneor313 on accountancy Exact Online. - Disable XML optimization. - Disallow use of plus-sign in email addresses. - Do not pass PSQL only variables into SQL functions. - Do not pass PSQL-only data type variables into SQL functions. - Do not require user to specify client ID and client secret on Loket. - Ensure dc_fact_size_statistics has not null values for total_size_rows_m and total_size_characters_m. - Exact Online: Fix setting data container ID. - Exact Online: Improve error message on masked HTTP 500 error. - Fine-tune itgenatr013 check. - Fix "The ‘referer’ header must be modified using the appropriate property or method." on Microsoft .NET Framework with Teamleader and Data Hub. - Fix AND and OR operator when one of the operands is null. - Fix ArgumentNullException on XML query when 'use' has not been executed previously. - Fix casting binary to string. - Fix compatibility with NPGsql 6.0. - Fix data type and number of parameters for excel.fill_using_query. - Fix data type conversion issue on IN and NOT IN. - Fix data type conversion on PSQL function calls. - Fix data type issues on SelectionCodes table on Exact Online. - Fix error on registering session IOs. - Fix error on upgrading connection with previously opened Data Cache repository. - Fix errors on "alter permanent cache set ..."-statements. - Fix evaluation of NOT IN. - Fix Excel export. - Fix execute_module*. - Fix filtering on fields in parent. - Fix internal data type on pls_integer. - Fix itgenclr010 on Loket.nl log on. - Fix itgencmr088 on @eol in Exact Online driver views for analytical accounting. - Fix itgenoda061 error on select on Accounts. - Fix itgenoda093 on filtering on division-related columns. - Fix itgenprr002 on Data Replicator session opening. - Fix itgenpse115 when running module on Invantive Cloud. - Fix itgenrst007 on ActiveCampaign. - Fix itgensft001 error on large replications. - Fix itgensql288 on Outlook being accessed when querying balances of cost centers and cost units. - Fix KeePass table entries history. - Fix label on account name for ActiveCampaign when renewing autorisation. - Fix misleading error on using a field in an order by that is not included in the select. - Fix missing columns in Swagger providers. - Fix not refreshing on Twinfield less than 16 hours. - Fix null on create table x as select * from x. - Fix NullReferenceException on CSV table. - Fix partition error on startup of Loket, Visma.NET and others. - Fix partition list on ANSI SQL-based drivers. - Fix partition selection error message not including the partition code. - Fix performance issue. - Fix possible error on Modified with DocumentAttachmentsIncremental. - Fix precision/scale issue on MySQL. - Fix RDW price calculations table retrieving incorrect column names. - Fix several issues on Simplicate and possibly other Swagger-based providers. - Fix SQL exception when using `where :w1`, where `w1` is a boolean parameter. - Fix Swagger metadata retrieval. - Fix Teamleader invoice_reminder_template_content_by_invoice retrieving no data. - Fix Teamleader V1 data model errors. - Fix token retrieval issue on Bridge Online using long-running startup SQL. - Ignore error during exception to avoid itgenexl001. - Improve determination of logical view name on Data Cache to prevent duplicates. - Improve error message from background OAuth login. - Improve error message on request cancellation. - Improve error message when a JSON exception occurs. - Improve native call logging on SOAP. - Make AmountFCExclVat optional in SalesInvoiceLinesIncremental and SalesOrderLinesIncremental on Exact Online. - Make hash optional on Contact in ActiveCampaign. - Make incorrect default of 5 for native call logging again null. - Not always log native disk calls. - Raise error when no data container or failover clusters are defined. - Reduce timeout issues on Twinfield. - Remove itgentse005 and itgentse020. - Repair EZ-Base connector. - Rewrite nullable string to null for parameters in line with Invantive SQL standard. - Robaws: Add missing fields. - Set nullability on create table. - Swagger: improve JSON handling on tables containing just an array on the root level. - Teamleader OAuth: Improve error messages. - Teamleader: Improve error message on failure. - Use user-filters when available when applying mandatory filters. - Workaround for incorrect Simplicate Swagger. - Workaround for passing wrong division filter in Invantive Control. Version 20.1.538-BETA, released 2021-04-02. Enhancements: - ActiveCampaign: Improve performance of update/delete. - ActiveCampaign: select site tracking white listed domains. - Add "continue on first ... errors" to synchronize statement. - Add 17 new Exact Online tables and 400 columns. - Add 300+ Visma.net APIs. - Add 900 additional fields and 18 tables to Exact Online metadata. - Add ABN/AMRO MT940 record format 25 without currency. - Add account classification columns to Accounts and AccountsBulk. - Add Active field to Yuki companies. - Add ActiveCampaign tables AccountWithCustomFieldValues, ContactWithCustomFieldValues, ContactWithTags, ContactWithBounceLogs. - Add ADO.NET metadata tables to all ANSI SQL connectors. - Add AFAS Profit 15 setting 'analysis-add-default-sort-get-connectors'. - Add alternative error format to ActiveCampaign. - Add analysis on Freshdesk. - Add application scope specific error codes for new Exact Online security checks. - Add attachments to mail. - Add AutoTask documentation. - Add binary HTTP output as cloud_http.set_response_body_binary. - Add Bridge Online response cache maximum age seconds. - Add caching for email address validations. - Add channels to dbms_output. - Add check itgengpr104 and itgengpr103 that partitions are provided with select specific partitions. - Add check itgengpr105, itgenuse010 and itgenuse011 that partitions are provided with select specific partitions. - Add check itgensql417. - Add check itgenvnt008 on Visma.net that at least one company is available. - Add client-side check on date/time range values for Exact Online. - Add cloud_http.append_to_response_body_text for better performance on generating large web content. - Add cloud_http.get_request_relative_path_to_module function. - Add column to view dc_table_partition_versions for analysis of itgendch808. - Add columns with number of API calls to SystemProvidersActive@DataDictionary and SystemPartitions@DataDictionary to ease analysis of API usage per instance. - Add Confluence views. - Add consistency checks on completeness of catalog, schema and table. - Add copy of values to Cloud data containers. - Add custom fields to main list tables. - Add Daily limit exceeded for Yuki. - Add data cleansing on Exact Online. - Add Data Replicator attribute session-terminated-threshold-hours. - Add data type conversions for numbers to avoid itgenrst004. - Add date format 'mm/dd/yyyy hh24:mi:ss'. - Add date formats. - Add Discourse provider. - Add division columns to incremental transaction lines table. - Add documentation on cloud_metadata package. - Add documentation to Swagger. - Add DocumentsIncremental, DocumentAttachmentsIncremental and DocumentAttachmentFilesIncremental. - Add download invoice PDF to Chargebee. - Add driver setting 'max-erroneous-files' to file based text drivers such as SWIFT MT940. - Add elements to SystemRowProperties in Data Dictionary. - Add error codes to ActiveCampaign. - Add error handling for ROBAWS. - Add event tracking to ActiveCampaign API (insert only). - Add Exact Online GLAccountsIncremental, AccountsIncremental, ContactsIncremental and AddressesIncremental. - Add Exact Online mandatory filtering. - Add Exact Online Stock Position Incremental. - Add Exact Online StockPositionsIncremental. - Add Exact Online sync APIs QuotationLinesIncremental, SalesOrderLinesIncremental and SalesInvoiceLinesIncremental. - Add Exact Online tables DigitalOrderPickingLines and others. - Add Exact Online XML API WageScales. - Add Exact Online XML table WageScales. - Add exception handling for low-level SSL configuration failures in OAuth background provider. - Add exclude URLs on internetTable table function. - Add fields for Robaws error JSON. - Add first data container ID on data container. - Add flatten method for JSON array. - Add Freshdesk ratelimiters view. - Add Freshdesk ticket_custom_fields, company_custom_fields and contact_custom_fields. - Add Freshdesk views. - Add German Exact Online Query Tool. - Add handling for itgenoda474 when the current Exact Online division is available. - Add hint on NMBRS token. - Add Ignore 404 setting on OData. - Add ignore-http-503-errors driver attribute for OData-based drivers. - Add incremental sync API for quotation lines, sales invoice lines and sales order lines on Exact Online. - Add InvoiceLinesById and InvoiceGroupedLinesById to Teamleader. - Add Knack. - Add last log on attempt date, error code and message on databases. - Add log file and trace file name path to Data Hub end-user failure reports. - Add logic to handle 422 errors on OData connectors. - Add Logius COR driver. - Add Loket.nl view EmploymentCompanyCars. - Add Loket.nl view EmploymentOrganizationalEntities. - Add loket.nl view for payment slip PDFs. - Add Loket.nl views for payroll components. - Add lookup of HSTS preload status to Internettable. - Add main category to providers. - Add master table fields to various Teamleader views. - Add maximum age of old data on loading incremental data. - Add messaging tables to Invantive Cloud. - Add minor indexes on Data Replicator repository. - Add minutely rate limiting for Freshdesk, including endpoint-specific rate limits. - Add missing fields on Robaws. - Add more check on internal crashes of Exact Online. - Add NetAmountDC and NetAmountFC to SalesInvoicesBulk and SalesInvoiceLinesBulk on Exact Online. - Add new deleted types for Exact Online sync APIs. - Add new DocumentCloud API. - Add new Exact Online tables. - Add new fields for Exact Online SystemDivisions. - Add new fields to Exact Online Current/me. - Add new rate limiter of 5 calls per second for ActiveCampaign. - Add new_time SQL function and support a wide variety of time zones. - Add NMBRS APIs. - Add NMBRS views for hour components. - Add NMBRS views. - Add occurrence date to some measurements. - Add optimization for binary operators with one side null. - Add option to ignore checks on JSON path values with Swagger. - Add option to opt out of low_cost on selects. - Add package functions to providers. - Add paging and structure table names on Robaws. - Add paging to Robaws. - Add parameter enum values to Swagger parameter documentation. - Add partition registration on Outlook driver. - Add payrollPeriodDataId on PayrollPeriodDataByEmploymentID__embeddedPayrollComponents. - Add PeriodTypes view on NMBRS. - Add pool registration information - Add prefix differentiation for HTTP disk cache. - Add provider attribute api-pre-expiry-refresh-sec. - Add public query parameters to session I/O in data dictionary. - Add Quotation incremental table. - Add registration of license code used for Data Cache to ease analysis of finger print issues. - Add retry on open ANSI connection. - Add RFC3339 data format for table function parameters. - Add service account to Invantive Cloud. - Add session IO pages. - Add Simplicate data model. - Add simulator for OData 401 errors. - Add sitemap option to internettable table function. - Add sorting order to module languages. - Add special::xpath, special::innerhtml, special::innertext and special::outerhtml to HTMLtable table function. - Add split_part SQL function. - Add support for ignorable OData API server errors. - Add Swagger support for format yyyy-MM-dd on string. - Add SyncStockPositions to Exact Online. - Add SYS_CONTEXT iiid and iuid. - Add Teamleader quotations and fix currency exchange rate issues on milestones and projects. - Add Teamleader tables for migration between V1 and V2. - Add Teamleader V2 views QuotationLinesAll and InvoiceLinesAll. - Add Teamleader view PdfInvoices - Add Teamleader view ProductPricesAll. - Add Teamleader view SubscriptionItemsAll. - Add Teamleader view UserEvents. - Add Teamleader views ContactsAll, CompaniesAll, DealsAll and TasksAll for V2 API. - Add Teamleader views for project-related data. - Add Teamleader views ProjectUsers and ProjectRelatedParties. - Add three SalesForecasts XML APIs of Exact Online [ITGEN-5014]. - Add timestamp without time zone data type. - Add Twinfield metadata table TableColumnSpecifications. - Add Twinfield tables CustomersV2, GeneralLedgerDetailsV3, GeneralLedgerIntercompanyV2 and SuppliersV2. - Add user customer fields to Exact Online ME and Main Count to AllAdministrationCustomers. - Add user information to Loket.nl and improve performance of payslips view. - Add utcoffset function. - Add value checks on TrackEvent insert on ActiveCampaign. - Add values to OData error. - Add version numbers to service providers. - Add view for calendar absence progresses on Loket [ITGEN-5361]. - Add view Isses to JIRA Cloud. - Add view ItemExtraFieldValues for Exact Online. - Add views for 18 en 54 weeks of Teamleader hours. - Add views for NMBRS v2. - Add views for Teamleader V2 custom fields. - Add views to NMBRS. - Add workaround for NRE bug in NpgSql 4.1.5 during connection open. - Add XML APIs for Finished assembly parts and serial numbers. - Add Yuki views for Contacts and Users. - Add Zoom connector license structure. - Add Zoom provider. - Added all documented incremental tables. - Added incremental table on EOL transaction lines. - Additional fields on JIRA issues. - Additional V2 quotation line and header information on Teamleader. - Allow both start at URL and sitemaps on INTERNETTABLE. - Allow cleansing of data on Exact Online broken APIs. - Allow configuration of compression/sharing strings and bytes. - Allow Creator/Modifier to be missing on Exact Online mailbox, such as with division 1. - Allow custom Bridge Online URL segments. - Allow empty values for modified and account on CustomerCooperations. - Allow fields with special characters in AFAS Profit filters and ordering. - Allow for I18N messages indicating no access to Exact Online company. - Allow ignore of web retrieval errors on httpdownload@datadictionary. - Allow limit clause on synchronize statement. - Allow null values on quotation updated_at in Teamleader. - Allow selecting to use the REST and/or the XML API of Exact Online. - Allow specifying a file path as (temporary) location for the Swagger specification. - Allow specifying data container on SQL transactions. - Allow sub-minute resolution on time tracking with V1 API of Teamleader. - Allow use of license keys split across multiple lines. - Auto-choose MIME type for Swagger-based connectors with multiple produces. - Automatically ignore rule 20 (recursion) when the XML path is explicitly requested. - Automatically purge old trace files after number of seconds configurd in INVANTIVE_TRACE_DELETE_AGE_SEC (otherwise 7 days). - Avoid duplicate slash on Loket.nl data container ID name. - Avoid integrity checks failing on Exact Online PlannedSalesReturnLines due to data corruption in some divisions. - Basic server-side filtering on JQL with JIRA. - Better clean email addresses. - Change default to return no rows instead of an error when the user is not autorized on Exact Online XML API. - Change determination of Exact data container ID. - Chargebee: Add custom field configs table. - Chargebee: add customers. - Chargebee: Server side filtering to improve performance. - Check on Exact Online customer code 1. - Circumvent incorrect delivery of default GUID provided by Exact Online instead of null value. - Clean away HTTP disk cache files written partially due to errors such as out of free space on disk. - Cleared Nullables - Compact object tool tip. - Consider name resolution failure as a pre-connection error on OData instead of post-connection establishment. - Consider www.acme.com and acme.com same host for internettable table function. - Correct NMBRS v2 metadata. - Create backup of downloaded swagger specifications. - CSV encode and decode SQL functions. - CSV/Excel table function: Make position optional and derive from previous column. - DBMS output. - Default sorting on listagg. - Differentiate ActiveCampaign fields that are derived and not for improved update efficiency. - Differentiate data container ID for NMBRS depending on first debtor. - Differentiate discovered database per version. - Differentiate error code itgenoda185 / itgenoda219. - Differentiate error codes from headless log on to Exact Online. - Differentiate error codes of Teamleader API. - Differentiate error codes on NMBRS. - Differentiate error handling. - Differentiate error message on Teamleader Service Unavailable. - Differentiate error message on Twinfield invalid OAuth client ID. - Differentiate error messages raised by Yuki. - Differentiate Exact Online HTTP 403 errors. - Differentiate HTTP errors on OData with own message codes. - Differentiate Invantive Cloud error messages on missing refresh token. - Differentiate itgenoda456 and itgenoda491. - Differentiate Loket error codes. - Differentiate OData errors between system failures and platform failures. - Differentiate on disk full. - Differentiate translation cache file formats. - Differentiate Twinfield error handling by unwrapping fault detail. - Differentiate Yuki error messaging. - Display errors returned as HTML from Twinfield. - Do not disable lock escalation on external tables on SQL Server with Data Replicator. - Do not update derived column values on synchronize. - Drop obsolete Loket table JobApplicantsByEmployerId. - Dynamically switch Data Replicator between full loading and trickle loading depending on percentage. - Enable configuration of maximum number of FoxPro errors per table using max-table-memo-value-errors. - Enable configuration PSQL logging by INVANTIVE_TRACE_PSQL. - Enable custom I18N files using the environment variable INVANTIVE_I18N_FOLDER. - Enable filter on year/period in all transaction tables on Twinfield. - Enable limit to add row count restrictions above 4 billion. - Enable override of default retry settings. - Enable overrule of UI language by environment variable INVANTIVE_ALLOWED_LANGUAGE_CODES. - Enable use of Robaws when development environment of Robaws is down. - Exact Online columns becoming required. - Exclude AFAS ProfitVersion connector. - Execution hints and limit on update and delete SQL statements. - Explicitly specific V1/V2 API on Robaws test environment. - Extend client IP-address list from 240 to 4.000 characters on Invantive Cloud. - Extend cloud_http package by get_header_value, get_url and get_pool_identity. - Extend data container ID from 100 to 240 characters. - Extend Exact Online incremental result by analysis information. - Extend httpdownload by minimum duration (ms). - Extend HTTPDownload@DataDictionary to return 50 instead of 4 columns with metadata on the retrieved URL data. - Extend length of Exact Online AddressLine123. - Extend length of street to 120 characters for Teamleader despite UI limitation. - Extend length of Teamleader forename. - Extend logging on Visma eAccounting. - Extend number of Exact Online incremental/sync APIs shown in data dictionary views. - Extend output of internettable. - Extend pre-defined views by documentation and description. - Extend support for quotations on Teamleader V2. - Extend system partitions by new owner of partition fields. - Extend SystemDomainCodes@DataDictionary with additional fields. - Extend Yuki error handling by two new error codes. - Extract more context from Twinfield errors. - Extract more types of message from Teamleader logon failure. - Finetune behaviour on Oracle with double data type. - Fine-tune determination of data container ID on SQL Server. - Fine-tune error handling on Simplicate. - Fine-tune handling on 503 error received through OData. - Finetune purge interval of trace files. - Fix baseURL variable for canonical URL generation help&manual - Fix paging Yuki documents. - Fix retrieval of single-row 'detail' entities, add record_id field. - For json SQL clause, PSQL fixes. - For XML and refactoring For JSON. - Handle "Access denied" on determining exit status of parallel running Data Replicator not as error but as "might be running". - Handle SSL failures on OData as a non-connection signal. - Ignore Last-Modified of 1-1-0001 on Internet fetches. - Ignore unaccessible projects on JIRA IssuesByProjectKey. - Ignore Yuki error 'The domain is not licensed for this functionality' when running cross-domain queries. - Improve caching and invalidation of active Exact Online divisions. - Improve clarity of error message when user is disabled in Twinfield. - Improve COR metadata. - Improve data container ID determination. - Improve data type determination of Swagger specifications. - Improve data type resolution, including MaxLength, Precision and Scale attributes. - Improve database dashboard card, better handling of delegation change, rights, styling. - Improve DBMS output on Query Tool. - Improve determination of number of upper bound of partitions on Exact Online. - Improve error handling of SOAP-based providers. - Improve error handling on Loket. - Improve error itgenisr004. - Improve error logging on Visma eAccounting. - Improve error message itgendc235. - Improve error message itgendid151. - Improve error message itgendid219. - Improve error message itgensql201. - Improve error message on missing field. - Improve error message when GL accounts are not accessible at all. - Improve error messagen when document attachment is not available. - Improve filtering on multiple ORs. - Improve filtering performance in OData. - Improve Freshdesk API performance. - Improve handling of disk full. - Improve hints when a non-existing partition is used. - Improve ignore documents on Exact Online with errors. - Improve internal server errors on OData. - Improve message clarity for MySQL problem with reading columns of an object. - Improve message itgendch655. - Improve naming of alternatives for non-existing data container aliases. - Improve paging on Visma.NET. - Improve performance of data dictionary queries with a filter on systemtablecolumns. - Improve performance when there are no filters. - Improve purging of died sessions on Data Cache repository. - Improve statistics on Exact Online. - Improve usability on case-sensitive SQL Server databases. - Improved error message when an OData API server returns HTML instead of JSON. - Improved performance of queries on Data Dictionary. - Include catalog used in event log to ease debugging data cache repository resolution issues - Include classification level 9 and 10 in Exact Online XML API view glclassificationmemberclassifications - Include connector information in systemproviderattributes@datadictionary. - Include context on line number of CSV file processed when an error occurs in csvtable executing. - Include current time in native call log. - Include first employer in data container of Loket. - Include kind request from aggregate exceptions. - Include message codes in some errors. - Include natural key in error message when update fails on OData drivers. - Include non-primary key field value of 'field' in update on ActiveCampaign contact custom field. - Include parameters as natural key on SOAP errors. - Include request and response in cloud_http procedure names. - Include response status in native call log. - Include source of provider attribute in SystemProviderAttributes@datadictionary. - Include text of inner exceptions in SQLERRM. - Increase default command timeout for ANSI SQL-based connectors to 300 seconds. - Increase default join-set size from 5.000 to 10.000. - Increase default retries on HTTP 408. - Increase maximum depth of JSON from 64 to 256. - Increase pre-expiry OAuth refresh moment from 3 to 30 seconds. - Inherit JSON serialization of default and null values from serializer for JSON custom serializer for Data Access Point. - Internet table function: Read sitemaps recursively. - Introduce Twinfield error itgentfr097 for Invalid Request. - Knack show better error messages. - Knack: Add multiple choice view for views, as in tables. - Knack: add rate limits table. - Knack: Add upload of files and images. - Knack: add views and scenes, add user authentication. - Knack: handling multiple choice field. - Knack: Implement rate limits. - Knack: Multiple choice views. - Knack: support insert on objects and with most data types. - Limit deals.description to at most 1.000 characters. - Limit maximum duration of purge trace files. - Log additional context in native call log. - Log native calls also to disk. - Loket.nl: retrieve both JSON and PDF response from endpoints returning multiple content types. - Make AmountDiscount optional on SalesOrderLinesIncremental. - Make column "Created" in Exact Online CustomerCooperations nullable since it has incorrect values in Exact. - Make column names upper case in NMBRS. - Make correction of invalid dates possible using invantive-sql-correct-invalid-date setting. - Make customer cooperations non-partition specific. - Make data container ID more unique on Atlassian products. - Make join set available in more scenarios for better performance. - Make JQL optional on JIRA issues. - Make maximum number of webhook management errors on Exact Online configurable from the default of 500. - Make mdate optional on ActiveCampaigns. - Make metadata cache of Knack.com configurable. - Make number of parallel Internet downloads configurable. - Make retry on HTTP 408 Request Timeout configurable. - Make slot-based rate limiter also object dependent. - Make SQL comments valid SQL statement. - Make UID on user messages required. - Make unknown path and maximum discovered column count configurable on Swagger-based connectors. - Make XML comment available to providers. - Make XML providers yield more, lowers memory usage. - Materialize bind variables in large IN value lists. - Measure customer cooperations on Exact Online. - Memorize last action. - mergeconflict [Internal] - More accurate determination of data container ID for ODBC-based data containers. - Move forward Robas time ticket on January 1, 1 to 1970. - Multiple selection id and value list columns. - Only default to encrypted connections for non-discovered SQL Server databases. - Optimizations for incremental loading of data. - Optimize between for edge cases. - Optimize calculation of AllFiltersAreAnd. - Optimize join performance and improve matching to data sources. - Optimize large company volume queries on Exact Online and others. - Optimize performance by reducing global state allocations. - Optimize performanec by reducing global state allocations. - Pre-expiry refresh of access token on Twinfield. - Print settings file loading errors on Data Hub startup. - Raise clear error when a column is listed multiple times with '* except ...'. - Raise clearer error itgennnl023 when NMBRS API token is invalid. - Raise clearer error when an ANSI SQL create table statement includes the Invantive SQL primary key column. - Raise clearer error when using an invalid client secret. - Raise error when a single/all column expressions have a label, alias or prefix intended for all/single column expressions use. - Raise error when loading connector twice. - Raise itgeneor234 instead of invalid_request when Exact Online API servers can not handle request for new refresh token. - Raise SQL error when using an unsupported format on to_char. - Re-add project_code_attr to itemprices on ExactOnline XML. - Reduce account information lookups. - Reduce chances of invalid email address input. - Reduce CPU-load on determining call stack. - Reduce length data container ID of Loket. - Reduce length of disk cache file names. - Reduce length of trace file names. - Reduce memory consumption and locking by dbms_output. - Reduce memory consumption for Twinfield. - Reduce memory footprint of select Count(*). - Reduce memory pressure checking rows. - Reduce memory pressure when replicating to disk. - Reduce number of columns in Robaws Offers. - Reduce to new minutely rate limits on Exact Online. - Re-establish HTTP connection on timeout before second try. - Refine error messages on Exact Online for data scoping. - Register date/time of occurrence of dbms_output. - Relocate Nmbrs to Visma. - Relocate Roller API. - Relocate Yuki to Visma group. - Remap greater equal combined with less equal filters on Data Dictionary queries into between for improved performance on date range queries. - Remove check on role loading sync deleted table. - Remove non-normalized columns from Exact Online APIs. - Rename Open Data to Public Data. - Replace return value to exception. - Require minimum level of SQL Server 2016 for Data Replicator instead of 2012. - Retrieve Twinfield OAuth tokens in the background, for Data Hub/Data Replicator. - Retry DNS queries when DNS server reports it is not available. - Retry event registration on ActiveCampaign when it fails. - Retry on itgenoda314, itgenoda316, itgenoda466 and itgenoda039 on OData drivers such as Exact Online when the API server crashes. - Retry on MySQL not returning data reader. - Retry on several SQL Server errors such as deadlock. - Return primary key, row count and native answer from insert. - Rewrite chosen division when it is not granted to the app, avoiding use of AccountantInfo. - Save refresh token in Invantive KeyChain. - Separately handle kind request and natural key in message windows. - Set natural key on SOAP exceptions. - Simplicate filtering. - Simplicate: Add projects to invoices table (new table: InvoiceProjects). - Simplify GUI action on event registration for Data Hub administrators. - Single write on update and delete when using primary key in filter. - Skip loading XML on Exact Online when there is no payload. - Solely drop views for facts when running Data Replicator on PostgreSQL. - Sort alternative names on itgendid201. - Support date parameters on NMBRS tables. - Support for SQL Server with case-sensitive collations. - Support update and delete on Knack. - Swagger: include parent properties, also when they reside in another branch (allOf, etc) - Switch object size resolution from KB to bytes. - Teamleader V2 adding budget fields on projects and milestones. - Teamleader: Add configuration_options column to CustomFieldDefinitions table. - Teamleader: Add Migrate ID endpoint. - Teamleader: cache Migrate ID endpoint results indefinitely. - Throw error when adding duplicate division in Exact Online. - Translate AFAS Profit generic Windows error to pre-defined error itgenaoe026/itgenaoe027. - Translate 'Forbidden - The chosen User division is not within division scope.' to an error code. - TranslationsManual now use ConnectionManager - Tune metadata collection. - Tune OR and division (partition) selection on Exact Online XML. - Twinfield parallelisation. - Update documentation cloud_http. - Update documentation of Exact Online Sync APIs. - Update Exact Online sync APIs. - Update Knack metadata. - Update Roller metadata. - Update Roller. - Update Simplicate service definition. - Update Simplicate table list. - Update Visma.net tables include journal transction lines. - Upgrade to latest Exact Online XML definition. - Upgrade to Teamleader 2019-10 API version. - Usage dashboard card. - Use finger print for SQL area instead of SQL statement. - Use OAuth on Twinfield provider. - Use token instead of envid when envid is not available on AFAS. - Yuki: support changing domains [ITGEN-5137]. Bug fixes: - Adapt API on production for breaking change on V1 API. - Add checks for data types in Excel/JSON/XML etc. tables. - Add date format "dd/mm/yyyy hh24:mi:ss". - Add default ordering on AFAS. - Add deletion time warning as documentation. - Add missing Account field to SyncTransactionLines on Exact Online. - Add missing catalog to Wikipedia. - Add missing fields on ItemPrices and Items. - Add multiple choice field to detail table functions. - Add Period column to NMBRS table CompanyWorkCosts. - Add type as valid column name. - AFAS: Remove call to profit version endpoint. - AFAS: Remove version endpoint. - Align version detection on Azure SQL Server with on-premsie SQL Server. - Allow internet table on join. - Allow Invantive email address on delegations. - Allow negative duration of I/O due to Windows clock going backward sometimes. - Allow non-numeric Debtor number on NMBRS V1 API. - Also retry on HTTP 503 errors with OData. - Apply date format on text to date conversion on Twinfield. - Apply soft-limit throttle on Exact Online when configured lower than expected. - Assume the date format yyyy-MM-dd is local time when converting text to a date/datetime. - Automatically convert binary file to text for CSV tables. - Avoid ArgumentException caused by handling another Exact Online REST exception. - Avoid cast to decimal giving error. - Avoid duplicate forward slash in data container ID of Swagger-based drivers such as Loket. - Avoid duplicate inclusion of message code in errors. - Avoid incorrect nullable check on partition name on SystemPartitionTags@DataDictionary. - Avoid itgendch796 error when a table partition is obsolete but does not yet have versions. - Avoid itgeneor311 error when there is no previous financial period. - Avoid itgenodr007 when cleansing Exact Online field data. - Avoid itgenrst007 on Employee Absences on Loket.nl. - Avoid itgentln007 when switching from UI language. - Avoid missing precision problem on Exact Online. - Avoid NullReference when deserializing JSON. - Avoid NullReferenceException in edge cases on OData. - Avoid StackOverflow on event log purge after more than 35 days of inactivity. - Avoid unnecessary itgenrst004 data integrity check error when the database data type is raw/object. - Better error message when accessing external fields in inline view. - Better error message when using a array data type on an unsupported place. - Change parsing of full qualified name in the case of schema.table. - Change Swagger URL production Robaws. - Check Yuki domains for access on adminstrations. - Clear Account column on RevenueByDebtorList, RevenueByDebtorForYear and RevenueByDebtorForYearPeriod when an empty Guid has been provided. - company_id missing on table functions for Twinfield [ITGEN-4634]. - Confluence URL fixes. - Confluence: fix requests never ending. - Consider databases invalid when multiple data containers and at least one without an alias. - Correct creation of database settings backups. - Correct database determination of unqualified object on SQL Server for Data Replicator. - Correct description of page-size-rows. - Correct determination of partition with PostgreSQL and SQL Server on bulk insert. - Correct determination whether parameters are required on ActiveCampaign. - Correct filter performance on Data Dictionary for performance. - Correct incorrect SQL dates. - Correct incremental APIs on Exact Online merging new and old results. - Correct label for token on Open Exchange Rates provider - Correct mapping precision and scale for byte on SQL Server. - Correct metadata for ecom orders - Correct need for user/password on non-authorized connectors. - Correct required table function parameter check on ActiveCampaign. - Correct short name of Roller API driver. - Correct SQL Server bit mapping to always boolean from previously sometimes number. - Correct table type. - Correct type of exception itgenisr034. - Correct type of itgenase098. - Correct update on ActiveCampaign associations. - Correct upgrade customer service. - Correct Yuki project balances. - Correctly alias escaped fields, allow order as alias. - Correctly pass long values with L suffix in OData filters [ITGEN-5065]. - Correctly size target on synchronize. - Create a better Freshdesk URL, fix rate limiting issue. - De-duplicate service URLs found during OData discovery. - Default user information to avoid itgendar042 error on ECB. - Detect English version of no access to XML Exact Online. - Determine MX record when only an A DNS record present. - Disable server-side filtering on GLAccountsBulk.Code. - Discourse: fix lots of data model issues. - Do not add natural key to error message when already present near end of error. - Do not display Swagger URL by default. - Do not erase Twinfield year/period in cash transactions. - Do not include error code twice in ActiveCampaign connector messages. - Do not raise error when length is specified of byte array. - Do not raise itgensql417 when no alias is used on the facts data source for Data Replicator. - Drop incorrect column stock in SyncItems of Exact Online. - Enable query on SystemTableColumns@DataDictionary for SQL Server on ODBC. - Enable retrieval of account information even when the current Exact Online company is not listed in available companies. - End Twinfield delayed requests when the previous HTTP request is somehow not terminated automatically upon expiry. - Ensure GUI module always set. - Ensure message text fits even with long list of changes. - Evaluate true or null to true instead of null. - Exact Online: Fix error when filtering on division on non-partition-specific tables. - Exclude locale from language code on Data Access Point. - Exclude non-processed payroll runs. - Exclude sitemap URLs not in the stay on site list when applicable. - Extend list of applications that allow 1 or more joins. - Fix "value cannot be null" on Loket REST. - Fix aliasing so views get realiased when selecting. - Fix broken insert and update on date. - Fix broken paging on CustomerInvoices for Visma.net. - Fix bug in Exact Online app store view. - Fix bug on KDBX errors raising null reference. - Fix caching of ExactOnline document attachment files (non-bulk). - Fix changed page number semantics for Visma.net. - Fix compatibility with SQL Server 2014. - Fix connection to Multivers ODBC driver. - Fix data corruption on Exact Online CustomerCooperations. - Fix data dictionary data model bug. - Fix data dictionary provider metadata retrieval. - Fix data issues in Invantive Business documents and transaction lines. - Fix Data Replicator error: "Table 'dc_incoming_messages' already has a primary key defined on it." due to case sensitivity support added on SQL Server. - Fix Data Replicator event log on table in Query Tool. - Fix data type of physical memory on Data Replicator. - Fix database numbering on Bridge Online connector. - Fix date formatting using to_char. - Fix date formatting. - Fix determining number of rows affected when one of the results is an empty result set. - Fix different row size metadata / fields. - Fix duplicate key error when inserting empty file values. - Fix duplicate table name error on SOAP providers. - Fix endless loop on retrieving data from Loket.nl (REST). - Fix EOL metadata. - Fix error "itgendcr007: Can't find the column 'DIVISION_CODE' in the current list of columns." on TimeTransactionsExtended. - Fix error "itgenefn003: The field with name 'ITEM_CODE_ATTR' is unknown." on TimeTransactions using I_EOL_TIMESHEETS_AMOUNT. - Fix error accessing UserDefinedTypes on SQL Server through OData. - Fix error on bulk. - Fix error on Loket view EmployerNotifications. - Fix error on missing column and invalid column name when updating Knack. - Fix error on SQL Server discovery on application start. - Fix error on tinyint represented as sbyte with MySQL. - Fix evaluation of DateTime.UtcNow on dbms_output.put and dbms_output.put_line. - Fix field position error when setting use-metadata-memory-cache to false. - Fix filtering. - Fix for invalid empty result on Knack file/image fields. - Fix Freshdesk itgenfpr044 error on new release. - Fix ignore memo values logic for offset problems. - Fix ignoreError in ensure file deleted. - Fix IndexOutOfRangeException in some Exact Online companies. - Fix insert/update on ActiveCampaign. - Fix intermediate file name duplication on complex OData URLs. - Fix intermittent itgenoda433 when loading Exact Online metadata in parallel. - Fix issue duplicating rows leading to wrong field count. - Fix item field not correctly deserialized [ITGEN-5014]. - Fix ITEM_CODE_ATTR error on TimeTransactionsExtended data object. - Fix itgenboe022 error message when retrieving data from Bridge Online. - Fix itgenclr009 on inner select with 20.0 - Fix itgenclr009 on MySQL metadata discovery. - Fix itgenclr096 when determining collation on a SQL Server with case sensitive collation. - Fix itgencmr414 on NMBRS. - Fix itgencsy203 on insert on auditevents@datadictionary. - Fix itgenefd015 for MySQL double/float. - Fix itgenefd016 on FoxPro queries. - Fix itgenefd016 on GLAccountClassificationRelations. - Fix itgenefd016. - Fix itgengpr082 on synchronize with nulled values. - Fix itgenhrt016 on queries for Incremental. - Fix itgenrst004 on FoxPro long data type. - Fix itgenrst007 on custom field options of ActiveCampaign account. - Fix itgensop057 on NMBRS CompanyRunPayslipPdfsV2. - Fix itgenuse010 when connectors supported "no selected partitions" mode and 'use all' is executed. - Fix itgenyki014 on log on to Yuki. - Fix Jira Service desk users not returning more than 50 rows [ITGEN-5007]. - Fix join on same column failing with itgenmuy001 error. - Fix jsonencode for dates. - Fix Knack connection data type, add expanded data tables. - Fix levenshtein comparing nulls. - Fix like optimization on fields with leading or trailing spaces. - Fix loading Teamleader views. - Fix logging. - Fix Loket metadata retrieval [ITGEN-5012]. - Fix missing and/or duplicate rows in ROBAWS. - Fix missing fields on Swagger. - Fix moved Exact Online REST endpoints: GLAccountClassificationMappings, OfficialReturns, ReportingBalanceByClassification. - Fix NMBRS views. - Fix NRE in Yuki. - Fix NRE on creating an authentication exception. - Fix NRE on Nmbrs when determining data container ID. - Fix NRE on wrong column name in Simplicate. - Fix null value and JSON object resolution to JSON table function. - Fix object name resolution when using an escaped object name. - Fix OData filtering issue. - Fix OData filtering. - Fix OData URL filter issue. - Fix Open Arch comments table making archive parameter optional. - Fix optimized join on Exact Online divisions. - Fix parameter binding issue. - Fix partition choser on Twinfield. - Fix partition selection on Twinfield [ITGEN-4633]. - Fix passing parameters into Nmbrs. - Fix path on Swagger. - Fix PayrollPeriodComponentsByEmploymentId manual field data types. - Fix problem with Business for Visma.net. - Fix Producer repository log on using managed Oracle driver. - Fix PSQL variable error. - Fix reading result set JSON files. - Fix regression bug on SQL Server causing itgenase094 on create table. - Fix request successful flag on SOAP providers [ITGEN-4895]. - Fix required property of excerpt of Discourse. - Fix retrieving internet table function receiving null sitemap URLs. - Fix retrieving non-partition-specific tables on Exact Online XML. - Fix Robaws duplicate field error. - Fix Robaws paging issue on MobilityTypes. - Fix Salesforce database registration on Invantive Cloud. - Fix selecting partition. - Fix Simplicate hour fractions disappearing. - Fix SQL Server table lock escalation disablement for Data Replicator when used on table names with a space. - Fix sqlrowcount not set on update from within PSQL. - Fix synchronize not changing not null in target to null from source [ITGEN-5003]. - Fix synchronizing excluding columns on insert. - Fix Teamleader itgentpr048 error on V2 APIs due to new release - Fix Teamleader language name column name with superfluous space. - Fix Teamleader V1 API product_suppliers returning incorrect contents. - Fix Teamleader V2 support for arrays as a text column. - Fix to_char on dates with format yyyy-mm-dd hh24:mi:ss. - Fix Twinfield retrieving data from wrong partitions [ITGEN-5084]. - Fix updating/deleting too many rows on Knack. - Fix use of Data Replicator stored on same platform as an active data container. - Fix visma.net typo. - Fix wrong calculation of OData URL filters. - Fix wrong mapping of byte dotnet data type in some scenarios. - For JSON fixes. - Forward correct pool identity. - Give error message when data is being truncated due to the wrong numeric data type (integers). - Ignore exceptions on canceling SQL commands. - Implement rate limit checks on Freshdesk. - Implement rebuild dropped ANSI SQL connection (server down or so). Also retry automatically [ITGEN-5008]. - Improve capability with SQL Server 2014. - Improve data type handling. - Improve error message on EOL authentication in background. - Improve handling of UInt64 on MySQL. - Improve JIRA paging for Service Desk. - Improve measurement of rows retrieved. - Improve name matching on MySQL. - Improve provider attribute handling when default value is not null. - Improve resolution of data container alias in complex full qualified names. - Improve SQL Server support on case sensitive database. - Improve Teamleader error messages. - Include all errors of aggregate exceptions for Data Hub. - Initial work on FOR XML, fix for aliases in SQL. - Instruct users updating custom fields to provide a value for field, even though it is already set. There is no technical solution to solve this yet [SUP-5725]. - Interprete 0001-01-01 on Yuki as null. - IsApiCall made optional on Exact Online. - Join: don't fetch entire left side when not indexing. - Knack unique schema, table and field names. - Knack: Fix itgenrst007 null value metadata issue. - Logius COR: kvkNummer as a text fields. - Loket.nl: Fix Swagger for missing property types on payslip. - Loket: fix NullReferenceException. - Lower-case email address. - Make Account null on Exact Revenue* table functions. - Make color nullable in stages of ActiveCampaign. - Make created_at in Quotations of Teamleader V2 optional. - Make division move date nullable. - Make email and cdata optional in ActiveCampaign. - Make EntryMethod optional in Exact Online SalesPriceDetails. - Make GetObjectMetadata more thread-safe. - Make InternetTable table function more resilient when returning results partly [ITGEN-5194]. - Make lastStep in Campaign of ActiveCampaign optional. - Make NMBRS debtor and company number a text. - Make obsoleted Exact Online columns nullable. - Make Param_GLAccount for MatchSets, MatchSetLines, and all related tables a GUID [ITGEN-5060]. - Make ReceivablesList and PayablesList ID column optional. - Make some fields optional on ActiveCampaign. - Make split_type on ActiveCampaign campaign optional. - Make XML providers yield more, lowers memory usage, fix retrieving non-partition-specific tables on Exact Online XML. - Nmbrs: default date to null. - Nullify nullable dates returned by NMBRS as 01-01-0001. - OData: Do not calculate fields that are not requested. - Only check on itgentln007 when translations have been loaded at least once. - Pass full connector name instead of short name to logging. - Passing connectionmanager to some functions to use it for calling translations - Percent of deals in ActiveCampaign is optional. - Phone number in Teamleader V2 contact telephones is optional. - Prevent passing filter on custom field. - QT/Control: Fix partition selection. - Reduce lifetime of Swagger definition cache from 7 to 1 day. - Reduce memory allocations on Swagger cache. - Reduce number of columns in Exact Online XML API ItemPrices. - Reduce number of columns on Robaws. - Reduce use of IN for Exact Online OData queries. - Re-enable itgeneor137. - Refactoring to fix memory issues and invalid results on row_number, rank, and similar functions. - Remove check itgenase132 which can be triggered from Oracle metadata discovery. - Remove length type modifier on PostgreSQL bytea. - Remove previous HTTP disk files when one of the chunks fails writing. - Remove redundant field from sync APIs. - Remove scope from columns generated with label prefix or postfix. - Removed fields removed in Exact Online due to performance issues on GetMostRecentlyUsedDivisions. - Rename ActiveCampaign TrackEvent to TrackEvents. - Rename Loket.nl EmployersByUser to EmployersByUserId. - Rename Twinfield SubItems to SubItemsByArticle. - Report Unauthorized correctly when Robaws returns invalid JSON together with HTTP 401. - Require either both precision and scale or neither when defining ANSI SQL fields. - Retrieve more metadata, correct data types not provided with Swagger. - Retrieve times data typed columns correctly. - Retry on 429 HTTP exceptions on OData. - Return Exact Online currencies for Invantive Business currencies table. - Revert exclusion of Account/SalesPaymentCondition and SalesOrder/ShippingMethod on XML Exact Online. - Revert OData logic for like / not like. - Revert synchronize from using batch to singleton inserts on ActiveCampaign. - Revert to API version 50 for Salesforce since chatter/users/me fails on 51. - Revert to english for errors during startup. - Set data container ID on SWIFT MT940. - Set type of file/image on upload. - Show error when a database user has access to multiple repositories instead of recreating repository. - Show meaningful error message when Teamleader user has limited access. - Show partition codes with itgeneor131. - Show which connector can not register. - Simplicate: fix download document. - Supply mandatory filters to EOL. - Swagger: Fix reauthenticating when OAuth token expires. - Unpack CData sections correctly in XML table. - Update and delete row-by-row when including a limit clause. - Update Teamleader V1 documentation location. - Updated paging mechanism [ITGEN-5078]. - Use correct date format on Twinfield. - Workaround for Teamleader Invoices by Deal, plus better parsing of '.' as grouping separator in fields (without further words of putting formatting in raw payload). Details of Release Notes: Version 20.1.1: Include catalog used in event log to ease debugging data cache repository resolution issues # src/Invantive.Data.Providers/DataCache/DataCacheProvider.cs # src/Invantive.Data.Providers/DataCache/DataCacheProviderDataModelV1.cs Version 20.1.278: Include classification level 9 and 10 in Exact Online XML API view glclassificationmemberclassifications # src/Invantive.Data.Providers/ExactOnline/XML/ExactOnlineXmlProvider.cs Version 17.33.341-BETA, released 2019-11-12. Enhancements: - Accept some timestamp difference when replacing timestamps on files. - Accept that a configurable number of CBS tables raise an error when loading metadata. - Add 25 extra columns to SystemTables. - Add AccountView.net [ITGEN-4652]. - Add analysis features for HTTP disk cache usage per connector in data dictionary. - Add analysis script for Teamleader incorrect custom field values. - Add ascii_to_blob / unicode_to_blob to enable Twinfield office/password encoding. - Add bytes received and depth to internettable. - Add client sessions table for improved check on non-concurrent use. - Add connector attribute minimum-connection-timeout-sec on ANSI SQL and backing-minimum-connection-timeout-sec on Data Replicator. - Add consistency checks on Data Replicator. - Add custom fields on product, call and subscription for Teamleader V1. - Add default URL to Bridge Online connector. - Add display_order and category to SystemProviderAttributes view. - Add domain ProjectTimeTransactionStatuses to Exact Online. - Add duplicate handling order registration detection for connectors. - Add environment_id to Data Replicator, while removing active version last from the repository. - Add flatten views to Teamleader for easier deployment on replication. - Add Foxpro data types. - Add FTPS support. - Add gzip and ungzip SQL function. - Add hint to insert error when insert values and field names count differ. - Add hint when PostgreSQL user is not properly authorized. - Add internettable table function. - Add investigation methods on ADO.NET metadata for ODBC v3. - Add Jira provider. - Add Loket.nl REST views. - Add Loket.nl views for leaves, wages and working hours. - Add Mac OSX support. - Add many fields to SystemProviders view. - Add more fields to internettable. - Add new API V2 Teamleader fields and tables such as withholdingTaxRates, Products, Quotations, LevelTwoAreasByCountry, EventAttendees and EventLinks - Add parallel download to internettable. - Add parent URL to output of internettable. - Add partition ID to message itgendch384 when trickle loading is skipped on Data Replicator. - Add picture for Exact Online user to be displayed in SystemDataContainers. - Add picture of user to SystemDataContainers as workaround for missing picture in SystemUsers. - Add provider attribute to specify whether to use Implict or Explicit encryption on FTPS. - Add repository checks that version numbers are handed out in increasing order. - Add retry on BadGateway HTTP error on OData sources such as Visma.net. - Add retry support to OData POST requests when retry is on to cover 429 recovery for Teamleader. - Add Roller in Invantive Cloud. - Add row level security. - Add SalesOrderLinesBulk to webhook tables. - Add support for HH24:MI time format. - Add Teamleader V1 APIs invoice_reminder_templates_by_invoice and invoice_reminder_template_content_by_invoice. - Add TeamLeader view DealNotesAll. - Add timeout options to FTP. - Add unreliable connection simulator for OData and REST connectors. - Add variant on check on row contents against metadata. - Add view dc_sessions to datacache service connector. - Add, edit and delete databases. - Added readme.md - Additional auto-repair on Data Cache repository. - AFAS: server side filtering: support BETWEEN. - Aggregate exceptions on XML-based providers across partitions before returning. - Allow batchsize specification for bulk inserts from Invantive SQL. - Allow check on connection pooling active on ANSI SQL connectors using SystemDataContainerProperties view. - Allow collection of Data Replicator repository contents for support purposes. - Allow database group names to be empty. - Allow deviating row delimiter on CSV. - Allow disk cache root folder to be specified as execution option. - Allow ignoring milliseconds of absolute time when considering file replacement. - Allow incorrectly sized text in XAF files. - Allow Loket.nl REST connector to clean data when Loket.nl swagger is invalid. - Allow multiple concurrent languages to be loaded and translated. - Allow multiple SQL batches in Startup SQL on Cloud [ITGEN-4641]. - Allow option to ignore write errors to HTTP disk cache - Allow scheme in Jira server name. - Allow setting text encoding on FoxPro and AccountView. - Allow specification of 20 dimensions and values on AuditEvents, even when not used for monitoring. - Allow specification of backing database bulk insert page size in rows and bytes for Data Replicator. - Allow specification of Bridge access clients. - Allow specification of data container alias in SYS_CONTEXT for improved logging and analysis features. - Allow specification of SQL statement to execute upon open and close of pooled connection. - Allow specification whether to compress and/or encrypt facts stored in Data Replicator disk cache. - Allow specifying columns to ignore on checking if a row should be updated. - Alter connection label for Invantive Query Tool and others. - Always return error code from Roller. - Assign logging level to HTTP request exception. - Auto-create data container ID on downloading replicator messages. - Avoid fallback to OAuth headless log on when Exact Online incorrectly reports a 401 Unauthorized during Code Grant Flow. - Basic implementation for PIVOT. - Bridge Online connector. - CBS: Enable paging and retrieval of more than 10000 rows. - Change redirect URL to https://exactonlineclientredirect.invantive.com for all Exact Online apps except Netherlands. - Check on maximum length of file name and path combined. - Check that a unique AccountView data dictionary file DCT_FILE can be found. - Clarify error message when Data Replicator is not licensed [SUP-805]. - Clarify license encryption error message itgenale013. - Compose name from family name when not explicitly available. - Consider Invantive code parse errors of encrypted disk cache also as a signal for retry. - Differentiate between Invantive SQL and MySQL semantics of non-nullable strings when handling the empty string ''. - Differentiate between OData 3 and OData 4 error responses. - Differentiate error itgenfrt003 for easier diagnosis. - Differentiate error message itgenoda046 on OAuth failure depending whether on log on or later on during the session. - Disable Data Replicator on synchronize statement. - Disable lock escalation when creating a table on SQL Server. - Display 32-bit mode in version label. - Display a default label for partition when connector has none. - Display clearer context of SQL parse error. - Do not cache failures of DNS resolution and try multiple times. - Do not retry OData request when a HTTP 501 is returned, such as on 'select * from CommunicationNotes where statusdescription is null'. - Drop Invantive maintained views on upgrade to ease upgrades with platforms such as PostgreSQL. - Earlier checks on data quality. - Enable analysis of connection manager statistics in data dictionary. - Enable configuration of page size for Loket.nl payrolling REST connector. - Enable forcing of custom field values to strings to aid analysis of number of wrongly typed values in Teamleader. - Enable production use of Loket.nl REST connector. - Enable replication of table functions with required but defaulted parameter values. - Enable specification of the Bridge Online client IP address list. - Enable use of acceptance and test environment on AFAS Online. - Enable use of tagged parameters. - Enforce rate limit of 1 call per 1100 ms for Roller. - Ensure lock escalation is disabled on Data Replicator with SQL Server starting repository version 24. - Excel date time formatting. - Exclude existing databases from the discovery databases file. - Explicitly cancel ANSI SQL database commands that remain running due to ADO.NET driver bugs. - Extend httpdownload table function by output of content-type header. - Extend maximum length of XML audit file tax registration identification for misbehaving applications. - Extend unsigned int16/32/64 support. - Fine-tune messages for locations where Invantive services are not available. - Fine-tune PostgreSQL datamodel upgrades to enable solely column nullable change when column is used in view. - Fine-tune SqlException with incorrect certificate setup. - Fine-tune whether to retry on HTTP 500 errors from AFAS Online. - Force SSL data tansport on MySQL, PostgreSQL and SQL Server and increase connection timeout from 15 to 60 seconds. - Foxpro: Add support for reading long, binary double and auto increment field values. - Function based authentication. - Give hint for possible alternatives data containers on itgendch070. - Ignore 'alter persistent cache refresh' when no table partitions have been registered instead of raising itgendch637. - Ignore invalid connector names in discovery instead of raising itgenscg001. - Ignore more disk cache encryption problems. - Ignore Timeout when disposing ANSI SQL connection on a partially fetched result set; might occur on MySQL. - Improve boot-strap installation. - Improve clarity of error message itgenpsr061. - Improve clarity of error message on CSV incorrect value data types. - Improve clarity of error when a field can not be found in an ANSI SQL-based platform. - Improve clarity of exceltable error messages - Improve clarity of itgenoda221 message. - Improve date/time and currency support on FoxPro. - Improve error message itgendid044 when the source by accident uses the wrong culture. - Improve error message on missing user/password. - Improve error message when a named parameter is specified twice in a table function. - Improve file access to FoxPro files when file is still open for by another program. - Improve handling of closing connection problems with MySQL in edge cases. - Improve hint of itgenefn003 to include more alternative column names. - Improve message on import XML when loading fails. - Improve name resolution of Foxpro tables. - Improve naming of connectors. - Improve OData4 connector for Bridge Online. - Improve output queue handling of internettable. - Improve performance by caching parsed SQL statements. - Improve performance by larger percentage of ConstantExpressions by avoiding conversion to object. - Improve performance by more scenarios in which a coalesce forwards to the use of a server-side filter. - Improve performance of bulk loading by skip when the result set is empty. - Improve performance of camel casing. - Improve performance of GenericDataComparer. - Improve performance of Invantive Control tables. - Improve performance of parsing RFC3339 dates. - Improve search speed of table names. - Improve TOTP to allow generation of shared keys. - Improved detection of invalid databases. - Include agreement code in message itgendch380 - Include auto-repair on itgendch682 and itgendch683. - Include data type in itgenrst004 error message. - Include data type in string representation of parameter list to aid analysis. - Include date/time (UTC) in error message window. - Include error code from nested exceptions in message. - Include global state in event arguments to improve window ownership. - Include origin in obfuscated columns to be shown on error reporting. - Include table name in message itgendch380 - Increase default number of retries for connection loss. - Increase default packet size on SQL Server from 8.000 to 32.767. - Increase granularity of deletes when purging orphaned facts using attribute orphaned-facts-delete-page-size-rows. - Increase maximum number of rows to retrieve with free license from 1.000 to 20.000. - Indicate that encrypted value is a license key instead of the default 'password' text on decryption failure. - Insert support on ActiveCampaign. - Integrate Microsoft Graph, Salesforce and PayPal in Invantive Cloud. - Invantive Cloud SQL Editor. - Limit maximum runtime of purge old incoming messages per execution to avoid excessive runtimes after a calamity. - Make default use of ODS in Data Replicator configurable. - Make execute script available to all license forms, including free - Make maximum metadata cache age configurable. - Make message itgendch159 non-fatal. - Make minimum number of remaining API calls till hard limit configurable. - Make number of obsolete table partition versions to purge configurable as a ratio with actual work done on Data Replicator. - Make PostgreSQL logging configurable, improved DDL generation. - Make pre-compiled expressions available through data dictionary to easier assess performance issues. - Make recursing into FoxPro database directories optional. - Make RLS ACL roles unique and upper case. - Make setting Oracle client information optional. - Make skip of client-side cacheable tables with Data Replicator configurable. - Measure duration of encrypt/decrypt operations for HTTP disk cache. - Measure HTTP disk and memory cache use in terms of size in bytes. - Merge provided execution options with pre-defined cache settings to increase proliferation of disk cache root directory. - Merge two Jira providers so use on desktop is possible now too. - More extended implementation for PIVOT. - New RFC 4180 compliant CSV reader. Breaking change: column delimeter is now ',' instead of ';'. - OData/EDM: retrieve better metadata, added SharePoint custom table functions. - On FoxPro allow use of non-available database directories as long as one exists. - On SQL Server allow Data Replicator to use a deviating retry interval and count upon failed connections. - Optimize away IS NOT NULL and required field. - Optimize retrieval performance of metadata from Exact Online providers - Option to exclude Twinfield companies which are templates. - Output PDF wage slips on Loket.nl connector. - Print better hint than NullReference when the custom exception function returns no exception. - Print directories scanned by FoxPro in error on object not found. - Prioritize database definitions when multiple are found. - Provide clear error when the AFAS token does not have the expected format. - Provide hint on alternative database names when an invalid one is specified. - Provide more fine grained replication progress than table and partition [ITGEN-4507]. - Raise clear error when the number of columns changes for trickle loading is different between old and new data set. - Raise comprehensible error when current/Me on Exact Online returns a negative current division. - Raise error when fetch single retrieves no data. - Re-authenticate on Twinfield when parallel session is running. - Reduce garbage collection frequency. - Reduce length of disk cache file names. - Reduce length of HTTP disk cache files to more easily fit on length-constrained platforms. - Reduce lookups on views for better performance. - Reduce maximum memory footprint of Data Replicator on disk caches. - Reduce memory footprint for large internettable queries. - Reduce number of columns in DocumentAttachment on Exact Online XML. - Reduce runtime of queries yielded the data partial from their result set on SQL Server. - Register date of last freshness check in Data Replicator repository to ease analysis of trickle loading. - Register error code for Oracle exceptions. - Rename Exact Online hour status code domains. - Rename Yuki tables. - Restrict number of times a user message is displayed in client editions. - Retrieval difference in date/time notation between platform and Invantive SQL engine using SYS_CONTEXT('USERENV', 'SESSION_TIME_OFFSET_SEC', 'alias'). - Retrieve connection info, access token, etc through API. - Retry on invalid JSON received through OData [SUP-431]. - Retry on timeout and other hard connection loss with Swagger-based connectors such as Visma.net. - Return Exact Online errors as user type errors. - Roller provider. - Show different error code itgenexl109 when Exact Online returns an Object Reference not Set itself. - Show source file for databases in tooltip. - Show user icon. - Sort OData filters on selectivity. - Specify which Exact Online table function parameters are required. - Support SOAP v1.1 error messages such as on Twinfield. - Twinfield: BudgetByCostCenter, BudgetByProject. - Update and delete support on ActiveCampaign. - Update to .NET Core 3.1. - Use error code for soap:Sender. - Yield results in Teamleader. - Yield return on Twinfield Process XML endpoints to improve performance and minimize memory pressure. - Yuki: all accounting APIs. Bug fixes: - Add check on number of numbered table function parameters. - Add database support for nullable char. - Add default translations for use in failing startups. - Add handling for null data type in coerce. - Add label to opening balance in audit files view TrialBalancePerPeriod. - Add license and object property checks on synchronize statement. - Add missing checks on parameter values for exceltable. - Add missing converter for char when auto-casting. - Add missing SystemSqlPrecompiledExpressions data dictionary table. - Add missing 't' in mapping .net data type int64 and uint64 to an identifier. - Add rowversion data type SQL Server support. - Add version_last to Data Cache table partitions to improve restart capabilities. - Add workaround for HTTP 500 errors when retrieving metadata of some entities reserved for AFAS internal use such as Pocket_Leave_Balance. - Allow disable of PostgreSQL logging using environment variable INVANTIVE_PG_LOGGING. - Allow never expiring gift cards in Roller. - Allow specification of connection string properties which are optionally provided by Invantive SQL even when the casing is different. - Allow tag_creator and tag_updater to be optional. - Allow use of decimal as input for int64 in combination with itgenrst004. - ANSI: Do not get precision and scale for columns that are not a number on the .NET and database side. - Avoid "No database selected" error on MySQL due to order of closing data reader and command for better performance. - Avoid connection leak when an error occurs on validation of the Data Replicator repository. - Avoid double inclusion of partition code in itgengpr012 error message. - Avoid errors. - Avoid itgengpr085 consistency check failing on Swagger-based connectors due to missing data container ID. - Avoid itgenrst007 when a null value is inserted in a required column stored in in-memory database. - Avoid itgenrst009 too long content when querying systemdatacontainerproperties@datadictionary for large accountancy environments. - Avoid loading OAuth background provider in slot reserved for Last Resort connector. - Avoid logging on MySQL bogus_table not existing. - Avoid missing parameters exception when going through OAuth with no OAuth configured. - Avoid null exception with new Visma.net Swagger API definitions on query with 'Events'. - Avoid null reference when accessing Excel table. - Avoid NullReference error upon unsupported use of SQL in PSQL. - Avoid NullReference instead of a decent error when a describe is done on a non-existing table. - Avoid NullReference on Business providers for XAF and Exact Online. - Avoid NullReference when shortening disk cache file path and no user name provided [ITGEN-4417]. - Avoid NullReference when using Dummy for Business directly from Query Tool. - Avoid NullReferenceException during query on Exact Online for Business. - Avoid re-use of metadata structure. - Avoid unnecessary spaces in version label in Data Hub. - Better determine data type when using null value columns. - Cannot create and populate list type Invantive.Data.SparseArray. Path 'Data[0]', line 859, position 5 [ITGEN-4413]. - Capture 404 error on ItemExtraFields. - CBS: use ODataFeed API to allow retrieval of more that 1000 rows. - Change default date format for Excel exports from US to EU format. - Change default SSL mode for MySQL from VerifyFull to Required. - Clarify error message of OData HTTP servers. - Clearer display of data type of missing column in Data Replicator. - Clearer label on Budgeted Hours in project WBS. - Correct AccountView data types. - Correct casing of HTTPDOWNLOAD table function. - Correct data type of key for Teamleader custom fields to number. - Correct label environment for AFAS to read subscription number. - Correct logic of field selection [ITGEN-4551] - Correct PostgreSQL column definitions upgrade failing with missing execute statement. - Correct Roller metadata nullable property for GL code. - Correct semantics of empty string to null for longtext columns on MySQL. - Correct type of exception when metadata is not available. - Correctly determine full qualified name for FoxPro connector. - Correctly insert a slash when necessary for SOAP URLs. - Correctly register default partition database() on MySQL when used with Invantive Data Replicator to avoid itgenerr050 error. - Count number of required table function parameter values instead of all to determine whether all required table function parameter values have been provided. - Data container ID uniek maken per AFAS omgeving. - DataCache: don't loop when raising an error when connecting. - Differentiate error itgendch676 depending on completed or incomplete. - Differentiate progress messages between SQL and PSQL. - Disable server-side filtering on NetPrice of PurchaseInvoiceLines. - Display error message itgencmr004 and itgencmr089 with translation. - Do not check that name is set when ID is missing for a database in settings*.xml. - Do not include settings.XML files with invalid elemtns in database list. - Do not perform check itgenrst004 when new value of column is another column. - Do not remove too many webhook registrations when changing seeding strategy. - Do not use $select on Item Extra Fields with Exact Online to avoid HTTP 404 error. - Download Exact Online text documents in original format instead of HTML-ized. - Dynamically check which fields are available from ADO.NET metadata. - Enable Invantive maintained tables with int64 rows on MySQL. - Enable replication of tables with MySQL uint16, uint32 and uint64 data types. - Enable use of disk cache on AFAS [ITGEN-4373]. - Enable use of synchronize statement in PSQL. - Ensure deletion of obsoleted table partition versions for non-default data containers in Data Replicator. - Ensure that Data Replicator repository is opened before retrieving metadata on views. - Ensure that durations in PooledConnections of ANSI SQL-based connectors have matching data type between metadata and actuals for better use with Invantive Bridge. - Exists does not forward server-side filters [ITGEN-4749]. - Fix "relation "Native.NATIVEPLATFORMSCALARREQUESTS" does not exist" error on ANSI SQL providers not recognizing native requests. - Fix 31-12-1969 being returned as date instead of null on Teamleader. - Fix ADO.NET version resolve issue. - Fix application of migration rule for MySQL single character strings otherwise raising "Truncated incorrect DOUBLE value: 'N'Z". - Fix ArgumentException on exists. - Fix broken coalesce [ITGEN-4819]. - Fix character set encoding for AccountView Euro. - Fix Collection was modified; enumeration operation may not execute on Data Replicator. - Fix comparison bug with greater than or equals and less than or equals. - Fix connectretrycount [INTERVAL]. - Fix data corruption bug doubling the number of rows returned. - Fix data type resolution bug in Round, Ceil and Floor SQL functions. - Fix date representation for filters on AFAS Online when date has no fractions. - Fix discovery of Teamleader (now also generates an OAuth-connected database). - Fix discovery showing username and password login for OAuth client credentials providers when it shouldn't. - Fix duplicate Swagger table names [ITGEN-4909]. - Fix error on missing partition code when connecting to Oracle RDBMS. - Fix Exact Online 501 errors for various fields. - Fix filtering issue. - Fix grouping logic where one row too many was returned. - Fix handling of tinyint on MySQL raising invalid cast. - Fix incidental divide by zero on opening new connection. - Fix itgenclr003 when exporting OData-based result set to XML format. - Fix itgendch672 on replicating SystemDivisions. - Fix itgendch676 error on obsolete table partition on the Data Replicator repository due to intermediate bug of 17.32.106. - Fix itgendcr007 with Data Replicator upgrades. - Fix itgenoda136 with filter on modifiedsince for contacts and products on Teamleader. - Fix itgenpae003 error on Exact Online for minimum-text-length. - Fix itgenprr002 error when comparing nullable and non-nullable data types. - Fix loading multi-page result sets on Loket.nl REST connector. - Fix logging on to Bridge Online provider. - Fix Loket.nl view PayrollAdministrationTaxReturns. - Fix missing scale or precision on AFAS numeric columns [ITGEN-4369]. - Fix NRE on joins resulting in null [ITGEN-4817]. - Fix nullable property of name on Locations for Roller Leisure. - Fix NullReference when running Invantive SQL insert without column list specification. - Fix NullReferenceException occurring on Visma.net with 2019-06 specification. - Fix NullReferenceException when running query on ThumbnailByUrl on Exact Online. - Fix OAuth token retrieval on Visma and other platforms using the "token" property. - Fix OData not in bug. - Fix parse error on ODBC connection string key value in the format {VAL;}. - Fix partition handling of Firebird connector. - Fix performance optimalization not always translating complex resources. - Fix resetting provider attributes on creating a new connection. - Fix retrieval of DNS records. - Fix rounding differences for amounts with more than 7 digits in balance lines on Exact Online due to error in XSD [SUP-444]. - Fix split of escaped fully qualified names such as on ODBC with some Microsoft Access drivers. - Fix StackOverflow on ANSI exception. - Fix successful action not displaying correctly. - Fix table column change issues Data Cache. - Fix table name resolution on Foxpro. - Fix Teamleader issues with duplicate parameter. - Fix Teamleader V1 APIs not passing page number and size [ITGEN-4922]. - Fix TranslateResource when fed with expression. - Fix Twinfield itgensop034 error bridge v11: oap:Sender, Your logon credentials are not valid anymore. Try to log on again., code 103, source: SelectCompany. - Fix Unauthorized error in OAuth dialog. - Fix use of expression as Excel file name. - Fix VatReturnStatus table date format error. - Fix Visma.NET logon. - Fix wrong evaluation outcome when an 'IF NOT EXISTS' with SQL or expression evaluating to a constant. - Fix wrong length on dates in XAF connector. - Fix XML metadata retrieval bug. - Force reevaluation of the execution plan of Exists statements every time we query, to avoid caching. - Forward execution options along more paths to allow proper disk cache root settings. - Foxpro: Use hash of directories used as DataContainerId. - Full qualify the call safe name [SUP-3825]. - Give cast(null as type) the intended type instead of 'NullableType'. - Group Data Replicator retrieval and save to database in batches of 5.000 rows to reduce memory footprint. - Handle dates returned as doubles from Excel. - Handle reserved words on MySQL which are presented space separated instead of per row. - Ignore disk cache files which have an incorrect version number. - Ignore itgenoda330 when no access privileges on a division [ITGEN-4452]. - Improve call-safe naming of objects for Firebird and FoxPro. - Improve compatibility of RSA keys between .NET Standard and .NET Framework. - Improve data type detection for Visual FoxPro. - Improve error when Exact XML can not be accessed by an accountant. - Improve handling OData array responses. - Improve table name resolution for FoxPro connector. - Improve thread-safety. - Include correct environment code in data container ID on AFAS Online. - Include GUI module in request for user messages. - Include language on XAF. - Include more context in message itgeneor137. - Include UOM in quantity of Exact Online time transactions. - Include user information from middle tiers such as Producer or Estate in connection state. - Increase size of phone numbers in Teamleader to 30 positions. - In-memory storage provider registered twice. - itgenobr024: The OAuth response does not contain a valid OAuth token: failedLogin('', 'Username or password is invalid. bij ophalen contacts after teamleader query tool use of 1 hour [ITGEN-4450]. - Made several Roller fields optional. - Make compliant to SQL Server 7 [ITGEN-4355]. - Make description on V2 time tracking optional. - Make PlanningSourceUrl of Exact Onine ItemWarehousePlanningDetails nullable. - Make sysdateutc a constant for duration of one SQL statement [ITGEN-4471]. - Make tinytext and mediumtext nullable by default on MySQL due to different semantics. - Make Transaction Lines Type optional since some transactions in 2010 of one site have no value for it. - Make work_type optional for time tracking in Teamleader. - Merge obsolete messages of Data Replicator. - Move minimum-text-length backward when multiple connector attributes are present. - Not in returns 0 rows instead of 1 [ITGEN-4446]. - Parameters not forwarded on OData CBS.nl [ITGEN-4478]. - Password not set when not already there in the connection string on ODBC. - Performance optimizations, don't encrypt insensitive data. - Prevent retrying if authentication fails. - Print label of data container in error itgendch160 [ITGEN-4409]. - Process % sign in decimal custom fields of Teamleader [ITGEN-4379]. - Provide list of languages in preferences when not logged on. - Raise error when alias is not provided on a distribute database with DDL statements. - Recognize insert on AuditEvents and other data dictionary views without fully qualifying with catalog and schema. - Recognize insert on Smtp@Mail without fully qualifying with catalog and schema. - Reduce lifetime of AFAS Online metadata cache from 24 hours to 10 hours to reduce incident reports. - Reduce number of private methods to avoid obfuscation issues with FTPS. - Reduce SQL Server default packet size back to 16.000 to increase compatibility with SSL-encrypted connections. - Reduce throughput on Teamleader to avoid rate limiting issues. - Reduce time taken to establish statistics on an Exact Online company. - Remove Exact Online API BankAccountsBulk. - Remove not-null requirements and fix NRE. - Remove superfluous spaces on Azure SQL Server reserved words. - Remove support for OData batch insert on Exact Online since this is no longer supported by Exact. - Rename Exact Online table SupplierItem to SupplierItems to reflect multi-row contents. - Rename Loket.nl AchmeInsuranceContracts to AchmeaInsuranceContracts. - Reset billing ID and reference when opening a new database. - Restrict active service providers to those opened, which excludes Data Cache when not used. - Rewrite NMBRS URL for Sweden to the Netherlands without an error. - Roller: update 'missing' endpoints. - Shorten disk cache file names. - Show correct error when table does not exist. - Show error with alternative names instead of choosing the first match on ambiguous identifiers. - Small OR evaluation optimization. - Split adding columns across more methods to lower the stack size. - Start retrieval on page 1 instead of 0 for Loket.nl REST connector. - Swagger: Exclude array and object parameters since they are not supported. - Translate tooltip of databases. - Use correct length of IV hash for Data Replicator disk cache encryption. - Use correct partition filter for non-partitioned tables in Data Replicator. - Use database casing instead of Invantive SQL casing when inserting into ANSI database. - Wrong conversion on ascii_to_blob and unicode_to_blob. Version 17.31.133-BETA, released 2019-03-25. Enhancements: - Add 18 new Exact Online bulk API tables. - Add AFAS Online connector [ITGEN-2935]. - Add api-url parameter to Mendix. - Add application controls on minimum/maximum number of rows in a table partition [ITGEN-3835]. - Add CaseWare and AccountView databases. - Add check on maximum length on databasecolumn constructions, as on ColumnSpecification. - Add check on trickle loading not being activated within 30 days for Data Replicator. - Add check that last used SQL engine version should at least be matched for Data Replicator. - Add checks itgendch454 and itgendch455 to dc_warnings_r. - Add checks to Data Replicator on not (yet) installed database objects. - Add columns for company code and name [ITGEN-4050]. - Add COMPlus_DebugWriteToStdErr environment variable documentation for .NET Core. - Add connector attribute 'ignore-http-500-errors' for OData connector [ITGEN-3991]. - Add connector attribute 'page-size-rows' to Visma.net. - Add connector attributes to ignore Exact Online XML no access errors. - Add consistency check on Data Replicator when purging data. - Add consistency checks between table partition and versions. - Add data dictionary view SystemDataContainerReservedWords. - Add data dictionary view SYSTEMDATACONTAINERSLOTBASEDRATELIMITERSLOTS. - Add data dictionary view SystemMessages. - Add Data Dictionary view SystemTableFunctionParameters. - Add Data Replicator attribute 'facts-delete-page-size-characters' to limit number of bytes deleted per facts delete batch. - Add Data Replicator attributes upgrade-force-execute, upgrade-force-repository-version-start and upgrade-force-specials. - Add Data Replicator sourcing_date column to store when a row was loaded from the original source. - Add ensure view dropped and column dropped methods to ANSI SQL-based connectors. - Add Exact Online APIs PayrollComponents, ProcessWarehouseTransfer, WarehouseTransferLines and WarehouTransfers. - Add Exact Online functions ThumbnailByUrl, ThumbnailByRow, AttachmentByUrl and AttachmentByRow. - Add 'exists(...)' SQL-condition. - Add extra column to display documents of Exact Online. - Add Facebook Marketing tables: AdCreativesByAd, TargetingSentenceLinesByAd, AdRulesByAd, CopiesByAd, LeadsByAd and AdPreviewsByAd. - Add Facebook Marketing, Graph and Insights rate limits view. - Add Facebook paging. - Add Firebird connector. - Add Foxpro connector. - Add generic handler for connector notifications. - Add global support by basing times of Data Replicator on UTC instead of local time. - Add hint to error message on unknown filter column on XML-based connectors. - Add Loket.nl REST connector [ITGEN-3870]. - Add manual purge of unneeded Data Cache incoming messages. - Add new bulk Exact Online APIs to trickle loading. - Add new Payroll APIs to Exact Online connector. - Add Octopus connector [ITGEN-3613]. - Add paging on Visma .NET and all other Swagger-based connectors, preparing for 2019Q2 release of Visma.net. - Add partition based rate limits [ITGEN-3810]. - Add partitioning on table functions on Swagger-based connectors [ITGEN-3963]. - Add pre-defined views to Facebook connector. - Add refresh origin to table partition versions of Data Cache to allow prediction of whether pre-loading data is necessary. - Add SQL function excel_day. - Add SQL function months_between [ITGEN-4068]. - Add SQL functions sqlcode, sqlerrm and sqlrowcount. - Add SQL Server bulk insert option 'bulk-insert-page-size-bytes' to limit size in bytes on top of existing limit in number of rows. - Add sql%rowcount, sqlerrm and sqlcode pseudo variables [ITGEN-3366]. - Add support on to_date for date mask 'MM'. - Add table functions for Exact Online XML APIs for more fine-grained access. - Add to_boolean SQL function. - Add various statistics to Data Cache table partitions and versions. - Add view dc_fact_size_statistics_r for Data Replicator. - Add views on Exact Online payroll APIs to ease replication. - Add Visma eAccounting connector [ITGEN-1645]. - AFAS Online connector: Subject, File and Version connector [ITGEN-2935]. - Aggregate errors found during consistency check into 1 error. - Allow configuration of maximum allowable age in seconds of Swagger specification disk cache. - Allow connector attribute specification of in-memory cache for event logs of Data Replicator - Allow drop of Data Replicator partition without access to original partition [ITGEN-3821]. - Allow inclusion of retry mechanisms signaled through OData errors. - Allow installation of comment on PostgreSQL and Oracle. - Allow presence of not yet available connector names in database configuration files. - Allow purge of orphaned facts on upgrades of Data Cache repository. - Allow specification of alias using @xxx for table and partition refresh. [ITGEN-4017]. - Allow specification of billing reference. - Allow specification of glschemeid on Exact Online XML General Ledger tables. - Allow specification of minimum needed freshness interval for partition versions to be selected in refresh. - Allow SQL syntax with 'except' as in "select t.* except col1, ..., coln" [ITGEN-3979]. - Allow table function parameters without placeholders on Facebook API for better selection. - Allow use of disk cache with Data Replicator. - Allow use of PSQL variable as value on billing id, billing reference and set value. - Automatically have Data Replicator recreate facts and history tables when database object was removed by user [ITGEN-3836]. - Avoid long hang on log on to AFAS with invalid credentials [ITGEN-4314]. - Check consistency of installed table columns with table specification after executing DDL statements. - Check URL for maximum lengths. - Check values for insert and update before actual transport in Invantive SQL for adherence to metadata. - Clarify error message when object definition could not be found when switching to trickle loading. - Create Octopus InvoiceLines, DeliveryNoteLines and BuySellBookingLines tables [ITGEN-4045]. - Default maximum length of partition code and name. - Default user name and password of credentials container to the defaults of the data container when no other are available. - Differentiate between maximum accepted and maximum desired URL length for HTTP-based platforms. - Display clearer message when Invantive Keychain file is empty. - Display partition code in error message [ITGEN-3990]. - Do not fail on invalid column name when dropping it. - Enable multi-tenant use of Data Cache objects within one database. - Enable out-of-band messages for PRINT on SQL Server. - Enable registration of billing ID using expressions. - Enable retrieval of BLOB content from native scalar requests. - Enable use of connector-specific views in distributed databases. - Exact Online: add App Center APIs. - Extend HTTP download in Dummy connector to enable more flexible online downloads such as JSON from secured web sites. - Extend logging field names of result set rows by their origin. - Force regeneration of fact and history tables and logical views upon upgrade. - Forward more filters on join sets for better performance on OData queries. - Give hint when on SQL Server the date tried to insert is outside of allowed value for SQL Server. - Implement controltype, decimals and length for fields on AFAS [ITGEN-4008]. - Improve Data Replicator special repository upgrades. - Improve handling of Data Replicator when the backend database fails. - Improve messages when Exact Online only returns partial data. - Improve nameing of HTTP disk cache files to reduce length. - Improve performance by reduced use of DateTime.Now. - Improve performance of determining balance type of GL account on Exact Online. - Improve performance of XPath element splitting. - Improve recognition of CSV date/time export by Google Sheets [ITGEN-4071]. - Improve resilience against Facebook rate limit errors. - Improve retry mechanism on Exact Online when Exact Online crashes during retrieval of XML data. - Improve XML Exact Online error messages. - Include automatic conversion between Char and string(1) dotnet data types. - Include failing table name in itgenrst004 error. - Include more partition statistics on Exact Online for better performance of SQL engine - Include name, type, nullable and origin of column in generated SQL DDL. - Include SQL fragment causing error in error message. - Increase maximum degree of parallelism for file operations. - Increase throughput of GLAccountClassifications XML API of Exact Online in scenarios with over 200 companies. - Limit lengths of various Exact Online text fields. - Limit number of table partitions obsoleted when partially refreshing. - Log additional information fields to the audit trail dc_event_log of Data Cache. [ITGEN-4344] - Maintain statistics over time per table partition in Data Replicator repository. - Make default primary key field name configurable per ANSI SQL connector. - Memorize content type of HTTP requests. - Migrate boolean to char data types to ease portability of Data Replicator to less advanced backing database platforms. - More clearly log externally triggered errors such as SQL Server crashes in dc_event_log of Data Replicator. - Octopus: Add BookYearPeriods table [ITGEN-4044]. - Optimize SQL function execution. - Performance: Rewrite of retrieval from database cache so we can stream the results. - Provide company code table function parameter when running queries [ITGEN-4051]. - Raise error when user tries to explicitly refresh a table or partition that isn't replicated yet [ITGEN-4345]. - Reduce file I/O conflicts in massive parallel environments for backups of discovery database. - Reduce load time of Exact Online data model. - Reduce memory allocations when checking row integrity. - Reduce minutely rate limit from 600 to 300 for Exact Online. - Reduce number of rows per page from 5.000 to announced 500 rows. - Reduce registration time of connectors by 150 ms. - Reduce start-up time of Dummy connector by 50%. - Reduce time slot in which crash leads to inconsistent last active version registration and version creation. - Reduce time to initially load Data Replicator repository by 50%. - Register notifications from PostgreSQL. - Rename Data Cache repository columns to enable use on Oracle 11g: seconds_before_obsolete -> sec_before_obsolete seconds_before_droppable -> sec_before_droppable seconds_retention_forwarded_ime -> sec_retention_fwd_ime seconds_metadata_is_droppable -> sec_metadata_is_droppable date_trickle_approach_activated -> date_trickle_activated date_copy_approach_activated -> date_copy_activated date_smart_approach_activated -> date_smart_activated - Rename Owner Company to Subscription Owner in Exact Online. - Require use of Azure SQL Server S1 or better with Data Replicator. - Restrict maximum length of various Exact Online columns. - Restrict number of audit events not only to a specific age, but also to number of entries. - Retry HTTP timeout without payload as a Internet connection down with same retry mechanism. - Retry on itgenoda039 for Exact Online [ITGEN-4173]. - Return number of transactions changed by Exact Online Upload XML instead of 0. - Set partition for non-partition specific tables to 'DEFAULT'. - Set schema name to folder and correctly convert memo field values to long string on Foxpro. - Show clear error when data downloaded for Data Replicator does not match specifications [ITGEN-3860]. - Show clearer error message when implicit data type conversion for joins fails [ITGEN-3881]. - Simply null checks when one or both the operands are constants. - Split cache files for HTTP disk cache and Data Cache. - Structure table names for Visma.NET. - Support retrieving child rows on Swagger operations. - Support retrieving child rows on Swagger operations: naming resolution. - Throttle Exact Online API calls according to rumoured new limits for short-time rate limits. - to_date and to_char functions updated to support RFC3339 dates. - Unwrap XML OData errors. - Update Exact Online bulk APIs fields that support server-side filters. - Update Exact Online domain code values. - Update Exact Online XML data model. - Update Mendix connector. - Update Octopus connector. - Upgrade components. - Upgrade Salesforce connector API from 37 to 39. - Use default translations where available when a lock exception occurs during translating. - Validate rows before insert to match metadata. - When Data Replicator version loading database fails on first version, purge that version too automatically. Bug fixes: - Accounts is empty [ITGEN-4040]. - Add support for Exact Online's AccountInfo view with Data Replicator on MySQL. - Allow dynamic parameters on range@DataDictionary. - Allow empty titles on Teamleader V2 API deals. - Allow length specification of byte array on MySQL. - Allow multiple specifications of same column with server side filter with identical value on XML Exact Online APIs. - Allow ODBC to not provide partition names. - Allow use of keyword 'reference' as a parameter name. - Assign value to number of characters in Data Replicator table partition version. - Avoid "Value was either too large or too small for an Int32" on column link_og_id on Facebook AdCreativesByAdAccount. - Avoid creating backups of discovered settings. - Avoid dropping a table partition version which is still active. - Avoid error 'itgenerr083 Too few partitions selected for insert on 'ExchangeRates'' when there are no rows to bulk load on OData. - Avoid error 'Missing log on code.' when leaving log on code box empty on Salesforce. - Avoid itgeniuy003 error when not logged to Office 365 [ITGEN-3789]. - Avoid itgenrst007 when right-hand side of union operator is nullable but left-hand side is not [ITGEN-3907]. - Avoid NOT NULL field is NULL error on SystemProviderAttributes@datadictionary. - Avoid NullReference when logging a message on Mac Data Hub. - Avoid Object reference not set exception when using 'set [ignore-http-403-errors] true' on Exact Online. - Clear in-memory cache of DataCache when dropping tables, partitions, table partitions and table partition versions [ITGEN-3847]. - Consider database data type varbinary as a blob instead of a string. - Correct data type of listagg even after implicit conversion [ITGEN-4089]. - Correct data types in all demo tables. - Correct mapping from Exact Online transaction lines/transactions to webhook events for Data Replicator [ITGEN-3816] - Correct outcome of Exact Online cost center / cost unit view (60+ views broken) [ITGEN-4131]. - Correctly close ANSI SQL data readers in error situations. - Correctly recognize UploadXmlTopics table on Exact Online. - Delete facts from all versions of a Data Replicator partition when the partition is dropped. - Do not raise error when column without data is requested. [ITGEN-3994]. - Don't show Teamleader V2 APIs when using a V1 API key. - Don't use trickle loading in Data Replicator when having less than 100 rows in the previous version. - Don't write $filter in OData urls when no filters present [ITGEN-4152]. - Enable escaped paramter names like :[reference]. - Enable Excel export on Visma Severa. - Enable filter on SupplierCode in Exact Online without padding with spaces [ITGEN-3948]. - Enlarge maximum length of previous context descriptions of PooledConnections. - Ensure that a slash is inserted in the service URL for NMBRS. - Exact Online GoodsDeliveryLines broken [ITGEN-4010]. - Exclude superfluous space from PostgreSQL delete. - Fill pseudo-columns for endpoints not returning data. - Fix "itgenube113: The cache with recent find results could not be loaded. The cache has been re-initialized." [ITGEN-3594]. - Fix ArgumentNullException when retrieving Exact Online XML table GLAccountClassificationRelations [ITGEN-3803]. - Fix broken bulk insert on OData: missing close boundary on change set [ITGEN-3951]. - Fix broken IN when using characters [ITGEN-3985]. - Fix bug in deviating application-code for Data Cache tables. - Fix char casting issue. - Fix column name resolution in select ... except statements [ITGEN-4140]. - Fix Data Replicator for use on platforms with default uppercase identifiers - Fix data type of default dates in XAF 3.0. - Fix data type of Loket's DienstverbandenPerPersoon emailaddress [INTGEN-3966]. - Fix data types in Swagger based connectors and SQL Server. - Fix database data type representation of XML boolean to exclude maximum length. - Fix date_forwarded not found in column list of Data Replicator download feed. - Fix derived tables on Teamleader returning no data [ITGEN-3769]. - Fix duplicate filters on OData and too long URL (itgengpr083). - Fix Exact Online $select=* issues on bulk APIs. - Fix Exact Online UserHasRights table function. - Fix Exact Online XML query error with group by "itgenemd007: An element with the key 'ssf_year' already exists in a dictionary of String and Object." [ITGEN-4327] - Fix Facebook connector AdCreative field object_story_id to also include underscore characters. - Fix Facebook Marketing Insights automatic throttle. - Fix filtering on UDFs [ITGEN-4036]. - Fix 'itgenclr003 Collection was modified; enumeration operation may not execute.' on mass parallel initial replication [ITGEN-3823]. - Fix itgenclr009 on PSQL parse "Incorrect number of arguments supplied for call to method 'Invantive.Data.ResultSet PassthroughSqlActionTable(...)". - Fix itgendcr011 in Data Replicator when trickle loading GoodsDeliveryLinesBulk. - Fix itgengpr083 error on too long URL for subsequent pages on Exact Online in specific scenarios [ITGEN-4326]. - Fix itgengpr083 on TeamViewer support request. - Fix itgenlic547 when accessing Dummy connector data [ITGEN-3882]. - Fix itgenoda025 when Exact Online user has no access to division or data elements. - Fix itgenrst007 error on FirstMeasurementMoment of RateLimits for Exact Online. - Fix itgenrst007 when retrieving data from Data Replicator in development. - Fix maximum length of IsLicensed column in Exact Online systemdivisions. - Fix missing deal item information on Teamleader [ITGEN-4168]. - Fix 'Missing log on code' on MySQL. - Fix NullReference when determining number of rows of previous table partition version in Data Replicator. - Fix NullReferenceException in Data Replicator on GetObjectDefinitionFields. - Fix NullReferenceException when a HTTP 403 Forbidden occurs with ignore-http-403-errors set to true [SUP-437]. - Fix old Data Cache facts only getting partially deleted. - Fix PSQL catch and divide errors. - Fix PSQL execution bug. - Fix PSQL variable error with (not) exists. - Fix race condition in routing data requests from Exact Online to REST and XML connectors. - Fix race condition on determining data type. - Fix race condition when SQL engine runs in multiple threads. - Fix refresh on non-partition specific tables on partitioned connectors. - Fix Salesforce login. - Fix Severa APIs return no results for table functions [ITGEN-3775]. - Fix several data context issues with Data Replicator in multi-threaded environments. - Fix superfluous incoming messages not getting purged automatically. - Fix superfluous itgendch461 warnings reported. - Fix System.Runtime not found exception [ITGEN-3857]. - Fix tinyint on MySQL to be int16 alike instead of byte. - Fix upgrade scenario for Data Replicator missing guid on insert of event log. - Fix use on Oracle of Data Replicator with upper casing - Fix various data types issues in Teamleader objects not reflecting documentation. - Fix Visma errors. - Fix wrong table function parameter default added [ITGEN-3970]. - Hide Data Cache objects from Available Objects when not connected to Data Cache. - Improve .NET Core compliance. - Improve check on presence of required values [ITGEN-3769]. - Improve concurrency of Invantive Bridge Online. - Improve thread safety of SQL statement memorization by MD5. - Improved performance pushing predicates when having nested filters with OR predicates [ITGEN-4049]. - Incorrect retrieval of non-default reporting scheme code Exact Online GL accounts [ITGEN-3987]. - Insert on a single partition per time. - Invalid OData filter when using server-side fields. - itgensql156: The evaluation indicates a field is returned, but the data doesn't contain a field. Only on ANSI SQL connectors [ITGEN-4160]. - Log Data Replicator deviating returned fresh rows from web hook fetch [ITGEN-3816]. - Log on without alias [ITGEN-4271]. - Make derived Exact Online columns on systemdivisions null when not all fields are retrieved. - Make GL account optional in Exact Online GL classification members. - Make use of $select=* flexible [ITGEN-4043]. - Measure partition use per billing ID and reference to avoid loosing partition use on a billing ID or reference. - No data retrieved when division_code is specified in where. [ITGEN-3992]. - Octopus Excel UDF returns two values when company code specified, but all companies selected [ITGEN-4077]. - Only raise itgenoda278 on bulk insert on OData sources when there is no partition selected, but there is data to insert [ITGEN-4075]. - Properly escape JSON path that contains dots. - Re-enable use of disk and memory cache by Visma.net connector. - Retry on HTTP 504 Gateway Timeout returned by the Exact Online servers on /Me and logging on at exactly 3:00 AM UTC. - Return 0 instead of null when no warning and/or errors exist in Data Replicator environment. - Set deviating load table Accounts for AccountsBulk [ITGEN-4126]. - SQL Server: Precision and scale wrongfully set on character-based types [ITGEN-4001]. - Uitroep itgengpr083: URL too long. Length: 3,201, allowed length: 2,800. [ITGEN-4234]. - Update server-side filters for bulk APIs. - URL length check [ITGEN-4152]. - Use active flag in Data Replicator where Ready was still used. - Use default field names when not connected to Data Replicator. - Use trickle loading even when there are solely Delete events. - Use upper case by default on Oracle managed and native connectors instead of lower case. - Wrong order of table function parameters Exact Online [ITGEN-4113]. - Wrong URL in sessionios for SOAP connectors [ITGEN-4037]. Version 17.30.0, released 2019-01-10. Bug fixes: - Ensure that connect by traversal of result sets matches on value instead on reference [ITGEN-3728]. Version 17.29.69-BETA, released 2018-11-16. Enhancements: - Add AdAccounts to Facebook provider. - Add automatic time correction based upon Internet time of Invantive servers. - Add clone methods for partitions. - Add columns to Me on Facebook connector. - Add CompanyInfo data model. - Add data models. - Add day of week to_char format. - Add documentation on how to use free fields on Items with Exact Online. - Add Exact Online tables EmploymentConditionGroups, PayrollTransactions and PayrollTransactionsByPayrollYear. - Add EXPLANATION column to SystemProviderAttributes. - Add Facebook Marketing API tables AdInsightsByAd, AdKeywordStatsByAd, AdCampaignsByAdAccount, OwnedPagesByBusiness, OwnedAdAccountsByBusiness, OwnedAppsByBusiness, OwnedProductCatalogsByBusiness and SystemUsersByBusiness. - Add Facebook rate limit statistics table. - Add Facebook table adStudies. - Add Facebook tables AdPixelsByAdAccount and AdvertisableApplicationsByAdAccount. - Add Facebook tables: AdCreativesByAdAccount, AdSetsByAdAccount, MyPublishedPosts, MyTaggedPosts, MyFriends, MyGroups and MySessionKeys. - Add Facebook tables: ImpactingAdStudiesByAdAccount, AdInsightsByAdAccount and 8 others. - Add IsLicensed to SystemDivisions for Exact Online. - Add ISO week number date mask YYYY-IW. - Add memory and disk cache to Swagger-based connectors [ITGEN-3674]. - Add named table function parameters to Invantive SQL. - Add new Exact Online APIs such as BankSubscriptions. - Add overdue warnings as events on Data Cache to make it easier to manage for users. - Add photos, likes and businesses to Facebook connector. - Add profile picture on Facebook connector user. - Add short one-line description to database groups and databases for better human recognition of groups and databases with codes as names. - Add support for retrieval of sub nodes in Facebook metadata. [ITGEN-3710]. - Add Swagger grouping tables. - Add synchronize support for Swagger-based sources such as Visma.net. - Add table partition columns to view dc_table_partition_version_r. - Add tables ItemBarCode and EmploymentInternalRates to Exact Online. - Add trace native calls to Swagger-based providers. - Add trace-native-calls setting to all SOAP-based providers such as NMBRS, Loket.nl and Company.info. - Add userenv SYS_CONTEXT variables: database_comment and database_short_description. - Add view to query currently known Exact Online rate limits per partition. - Add Visma .NET provider. - Add warning statistics on number of missed purges and obsoletions. - Added Exact Online DocumentAttachments and DocumentAttachmentsBulk tables. - Allow case-insensitive matching on service URL when retrieving OData service metadata. - Allow floats and doubles in to_number. - Allow generic provider-specific definition of partition name column. - Auto-adapt on Exact Online API gateway which seems to use two types of UNIX epoch times. - Avoid log on to customer 1 for Teamleader. - Check Exact Online responses for inline error messages outside of standard. - Clarify error message when partition is not found. - Default casing of Invantive SQL identifiers is upper case. - Differentiate error messages on Exact Online for easier recognition of rotating refresh tokens. - Differentiate in logging between two types of view creation for Data Replicator. - Disable retries by default on SOAP-based connectors. - Display context where an error occurs in exceltable data. - Display correct user name on Company.info [ITGEN-3477]. - Display details of progress in Query Tool spinner. - Display results from CompanyInfo.nl consecutive pages and cache results [ITGEN-3478] [ITGEN-3476]. - Display warning pop-up when a Data Replicator environment has tables not being maintained for too long time. - Enable uploading across divisions of Exact Online document attachment files. - Exclude settings.xml from session initiation procedure. - Exclude short description from label in Log On Window when not present. - Extend Data Replicator statistics. - Extend RateLimits view on Exact Online by several additional columns. - Extend userenv by various folders such as for Templates. - Handle changed parameter value correctly; do not keep using the default value [ITGEN-3562]. - Implement re-raise statement, only valid from within exception block [ITGEN-3690]. - Improve clarity of error messages when parsing Excel tables. - Improve message code on raise_application_error in PSQL. - Improve performance of SQL Server data model discovery by factor 5. - Include 2nd order dependencies only once on Facebook columns. - Include fetch parameters in session I/O logging. - Include name of source table when an error occurs in Data Cache upgrading a facts or history table. - Increase resolution for refresh periods from days to seconds. - Load connectors from settings file. - Only retrieve page number requested on Company.info. - Optimize SQL coalesce operator [ITGEN-3671]. - Reduce duplicate retrievals of partition information for better performance on ANSI SQL. - Reduce startup time of connection manager by 50 ms. - Rename company columns to COMPANY_CODE and COMPANY_NAME for Visma.net. - Require data container alias when using distributed databases. - Require metric value when using custom monitoring events. - Restructure reading the WSDL SOAP definitions. - Show front-end and repository version numbers in Data Replicator error message when different. - Simplify overall view maintenance for cross-country use of Exact Online with Data Replicator [ITGEN-3708] - Store all discovery connections in settings-discovery.xml. - Support for table function parameters in Facebook. - Support MySQL and Teradata connector on non-Windows platforms. - Sync table statement uni-directional way. - Synchronize on identifying columns having all nulls [ITGEN-3681]. - Two-way synchronize SQL statement. - Updated scopes for Teamleader API v2. Removed deprecated scopes. Bug fixes: - A generic error occurred in GDI+. on AutoFitColumns in ExportToExcel of Data Access Point [ITGEN-3515]. - Allow country-specific or datacontainer deviation of overall view naming [ITGEN-3708]. - Allow use of HTTP disk cache on CBS.nl. - Automatic cleanup of obsolete table partition versions. - Avoid deadlock for trace on application tear down. - Avoid duplicate insert of data containers in Data Cache. - Avoid itgendch347 error when enabling trickle loading on a table with only one open data container [ITGEN-3597]. - Avoid NullReferenceException when no column name is present. - Avoid two rows being returned from a delete on OData. - Consider the bit data type as a numeric data type. - Correctly determine right metadata for non-standard cased table names on Invantive SQL. - Default the catalog with the partition when querying multiple databases. - Don't compare fields when querying results before the SQL engine. - Enable Data Replicator refresh statement across more than 2.100 partitions in one batch on SQL Server [ITGEN-3423]. - Exact Online XML provider refresh access token when using the OAuth code grant flow [ITGEN-3512]. - Fix "Collection modified" exception on MINUS set operator. - Fix 501 "itgenoda016: Not implemented" when querying CalculatedCostPrice on ItemVersions [ITGEN-3413]. - Fix bulk insert Exact Online when providing the Division column. - Fix CompanyInfo issue table function parameters and column name resolution. - Fix data type comparison issue on set operators UNION and MINUS. - Fix data type issues for new Exact Online RateLimits view. - Fix error like comparison on casted (to_char) values between string and int. - Fix error 'The given ColumnMapping does not match up with any column in the source or destination' [ITGEN-3579]. - Fix external customer ID of Teamleader data type to allow Exact Online integration on Teamleader [ITGEN-3733]. - Fix Facebook Code Grant Flow. - Fix failing to retrieve column metadata on PostgreSQL [ITGEN-3417]. - Fix for 'Database data type 'Invantive.Data.DatabaseColumn' is not supported.' when filtering on columns in the in-memory storage provider [ITGEN-3453]. - Fix for Visma partition selector raising error on Online SQL Editor. - Fix FTP uploads through Invantive SQL due to incorrect case recognition [ITGEN-3645]. - Fix itgendca002 on discovery on Oracle metadata. - Fix newid() function. - Fix NullReference on OData server-side filters. - Fix NullReferenceException on Teamleader. - Fix NullReferenceException when retrieving data source container when refreshing [ITGEN-3486]. - Fix order by data type is with 'union' set operator. - Fix partition filter when inserting on Exact Online REST. - Fix recently broken column metadata recognition on PostgreSQL which uses lower-case by default in deviation from the ANSI SQL standard. - Fix union set operator yielding empty rows. - Fix XML audit file providers empty data sets. - Fixes to synchronize statement. - Handle coalesce with empty string parameters. - Improve determination of escaped name. - Improve performance of delete on OData partitioned sources by filter on partition. - Improve performance of full outer join [ITGEN-3496]. - In optimization fails when no rows in sub query [ITGEN-3445]. - Include missing fields when cloning data containers to avoid client secret forgotten [ITGEN-3419]. - Include views in metadata on SQL Server. - Incorrect assignment of sysdate in PSQL [ITGEN-3691]. - Incorrect syntax near '-' when bulk inserting on a database with dash in database name [ITGEN-3588]. - Increase parallelism on parallel loading incoming messages with trickle loading [ITGEN-3426]. - itgenemd007 An element with the key 'xxx' already exists in a dictionary of String and Parameter [ITGEN-3573]. - Lock updating incoming messages on Data Cache. - Naming of column labels in company.info is ambiguous. [ITGEN-3479]. - Null check on fields [ITGEN-3434]. - Optimize performance of SQL set operators minus and union. - Preemptive filtering on left and right hand side of the join in the case of constant evaluation of the join conditions [ITGEN-3669]. - Prevent "Accessed JArray values with invalid key value: "results". Int32 array index expected." on non-standard compliant error messages by Exact Online. - Refresh preferred catalog and schema name for Data Replicator on SQL Server when using 100+ databases. - Revert correction to partitions retrieval to register changes to the right connector [ITGEN-3713]. - Teamleader fix conversion issue external_customer_id. - Teamleader: fix for broken thumbnail URL [ITGEN-3580]. - Treat an empty string as null when comparing with `is null`. - Use HTTP disk cache on CompanyInfo and enable by default with unlimited age [ITGEN-3476]. Details of Release Notes: Version 17.29.64: Simplify overall view maintenance for cross-country use of Exact Online with Data Replicator [ITGEN-3708] Syntax: alter persistent cache set datacontainer 'ALIAS' logical overall view name (prefix|postfix) 'TXT' Includes upgrade to data replicator repository version 14. Version 17.28.1, released 2018-10-24. Enhancements: - Add SYNC and COMPARE syntax to Invantive SQL. - Better naming of view columns in Data Replicator mode for PostgrSQL. - Memorize origin of Data Cache columns and show them in error message. - Register origin of database column for more meaningful error messages when using Data Cache. - Show clear error when the backing database data model doesn't reflect the intended data model and can't be upgraded easily [ITGEN-3385]. Bug fixes: - Add missing columns on PostgreSQL even when using DDL batches of 1 instead of 100. - Remove occasional trailing 0x00 for Exact Online REST API strings. Version 17.27.42-BETA, released 2018-09-20. Enhancements: - Add cast SQL-function to cast values to another data type [ITGEN-3193]. - Add columns to auditevents table in Data Dictionary for monitoring metrics. - Add default rule for GUIDs in Data Replicator when upgrading to new backing database model version with required GUIDs. - Add Exact Online domain view ReturnStatuses. - Add Exact Online subscription owner data to Me view. - Add explicit configuration of casing and length of logical view names and view column names. - Add group function ZIP (blob expression, file name) [ITGEN-3251]. - Add label to rows_affected column. - Add metadata to Open Exchange Rates provider. - Add optional specification of initial database on PostgreSQL log on window to simplify with AWS environments with no access to postgres and template1 database leading to PostgreSQL 3D00 error. - Add provider attribute 'backing-maximum-length-identifiers' to Data Replicator to specify non-default maximum length of identifiers for a platform. - Add provider attribute 'maximum-length-identifiers' to specify non-default maximum length of identifiers for a platform. - Add set operator: 'union distinct on', allowing to match a union on specific fields. - Add SQL statement 'alter session set billing id'. - Add suggested filename for download an Exact Online backup - Add support for JSON flattened output. Traditional format renamed to jsondataset. - Add support for maintenance of webhooks when a data container other than Exact Online is also connected. - Add TransactionLineVATs and SubledgerTransactionLineVATS to XML Audit File Financial 3.0, 3.1 and 3.2. - Aggregate exceptions occurring during disable/enable webhooks. - Allow differentiation between generating JSON for trusted or untrusted readers. - Allow logical overall views with names exceeding 30 characters. - Allow specification for Data Replicator of index facts and/or history tables. - Allow synchronous and asynchronous backups. - Allow using expressions as input for the CSVTABLE table function. - Allow using expressions as input for the JSONTABLE and XMLTABLE table functions. - Avoid trailing underscore in custom field views of Teamleader. - Check consistency of index names early on when creating tables on ANSI databases through Invantive SQL. - Clarify error message on itgenttn159. - Combine consecutive set operators like 'union', 'union all' and 'minus' to improve performance with 100+ consecutive set operators. - Data Cache: allow providing partition mode when setting the seeding approach, so you can set all, the currently selected or a specific partition. - Enable insert ... values with multiple rows. - Enable log on for Data Hub using a refresh token specified as command line argument. - Enable web hooks from set options approach statement. Keep loading completely when receiving no messages [ITGEN-2985]. - Extend data dictionary model to allow differentiation between read-only partitions and read/write partitions. - Fill ActionInProgress field in Exact Online backups table. - Finetune warning views of Data Replicator. - Fix 'alter persistent cache purge obsolete table partition versions' not actually deleting rows when connected to multiple data containers [ITGEN-3145]. - Implement manage webhooks statement [ITGEN-2985]. - Improve formatting of errors with nested errors by adding line feed. - Improve performance of updating and deleting on the in-memory storage provider [ITGEN-2919]. - Include additional license information in SystemLicenses view. - Include event description in Data Cache's dc_event_log in addition to event code. - Include label of division for which you might not have access on Exact Online in error message. - Include label of division in errors when you specify an unregistered Exact Online division. - Include possible values for enumerable types in Invantive SQL error message. - Increase maximum size of result set to above 4 billion rows. - Introduce new table function exceltable, allowing to read Excel files [ITGEN-3065]. - Introduce string_split table function. - Limit index name length based upon underlying platform restrictions for Data Replicator. - Optimize the registration of web hook statistics when downloading the feed on clients [ITGEN-3063]. - Parallellize disable and enable on webhooks [ITGEN-3233]. - Pivot Open Exchange rate tables. - Prepare encryption of HTTP disk cache. - Reduce size of individual delete statements on obsolete table partition versions to improve reliability on platforms such as PostgreSQL which don't support paged deletes [ITGEN-3321]. - Remove leading and trailing '_' for custom field names in Teamleader introduced due to non-alphabet characters being used. - Remove remaining support for apiclientid, apiclientsecret and apiclienturl without dashes. - Restrict maximum length of itgenrst009 error message. - Simplify event monitoring on duration tasks. - Update Exact Online data model for REST APIs: creditedsalesinvoices, OAuthScopes and extensions to SystemDivisions and Accounts for GDPR. - Update translations. - Upgrade components. Bug fixes: - Add missing ID field from deal table function in Teamleader [ITGEN-3158]. - Add proper escaping of reserved words across all SQL platforms. - Allow columns to be on the right side of an update set statement [ITGEN-3275]. - Allow removal of webhook subscription out of current context. - ANSI-based server-side filtering not applied when using expression with PSQL variable [ITGEN-3311]. - Avoid itgenprr002 on optimized mass update [ITGEN-3275]. - Avoid NullReferenceException on enabling/disabling webhooks across many partitions on Exact Online [ITGEN-3345]. - Avoid NulLReferenceException when no XML Audit File source folder has been specified on log on. - Cache field metadata to improve performance of ANSI providers. - Correctly calculate size of Exact Online backup even when the language doesn't match the number format. - Enable use of Open Exchange rates from HTTP disk cache. - Escape catalog names on SQL Server that start with a digit [ITGEN-3327]. - Fix bug inserting custom fields on Freshdesk. - Fix Data Loader error on retrieve metadata when using distributed databases. - Fix error "The page size must be a positive number. Choose a value diffrent from 0." [ITGEN-3135] - Fix error itgencun006 / itgenemd007 on alter persistent cache download feed [ITGEN-3194]. - Fix ExcelTable raising missing partition code. - Fix file name collisions for HTTP disk cache [ITGEN-3255]. - Fix filtering rows on the client-side resulted in disapproved rows to be approved. - Fix itgenoda093 occurring since Exact Online load statistics moved from fetch to yielded fetch [ITGEN-3149]. - Fix logging on to OAuth. - Fix partition selection bug when inserting in Freshdesk [ITGEN-3298]. - Fix PSQL bug itgenemd007: An element with the key 'l_zip_file_name2' already exists in the dictionary [ITGEN-3350]. - Fix regression bug itgenclr047 on determining MD5 for extended 63 character long column names on SQL Server [ITGEN-3155]. - Fix resolving PSQL variables when updating. - Fix several issues with parsing CSV, EXCEL, JSON and XML table queries. - Fix SQL timestamp interval parsing bug. - Fix sum on null columns and related issues. - Fix Teamleader V2 failing to log in when no client ID is specified. - Improve locking on mail boxes Exact Online [ITGEN-3196]. - Mimic original naming strategy for view columns in Data Replicator that are reserved words by adding underscore [ITGEN-3167]. - Missing data when using double left outer join with columns of another data sources being used as a filter [ITGEN-3377]. - Reduce chance of read lock blocking reading files through OS provider. - Use login user name instead of database user name on SQL Server. Details of Release Notes: Version 17.27.16: Add suggested filename for download an Exact Online backup Sample: local remark Script to dump Exact Online to local storage. -- -- Avoid too intense load on Exact Online. -- set requests-parallel-max 1 use all update Backups set actionrequested = 'B' where slotnumber = 3 select bct.contents , bct.filename from backups bkp join BackupContents(bkp.slotnumber, bkp.division) bct where bkp.slotnumber = 3 and bkp.candownload = true local export documents in contents to "c:\temp\dumps" filename column filename Version 17.26.8, released 2018-09-06. Enhancements: - Clarify error message itgensql104 when no partition is selected for USE. - Include column name for which data type is missing in error message itgenfir003/4. - Retrieve cookies from logon dialog. - Simplify aggregated exceptions for clearer error messages. - Switch to production release. Bug fixes: - Add test case. - Avoid "method not found" error when using SQL within PSQL block. - Determine user information only once and make sure that consecutive providers don't remove the already provided user information. - Fix "itgendch023: Field .NET data type is missing" when installing Data Cache in a new environment. - Fix itgendid022 the value '1 = dummy_int16' is not a valid integer [ITGEN-3122]. - Fix view Data Cache upgrade dependencies when installing in parallel. - Handle column data model upgrade from limited length to unlimited length. - Support number values for Exact Online division HID between Int32 and Int64. Version 17.25.32-BETA, released 2018-08-09. Enhancements: - [ITGEN-3052] Add drop table support on MySQL. - Add auto-maintained indexes on in-memory storage provider. - Add create or replace function/procedure [ITGEN-2836]. - Add data dictionary provider connection string and encrypted to database definition [ITGEN-2832]. - Add data dictionary views 'systemcatalogs' and 'systemschemas'. - Add data type pls_integer to PSQL [ITGEN-2958]. - Add dbms_lock.sleep PSQL procedure [ITGEN-2964]. - Add execute immediate INTO clause to PSQL. - Add execute native to PSQL [ITGEN-2963]. - Add group functions First() and Last() [ITGEN-2754]. - Add ItemTranslations and GLAccountTranslations to Exact Online XML API. - Add linefeed between attributes in settings.xml for easier manual maintenance. - Add more context to error messages on Teamleader invalid data in custom fields. - Add number of HTTP disk and memory cache incorrect version and content counters to providers. - Add Outlook data model documentation. - Add Outlook provider for Invantive Business for Outlook. Supports retrieving mails in the inbox, contacts and appointments using Invantive SQL. - Add PSQL "alter data dictionary set ..." statements. - Add PSQL go to label and support <