|
2 | 2 | Changelog |
3 | 3 | ========= |
4 | 4 |
|
5 | | -Upcoming version (not yet released) |
| 5 | +Version 3.3.4 (July 8, 2025) |
6 | 6 | ----------------------------------- |
7 | 7 |
|
8 | 8 | .. admonition:: Breaking API changes |
9 | 9 | :class: attention |
10 | 10 |
|
11 | | - - The functions ``mjs_detachBody`` and ``mjs_detachDefault`` have been replaced by :ref:`mjs_delete`. |
12 | | - - The Python functions ``element.delete`` have been replaced by ``spec.delete(element)``. |
| 11 | + 1. The functions ``mjs_detachBody`` and ``mjs_detachDefault`` have been replaced by :ref:`mjs_delete`. |
| 12 | + 2. The Python functions ``element.delete`` have been replaced by ``spec.delete(element)``. |
13 | 13 |
|
14 | 14 | General |
15 | 15 | ^^^^^^^ |
16 | | -- Added support for setting the initial camera in the viewer using |
17 | | - :ref:`visual/global/cameraid<visual-global-cameraid>`. |
18 | | -- Added support to only sync the state in the Python :ref:`passive viewer<PyViewerPassive>`'s ``Sync`` method, this is |
19 | | - useful to improve performance. The default behavior is unchanged and copies the entire model and data. |
20 | | -- In the mjSpec C API, directly setting an element's name using :ref:`mjs_setString` has been replaced with a new |
21 | | - function :ref:`mjs_setName` which allows checking for naming collisions at set-time rather than compile-time, for |
22 | | - earlier catching of errors. |
| 16 | +3. Added support for setting the initial camera in the viewer using |
| 17 | + :ref:`visual/global/cameraid<visual-global-cameraid>`. |
| 18 | +4. Added support to only sync the state in the Python :ref:`passive viewer<PyViewerPassive>`'s ``Sync`` method, this is |
| 19 | + useful to improve performance. The default behavior is unchanged and copies the entire model and data. |
| 20 | +5. In the mjSpec C API, directly setting an element's name using :ref:`mjs_setString` has been replaced with a new |
| 21 | + function :ref:`mjs_setName` which allows checking for naming collisions at set-time rather than compile-time, for |
| 22 | + earlier catching of errors. |
23 | 23 |
|
24 | 24 | Bug fixes |
25 | 25 | ^^^^^^^^^ |
26 | | -- Inverse dynamics were not being computed correctly when :ref:`tendon armature<tendon-spatial-armature>` was present, |
27 | | - now fixed. |
28 | | -- Fix bug in ``mjx.put_data`` where ``actuator_moment`` was not being copied correctly for the C implementation. |
| 26 | +6. Inverse dynamics were not being computed correctly when :ref:`tendon armature<tendon-spatial-armature>` was present, |
| 27 | + now fixed. |
| 28 | +7. Fix bug in ``mjx.put_data`` where ``actuator_moment`` was not being copied correctly for the C implementation. |
29 | 29 |
|
30 | 30 | Documentation |
31 | 31 | ^^^^^^^^^^^^^ |
32 | | -- Added missing item documentation and clarified the nature of breaking changes in the 3.3.3 changelog. |
33 | | - See items 3 and 4 below. |
| 32 | +8. Added missing item documentation and clarified the nature of breaking changes in the 3.3.3 changelog. |
| 33 | + See items 3 and 4 below. |
34 | 34 |
|
35 | 35 | Version 3.3.3 (June 10, 2025) |
36 | 36 | ----------------------------- |
@@ -69,8 +69,8 @@ General |
69 | 69 | Simulate |
70 | 70 | ^^^^^^^^ |
71 | 71 | 8. The struct ``mjv_sceneState`` has been removed. This struct was used for partial synchronization of ``mjModel`` and |
72 | | - ``mjData`` when the Python viewer is used in passive mode. This functionality is now provided by :ref:`mjv_copyModel` |
73 | | - and :ref:`mjv_copyData`, which don't copy arrays which are not required for visualization. |
| 72 | + ``mjData`` when the Python viewer is used in passive mode. This functionality is now provided by |
| 73 | + :ref:`mjv_copyModel` and :ref:`mjv_copyData`, which don't copy arrays which are not required for visualization. |
74 | 74 |
|
75 | 75 | .. image:: images/changelog/procedural_terrain_generation.png |
76 | 76 | :width: 33% |
|
0 commit comments