Release Explorer
Release October 2025
Overview
This release significantly enhances transaction and message processing observability by introducing comprehensive Passport Check and Integrity Check features. It adds rule-driven verification of passport stamps, manages integrity comparisons on transaction events, provides rich UI displays, and improves message splitting for complex GPO messages. Additionally, schema updates support these capabilities with new fields and indexing configurations.
New Features
Passport Check
- Introduced a Passport Check mechanism that analyses message conversations to determine expected, collected, and missing passport stamps based on configurable rules.
- Added the
PassportCheckService
that processes messages, updating transactions with expected/collected/missing stamps, finalization timestamps, and issue flags. - Created a flexible rule system with
ExpectedPassportStampRule
,PassportStampRule
, andFinalizedPassportStampRule
loaded from CSV files to define event conditions for stamp verification. - Developed an
ExpectedPassportStampDefiner
interface and factory to support custom extraction logic for expected stamps per message. - Added a new UI taglib
UsBamlMessageViewPassportCheckTagLib
that renders a detailed passport check table showing each stamp’s presence with status icons (✅, ❌, ✓) and timestamps, enhancing message insight. - Integrated a new view section in the UI to visualize passport check results alongside message conversations.
Integrity Check
- Introduced an Integrity Check feature that validates transaction message fields for data consistency and differences, using defined comparisons and severity thresholds.
- Implemented the
IntegrityCheckService
to execute integrity check rules comparing input/output events, marking issues, and generating detailed difference messages indexed separately. - Defined models for integrity check rules, comparisons, severities, and their configuration, with dynamic loading from CSV files under an "Observability" configuration folder.
- Added a
CaseSensitiveStringComparator
implementing comparison categories (Enrichment, Truncation, Replacement) with customizable severity thresholds, normalized string handling, and special character replacement awareness. - Created a dedicated taglib to display integrity check differences in an indexed table format with filtering, sorting, and detailed attribute views.
- Enhanced indexing schemas and configurations to support integrity check difference data storage, search, and display.
- Added comprehensive unit and integration tests for integrity check processes and comparators.
Message Processing and Splitting Enhancements
- Enhanced GPO message splitter to identify and separately extract embedded MT messages alongside MX payloads, improving payload component management.
- Updated envelope component handling to support both MX and MT inside GPO 'MX' messages.
- Added unit tests verifying splitting scenarios for MX, MT, and no-split cases.
- Expanded configured sniffers to include "MT Message Sniffer".
Schema and Metadata Updates
- Added new categories and fields in transaction and transactionEvent schemas for integrity and passport checks, including fields like
passportStamp
,expectedPassportStamp
,collectedPassportStamp
,missingPassportStamp
,passportCheckFinalizationTimestamp
, and various integrity check related fields. - Updated indexing configurations and schema versions to 2025-10-03/2025-10-03T12:09:24 to support new fields.
- Enhanced metadata descriptions for new field categories to clarify their purpose in observability.
Improvements / Changes
- Refactored passport check code for better modularity and maintainability, including renaming methods and enhancing comments.
- Replaced deprecated
storageCode
checks inLocation
objects with safer null checks on location presence. - Improved logging statements to use parameterized messages for cleaner debug output.
- Updated message sorting utilities to consistently use the timestamp key comparator.
- Enhanced passport check processing to only consider collected passport stamps existing on the main transaction when determining stamps with timestamps.
- Bumped SDK version from 4.0.5 to 4.0.8.
- Removed extraneous debug logging from application code for tidiness.
- Improved unit and integration test coverage for Passport and Integrity Check features, including handling of merged transactions and error scenarios.
- Added comprehensive regression tests on observability fields validating data loading, processing, and output correctness.
Bug Fixes
- Fixed error handling in PassportCheckService to throw appropriate exceptions when expected passport stamp definers are missing.
- Corrected field naming discrepancies (e.g.,
passportStampIssue
topassportCheckIssue
) to ensure consistency. - Resolved filtering logic issues in message correlation to properly handle triple-based filtering and correlation identifier assignment for GPO-related transactions.
Technical / Developer Notes
- Passport and Integrity Check rules and configurations are managed via CSV files in
properties/Observability
directory, enabling dynamic updates without code changes. - PassportCheckService supports a flag for merged transactions to control finalization processing behavior.
- IntegrityCheckService applies a set of rules comparing events via pluggable comparators, currently including a case-sensitive string comparator with configurable severity thresholds.
- Message splitting enhancement for GPO payloads introduced new regex patterns and multiple payload component handling; testing applicable for message parsing and component extraction scenarios.
- Index schemas for observability-related data are versioned
2025-10-03T12:09:24
with newly defined categories and fields. - Extensive test classes included for PassportCheckService, IntegrityCheckService, and their pseudo rule entity services, supporting mock-based validation of business logic.
Breaking Changes
- Schema field
passportStampIssue
renamed topassportCheckIssue
. - Location objects no longer rely on
storageCode
for "file" determination; code relying onstorageCode
must adapt to null/location presence checks. - Some predicate condition field names and correlation identifiers have changed; review custom filtering or correlation code accordingly.
Acknowledgements / Contributors
Thanks to the development teams for implementing the passport and integrity checks features, schema updates, message splitting improvements, and expanding test coverage, greatly enhancing transaction observability and data quality assurance in the system.