TOLERANT Match Release 12.2
2026/09/08
Notices and Warnings
- Removed attributes user-1,user-2 and so on in an effort to clean up unused configuration attributes in project.
- The attribute encryptBacklogs is now deprectated und was replaced by encryptData. A new initial load is required, if you are using the old attribute encryptBacklogs.
- Reworked the behavior for maximal number of errors and subsequent handling of those:
- Service: maxInternalErrors was deprecated. Added possibility to configure a circuit breaker with the attributes maxServiceErrorWindow and maxServiceErrorPercentage instead. Refer to the manual for details.
- Batch: Attribute maxErrors was deprecated and replaced with maxBatchErrors.
- The obsolete attribute titleId was removed vom the project element and needs to be removed in older configurations accordingly.
- The configuration creation and editing experience in GUI has been updated with a unified workflow. Users can now create configurations from a template, file, or existing configuration file, with improved validation and overwrite handling.
- The monolithic structure of the products with service component has been broken down into a more modern, microservice-oriented architecture. The basic shipped TOLERANT application now consists of 7 services:
- TOLERANT Backend Service: Contains all functionality needed for the technical processing of requests.
- TOLERANT GUI Service: Contains the Angular GUI.
- TOLERANT SOAP Service: Supports SOAP calls and routes to the Backend Service (optional).
- Webserver (NGINX): Gateway for all incoming requests.
- Identity Provider (Keycloak): Preconfigured identity provider for our example installation (optional).
- Grafana: Visualization of available metrics (Docker example only).
- Prometheus: Data collection and querying for later use in Grafana (Docker example only).
- The default input format delimiter and output format delimiter value has been changed to semicolon.
- Completely reworked the logging functionalities. Users can now use the full breadth of log4J2 functionalities. To make the switch easier, log4J2 example configurations for different scenarios are shipped with the product. For more information please refer to the manual.
- Configuration element summaryFile was removed in favor of the new batchSummary.
- A new version of the H2 database driver (h2-2.3.232) will be used from now on. This also means that customers will have to switch to a new version of our supplementary reference data (e.g. StaB data). This will be shipped together ( in the same folders on SFTP ) with the normal versions of the reference data, which will still be there to support older product versions. The new reference data artifacts will include „_from_12.0“ in the name.
- Reworked, combined and harmonized the command-line tools for service administration. Now all functionalities for managing the service and much more can be found in the new< service.sh/.exe tool. For a detailed explanation of the new features and usage, please refer to the manual.
- Removed functionality to „Reconfigure Runtime“ from GUI, backend service and CLI calls. The functionality was too similar to „Reconfigure Service“ and led to confusion.
- When being in a service instance context in GUI, the GUI and all its configuration settings can now be reloaded from the memory of the running service instance (as opposed to the underlying xml configuration). The menu entries and tooltips were improved to reflect and clarify new (and existing) behavior.
- With Match 12.2, Match can be operated with the Portal included in its release. Combining Match 12.2 with installations of other TOLERANT products in one shared Portal is not yet supported. Products may use different Portal and GUI technology versions, which can prevent their administration interfaces from loading together reliably. Support for administering multiple product installations in one Portal will be provided in a future release. Until then, customers should use the Portal delivered with the respective product release.
- Keycloak has been updated to version 26.4.4
- All default values for configuration attributes are now automatically loaded from the backend. This reduces maintenance effort and prevents discrepancies between backend and frontend defaults.
- JVM memory configuration has been improved. The previous JVM_OPT_MIN_RAM_PERCENTAGE setting has been replaced by JVM_OPT_INITIAL_RAM_PERCENTAGE, which controls the initial Java heap size.
- Introduced new frontend elements and layout improvements. This helps to easier guide the user via semantically grouped elements, sliders for setting numerical values and more.
- JMX beans and JMX bean access was removed due to security considerations and it not being used by customers.
- Fundamentally restructured the architecture of GUI component and its orchestration to optimize usage in cloud environments:
- Moved GUI-related API logic from the frontend service into the backend.
- Changed the GUI to static resource delivery, removing the separate Java GUI runtime.
- Split runtime responsibilities into backend, static GUI, and NGINX/proxy routing.
- Updated installer, Docker, and NGINX templates for the new deployment model.
- Added compatibility handling for legacy 12.x API endpoints.
- Updated documentation for removed GUI service, ports, and configuration options.
- The health endpoint now implements two additional selectors:
- readiness: service is up and ready to accept requests
- liveness: service is running. This represents a relaxed health check.
- Basic input-processing functions can now be tested quickly in TOLERANT Match and TOLERANT Post:
- Normalization
- Synonym processing
- Transliteration
The test function is available directly in the frontend at the respective configuration pages. Users can enter sample input, select an available rule where applicable, run the test, and immediately review the processed output. Default, predefined, and custom rules are supported as applicable to each function.
- Restored the Match Batch Wizard in the Portal, accessible via the magic-wand icon. It guides users through creating and running an initial Match batch configuration from uploaded CSV files, which can be saved as a starting point for a new project.
- Cluster synchronization with older Match versions is not supported. Upgrade all Match installations to version 12.2 or later before starting or reconnecting the cluster.
- General security updates:
- Upgraded Nginx to version 1.30.4
- Upgraded Spring Boot to version 4.1.1
Fixed the following vulnerabilities:
- CVE-2026-49844
- CVE-2026-40983
- CVE-2026-40984
- CVE-2026-54291
- GHSA-q6gh-6v2r-hjv3
- CVE-2026-54515
- GHSA-387m-935m-c4vw
- CVE-2026-71497
- CVE-2026-59903
- CVE-2026-65905
- CVE-2026-65182
- CVE-2026-68525
New Product Features
Configuration and Administration GUI
- TPR-13005: The static path element inst/1 can now be omitted from the requsts sent to the admin service.
- TPR-13108: V2 endpoints usage deprecated for GUI
- TPR-14170: Updated all GUI components to Angular version 19.0.
- TPR-14266: Reworked and consolidated several icons throughout GUI for better clarity.
- TPR-15307: Added possibility to configure project attribute warnOnErrors in GUI.
- TPR-15378: Updated all GUI components to Angular version 21.
- TPR-16349: Added multi-row selection to administration tables. Users can select individual rows or all visible rows and clone, delete, or rearrange the selected entries.
- TPR-16829: Added quick-access links to TOLERANT GitHub resources in the Info section, including Helm charts and the new cluster documentation.
Batch
- TPR-12425: The behavior when using indexRef and indexFieldRef in case of the TOLERANT Match batch ’self‘ method has been adjusted to return more logical structured results when compared to ‚reference‘ method. See manual for further details.
- TPR-14120: All batch processes will now report their statistics to a batch summary file located under <TOLERANT_HOME>/logs.
- TPR-14792: Reduced memory footprint of batch processes.
- TPR-15106: Termination of running batch and initial load process via the frontend now results in a clean termination of the process.
- TPR-16924: Improved performance for batch runs without partitioning. Important: Depending on the input data and matching rules, processing without partitioning can still be expensive. Use partitioning for runs exceeding 100,000 records, particularly for self matching.
Service
- TPR-3739: The new project attribute encryptData can be used to encrypt paging data, original data and the backlogs written by Tolerant Match. The attribute dataEncryptionKey can be used to overwrite the default encryption key.
- TPR-9043: Reworked the behavior for maximal number of errors.
- TPR-10137: Improved scrolling and reloading of console output when executing background jobs via GUI wizard.
- TPR-12029: Service registration for Windows has been reimplemented and improved to better support the current multi-service setup. The functionality is included in the new service.exe tool.
- TPR-12599: A new /info endpoint for all products has been introduced. For example: http://localhost:8080/postService/info. This endpoint can be used to monitor details about the product. For example: Post info endpoint has unlock code and its corresponding expiration date information.
- TPR-15919: Duplicate keys detected during initial loading are now logged individually, including the input file and line number
- TPR-15971: Updated Spring Boot version for SOAP to 4.0.6 and fixed vulnerabilities: CVE-2026-29145, CVE-2026-24734, CVE-2026-34483, CVE-2026-34487
- TPR-16264: New endpoints are now available to enable the execution of tolerant command line tools on the backend.
- TPR-16454: Extended service.sh/exe to support the nginx reload command.
- TPR-16781: Cluster synchronization now detects missing events using producer-specific sequence numbers and automatically recovers them from retained V4 backlog and history files. If no cluster node retains the complete missing sequence range, the affected project remains in ERROR and retries recovery on the next startup.
- TPR-16933: Increased the maximum file upload size to 100 MB.
API
- TPR-10622: The following system properties can now be used to configure the java API client:
- com.tolerantsoftware.api.socketTimeout
- com.tolerantsoftware.api.connectionTimeout
- com.tolerantsoftware.api.maxConnections
- TPR-16388: The PL/SQL client now supports OAuth 2.0 client credentials, including automatic token acquisition and refresh.
General
- TPR-432: Reject files are now only written if at least one record from the input has been rejected.
- TPR-5115: The configuration converter now ignores match.InternalData and match.OriginalData when converting a service configuration to a batch configuration.
- TPR-5719: The reject files have been extended to also include the reason for the rejection of each record.
- TPR-10958: It is now possible to configure JVM options via specific environment variables (see tolerantEnv.sh/bat for examples).
- TPR-12499: Reworked the installer to support the new microservice architecture and a simplified option set.
- TPR-12599: A new /info endpoint for all products has been introduced. For example: http://localhost:8080/postService/info. This endpoint can be used to monitor details about the product. For example: Post info endpoint has unlock code and its corresponding expiration date information.
- TPR-12614: The docker compose shipment now includes Prometheus and Grafana services.
- TPR-13005: The static path element inst/1 can now be omitted from the requsts sent to the admin service.
- TPR-13176: Introduced the OutputField attribute ignoreEmptyValues, which is set to Y by default. If set to N, positional delimiters are added when more than one OutputFieldMapItem is mapped to a single OutputField.
- TPR-15029: Restructured pipeline metrics for standardized naming patterns and better Prometheus compatibility. An overview of all available metrics can be retrieved by calling the /metrics endpoint.
- TPR-15041: The file permissions in the docker images were revised to minimize the effort needed to start the containers with a local user. For more information please visit our Docker Hub and GitHub repositories.
- TPR-15175: Reworked the structure of automatic reference data update history.
- TPR-15208: Upgraded micronaut framework to version 4.10.14 and fixed CVEs: CVE-2026-33012, CVE-2026-33013, CVE-2026-33870, CVE-2026-33871
- TPR-15652: The output of support.sh/bat will now be written to $TLLOGS if $TOLERANT_HOME is not writable.
- TPR-15720: Added support for Informix databases.
- TPR-15826: The usage of ECS Layout is now supported either by using a custom log4j2 profile or by activating the integrated layout by setting the environment variable LOGGING_PROFILE=ecs.
- TPR-15900: Added new env variable TOLERANT_JVM_CUST_PROPERTIES to extend the java properties.
- TPR-15908: Added metrics for index size, selectivity ratio, and partition count.
- TPR-16105: Added support for MYSQL and MariaDB databases.
- TPR-16146: Fixed vulnerability GHSA-72hv-8253-57qq.
Security
- TPR-12671: It is now possible to configure the software to limit file access to the predefined TOLERANT directories. This setting is activated per default.
Manual
- TPR-10315: Added section in manual to reflect the new Multilevel Search functionality.
- TPR-10428: Extended the manual to reflect the usage and configuration of database encryption.
Fixed Bugs
Configuration and Administration GUI
- TPR-10122: The wizard for executing background jobs via GUI now scrolls properly to the bottom in case of long console outputs.
- TPR-10277: Get-By-Key requests sent via client GUI now correctly process keys that contain hash symbols.
- TPR-10299: The GUI now correctly triggers the notification that requests the user to save the configuration when he navigates to another view.
- TPR-10422: The first partitioning field name is now stored correctly after adding multiple partitioning fields.
- TPR-10423: The checkbox „Use synonyms“ now correctly triggers the synonym processing in file preview in GUI. All environment variables are now replaced when parsing the configuration from JSON.
- TPR-10498: Match fields of type date now correctly forbid the usage of synonymList when configuring them via GUI.
- TPR-10621: The attribute tokenIgnoreMultiple in matchProfile is now properly written back to the configuration when it is saved via GUI.
- TPR-11810: Handling of unsaved project changes was improved.
- TPR-12676: Self Match condition added for „Generate-all“ button event in output ->fields tab. No double output map is generated in the configuration file for „outputfieldmap“
- TPR-14404: The GUI now displays an error banner when trying to start an inactive project.
- TPR-14430: The first element of type InputFieldmap will be used, if the mode attribute is not specified in the service configuration.
- TPR-15786: Investigated and fixed an issue in the left-hand navigation tree where selected menu items were not consistently highlighted. In certain scenarios, clicking on a child item caused the highlight to shift to its parent or grandparent node, potentially misleading users about the currently active section.
- TPR-16758: Fixed invalid configurations generated when adding partitioning settings in the GUI.
Client GUI
- TPR-10297: Fixed some minor bugs and added small usability improvements in the Client GUI.
- TPR-10327: Request history in Client GUI is now preserved when switching between Admin GUI and Client GUI.
Batch
- TPR-14535: The output synonyms are now correctly applied in case multiple output fields using the same synonymList.
- TPR-16804: Fixed partitioning so records without a bucket no longer block later records, preventing excessive buffering and potential heap exhaustion.
Service
- TPR-6781: Database attribute validation now uses the same table name as runtime processing, without falling back to another table name.
- TPR-10146: Empty save-points are now tolerated when loading the paging data, which should improve stability.
- TPR-10147: Stopping the project now correctly destroys all of its component even if the project was in ERROR state, which should improve stability.
- TPR-10267: Writing savepoints with SQLite databases now uses the standard TOLERANT tmp folder $TLTMP by default. This behaviour can be overwritten by setting SQLITE_TMPDIR as enviroment variable.
- TPR-10720: Accessing an inactive project returns the new error code -10036.
- TPR-15002: Proxy configuration were adjusted to handle escape sequences correctly.
- TPR-16857: Restored the SOAP namespace and XML element qualification settings used in earlier releases.
- TPR-17379: Fixed a timing issue that could prevent the backend from restarting on Windows.
General
- TPR-10180: If a project is in state ERROR it now prevents the cluster synchronization. When the project state has been recovered, the synchronization will resume.
- TPR-10388: Added additional states in which a project cannot be stopped to increase stability of a running project.
- TPR-10416: SHUTDOWN DEFRAG for H2 databases is now executed after creating a full savepoint. NOTE: Due to a known issue in H2 implementation itself, theSHUTDOWN DEFRAG command does not work properly with encrypted databases (for H2 native encryption, it will still work with the new application side encryption).
- TPR-10475: Database consistency check will not remove the schema name from the tablename if included to execute the check.
- TPR-12467: Case-insenstive matching using syonym replacements now supports modes: 20 and 21.
- TPR-15321: Possible memory leak was removed, which could occur when listing keys using regular expressions („getByKey“ with wildcards).
- TPR-16553: JDBC URLs containing usernames or passwords are no longer logged at INFO level while connecting to a database.
- TPR-17276: One byte buffer problem caused by reading cgroups information was fixed. This could lead to problems on service startup in some cases.
- TPR-17342: Improved configuration validation, error counters, and the consistency of error messages shown when navigating from configuration-check results.
Security
- TPR-10684: Updated postgres driver to version 42.7.7 to address security finding CVE-2022-21724.
Known Bugs
- Currently no known bugs.
