Version Information
New Features
TSM-5761 WebTSM Services: Support for Multiple Controllers Within an Extension
3.10.4.0
To allow for better organization of WebTSM Services Extension code, it's now possible to group multiple controllers within one extension name. In order to do so, apply the WebTSMServiceExtension
Attribute to all the controllers of the extension, prefixing its Name
property with <extension-name>/
replacing <extension-name> with the name of the extension name to group the controllers under.
TSM-6142 TSM App Setup: Ability to Overwrite Application Configuration Files
3.10.4.0
The installer now includes default configuration files. These configurations can be adjusted if required and upon running the setup, the modified configurations will be copied and used.
The included configuration files contain the necessary assembly binding redirects.
Following files can be customized:
HAKOM.PowerTSM_32Bit.xll.config
HAKOM.PowerTSM_64Bit.xll.config
HAKOM.TSM.App.COM.dll.config
HAKOM.TSM.App.ExcelAddin.dll.config
HAKOM.TSM.Console.exe.config
HAKOM.TSMPlus.exe.config
TSM-6202 WebTSM Services: Removed Deprecated Binaries from Deployment
3.10.4.0
In the published packages for HAKOM products, several precompiled binaries where included that targeted deprecated runtime environments (Windows 10, etc.). The publishing process has been modified to only include binaries that target current environments

TSM-6221 TSM App: Opening a Time Series in The Time Series Interval
3.10.4.0
When opening a time series, the interval in which the time series should be opened had to be defined before opening. If the time series should be read in the original interval, the interval had to be looked up beforehand. Now a new interval, called “DB”, can be selected, which is the interval of the time series stored in the database (DB).
Further information can be found under (3.10.4) Reading Data into Excel
TSM-6227 Deletion of Attribute Assignments of Deleted Time Series
3.10.4.0
In previous upgrade scripts, there was a manual check script that checked assignments from deleted time series. After upgrading the database from 3.8.7.14 to 3.9.0, the redundant assignments are now deleted automatically.
TSM-6267 RSA Password Encryption With X.509 Certificate
3.10.4.0
The previously used DES password encryption is no longer considered secure. In order to comply with current security standards, RSA encryption using X.509 certificates has been implemented, which provides a cross-platform method of securing database passwords.
Passwords can be encrypted with the Password Encryption Console. The thumbprint of an installed certificate must be specified for this:

The encrypted password can then be entered in the HAKOM.Config together with the thumbprint:
<HAKOMConfiguration>
<dbconnections>
<SOME_CONNECTION>
<cnn>...</cnn>
<password Certificate="51e5e51363c9d1f76c0078aaae45512f7e7f3660">Vy2SdKJSea+ap...YrYsTnkm9Xhw=</password>
<provider>..</provider>
</SOME_CONNECTION>
</dbconnections>
<HAKOMConfiguration>
Further information can be found under (3.10.4) Configuration#(3.10.4)Configuration-PasswordEncryptionConsole
TSM-6299 Attribute Assignment With Time Slices
3.10.4.0
Previously, it was not possible to display the values of the time slices directly in the TSM app. Now there is a separate button to access the values of the attribute time slices.

It is now also possible to create and remove time slices directly in the TSM app.

