tag:github.com,2008:https://github.com/aica-technology/modulo/releases Release notes from modulo 2026-01-14T07:03:32Z tag:github.com,2008:Repository/580047933/v5.3.0 2026-01-14T07:06:05Z Version 5.3.0 <p>Version 5.3.0 is a minor release of modulo that includes a fix for checking whether wrench values are finite during controller activation, as well as two extensions to controllers: enabling the control type of a controller to be changed post-construction, and adding lock-free service addition helpers that allow service calls to be used for demanding computations, without blocking the control loop.</p> <ul> <li>fix(controllers): check for finite wrench values (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3541340834" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/216" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/216/hovercard" href="https://github.com/aica-technology/modulo/pull/216">#216</a>)</li> <li>feat(controllers): allow control type change after construction (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3715738483" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/217" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/217/hovercard" href="https://github.com/aica-technology/modulo/pull/217">#217</a>)</li> <li>feat(controllers): implement lock-free service wrappers for demanding callbacks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3780548034" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/218" data-hovercard-type="issue" data-hovercard-url="/aica-technology/modulo/issues/218/hovercard" href="https://github.com/aica-technology/modulo/issues/218">#218</a>)</li> </ul> bpapaspyros tag:github.com,2008:Repository/580047933/v5.2.3 2025-10-07T14:26:40Z Version 5.2.3 <p>Version 5.2.3 is a patch release that correctly handles already existing parameters of the base controller class to enable advanced functionality like running controllers asynchronously or at a lower rate than the controller manager.</p> <ul> <li>feat(controllers): expose parameters from base class (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3473123084" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/214" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/214/hovercard" href="https://github.com/aica-technology/modulo/pull/214">#214</a>)</li> </ul> domire8 tag:github.com,2008:Repository/580047933/v5.2.2 2025-07-01T06:32:35Z Version 5.2.2 <p>Version 5.2.2 is a patch release that makes sure that the joint commands are reset on deactivation in the <code>modulo_controllers::RobotControllerInterface</code>. This ensures that any previous joint command is cleared when a derived controller is activated again.</p> <ul> <li>fix(controllers): reset previous joint commands (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3121809420" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/211" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/211/hovercard" href="https://github.com/aica-technology/modulo/pull/211">#211</a>)</li> </ul> domire8 tag:github.com,2008:Repository/580047933/v5.2.1 2025-05-20T05:58:14Z Version 5.2.1 <p>Starting with version 5.2.1, the Python component interfaces verify the return values of execution and lifecycle<br> callbacks to avoid unexpected behavior. Additionally, it contains a fix that puts a parameter in the correct controller<br> base class.</p> <ul> <li>feat(components): verify return value of callbacks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3014001232" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/206" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/206/hovercard" href="https://github.com/aica-technology/modulo/pull/206">#206</a>)</li> <li>fix(controllers): move input validity period to base (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063033885" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/207" data-hovercard-type="issue" data-hovercard-url="/aica-technology/modulo/issues/207/hovercard" href="https://github.com/aica-technology/modulo/issues/207">#207</a>)</li> </ul> domire8 tag:github.com,2008:Repository/580047933/v5.2.0 2025-03-31T11:30:12Z Version 5.2.0 <p>Version 5.2.0 is a minor relase of modulo that includes a simplified version of TF in joint space. With a<br> <code>JointPositionsBroadcaster</code> and <code>JointPositionsListener</code> from the core package, named static joint configurations can be<br> sent and looked up from a global <code>/joint_positions</code> topic, equivalent to <code>/tf_static</code>. Additionally, this version<br> contains a couple of improvements for the custom message publisher and subscriber interfaces and to the component<br> interface.</p> <ul> <li>feat: improve devcontainer configuration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2874512764" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/198" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/198/hovercard" href="https://github.com/aica-technology/modulo/pull/198">#198</a>)</li> <li>feat(components): use parent node for tf listener (cpp) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2823848670" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/189" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/189/hovercard" href="https://github.com/aica-technology/modulo/pull/189">#189</a>)</li> <li>fix(core): handle custom message pub/sub that also exist in translators (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2885030245" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/199" data-hovercard-type="issue" data-hovercard-url="/aica-technology/modulo/issues/199/hovercard" href="https://github.com/aica-technology/modulo/issues/199">#199</a>)</li> <li>feat(interfaces): add joint positions messages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2847758295" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/193" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/193/hovercard" href="https://github.com/aica-technology/modulo/pull/193">#193</a>)</li> <li>feat(core): add joint positions broadcaster and listener (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2866393210" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/197" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/197/hovercard" href="https://github.com/aica-technology/modulo/pull/197">#197</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2911223245" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/201" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/201/hovercard" href="https://github.com/aica-technology/modulo/pull/201">#201</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>ros2-ws: v2.0.0-jazzy -&gt; v2.0.2-jazzy (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2874512764" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/198" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/198/hovercard" href="https://github.com/aica-technology/modulo/pull/198">#198</a>)</li> <li>package-builder: v1.3.0 -&gt; v1.4.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2874512764" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/198" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/198/hovercard" href="https://github.com/aica-technology/modulo/pull/198">#198</a>)</li> </ul> domire8 tag:github.com,2008:Repository/580047933/v5.1.0 2024-12-16T17:36:04Z Version 5.1.0 <h2>December 16th, 2024</h2> <p>Version 5.1.0 is an update to modulo that brings a small feature that removes the need of specifying the clproto message type when adding outputs in Python components. For user friendliness, the clproto message type is inferred from the type of the attribute with a helper function. Additionally, this version contains a few fixes that further improve the behavior of components under the hood.</p> <ul> <li>fix(components): remove incorrect log line (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2655281855" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/166" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/166/hovercard" href="https://github.com/aica-technology/modulo/pull/166">#166</a>)</li> <li>fix(controllers): move predicate publishing rate parameter to BaseControllerInterface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2705195406" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/168" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/168/hovercard" href="https://github.com/aica-technology/modulo/pull/168">#168</a>)</li> <li>feat(components): get clproto message type from attribute (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2720524019" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/175" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/175/hovercard" href="https://github.com/aica-technology/modulo/pull/175">#175</a>)</li> <li>fix(components): add missing test case (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2726124044" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/181" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/181/hovercard" href="https://github.com/aica-technology/modulo/pull/181">#181</a>)</li> <li>fix(components): clean up lifecycle nodes properly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2723407240" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/178" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/178/hovercard" href="https://github.com/aica-technology/modulo/pull/178">#178</a>)</li> <li>fix(components): try catch subscription callbacks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2672040410" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/167" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/167/hovercard" href="https://github.com/aica-technology/modulo/pull/167">#167</a>)</li> </ul> domire8 tag:github.com,2008:Repository/580047933/v5.1.0-rc0003 2024-12-13T09:45:46Z v5.1.0-rc0003 <p>fix(components): try catch subscription callbacks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2672040410" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/167" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/167/hovercard" href="https://github.com/aica-technology/modulo/pull/167">#167</a>)</p> domire8 tag:github.com,2008:Repository/580047933/v5.1.0-rc0002 2024-12-12T07:17:30Z v5.1.0-rc0002 <p>fix(components): clean up lifecycle nodes properly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2733398239" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/184" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/184/hovercard" href="https://github.com/aica-technology/modulo/pull/184">#184</a>)</p> domire8 tag:github.com,2008:Repository/580047933/v5.1.0-rc0001 2024-12-05T20:27:44Z v5.1.0-rc0001 <p>release: version 5.1.0-rc0001 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2720870634" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/177" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/177/hovercard" href="https://github.com/aica-technology/modulo/pull/177">#177</a>)</p> domire8 tag:github.com,2008:Repository/580047933/v5.0.2 2024-11-11T16:40:54Z Version 5.0.2 <h2>November 11th, 2024</h2> <p>Version 5.0.2 fixes an incorrect condition in the controller triggers and changes the parameter type of the predicate<br> rate parameter in the controller base class from an integer type to a double type. Additionally, the component interface<br> class for Python was revised to hide private attributes better from derived classes.</p> <ul> <li>fix(controllers): change predicate rate to double type (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2632380208" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/163" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/163/hovercard" href="https://github.com/aica-technology/modulo/pull/163">#163</a>)</li> <li>fix(controllers): trigger check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2637170755" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/164" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/164/hovercard" href="https://github.com/aica-technology/modulo/pull/164">#164</a>)</li> <li>fix(components): make all possible attributes private (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2618900871" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/162" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/162/hovercard" href="https://github.com/aica-technology/modulo/pull/162">#162</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>package-builder: v1.1.1 -&gt; 1.3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2648460210" data-permission-text="Title is private" data-url="https://github.com/aica-technology/modulo/issues/165" data-hovercard-type="pull_request" data-hovercard-url="/aica-technology/modulo/pull/165/hovercard" href="https://github.com/aica-technology/modulo/pull/165">#165</a>)</li> </ul> domire8