## robotology/yarp — v3.12.3…v4.0.0

_286+ commits._

### Features
- **yarpDeviceParamParserGenerator new version 2.2** (246dd76)
- **Added new tests for portmonitors** (8e4dd5d)
- **Added new tests for portmonitors** (f1825ae)
- **removed support for openCV 3** (0bac889)
- **Added new executable yarpconnectionsstats (+support library and thrift message)** (3360a51)
- **Added support for new batch refresh call** (a32e45b)
- **Add iomanip include to Run.cpp** (308c5b8)
- **Now checkState use the new ps() method** (4363b61)
- **Added new PortMonitor `stats_monitor` which provides stats about the connection to which it is attached.** (74aa605)
- **Add ARG for yarp_branch in Dockerfile** (bc2982c)
- **Add yarp_branch argument to Dockerfile** (ec45a87)
- **completed migration to new IControlMode interface** (21890c1)
- **Added new data to datatypes:** (f59261b)

### Fixes
- **Improved CI: fix to ecelude extern folder from codacy-clang-tidy job** (ca6335e)
- **valgrind fix for SoundFilters.cpp** (2450581)
- **fix for perl bindings: ubuntu26 requires explicitly libcrypt-dev (while on ubuntu 24 it was automatic)** (d7b5d8f)
- **Java bindings fix** (d211f83)
- **CI fix** (d84b759)
- **fix** (38e06b0)
- **swig fix** (1f384b2)
- **fixed bug in yarpopencvdisplay frame size** (5d31f7f)
- **fixed FakeFrameGrabber mode string bug** (bfcc2fd)
- **CI fix: added the build output dir to the PATH** (6f3ba8f)
- **Merge pull request #3342 from traversaro/patch-5** (969cf62)
- **Fix type of ALLOW_DEVICE_PARAM_PARSER_GENERATION option in yarpDeviceParamParserGenerator** (1a0b015)
- **Merge pull request #3340 from elandini84/fix/manager_gui** (13694e2)
- **Merge pull request #3337 from fincatomarta/fix/app_testuale** (17012e5)
- **fix for onEvent mechanism of joypadControl_nwc_yarp/JoypadControl_nwc_yarp** (fd5901d)
- **Fix for SDLJoypad device** (4bfa8fa)
- **valgrind fix** (d2558fe)
- **documentation fix.** (0b89f4a)
- **Fix indentation in docker-build.yml workflow** (299e168)
- **Fix formatting in docker-build.yml** (c53e0db)
- **fix** (7d789f3)

