Release Notes of Invantive® Basics 24.0.148

Invantive® Basics

Invantive Basics enables multi-platform implementations of Invantive UniversalSQL and derived products such as Invantive Control for Excel or Invantive Data Replicator. Invantive Basics is a generic library that can be used on Microsoft .net installations on Microsoft Windows, Linux, MacOS, iOS and Android.

These release notes describe all bug fixes and enhancements on Invantive® Basics 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:

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.148

Released: 19-04-2024 07:31:46 (UTC)

State: Production

Manufacturer: Invantive Software B.V.

Brand: Invantive

Operating systems:

  • Android
  • iOS
  • Linux
  • MacOS
  • Microsoft Windows 10
  • Microsoft Windows Server 2016 (64-bit)
  • Microsoft Windows Server 2019
  • Microsoft Windows Server 2022


  • Requires Internet access.
  • Requires all required Operating System updates applied at most 1 month ago.

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


Forums (URL):


  • Android
  • iOS
  • Linux
  • MacOS
  • Microsoft Windows
  • Multi-platform
  • SQL

MSI Product ID: df465ee1-adaa-4aed-ba39-3d6b8961a42c

Included Components:

Version 24.0.148, released 2024-04-19.

- Add Microsoft Event Counters support on .net core.
- Add pipelined table functions.
- Add SQL function clock_offset_avg and clock_offset_last.

Bug fixes:
- Exclude some massively repeating message codes from loggin.
- Exclude some massively repeating message codes from logging.
- Fix log directory not being created.
- Improve retrieval of device IP address.
- Twinfield: split requests of transaction tables to prevent server errors on too large responses.

Version 23.1.242-BETA, released 2023-11-25.

- Add execution profile log.
- Add net 8 support.
- Add row counts to session I/Os.
- Add SQL execution step ID to session I/O.
- Add Teamleader Orbit provider.
- Add Teamleader Orbit Reporting provider.
- Added caching properties to session I/Os.
- Enable 'Alter session set pool identity id'.
- Extend online tips search with category and sorting order.
- Improve partition filtering on filters with OR.
- Split session I/O duration in CPU, I/O and sleep

Bug fixes:
- Rename Ascension to Ascension Island.

Details of Release Notes:

Version 24.0.148:
Split session I/O duration in CPU, I/O and sleep
#	src/Invantive.Basics/CustomerService/SessionStatistic.cs
#	src/Invantive.Basics/Statistics/LoggedSessionIO.cs
#	src/Invantive.Basics/Utilities/ThreadUtility.cs

Version 22.1.293-BETA, released 2022-09-19.

- Add Bouw7 and Fiscaal Gemak.
- Add Danish, Finnish, Norwegian Bokmal and Swedish.
- Add Exact Online Premium Azure database driver.
- Add Gripp CRM.
- Add increase time-out handling.
- Add initial log message to AWS CloudWatch.
- Add is_phone_number, phone_number_to_e164 and phone_number_type.
- Add Japanese.
- Add license elements for Exact Online Premium.
- Add message code itgenclr133.
- Add nansecond granularity logging on AWS CloudWatch.
- Add Odoo and Basecone licensing.
- Add some MIME types.
- Add SQL function blob_to_text.
- Add SQL-functions for validating IBAN, email and URI.
- Add SystemUtcOffsets@DataDictionary.
- Add tabel HTTPDownloadHistory@DataDictionary.
- Add Tableau as data tool.
- Add Tweede Kamer NL API to default keys.
- Add Tweede Kamer provider.
- Add Tweede Kamer Public Data driver.
- Add Twinfield uncompressed XML logging cumulative.
- Add user agent for client hints.
- Add YouTrack provider.
- Add zlib_compress and zlib_decompress SQL-functions.
- Allow providing product specific translations.
- Async improvements on session state.
- Auto-clean local cache of Invantive Customer Service tips.
- Differentiate error message codes when missing.
- Enable action button on user messages.
- Enable configuration of default thread pool size.
- EOL: implement logging on using One Exact Identity.
- Extend trace context to 10 parameters.
- Extend trace logging by partition code.
- Extend various cache storages by optional auto-purge.
- Forward cancellation tokens and allow shuffling of parallel sections.
- Ignore HTTP response disposed exceptions during error handling.
- Improve logging on, error messages.
- Improve RTL support.
- Improve user interface language defaulting.
- Include message code with non-Invantive message on itgenube182.
- Include request ID in CloudWatch log.
- Increase initial number of threads for faster HTTP performance at startup.
- More intense retry on Customer Service drop-outs.
- Odoo.
- Option to simplify IPv4 represented as IPv6.
- Reduce post-mortem trace messages.
- Remove Visma eAccounting.
- Retrieve provider-specific tips.
- Shuffle partitions when requested.
- Simplify text of message itgenlic717 on license expired.
- Store AWS CloudWatch errors log in trace folder instead of (random) default folder.
- Sync: allow specifying max number of rows to insert/update/delete.
- Try more intensive to log unfinished trace events when exiting.
- Upgrade from .net Framework 4.7.2 to 4.8.0.
- Upgrade from .net Framework v4.7.2 to v4.8.
- User client caching of Customer Service tip lookups.

