.. include:: includes/macros.rst .. include:: includes/roles.rst ========= Changelog ========= Version 2.1 (Oct. 18, 2021) --------------------------- New features ^^^^^^^^^^^^ 1. Keyframes now have ``mocap_pos`` and ``mocap_quat`` fields (mpos and quat attributes in the XML) allowing mocap poses to be stored in keyframes. 2. New utility functions: ``mju_insertionSortInt`` (integer insertion sort) and ``mju_sigmoid`` (constructing a sigmoid from two half-quadratics). General ^^^^^^^ 3. The pre-allocated sizes in the virtual file system (VFS) increased to 2000 and 1000, to allow for larger projects. #. The C structs in the ``mjuiItem`` union are now named, for compatibility. #. Fixed: ``mjcb_contactfilter`` type is ``mjfConFilt`` (was ``mjfGeneric``). #. Fixed: The array of sensors in ``mjCModel`` was not cleared. #. Cleaned up cross-platform code (internal changes, not visible via the API). #. Fixed a bug in parsing of XML ``texcoord`` data (related to number of vertices). #. Fixed a bug in `simulate.cc `_ related to ``nkey`` (the number of keyframes). #. Accelerated collision detection in the presence of large numbers of non-colliding geoms (with ``contype==0 and conaffinity==0``). UI ^^ 11. Figure selection type changed from ``int`` to ``float``. #. Figures now show data coordinates, when selection and highlight are enabled. #. Changed ``mjMAXUIMULTI`` to 35, ``mjMAXUITEXT`` to 300, ``mjMAXUIRECT`` to 25. #. Added collapsable sub-sections, implemented as separators with state: ``mjSEPCLOSED`` collapsed, ``mjSEPCLOSED+1`` expanded. #. Added ``mjITEM_RADIOLINE`` item type. #. Added function ``mjui_addToSection`` to simplify UI section construction. #. Added subplot titles to ``mjvFigure``. Rendering ^^^^^^^^^ 18. ``render_gl2`` guards against non-finite floating point data in the axis range computation. #. ``render_gl2`` draws lines from back to front for better visibility. #. Added function ``mjr_label`` (for text labels). #. ``mjr_render`` exits immediately if ``ngeom==0``, to avoid errors from uninitialized scenes (e.g. ``frustrum==0``). #. Added scissor box in ``mjr_render``, so we don't clear the entire window at every frame. License manager ^^^^^^^^^^^^^^^ 23. Removed the entire license manager. The functions ``mj_activate`` and ``mj_deactivate`` are still there for backward compabitibily, but now they do nothing and it is no longer necessary to call them. #. Removed the remote license certificate functions ``mj_certXXX``. Earlier Versions ---------------- For changelogs of earlier versions please see `roboti.us `_.