The main objective of this release was to upgrade all the dependencies (Python and C++) to the latest version, which has not been done since more than 1 year already. It comes with fully supporting of Python 3.10, initial support of 3.11 (no `gym_jiminy`), and dropping of Python<3.8. In addition, many bugs have been fixed. Most of them are related to the viewer, but some others are related to the core engine and are more critical. Finally, high quality type hints are now provided for the python bindings of jiminy core.
New features
* [core/python] Generate stubs (Python type hints) for `jiminy_py` including C++ core.
* [gym/common] Add framerate limiter wrapper.
* [gym/rllib] Full async training and evaluation with fail-safe replay and video recording.
Improvements
* [python/simulator] Raise exception when importing option file with unknown keys.
* [python/viewer] Add asynchronous replay then record utility.
* [python/viewer] Speed-up onscreen rendering for Panda3d.
* [python/viewer] Less aggressive and more distinctive default colors.
* [python|gym] Add option to overwrite default viewer arguments at instantiation.
Patches and bug fixes
* [core] 'getFrameIdx' now returns first frame with desired name available.
* [core] Fix viscoelastic force coupling.
* [core] Fix flexibility model internal force.
* [core] Fix wrong contact forces when continuously updating sensors but not controller.
* [core] Fix wrong computation of initial forces and accelerations if constraints are active.
* [core] Fix sign inconsistency between 'ContactSensor' and 'ForceSensor'.
* [core/python] No longer drop hresult return argument in bindings.
* [core/python] Fix raise exception when getting invalid sensor data.
* [python/plot] Improve support of tabbed figures in notebooks.
* [python/viewer] Fix panda3d hanging indefinitely in some cases.
* [python/viewer] Fix antialiasing causing black screen on some configs for panda3d.
* [python/viewer] Fix 'play_log_files' default args when no backend is running.
* [python/viewer] Fix backend not cleanly terminated on close for panda3d.
* [python/viewer] Fix viewer broken after keyboard interrupt during replay for panda3d.
* [python/viewer] Fix legend centering and scaling for panda3d.
* [python/viewer] Fix legend rendering failure in some cases for panda3d.
* [python/viewer] Fix edge-cases in backend selection during replay.
* [python/viewer] Fix start paused mode not working if no window already opened.
* [misc] Fix broken pip devel mode install with easy intall script.
* [misc] Fix compilation failure on gcc-12.
Miscellaneous
* [misc] Add full support of Python 3.10, partial support of 3.11 (no gym_jiminy).
* [misc] Drop support of Ubuntu 18.04 and Python<=3.8.
* [misc] Update all dependencies to latest version (Python, C++, ...).
* [misc] Improve compilation speed and reduce memory pressure on Windows OS.
* [misc] Fix memory alignment issues and enable AVX2 on Windows and Linux CI.
* [python/viewer] Migrate from deprecated 'pyppeteer' to 'playwright' for Meshcat.
* [gym/envs] Remove unused Spotmicro environment.