Bug fixes:
- Avoid itgenclr060 on Linux when logging native calls.
- Avoid NRE on support email address.
- Avoid NRE on trace logging to AWS CloudWatch.
- Avoid spinning when creating log stream in AWS CloudWatch.
- Correct country prefix for Spain from 39 to 34.
- Exact Online: Delete old metadata and cache files of incremental tables.
- Fix endless recursion on raising error on assembly check.
- Fix itgenclr003 on 22.0 Exact Online.
- Fix itgenclr008 error on retrieving SYSTEMDATACONTAINERHTTPCACHECONTENTS.
- Fix itgenclr009 on very large HTTP disk cache files.
- Fix itgenclr060 DllNotFound on Linux when querying SystemProperties@DataDictionary.
- Fix itgenclr060 on tick count on Linux.
- Fix itgenrst007 on SessionIOs@DataDictionary.
- Fix not able to log in on Exact Online due to changed login screen.
- Fix NRE during file maintenance.
- Fix NRE on logging startup messages to AWS CloudWatch.
- Fix NRE on specific Oracle exceptions.
- Fix paging on SnelStart.
- Fix SYSTEMCOUNTRIES.IBAN_ACCOUNT_LENGTH data type and nullability faults.
- Improve discovery of database definition changes.
- Improve error message.
- Improve getting ultimate message code.
- Improve retrieving translations on BOL/Cloud.
- Make arabic again available as display language.
- New logic for loading translations.
- Prevent itgenlic818 error on invalid SSL settings.
- Reduce AWS log file contention.
- Remove obsoleted Octopus SOAP driver.

Version 22.0.2, released 2022-01-26.

- Release 22.0.

Version 20.2.247, released 2022-01-04.

- Add checks on XML directory validity.
- Add configuration variable INVANTIVE_TRACE_STDERR to send trace logging to stderr.
- Add error message on failed calls.
- Add Estonia to service area.
- Add HTTP status code 590 error handling.
- Add message code itgenclr127 for TaskCanceledException.
- Add message codes for some new COM exceptions.
- Add NDJSON export format.
- Add online help queries on forums.
- Add Oracle .NET Core driver.
- Allow canceling execution of queries.
- Allow use of pool identity ID in file name masks.
- Cancellation on pending requests.
- Change execution log and native call logging to NDJSON format.
- Implement HTTP 304 on If-Modified-Since and ETag.
- Improve itgenlic155 error message.
- Improve language code determination for Exact Online.
- Improve license title when no license is set.
- Increase throughput of AWS CloudWatch Log.
- Reduce garbage collection.
- Reduce locking on forwarding trace messages.
- Switch from .net 5 to .net 6 for non-framework deployments.
- Switch to IPv6.
- Write logging as NDJSON.

Bug fixes:
- Add license key check on Financials and Knack for discovery.
- Avoid NullReferenceException deploying on Linux with incorrect license key.
- Check if user has rights on connect to Autotask.
- Correctly determine need to execute check itgenrst046.
- Fix incidental HTTP 400 error on token exchange.
- Fix RFC 850 date format for HTTP headers.
- Improve file handling of session IO log.
- Reduce lookup frequency of environment variable value for direct trace.

Version 20.1.538-BETA, released 2021-04-11.

