Date: 28/08/2026
News:
- Improved handling of DateTime with PostgreSQL repositories. New PostgreSQL drivers (version 6 and higher) require date/time values to include time zone information, or that UTC format be used. The
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true)setting used to be tied only to cases where Infoport's own database was PostgreSQL — if Infoport ran on a different database with a connected PostgreSQL repository, DateTime handling would fail. The setting now works correctly in this combination as well. - Introduction of "Search Path" into the connection string, with the option to read it from the DB user profile using
SELECT current_schema(). - Clicking the Save Setup & Terminate Server button now redirects to the home page.
- Added validation of text field length in the Repository Settings dialog (e.g. Repository Description). Text longer than the database allowed was previously silently truncated without warning — the length is now checked directly in the dialog according to the limits of the corresponding columns.
- Clarified the exclusivity rule between LDAP and KeyCloak login. The check is now based on
LDAP:activeandKeyCloak:active(previously onLDAP:automaticLogin), in line with the "one primary login method" rule. In addition,LDAP:automaticLoginis now only taken into account whenLDAP:activeis enabled — if a customer mistakenly leaves automaticLogin on without active, KeyCloak/OpenID keeps working without conflict. - Handling of temporary database connection outages. Short-term connection issues (e.g. a timeout or dropped connection) could previously cause an application error. Such transient errors are now automatically retried, so the application recovers on its own.
- In the Setup → Database section, it is now possible to configure automatic retrying of failed database operations. For the Infoport database, the Infoport Database Connection section offers the Max Retry Count and Max Retry Delay (seconds) parameters, which correspond to the ConnectionStrings:Resilience configuration in appsettings.json. In the new Repositories Database Connection section, retry parameters can likewise be set for connections to the repository databases (Repository:MaxRetryCount, Repository:MaxRetryDelaySeconds). A Max Retry Count value of 0 means retries are disabled. In addition, handling of the Timeout field has been fixed – the Setup page now correctly loads the value from Repository:Timeout instead of the previously hardcoded value of 60.
Fixes:
- Fixed the shifting of embedded (nested) elements in a diagram, e.g. ports. When moving an element that has nested elements, those elements now move with it automatically during diagram editing. If the user repositions a nested element themselves before saving, its position is respected and no automatic shift occurs.
- Fixed adding discussions and replies in Firefox. The submit button had no explicit type set, so Firefox treated it as a standard form-submit button, interrupting the save in progress. Discussions and replies now save correctly in Firefox without a page reload.
- Fixed deleting a notification that referenced an artifact that no longer existed (e.g. a deleted diagram or element).
- Fixed multiply-escaped HTML text from the database (e.g. formatted notes or descriptions). Repeatedly escaped text used to display as raw HTML entities (e.g.
<) instead of formatted text. It is now correctly decoded recursively and displayed formatted. - Handling of temporary database connection outages. Short-term connection issues (e.g. a timeout or dropped connection) could previously cause an application error. Such transient errors are now automatically retried, so the application recovers on its own.
- Fixed an unnecessary database record left behind after resetting package permissions back to Default. Previously, after resetting to Default, an unneeded record remained in the database, which could grow unnecessarily with frequent changes. Now, when reverting to default values, the record is removed from the database.
- Fixed invalid HTML when displaying a boolean-type TGV (an extra apostrophe). Some browsers/settings displayed it with a red warning background, others as raw HTML text.
- In Configuration Manager, error messages now also display the name of the item that failed validation.
- Introduced NpgsqlSchemaResolver for unified schema determination, along with adjustments to the initialization logic to ensure correct migrations.
- Fixed stale caching of user permissions on packages. On login, the permission cache for the given user is now specifically cleared, so current permissions are always loaded — no need to go through all packages via Enterprise Architect.