Release Notes of Invantive(R) Basics 17.32.270

Invantive(R) Basics

Invantive Basics enables multi-platform implementations of Invantive SQL

Created: 10/11/2020 19:13:54 (UTC, deploy002)

Version: 17.32.270

State: Long-term Support

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

Manufacturer: Invantive Software B.V.

Brand: Invantive

Category: Business

Permissions: Software Requirements: Tags:

Included Components:

Version 17.32.265, released 2020-09-25.

Enhancements:
- Improve message on "Key not in a valid state"
- Add OS version to trace log to ease analysis of issues.

Bug fixes:
- Improve Windows 10 detection

Version 17.32.262, released 2020-09-10.

Bug fixes:
- Avoid hang on close.

Version 17.32.224, released 2020-06-19.

Bug fixes:
- Reduce maximum size of statistics logging.

Version 17.32.214, released 2020-05-10.

Enhancements:
- Reduce length of disk cache file names.

Version 17.32.211, released 2020-05-02.

Enhancements:
- Revert "Differentiate discovered database per version.
- Differentiate discovered database per version.

Version 17.32.208, released 2020-04-10.

Enhancements:
- Add exception class for SQL failures.

Version 17.32.188, released 2020-03-14.

Enhancements:
- Increase trial duration from 30 to 90 days.

Version 17.32.175, released 2020-02-11.

Enhancements:
- Disable TLS 1.1 support. SSL and TLS 1.0 were already disabled in 2018

Version 17.32.167, released 2020-01-31.

Bug fixes:
- Exclude reference to ClickOnce from license mail.

Version 17.32.165, released 2020-01-29.

Enhancements:
- Update Open Data license keys to include Producer Runtime

Version 17.32.161, released 2020-01-23.

Enhancements:
- Force message sending when queue grows large.
- Disable use of Data Replicator on synchronize statement.
- Clarify license encryption error message itgenale013.
- Indicate that encrypted value is a license key instead of the default 'password' text on decryption failure.
- Use separate keychain for V2 encryption to allow mutual use of old and new releases on one device.
- Ignore more disk cache encryption problems.
- Integrate new data encryption model.
- Measure duration of encrypt/decrypt operations for HTTP disk cache.
- Allow use of custom RSA implementation by setting environment variable INVANTIVE_RSA to "INVANTIVE"
- Allow specification of data container alias to derive IUID from in settings.xml on database level using 'iuidSource' attribute
- Improve null value handling from/to base64 encoding.
- Add analysis features for HTTP disk cache usage per connector in data dictionary.
- Restrict number of times a user message is displayed in client editions.
- Add header to Invantive encryption of long messages in IVEC0001 format.
- Split cache files for HTTP disk cache and Data Cache.
- Allow specification of iiid, osuser, sessionid and frontenduser in configuration environment variables.
- Register OData4 URL processed by Bridge Online [ITGEN-4305].
- Added state constructor methods for ASP.NET and ASP.NET Core.
- Memorize content type of HTTP requests.
- Differentiate between maximum accepted and maximum desired URL length for HTTP-based platforms.
- Improve licenses on Linux.
- Upgrade components.
- Improve performance by reduced use of DateTime.Now.
- Allow separate specification of folder with database specifications.
- Display partition code in error message [ITGEN-3990].
- Include SQL fragment causing error in error message.
- Differentiate MIME type for Content-Type and Accept header.
- Improve error message on invalid content for decryption.
- Add utility for parallel tasks with aggregated exceptions.
- Add global support by basing times of Data Replicator on UTC instead of local time.
- Allow specification of billing reference.
- Upgrade to Microsoft.net 4.7.2.
- Add automatic time correction based upon Internet time of Invantive servers.
- Include fetch parameters in session I/O logging.
- More diagnostics on Invantive Keychain issues.
- Reduce clock duration on dependency injection for improved startup performance.
- Allow transport of application across Invantive Web Service.
- Include metric dimensions in history of audit events.
- Add string_split table function.
- Improve formatting of errors with nested errors by adding line feed.
- Increase maximum size of result sets to above 4 billion rows.
- Standardize JSON format for export to ignore null values.
- Add simplification of aggregated exceptions.
- Include software requirements.
- Include more trace messages being logged at application exit in trace.
- Improve performance of HTTP input value extraction using 'name'.
- Extend string library with remove characters from any char array.
- Improve performance of retrieval of HTML INPUT parameters on large HTML pages.
- Add Open Data license to Query Tool and Data Loader.
- Avoid collateral damage by allowing ignore errors during adding values to an exception's data dictionary.
- Add Sample Dummy data source to Invantive Business.
- Allow use of a machine-based key pair for cryptographic operations [ITGEN-3094].
- Register Data Container ID and Log On Code in HTTP response cache object to improve correct matching for re-use of disk caches.
- Add number of HTTP disk and memory cache incorrect version and content counters to providers.
- Add Id and ProtocolVersion to HTTP disk cache files.
- Make trace logging async from program execution and improve throughput.
- Improve performance of trace logging from within Visual Studio by an order of magnitude.
- Enable configuration of startup checks.
- Ignore exception during collection of HTTP properties on exception [ITGEN-2986].
- Allow ignore errors from File Access Information determination to avoid itgenube078 errors in Query Tool on restricted Windows environments.
- Add base class for JSON debugging.
- Add option to remove key for Invantive Keychain from Microsoft Windows key container.
- Add UTC time to system/myinfo endpoint.
- Add thread ID to session I/Os.
- Allow inheritance of inner message codes.
- Allow filtering on data container ID when downloading feeds on Data Replicator.
- Enable trace gathering during startup phase.
- Improve concurrency of Dependency Injection.
- Support for OAuth Code Grant Flow from AngularJS.
- Larger batching of logging messages for massive parallel environments.
- Performance improvements Exact Online for massive parallel environments.
- Forward Customer Service validation messages to end user.
- Allow overruling of OS platform for .NET Core through environment variable INVANTIVE_FORCED_OS.
- Show provider attribute categories in logon screen.
- Reduce memory leak by Webhook Receiver Daemon [ITGEN-2431].
- Allow differentiating log files based on the process ID.
- Send all logging in one go instead of one each time [ITGEN-1161].
- Obsolete TLS 1.0 support.
- Allow platform specific location of Cache, Providers and Log.
- Add Direct Trace to ease analysis of startup problems using the environment variable INVANTIVE_DIRECT_TRACE_FILE_PATH.
- Allow configuration of stack trace logging through environment variable INVANTIVE_TRACE_OWN_EXCEPTION_DETAILS.
- Batch mode for insert on Exact Online.
- Enable delete of Data Replicator messages.
- Add date occurred at server local time to Data Replicator messages.
- Remove dependency on System.Web to allow .NET Standard 2.0.
- Cache HTTP requests also on disk.
- Make compression of HTTP cache configurable.

