Invantive® Basics
Invantive Basics enables multi-platform implementations of Invantive SQL 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.
Release Date: 2-2-2022 20:25:47 (UTC)
Version: 22.0.16
State: Production
Manufacturer: Invantive Software B.V.
Brand: Invantive
Copyright: © Copyright 2004-2022 Invantive Software B.V., the Netherlands. All rights reserved.
Category: Business
Contact: info@invantive.com
MSI Product ID: df465ee1-adaa-4aed-ba39-3d6b8961a42c
Forums (URL): https://forums.invantive.com/
Software Requirements:
Included Components:
Version 22.0.16, released 2022-02-01. Enhancements: - Extend trace logging by partition code. - Release 22.0. Bug fixes: - Avoid itgenclr060 on Linux when logging native calls. - Fix TrimStart eating too much. - Reduce AWS log file contention. Version 20.2.247, released 2022-01-04. Enhancements: - 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 Visma.net 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. Enhancements: - 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. Enhancements: - Add AccountView.net [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. Enhancements: - 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 Microsoft.net 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. Enhancements: - 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. Enhancements: - 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. Enhancements: - 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. Enhancements: - 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`2Invantive.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. Background: 20K lines Unattached: 11 sec Optimized code: 16 sec Original: >200 sec Version 17.23.27, released 2018-06-08. Enhancements: - 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. Enhancements: - 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. Enhancements: - 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. Enhancements: - 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. Enhancements: - 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.