- Add .NET Core 5.0.
- Add AWS logger.
- Add compiler-options detection.
- Add driver instance-specific session I/O cumulatives.
- Add error handling when CloudWatch is down.
- Add exception class for SQL failures.
- Add helper for RFC 850 date time.
- Add HTTP status 599 support.
- Add log file and trace file name path to Data Hub end-user failure reports.
- Add log text stream.
- Add lookup of HSTS preload status to Internettable.
- Add new_time SQL function and support a wide variety of time zones.
- Add option to close application on console menus.
- Add OS version to trace log to ease analysis of issues.
- Add prefix differentiation for HTTP disk cache.
- Add public query parameters to session I/O in data dictionary.
- Add simulator for OData 401 errors.
- Add source to email address validation.
- Add utcoffset function.
- Add Zoom provider.
- Allow use of 0 and 1 for itgenrst0xx check configuration on environment variables.
- Automatically accept all compression methods on .NET 5.
- Better clean email addresses.
- Check validity of pool identity ID.
- Cleared nullables.
- CSV encode and decode SQL functions.
- Deviating title on sign up per step.
- Differentiate discovered database per version.
- Display deviating error message when license key has been disabled.
- Enable changing domains on Yuki.
- Enable free space on system disk check during startup using environment variable INVANTIVE_MIN_GB_FREE_SYSTEM.
- Enable overrule of UI language by environment variable INVANTIVE_ALLOWED_LANGUAGE_CODES.
- Extend email address verification.
- Improve determination of environment variable values on ASP.Net CORE.
- Improve error handling on invalid JSON in response cache across releases.
- Improve handling of customer service messages.
- Improve message on "Key not in a valid state".
- Include kind request from aggregate exceptions.
- Introduce INVANTIVE_CONFIGURATION_PERMANENT_CACHE_FOLDER and INVANTIVE_CONFIGURATION_INCREMENTAL_DATA_FOLDER environment variables for configuring location of permanent cache (such as Swagger specifications) and incremental data (such as Exact Online sync APIs).
- Log native calls also to disk.
- Make application/xml MIME type text.
- Make correction of invalid dates possible using invantive-sql-correct-invalid-date setting.
- Make locker readonly.
- Make many early compatibility checks fatal.
- Memorize last action.
- Optimizations for incremental loading of data.
- Optimize global state stubs.
- Optimize performance by reducing global state allocations.
- Optimize performanec by reducing global state allocations.
- Reduce CPU usage of trace when idle.
- Reduce length of disk cache file names.
- Refactoring to provide status code to native requests.
- Rename Open Data to Public Data.
- Retry on itgencsy020: Internet time can not be determined.
- Return clearer error when license key has been disabled.
- Rewrite ObjectDisposedException on web fetch to connection closed event.
- Split system and SQL errors.
- SQL HTML encode/decode.
- Try to determine application name and version better when exiting.
- Type and check payload type of HTTP response cache objects.

Bug fixes:
- Added missing hints for MFA page
- Avoid duplicate inclusion of error.
- Avoid duplicate inclusion of message code in errors.
- Avoid NullReference when deserializing JSON.
- Control: Add check workbook structure tool button to check if all required worksheets are registered.
- Do not crash when an invalid value is specified for INVANTIVE_TRACE*.
- Do not include kind request twice in Invantive Cloud errors.
- Fix .NET 5.0 preprocessor directive.
- Fix default license keys for new Public Data subscriptions.
- Fix itgeneon001.
- Fix registering session I/Os in NDJSON.
- Improve concurrency of URL lob cache and other caches by name.
- Improve license present determination.
- Improve locking on session variables.
- Improve Windows 10 detection.
- QT/Control: Fix partition selection.

Version 17.33.329-BETA, released 2019-12-11.

- Add [ITGEN-4652].
- Add analysis features for HTTP disk cache usage per connector in data dictionary.
- Add Cloud API.
- Add Interbase.
- Add Mac OSX support.
- Add Outlook provider.
- Allow check on maximum length of file name and path combined.
- Allow specification of data container alias to derive IUID from in settings.xml on database level using 'iuidSource' attribute.
- Allow use of custom RSA implementation by setting environment variable INVANTIVE_RSA to "INVANTIVE".
- Allow use of custom RSA key for encrypting long messages.
- Breadcrumbs and translations.
- Bridge Online provider.
- Clarify license encryption error message itgenale013.
- Disable Data Replicator on synchronize statement.
- Disable TLS 1.1 support. SSL and TLS 1.0 were already disabled in 2018.
- Fine-tune messages for locations where Invantive services are not available.
- Ignore more disk cache encryption problems.
- Improve null value handling from/to base64 encoding.
- Improve performance of Invantive Control tables.
- Improve symmetric encryption
- Include global state in event arguments to improve window ownership.
- Increase trial duration from 30 to 90 days.
- Indicate that encrypted value is a license key instead of the default 'password' text on decryption failure.
- Measure duration of encrypt/decrypt operations for HTTP disk cache.
- Restrict number of times a user message is displayed in client editions.
- SQL: Add htmltable table function.
- Update Open Data license keys to include Producer Runtime.
- Update to .NET Core 3.1.
- Use separate keychain for V2 encryption to allow mutual use of old and new releases on one device