TSM-6419 Update WebTSM Services to Target .NET 8
3.10.4.0
Due to .NET 6 nearing its end of support, the WebTSM Services have been upgraded to target the most recent .NET runtime with long term support. Version 8.0 receives support by Microsoft until November 2026.
TSM-6456 Configuration: Enable Use of Environment Variables when Redirecting to a Different Configuration File
3.10.4.0
Using the ConfigLocation
tag in the HAKOM.Config allows one to specify a different location where application settings (i.e. a HAKOM.Config) should be read from. This release now allows the use of environment variables in the specified path. This means it's now possible for multiple users to share a single TSM App installation with individual configuration. Example:
<HAKOMConfiguration>
<ConfigLocation Type="PATH" Location="%USERPROFILE%\Documents"/>
</HAKOMConfiguration>
This way the TSM App will search for a HAKOM.Config
in the users document folder.
Fixed Bugs
TSM-7125 WebTSM Services: Out of Memory When Processing Many Ad-Hoc Formulas Over a Long Period of Time
3.10.4.7
Due to unexpected behavior in a .NET component, memory being allocated during the evaluation of ad-hoc formulas was not released correctly. This caused the WebTSM Service to report a lack of available memory when running for a sufficiently long time (weeks, depending on the frequency of ad-hoc calculations performed). While the underlying issue in the .NET CLR persists, this patch includes a change in how ad-hoc formulas are processed, greatly reducing the likelyhood of the issue.
TSM-7098 Loading Attributes Via The Data Template Results in Long Loading Times
3.10.4.6
When attempting to load attribute values from a time series in cells B2-B8 of a data template, an unneccessarily large amount of data was fetched from the database. This has been optimized, resulting in shorter loading times when updating a data template.
TSM-6770 MSCONS Converter Saves 25th Hour of a Time Changeover Day Incorrectly
3.10.4.5
When creating a .edi file containing data across a time changeover (i.e. to/from daylight savings time), the data was not saved correctly. This bug has been fixed.
TSM-6787 Master Data Export “Resolve Time Series Names in Formula”-Option Causes Error
3.10.4.5
A performance issue in the Master Data Export process has been resolved. The fix improves the handling of formula data by streamlining the way IDs and names are processed, resulting in faster and more efficient exports. This fixes the problem where enabling the “Resolve Time Series Names in Formula”-Option caused a NumberOfObjectsExceededException
.
TSM-6771 WebTSM Services: User.Name Not Properly Set
3.10.4.4
A breaking change in .NET 8.0 caused Json Web Tokens (used in authentication) to be handled slightly different. This can potentially cause issues when using any of the following versions of the HAKOM WebTSM Services:
3.10.4.0
3.10.4.1
3.10.4.2 or
3.10.4.3
Customers should upgrade, especially if they
Use Azure Application Insights for logging
Use custom
ClaimMappings
in their identity provider configuration
TSM-6752 Error When Writing Partial Time Series Data to a Compressed Time Series
3.10.4.3
When writing time series data with gaps between the data points to a compressed time series, some of the data points were overwritten with 0/missing values. This problem has been fixed.
TSM-6657 TSM App: Error When Reading Time Series With a Dot at the End
3.10.4.2
When reading data from a time series with a dot at the end of the time series name, the time series cannot be found.
This only occurs if the TSM App is started within Microsoft Excel and the data is read from WebTSM Services via an HTTP connection.
The reason is that in the Microsoft Excel environment, the Uri of WebTSM is recognized as a file path and therefore the dot at the end of the Uri is removed.
To fix this issue, the environment is changed when the HTTP endpoints of WebTSM are called and then reset to avoid negative side effects.
TSM-6637 WebTSM Services - Grafana Extension: Error When Parsing a Date
3.10.4.2
When reading data via the Grafana extension with an audit date or a quotation date, an error was returned because the date was serialized in the wrong format. This has been fixed by serializing it into ISO format.
In the context of this bug, it was found that when using Grafana variables that are supposed to represent nullable dates, it is important to ensure that they are not converted to dates in the custom query or query builder.
TSM-6445 WebTSM Services: Error Details Do Not Show Up in Microsoft Azure Application Insights
3.10.4.1
If a connection string was configured in HAKOM.Config for logging into the Azure Application Insights, the errors were not logged with all the details. Now the web service logs the unhandled exceptions and errors correctly. The trace-ids/operation-ids/correlation-ids are also logged correctly.
TSM-6540 WebTSM Services: NullReferenceException When Configuring an External Identity Provider Without Disabling or Configuring the Internal Identity Provider
3.10.4.1
If you only use an external identity provider, you had to disable the internal identity provider in HAKOM.Config.
<IntegratedIdentityProvider>
<Enabled>false</Enabled>
</IntegratedIdentityProvider>
Otherwise, this error message was displayed: “NullReferenceException: Object reference not set to an instance of an object”
This has now been fixed. It is now sufficient to configure only the external identity provider.
TSM-6559 System.Text.Json Update to 8.0.5
3.10.4.1
System.Text.Json was updated to version 8.0.5 to address a security vulnerability (CVE-2024-43485).
TSM-6604 Microsoft.Extensions.Caching.Memory Update to 8.0.1
3.10.4.1
Microsoft.Extensions.Caching.Memory was updated to version 8.0.1 to address a security vulnerability (CVE-2024-43483).
TSM-6185 REORG Package Not Compiling
3.10.4.0
The REORG package was out of date and could not be compiled, causing an error. The package has now been updated to reflect the current data structure.
TSM-6358 Data Interface: Use of Incorrect Format Settings
3.10.4.0
The Data Interface used the format settings of the english language instead of the regional settings. This resulted in errors during import and incorrect format during export.
This error has now been fixed and the regional settings are used.
TSM-6369 Data Interface: Incorrect Error Handling
3.10.4.0
Since version 3.9.2.1, the time series definition and data are saved in separate transactions during import (see TSM-4243).
However, this change was not taken into account in the error handling, which leads to subsequent errors in the event of an incorrect import. The error handling has now been corrected.
TSM-6400 TSM App: Error When Deleting a Time Series After Finding It by Its ID
3.10.4.0
When using the TSM App search form to find a time series by its ID and then deleting it, an error was displayed. The time series was deleted properly but the error message displayed caused some confusion.
This error has now been fixed and no error is shown.
TSM-6470 Grafana Extension: Incorrect Authorization Check at Some Endpoints
3.10.4.0
An issue with authorization has been fixed. Requests to the affected endpoints made by unauthorized users will now respond with a status code 403 (Forbidden).