### Backend
- **Updated release log for yarp 4.0.0** (f0caf10)
- **Merge pull request #3362 from robotology/refactor/frametransform/change_ext_config_name** (940a3f7)
- **ParamsParsers regenerated** (ecf4a6f)
- **Updated params names for internal and external config files for FrameTransformClient** (9c4914b)
- **Merge pull request #3360 from robotology/sonarcloud_fixes** (a233088)
- **Fixed Lidar tests** (a217ad7)
- **Merge pull request #3359 from robotology/getAxes** (2906b80)
- **change of signature: getAxes(int* ax) -> getAxes(int& ax)** (5fba196)
- **Further improvements to CI** (5cdae1a)
- **some fixes siggested by sonarcloud** (9f131f3)
- **Merge pull request #3357 from robotology/ci_coverage_update** (f6cdc3a)
- **coverage update** (e870ff8)
- **improvements to imageRotation PortMonitor: logic transferred to YARP_sig ImageUtils.cpp** (9559dd4)
- **the resolution of the images used in some portmonitor tests have been changed to square 16x16 to avoid problems with padding and uninitialized memory detected by valgrind.** (474aa76)
- **improved tests witb standard delay between command and reply** (e8902c7)
- **CI fixes** (9b038dd)
- **Added valgrind suppression file: valgrind_suppressions.supp** (b1ea83e)
- **CI update** (2997ea1)
- **some fixes to tests + improved coverage** (42c0ba6)
- **CI Update** (44e0b3e)
- **Merge pull request #3358 from robotology/remotecontrolboard_renamed** (5aae501)
- **All ParamParsers have been regenerated** (8a82c06)
- **Updated Changelog** (98e97c4)
- **Removed some deprecated stuff (already marked with YARP_NO_DEPRECATED)** (122ccb7)
- **All references to remote_controlboard have been replaced with controlBoard_nwc_yarp** (e5831e4)
- **Modified YarpPlugin.cpp and Drivers.cpp to handle DEPRECATED_ALIAS parameter added to plugin .ini (generated by yarp_prepare_plugin)** (39d3ce5)
- **Merge branch 'yarp-3.12'** (ea5f884)
- **Merge branch 'yarp-3.12'** (12c7567)
- **Merge pull request #3351 from robotology/yarp_connections_stats_enable** (0a16f58)
- **Added Channgelog** (dd96c82)
- **Improvement to tests** (861f03f)
- **Fixed sound compression mp3 portMonitor and tests** (11580a5)
- **improved visualization in yarpconnectionsstats** (e5cf472)
- **fixed rpc_monitor/RpcMonitor and ffmpeg test** (9bb95a6)
- **removed denvironment deprecated functions (e.g. setEnvironment) deprecated sinc yarp 3.5** (506676f)
- **fixed Gemini comments** (5a7ad9b)
- **Added test for stats_monitor portmonitor_carrier/PortMonitor.cpp** (47af5e0)
- **Merge pull request #3350 from robotology/CI_Ubuntu26.04** (5c52811)
- **Updated CI for Ubuntu 26.04** (47e29f3)
- **Merge pull request #3349 from robotology/Opencv5** (729e5e3)
- **Merge pull request #3348 from robotology/improved_test_remapper** (ad027c7)
- **improvements to ControlBoardRemapper + added tests on failing configurations** (c36f8ab)
- **regenerated code after update on thrift generator** (ea5e197)
- **Improved log components for yarp implement layer** (df04339)
- **Merge pull request #3347 from robotology/fakeCalibrator** (dc35da4)
- **style fixes** (3316b05)
- **improved fakeCalibrator Test** (af2358c)
- **fixed missing refrence to iRemoteCalibrator in ControlBoard_nws_yarp** (7fbec21)
- **fixed yarpCatchUtils.cmake for usage with additional libs** (a17ac6b)
- **added device fakeCalibrator for tesring purposes** (f6f7a65)
- **Merge pull request #3346 from robotology/updated_joypadControl_nwc** (bdee5c8)
- **Added missing files for static build** (0e8b2b7)
- **updated joypadControl_nwc with the paarameter `use_all_port`** (e8bede8)
- **FakeFrameGrabber now sets a default `period` parameter=0.033 (30FPS)** (e1e6b6f)
- **Merge pull request #3345 from robotology/gui_option** (83a8990)
- **fixed YARP_COMPILE_GUIS, it can be now enabled even without QT (there exist opencv based guis which do not require QT)** (96751aa)
- **Merge pull request #3344 from robotology/CI_fix2** (9fadc81)
- **fixed portmonitor carrier for static builds** (be03453)
- **Merge pull request #3341 from robotology/yarprun_CI_fix** (de4e71b)
- **Merge pull request #3343 from robotology/yarpconnectionsstats** (a17ee1b)
- **fixed issue on compilation of portmonitor carrier if Pyhton is not available** (bf27261)
- **fixed issues detected by copilot** (1ad9718)
- **Merge pull request #3338 from randaz81/python_portmonitor** (da016e2)
- **Merge branch 'master' into python_portmonitor** (a61de1d)
- **Merge pull request #4 from elandini84/feat/python_portmonitor** (470098e)
- **Added missing fixes from copilot** (8515314)
- **Merge pull request #3 from elandini84/feat/python_portmonitor** (49bb0df)
- **Added copilot suggestions to MonitorPython** (ebb87e3)
- **Fixed typo** (0f8af0c)
- **Added copilot suggestion to PortMonitor.cpp** (e4513b2)
- **Added copilot suggestion for CMakeLists** (43ddf2b)
- **Added suggestions from github copilot** (d907590)
- **Added changelog** (3e8ae25)
- **Little code refactor and essential comments added** (28d7779)
- **fixed test** (032e123)
- **Merge pull request #3336 from randaz81/joypad_refactor** (7b37369)
- **cleanup unused code. no functional changes** (fb434e6)
- **fixed comments by copilot** (4ffc689)
- **Merge pull request #2 from elandini84/feat/python_portmonitor** (3adaf9a)
- **Added changelog** (4503b6a)
- **Fixed missing python result conversion adn added simple example** (80d0e9b)
- **Portmonitor python complete** (155c1b4)
- **Added function in libYARP_manager to get the yarprunProcessesByHost** (82241df)
- **Improved yarp run apis and tests.** (f5b2c69)
- **Added missing files** (870bb20)
- **added messages for static build** (f3e4265)
- **Removed devices `JoypadControlServer`, `JoypadControlClient`. Fixed `FakeJoypad` device and tests.** (16f6d9c)
- **Removed unnecessary include from lua monitor .h file** (e207200)
- **Merge pull request #3335 from randaz81/refactor_remotecontrolboard** (df0ec5d)
- **updated Changelog** (9e2f5d2)
- **fixed yarp bindings + some device fixes** (eb90b58)
- **Added generated ControlBoardMsgs for static build** (8f8699b)
- **Major refactor of protocol between controlBoard nws and nwc** (ed8c81f)
- **Fixed MonitorTrigger class redefinition** (9a118da)
- **Added preliminary (skeleton implementation) of python portmonitor** (e8c806a)
- **Improved statsMonitor to display also the carrier** (4dacf49)
- **added python portmonitor carrier** (e909a04)
- **Merge pull request #3333 from randaz81/stats_monitor** (23502da)
- **fixed gemini suggestions** (64c828d)
- **Merge pull request #3332 from randaz81/param_parser_21** (4580f2d)
- **### yarpDeviceParamParserGenerator** (d0a2e8b)
- **Merge pull request #3331 from randaz81/show-device-parameters** (739ce46)
- **added option `show-device-parameters` (default false).** (12d1bb7)
- **Update base image label and workflow step name** (9affca1)
- **Update Docker build workflow** (6207f75)
- **updated src/libYARP_sig/src/yarp/sig/all.h** (3dd37a6)
- **Merge pull request #3330 from randaz81/audio_markers** (5cda30c)
- **Improvements to yarp::sig::Sound, with markers management directly inside the data type. Added tests.** (944ea1c)
- **Merge pull request #3327 from randaz81/controlmode_complete** (912deee)
- **added missing header <QListView>** (aa013c8)
- **Merge branch 'yarp-3.12'** (ff145e4)
- **Merge pull request #3326 from randaz81/get_available** (45b83c2)
- **fixed bindings** (db88a02)
- **Improvements to the ImplementLayer.** (0108058)
- **added files for static build** (a6154e5)

### Chore
- **Refactor: This a breaking change: Parameters parsing has been move to PortMonitor.cpp, removing all the split logic from the single portmonitors.** (c0ad385)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/robotology/yarp?utm_source=github-action)._