Bug fixes:
- Avoid InvalidCastException during error handling.
- Simplify aggregate exceptions when possible.
- Avoid NullReference on an exception.
- Avoid IndexOutOfRangeException during thread abortion on compression.
- Change default date format for Excel exports from US mm/dd/yyyy to EU dd-mm-yyyy format.
- Fix cut out with ellipsis using null as separator causing error.
- Also deliver messages from last 15 seconds of session to Customer Service.
- Avoid ObjectDisposedException during exception handling.
- ProcessQueuedMessages runs multiple times in parallel when Power BI retrieves multiple data sets in parallel from Invantive Bridge Online [ITGEN-4303].
- Improve thread-safety of concurrent dictionaries.
- Delay Customer Service when calling sender repeatedly [ITGEN-4281].
- Improve .NET Core compliance.
- Avoid "Collection Modified" error when querying Audit trail messages.
- Allow use of direct trace during tear-down phase.
- Correct clock measurement against atomic clock.
- Fix NullReferenceException in HTTP caches when answer could not previously be stored.
- Fix race condition in anonymizing URL.
- Fix serialization issue after obfuscation.
- URL encode '!', '(' and ')' [ITGEN-3256].
- Avoid itgenhhr023 error when testing headless.
- Fix Null Reference exception retrieving partitions.
- Avoid NullReference on untrusted devices.
- Avoid casting errors when simplifying aggregate exception data.
- Ensure that cut out of string always has the right length.
- Avoid NullReferenceException in audit logging.
- Avoid NullReferenceException in tracing during high load in parallel scenarios.
- Avoid repeating line prefix in trace when already printed.
- Add proper escaping of reserved words across all SQL platforms.
- 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.
- Avoid StackOverflow when enabling direct trace on Power BI.
- Improve web products performance by caching outcome of Info Response.
- Reduce memory allocations by trace on exceptions.
- Earlier start of sending session I/O statistics.
- Error itgencun016: Could not determine Data Replicator messages [ITGEN-2487].
- Prevent using connection pooling on Invantive Estate through the Invantive Web Service tunnel.
- There was an error reflecting type 'Invantive.Data.ResultSet' [ITGEN-2395].
- Enable StringifyFormat.JoinNull to correctly handle enum lists.
- Reduce lock contention on session I/O registration.
- Reduce number of AggregateExceptions thrown with 1 exceptions.
- Reduce number of signature checks on DLLs.
- Define central configuration file folder.
- Fix bug when compressing results where results length = 0.
- Remove leading backslash from machine name when no domain name present.
- Fix determination of domain name for web applications.
- Avoid loss of measured session I/Os not being forwarded during high intensity loads.
- Give ID of new session I/O an incrementing value.


Details of Release Notes:

Version 17.32.265:
Improve Windows 10 detection
#	src/Invantive.Basics/DependencyInjection/ISystemHelper.cs
Improve message on "Key not in a valid state"
#	src/Invantive.Basics/Utilities/StrongAsymmetricKey.cs

Version 17.32.211:
Revert "Differentiate discovered database per version.
This reverts commit ed3d7f64cd48bdc1d168c8580e79c8e74c5211a6.

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