**MCATS improvements**
- Improved timeout handling, including startup and shutdown behavior.
- Reduced frame allocation overhead through the introduction of a frame pool.
- Replaced shared_ptr with unique_ptr where appropriate.
- Added the InputTimeoutInMs configuration parameter.
- Improved merger-level attribution and diagnostic logging.

**FrameSelector and event processing**
- Introduced FrameSelector to remove frames outside validated event windows.
- Interaction between AgataEventBuilder and FrameSelector, including watermark information and valid time spans.

**SQM2ADF**
- Improved output and ensured UDP IDs and timestamps increase monotonically.
- Added generation of the .spec calibration file when processing stops.

**DAEmule**
- Added configurable filter lists while maintaining backward compatibility.
- Added improved topology display and startup diagnostics.
- Added configurable handling of consecutive empty blocks through max_retry_count.

**Central Memory**
- Added the ability for CMConsumer to send data to multiple FIFOs and optionally retain data in central memory.
- Added the possibility for the CF_Splitter to mirror output data to a central-memory FIFO.
- Binder/Splitter configuration has been migrated from the legacy text .conf format to JSON.
- Improved timeout handling in Binder/Splitter.

**ADFFrameHistogramer**
- Support for an optional JSON configuration file, including configuration of the output filename.

**PSA**
- Added support for a lightweight ADL format.

**LNL configuration**
- Updated the LNL configuration to the September 2026 version, including EXOTIC and NOSE.

**Build and development infrastructure**
- Added a Portable build type to improve compatibility, notably for Docker images.
- Updated compilation options and optimizations.
- Modernized ROOT package discovery in CMake, removing reliance on $ROOTSYS.
- Updated gcovr to avoid errors.
- Migrated to the new IP2IGAMMA scripts repository.
- Applied various CppCheck and code-quality fixes.