Bug fixes:
- Add license and object property checks on synchronize statement.
- Also deliver messages from last 15 seconds of session to Customer Service.
- Avoid IndexOutOfRangeException during thread abortion on compression.
- Avoid InvalidCastException during error handling.
- Avoid ObjectDisposedException during exception handling.
- Change default date format for Excel exports from US to EU format.
- Default current page number to 1 when determining the next page URL.
- Exclude reference to ClickOnce from license mail.
- Improve compatibility of RSA keys between .NET Standard and .NET Framework.
- Improve defaulting of license limits to null instead of 0 to fix itgenyst007 in Data Replicator.
- Load and check license [ITGEN-4399].
- ProcessQueuedMessages runs multiple times in parallel when Power BI retrieves multiple data sets in parallel from Invantive Bridge Online [ITGEN-4303].
- Remove checks itgenilr005 and itgenilr006.
- Simplify aggregate exceptions when possible.

Version 17.31.129-BETA, released 2019-02-04.

- Add global support by basing times of Data Replicator on UTC instead of local time.
- Add header to Invantive encryption of long messages in IVEC0001 format.
- Add utility for parallel tasks with aggregated exceptions.
- Added state constructor methods for ASP.NET and ASP.NET Core.
- Allow separate specification of folder with database specifications.
- Allow specification of billing reference.
- Allow specification of iiid, osuser, sessionid and frontenduser in configuration environment variables.
- Differentiate between maximum accepted and maximum desired URL length for HTTP-based platforms.
- Differentiate MIME type for Content-Type and Accept header.
- Display partition code in error message [ITGEN-3990].
- Improve error message on invalid content for decryption.
- Improve licenses on Linux.
- Improve performance by reduced use of DateTime.Now.
- Include SQL fragment causing error in error message.
- Memorize content type of HTTP requests.
- Register OData4 URL processed by Bridge Online [ITGEN-4305].
- Split cache files for HTTP disk cache and Data Cache.
- Upgrade components.
- Upgrade to 4.7.2.

Bug fixes:
- Allow use of direct trace during tear-down phase.
- Avoid "Collection Modified" error when querying Audit trail messages.
- Correct clock measurement against atomic clock.
- Delay Customer Service when calling sender repeatedly [ITGEN-4281].
- Fix NullReferenceException in HTTP caches when answer could not previously be stored.
- Fix race condition in anonymizing URL.
- Fix serialization issue after obfuscation.
- Improve .NET Core compliance.
- Improve thread-safety of concurrent dictionaries.

Version 17.30.20, released 2018-12-27.

- Add automatic time correction based upon Internet time of Invantive servers.
- Include fetch parameters in session I/O logging.

Bug fixes:
- Avoid itgenhhr023 error when testing headless.
- URL encode '!', '(' and ')' [ITGEN-3256].

Version 17.28.41, released 2018-10-22.

- Allow transport of application across Invantive Web Service.
- More diagnostics on Invantive Keychain issues.
- Reduce clock duration on dependency injection for improved startup performance.

Bug fixes:
- Avoid casting errors when simplifying aggregate exception data.
- Avoid NullReference on untrusted devices.
- Avoid NullReferenceException in audit logging.
- Ensure that cut out of string always has the right length.
- Fix Null Reference exception retrieving partitions.

Version 17.26.19, released 2018-09-09.

- Add simplification of aggregated exceptions.
- Add string_split table function.
- Extend string library with remove characters from any char array.
- Improve formatting of errors with nested errors by adding line feed.
- Improve performance of HTTP input value extraction using 'name'.
- Improve performance of retrieval of HTML INPUT parameters on large HTML pages.
- Include metric dimensions in history of audit events.
- Include more trace messages being logged at application exit in trace.
- Include software requirements.
- Increase maximum size of result sets to above 4 billion rows.
- Standardize JSON format for export to ignore null values.

Bug fixes:
- Add proper escaping of reserved words across all SQL platforms.
- Avoid NullReferenceException in tracing during high load in parallel scenarios.
- Avoid repeating line prefix in trace when already printed.

