- Enhancements
WbCamera,WbContactProperties,WbMotor, andWbSkinwill now locally-download their resources if-necessary (like other nodes) when steaming or exporting tow3d(#6856).- Added implementations of
wbu_system_tmpdirandwbu_system_webots_instance_pathto the MATLAB API (#6756). - Added missing import libraries on Windows (#6753).
- Added some missing function definitions to the existing Windows libraries (#6753).
- Webots now prints the cause when it fails to create a memory-mapped file for a camera node (#6896).
- Made the timestep algorithm more consistent when running in realtime mode (#6898).
- Cleanup
- Removed
libController.aandlibCppController.alibraries on Windows. Please useController.libandCppController.libinstead (#6753).
- Removed
- Bug Fixes
- Fixed a bug preventing the
webots-controllerexecutable from running on arm-based mac devices (#6806). - Fixed a typo in the
controller.PositionSensorPython class: themotorproperty code was calling the wrong method (#6825). - Fixed a bug causing Webots to crash when multiple sounds were used with a Speaker node (#6843).
- Fixed a bug causing the "Reload/Reset" buttons in the controller recompilation popup to not work on Windows (#6844).
- Fixed resolution of relative paths when converting protos to their base nodes (#6856).
- As a result of this change, relative paths that are not within a Webots-recognized resource field (ex.
url) will no longer be updated when a proto is converted to its base nodes. This should not affect most users.
- As a result of this change, relative paths that are not within a Webots-recognized resource field (ex.
- Fixed a bug causing
TrackWheelnodes to lose their field values when used in a proto converted to a base node (#6856). - Fixed a bug causing supervisors to occasionally read stale field values after the simulation was reset (#6758).
- Fixed a bug causing Webots to occasionally crash when unloading a world (#6857).
- Fixed a crash occurring when Python was not found on Windows (#6870).
- Fixed detection of physics plugins in extra projects (#6880).
- Fixed
addForceWithOffsetandaddTorquedoing the same thing asaddForcein Python (#6881). - Fixed Python controllers on Windows (#6933).
- OSM importer no longer crashes when run in 3d mode (#6935).
- Fixed Java compilation deprecation warning and run-time warning (#6936).
- Fixed controller signal handlers not restoring the original handler (e.g. CPython's) on exit (#6945).
- Fixed a bug preventing the
Released on January 31st, 2025.
- New Features
- Change the name of the web scene format from
X3DtoW3D(#6280). - Removed support for Ubuntu 20.04 "Focal Fossa" and added support for Ubuntu 24.04 "Noble Numbat" (#6704).
- Removed support for macOS 11 "Big Sur" and added support for macOS 14 "Sonoma" (#6580).
- Added the
indirectFieldAccesstag to allow thefieldsvariable to be used in proto templates without referencing a specific field (#6614). - Added a method to include all subtypes of a node type in a PROTO field restriction (#6574).
- Improved the node field query api (#6613).
- Renamed the
wb_supervisor_node_get_proto_*methods towb_supervisor_node_get_base_node_* - Renamed the
protofield in thesupervisor_node_get_field_*ROS services toqueryBaseNode - Added the
WbProtoReftype to the supervisor API. - Added the ability to query the internal structure and fields of a proto node.
- Added the ability to query the field in the scene tree that corresponds to a proto internal field.
- Fixed the method signature of
wb_supervisor_node_get_number_of_fieldsin MATLAB.
- Renamed the
- Removed support for Lua as a PROTO scripting language (#6642).
- Adapt QtToolTip text box for every Webots mode (#6711).
- Change the name of the web scene format from
- New Devices and Objects
- Enhancements
- Improved the image range of the rotating Lidar (#6324).
- Show box-plane contact point normals when showing contact points (#6678).
- Improved the speed and accuracy of box-plane collisions (#6688).
- Enabled the launching of MATLAB desktop from the extern launcher (#6366).
- Improved overlays visible in Overlays menu by adding all the robots in the menu list (#6297).
- Cleanup
- Bug Fixes
- Fixed error message on Windows when
libssl-3-x64.dllwas added toPATH(#6553). - Fixed length of arrays returned by
getPose()in Java (#6556). - Fixed length of arrays returned by
CameraRecognitionObject.getColors()in Java (#6564). - Fixed handling of device objects with the same name in the controller API (#6579).
- Fixed crashes (with some graphics cards) caused by references to unused GLSL uniforms (#6587).
- Fixed
Brakes added to the second axis of aHinge2Jointbeing applied to the non-transformed axis (#6584). - Fixed invalid absolute sound file path resulted in crash (#6593)
- Fixed Speaker relative sound file path not working with external controller (#6605).
- Fixed the bug that when the language is Python, getTargets() cannot correctly obtain the multi-target data detected by the radar (#6606)
- Fixed incomplete loading while minimized under some windowing systems (#6617).
- Fixed unitialized sliding friction when using asymmetric rolling friction (#6618).
- Made
supervisor_export_imagework even if using the--minimize --no-renderingoptions (#6622). - Fixed CA certificates needed by
test_suite.pymissing in Windows development environment (#6628). - Fixed to use a version of Qt that is still supported (#6623).
- Fixed connection errors when using long robot names in some environments (#6635).
- Fixed crash on macos when closing Webots under some circumstances (#6635).
- Fixed error on macos when when putting displays and cameras in separate windows (#6635).
- Fixed crash when
wb_supervisor_field_get_namewas called with NULL (#6647). - Fixed bug where the wrong y coordinate was used for one corner of the box drawn to represent a box-plane collision (#6677).
- Fixed bug where the rotation axis of the omni wheel rollers were incorrect (6710).
- Fixed a bug where Webots would crash if a geometry was inserted into a
Shapenode used a bounding box (#6691). - Removed the old
wb_supervisor_field_import_sf_nodeandwb_supervisor_field_import_mf_nodefunctions from the list of editor autocomplete suggestions (#6701). - Fixed a bug preventing nodes from being inserted into unconnected proto fields (#6735).
- Fixed crash when an invalid HDR image was set as a world background (#6744).
- Fixed handling of remote assets from unofficial sources (#6585).
- Fixed the QtToolTip bug, where the text in the text box is not being displayed (#6711).
- Fixed Python path for
libcar.dylibandlibdriver.dylibon macOS (#6482). - Avoided crash and provided better warnings when attempting to access PROTO nodes in a wrong way from the supervisor API (#6473).
- Fixed errors loading template PROTO if the system user name, the project path, or the temporary directory path contains the
\character (#6288). - Fixed Webots and libController version comparison not to take revisions into account (#6315).
- Fixed translation, rotation and scale displayed in the Position tab of the Node viewer in the scene tree (#6309).
- Replaced the Mesh bounding object of the ROSbot XL by Boxes (#6326).
- Fixed a crash when IndexedLineSet has
coordbut nocoordIndex(#6359). - Fixed values returned by the Receiver.getEmitterDirection Python method (#6394).
- Fixed recognition of omnidirectional cameras with fov > pi/2 in [WbObjectDetection] (#6396).
- Fixed ElevationGrid collisions not matching the displayed when the x and y dimensions are different (#6412)
- Fixed JNILIB_FLAGS relative reference for Java controllers (#5181)
- Fixed error message on Windows when