Version 17.24.45, released 2018-07-12.

- Add base class for JSON debugging.
- Add Id and ProtocolVersion to HTTP disk cache files.
- Add number of HTTP disk and memory cache incorrect version and content counters to providers.
- Add Open Data license to Query Tool and Data Loader.
- Add option to remove key for Invantive Keychain from Microsoft Windows key container.
- Add Sample Dummy data source to Invantive Business.
- Allow ignore errors from File Access Information determination to avoid itgenube078 errors in Query Tool on restricted Windows environments.
- Allow use of a machine-based key pair for cryptographic operations [ITGEN-3094].
- Avoid collateral damage by allowing ignore errors during adding values to an exception's data dictionary.
- Enable configuration of startup checks.
- Ignore exception during collection of HTTP properties on exception [ITGEN-2986].
- Improve performance of trace logging from within Visual Studio by an order of magnitude.
- Make trace logging async from program execution and improve throughput.
- Register Data Container ID and Log On Code in HTTP response cache object to improve correct matching for re-use of disk caches.

Bug fixes:
- Avoid Method not found: 'System.ValueTuple`2 Invantive.Basics.HttpHelper.DownloadUrlToByteArray(System.String)'.
- Improve unwrapping of aggregate exceptions in error handling.
- Raise error when trying to log direct trace to a directory instead of a file.

Details of Release Notes:

Version 17.24.38:
Improve performance of trace logging from within Visual Studio by an order of magnitude.
20K lines
Unattached: 11 sec
Optimized code: 16 sec
Original: >200 sec

Version 17.23.27, released 2018-06-08.

- Add thread ID to session I/Os.
- Add UTC time to system/myinfo endpoint.
- Allow filtering on data container ID when downloading feeds on Data Replicator.
- Allow inheritance of inner message codes.
- Allow overruling of OS platform for .NET Core through environment variable INVANTIVE_FORCED_OS.
- Enable trace gathering during startup phase.
- Forward Customer Service validation messages to end user.
- Improve concurrency of Dependency Injection.
- Larger batching of logging messages for massive parallel environments.
- Performance improvements Exact Online for massive parallel environments.
- Support for OAuth Code Grant Flow from AngularJS.

Bug fixes:
- Avoid StackOverflow when enabling direct trace on Power BI.
- Earlier start of sending session I/O statistics.
- Improve web products performance by caching outcome of Info Response.
- Reduce memory allocations by trace on exceptions.

Version 17.14.80, released 2018-02-16.

- Add Direct Trace to ease analysis of startup problems using the environment variable INVANTIVE_DIRECT_TRACE_FILE_PATH.
- Allow differentiating log files based on the process ID.
- Allow platform specific location of Cache, Providers and Log.
- Obsolete TLS 1.0 support.
- Reduce memory leak by Webhook Receiver Daemon [ITGEN-2431].
- Send all logging in one go instead of one each time [ITGEN-1161].
- Show provider attribute categories in logon screen.

Bug fixes:
- Enable StringifyFormat.JoinNull to correctly handle enum lists.
- Error itgencun016: Could not determine Data Replicator messages [ITGEN-2487].
- Prevent using connection pooling on Invantive Estate through the Invantive Web Service tunnel.
- Reduce lock contention on session I/O registration.
- Reduce number of AggregateExceptions thrown with 1 exceptions.
- Reduce number of signature checks on DLLs.
- There was an error reflecting type 'Invantive.Data.ResultSet' [ITGEN-2395].

Version 17.13.1, released 2017-12-22.

- Allow configuration of stack trace logging through environment variable INVANTIVE_TRACE_OWN_EXCEPTION_DETAILS.

Bug fixes:
- Define central configuration file folder.

Version 17.12.21, released 2017-12-20.

- Batch mode for insert on Exact Online.

Bug fixes:
- Fix bug when compressing results where results length = 0.
- Fix determination of domain name for web applications.
- Remove leading backslash from machine name when no domain name present.

Version 17.11.3, released 2017-11-22.

Bug fixes:
- Avoid loss of measured session I/Os not being forwarded during high intensity loads.

Version 17.10.16-RC, released 2017-10-17.

- Add date occurred at server local time to Data Replicator messages.
- Cache HTTP requests also on disk.
- Enable delete of Data Replicator messages.
- Make compression of HTTP cache configurable.
- Remove dependency on System.Web to allow .NET Standard 2.0.

Bug fixes:
- Give ID of new session I/O an incrementing value.