Choreonoid 2.4.0 released on May 14, 2026
=========================================

Changes since 2.3.0:

* Improved the rendering engine
  * Introduced a reversed depth buffer for OpenGL 4.6 or later, eliminating the need to set the far clipping distance
  * Supported MSAA anti-aliasing
  * Fixed the texture color blending algorithm
  * Fixed an issue with grayscale texture rendering
  * Supported highlighting of colliding objects
  * Fixed a transparent rendering issue on certain environments
* Improved the scene view
  * Supported an infinite far clipping distance mode
  * Added anti-aliasing settings
  * Made the field of view consistent when switching between perspective and orthographic cameras
  * Allowed selection of the FOV direction from auto / vertical / horizontal
  * Supported view fitting for external cameras (CameraItem / BodySyncCameraItem)
* Improved the headless mode (--no-window option)
  * Supported environments without a window system (desktop environment)
  * Used EGL for vision sensor simulation to support OpenGL hardware acceleration
  * Fixed Ctrl+C handling
* Renewed the PhysXPlugin
  * Added a new PhysXPlugin based on NVIDIA PhysX 5 (replacing the previous experimental plugin)
  * Supported bundling PhysX 5.6.1 as a thirdparty library so that it can be built together with Choreonoid
  * Supported simulation of continuous tracks (crawler mechanisms) using the PxContinuousTrack device
* Improved body-related processing
  * Added a parent link property to BodyItem so that a child body can be synchronized with a specific link of its parent body
  * Fixed issues in saving and restoring body states
  * Improved numerical inverse kinematics to obtain solutions more robustly
  * Optimized the forward kinematics computation for the remaining part after inverse kinematics
  * Changed the friction coefficient calculation for material pairs to sqrt(r1*r2)
* Improved value display and unit handling
  * Supported multi-unit display (day / hour / minute / second) for the time on TimeBar
  * Raised the upper limit of the playback speed ratio on TimeBar from 99.9 to 999999.9
  * Extended the configurable range of value display formats
* File-related improvements
  * Supported loading TIFF image files in ImageIO
  * Removed the 2 GB file size limit of WorldLogFileItem
  * Fixed the handling of material tags in URDFBodyLoader to follow the de facto standard behavior
* Build-related changes
  * Unified the required C++ standard to C++17 or later, and removed boost dependency in all environments
  * Removed Python 2 support
  * Added the debian directory and scripts for creating Debian packages
* Added OMPLPlugin as a foundation for motion planning functionality
* Many other minor bug fixes, internal class improvements, code cleanups, translation catalog updates, etc.

Choreonoid 2.3.0 released on September 9, 2025
==============================================

Changes since 2.2.0:

* Refactored GLVisionSimulatorItem
  * Added GLVisionSimulatorPlugin and moved GLVisionSimulatorItem into it
  * Separated the GLVisionSensorSimulator, GLVisionSensorScene and GLVisionSensorRenderingScreen
    classes from the implementation of GLVisionSimulatorItem
  * Implemented simulation code for each sensor type as an independent class inheriting from
    GLVisionSensorSimulator
* Added background color and world light properties to GLVisionSimulatorItem
* Added GLCameraEffectPlugin
* Improved devices so that arbitrary parameters can be specified and accessed via the info member
* Added LivoxMid360Plugin for simulating the Livox Mid360 sensor
* Added CameraItem
* Improved ImageView so that the target image can be selected with a tab menu
* Improved SmokeDevice and SceneSmoke to allow specification of a tint color
* Implemented live playback function using WorldLogFileItem
* Supported displaying values and coordinate axis markers in the left-handed coordinate system
* Disabled edit operations that should not be performed during simulation
* Modified the default recording mode of SimulatorItem to tail recording mode to prevent unintended memory
  exhaustion due to long-running simulations
* Introduced animation for the view fitting action activated by the corresponding button on the scene bar
* Added a scene bar button to fit view to the objects of selected items
* Enabled scaling of PointSetItem
* Introduced a mode to limit joint displacements in kinematics operations
* Implemented an option to preserve the local coordinate system in LocationView
* Improved model file export functionality
* Implemented a function to export the scene of selected renderable items as an OBJ mesh file
* Fixed crashes when Choreonoid is invoked with maximized window state on Qt6 and Wayland platforms
* Added the debian directory for creating deb packages
* Added an environment setup script for non-standard installation paths
* Supported PS5 and Xbox gamepads
* Improved the Python bindings
* Various minor feature improvements, bug fixes, and internal implementation enhancements

Choreonoid 2.2.0 released on July 11, 2024
==========================================

Changes since 2.1.1:

* Added support for Ubuntu 24.04
* Added support for Qt6
* Added support for C++20
* Enabled a toolbar for setting display format of numerical units and precision in GUI
* Added the link mass summary view
* Improve the movie recorder
 * Always display the marker inside the target view
 * Allow cancellation of recording even during recording
* Added support for loading mesh files in ROS 2 packages
* Fixed bugs in YAML file output
* Fixed a bug in URDF file loading
* Fixed a bug related to sensor value updates in simulation
* Fixed a bug related to high-DPI display environments
* Improved the icon image resolutions in high-DPI display environments
* Upgraded pybind11 to version 2.10.3
* Upgraded the bundled fmtlib to version 11.0.0
* Upgraded the bundled Eigen library to version 3.4.0
* Various minor feature improvements, bug fixes, and internal implementation enhancements

Choreonoid 2.1.1 released on March 21, 2024
===========================================

Changes since 2.1.0:

* Improve the plugin path management
  * Add the command line option "--add-plugin-dir-as-prefix"
  * Improve SimpleControllerItem to support additional controller directories in the plugin path

Choreonoid 2.1.0 released on March 17, 2024
===========================================

Changes since 2.0.0:

* Improved the function to write a body / scene file
* Improved the URDF loader
* Improved the OBJ mesh file loader
* Fixed the recording toggle button in MovieRecorderBar so that toggle-off to stop recording can be processed during recording
* Fixed the FPS test button in the SceneView config dialog so that click to cancel the test can be processed during testing
* Fixed the dial widgets in JointDisplacementView to work correctly
* Improved LocationView to support SceneItem and PointSetItem
* Improved the distance measurement function to support SceneItem and PointSetItem
* Added BodyPoseItem and BodyPoseListItem for recording body poses
* Added the conveyor device and improve KinematicSimulatorItem to support it
* Enabled GUI operations on multiplex bodies
* Added a function to convert a point set to a mesh to PCLPlugin
* Removed SDFPlugin
* Replaced boost.program_options with CLI11
* Removed dependency on the boost C++ library
* Improved the package.xml configuration for building with ROS 2
* Many other minor feature improvements and bug fixes

Choreonoid 2.0.0 released on August 4, 2023
===========================================

Changes since 1.7.0:

* Removed the typedefs with suffix 'Ptr' for the smart pointer types using std::shared_ptr
* Introduced BodyHandler. BodyCustomizer is deprecated.
* Introduced JointPathConfigurationHandler
* Removed the Python plugins and bindings implemented with boost.python
* Improve the Python bindings implemented with pybind11
* Separated the OpenRTM modules from the main source tree
* Separated the OpenHRP modules and GrxUI plugin from the main source tree
* Removed ScenarioPlugin
* Stopped supporting Qt4
* Replaced QGLWidget with QOpenGLWidget in the implementation of SceneWidget
* Improved the rendering engine (GLSLSceneRenderer)
  * Fixed a bug in rendering textures
  * Lightweight rendering mode is available
  * Low GPU memory consumption mode is available
* Improved the STL file loader
* Added the Universal Robots UR robot models
* Fixed the WRS2018 tunnel models
* The Eigen library contained in the thirdparty directory is used by default on Windows
* Supported Ubuntu 20.04 and 22.04
* Supported Visual C++ 2019 and 2022
* Supported Clang
* Added LocationView and LinkPositionView
* The location of an object in the scene can be locked if necessary
* Coordinate system for editing model positions can be selected on the location view and the link position view
* Modified the default material colors
* Fixed a bug in picking objects on SceneView when a high DPI display is used
* Improved JointSliderView and rename it to JointDisplacementView
* Added PositionView, which replaces BodyLinkView
* The GLSL scene renderer is used by default
* Multiple body items can be integrated into a composite body
* Added ManipulatorPlugin
* Introduced the environmental variable CNOID_EXPORT_PLUGIN_EXTERNAL_SYMBOLS
* Improved the CMake configuration files for developing plugins and controllers externally
* Fixed a bug in the calcMassMatrix function
* Added KinematicsSimulatorItem, which replaces the kinematics mode of AISTSimulatorItem
* Added HolderDevice, AttachmentDevice and a body can be attached to the parent body using them
* Added DigitalIODevice, SignalIOConnectionItem, SignalIOConnectionView
* Made the vertical axis of SceneWidget modifiable
* Added the "export symbols" property to SimpleControllerItem
* Improved the context menu in ItemTreeView
* Improved the position dragger
* The parent-child relationship betwen body items is reflected in editing body positions
* Arranged the cmake files for building programs outside the Choreonoid source
* The transparency of a body shown in the scene view can be modified as a property of the corresponding BodyItem
* Improved file dialogs
* Removed RobotAccessPlugin and Hrpsys31Plugin. The plugins are now availabe at https://github.com/choreonoid/robot-access-plugin
* Fixed the default layout of the main window
* Replaced LinkSelectionView with LinkDeviceListView, which can list the devices of a target body
* Introduced a dialog to confirm whether the current project should be saved or not when loading a new project or
  closing the application.
* Made the internal link attitudes same as the original model descriptions
* Fixed the GLSL renderer to render casting shadows correctly using Radeon GPUs
* Updated the tool bar icons
* Implemented the vertex rendering mode and the solid-wireframe rendering mode
* Improved the highlight style of selected / focused objects in the scene
* Improved the API on the joint type and the joint actuation mode.
* Made it possible to use free joints for links other than root links in the simulation by AISTSimulatorItem
* Added the API on getting the contact states from a dynamics engine
* Made AISTSimulator to be able to simulate models with non-root free joints
* Supported the standard scene file format in loading and exporting body shapes
* Supported the OBJ mesh file format in loading and exporting body shapes
* Added BodyContactPointLoggerItem to visualize the information on the contacts against a target body during simulation
* Added a function to write a body file
* Added MaterialTableItem
* Introduced snake case keys into data files
* Improveed Undo/Redo functions with the unified edit history
* Improveed WorldLogFileItem to provide a function to create an all-in-one log playback project
* Modified BodyTrackingCameraItem to BodySyncCameraItem and add the configuration dialog for it
* Added RegionIntrusionDetectorItem
* Added a function to register and switch multiple layouts of the main window
* Improved SensorVisualizerItem to support acceleration sensors and rate gyro sensors
* Added the choreonoid-info command (experimental)
* Enabled the translation of the Qt built-in messages
* Arranged the main menu items
* Fixed the display style of temporal items in ItemTreeWidget
* Supported loading URDF files
* Improved GLVisionSensorItem to support sensor noises
* Improved body key pose editing
* Introduced LinkedJointHandler and supported the kinematics operations of parallel link models on GUI with the handler
* Disabled building of PoseSeqPlugin and BalancerPlugin by default
* Added the Imu class
* Added the function to render texts in SceneView
* Added the distance measurement function
* Separated the GLSceneRenderer module from the Base module
* Added BodyStateLoggerItem
* Added MocapPlugin
* Added BodyMotionFilterPlugin implementing YawMomentCompensationFilter
* Added FFmpegPlugin
* Added the HRP-4C model and its samples
* Many other minor feature improvements and bug fixes

Choreonoid 1.7.0 released on May 8, 2019
========================================

Changes since 1.6.0:

* Supported Ubuntu 18.04
* Supported Visual C++ 2017
* Added MulticopterPlugin to simulate multicopters
* Added TrafficControlPlugin to simulate bad communication environment
* Added SubProjectItem to share project items across multiple projects
* Added LightingItem to set a light source in the virtual world
* Improved GLVisionSimulatorItem to support wide viewing angle range sensors and omnidirectional cameras
* Improved AGXDynamicsPlugin to support additional physical models such as wire-like objects and breakable joints
* Improved SensorVisualizerItem to support various sensors
* Improved BodyTrackingCameraItem to specify its target link
* Improved the joint slider view to support the dial interface for joint displacements
* Improved OpenRTMPlugin
 * The standard profile format is used to store / restore RT system configurations
 * Multiple name servers can be used simultaneously
 * The target nameserver can dynamically be changed by specifying the default nameserver of OpenRTM
 * Improved the visualization in the RTS Diagram View 
 * Introduced the manual mode of the RTC state detection
 * Added the RTC configuration view
* Added the OpenHRP model loader implemented using Choreonoid
* Fix PhysXPlugin to support PhysX 3.4
* Improved the body file format to specify textures
* Introduced standard joystick mapping to enable different joystick devices to be used in the same way
* Added sample robot models and their projects
 * Aizu Spider
 * Aizu Wheel
 * Quadcopter
* Added the project and model files of the tunnel disaster response and recovery challenge at World Robot Summit 2018
* Improve the API of SimpleController
* Introduced fmtlib as a formatting library to replace boost.format
* Modified the wrapping rules of the pybind11 version python wrappers
 * Modified the function names to get member object xxx to to getXxx()
 * Member object xxx can be accessed as property xxx
* Supported the complete out-of-source build
* Enabled to build Choreonoid as a ROS package in the Catkin environment
* Added CMake configuration files for the plugin development
* Fixed pkg-config files
* Many other minor feature improvements and bug fixes


Choreonoid 1.6.0 released on October 31, 2017
=============================================

Changes since 1.5.0:

* New model file format replacing the OpenHRP model file format
* Mesh files of various formats including STL and Collada can be read as a part of body models
* Introduced the concept of contact material for specifying a parameter set relating to the contact of an object pair
* New controller API that enables a controller to specify which state variables to input and output
* Introduced BodyIoRTCItem for directly creating an RTC for the model input / output
* New rendering engine written in new OpenGL APIs and the GLSL shading language
* New implementation of the Python bindings using the pybind11 library
* Supported Python3
* A beta version of the Lua language bindings using the Sol2 library
* A beta version of AGXDynamicsPlugin to enable AGX Dynamics to be used as a physics engine for simulation
* A beta version of SpringheadPlugin to enable the Springhead library to be used as a physics engine for simulation
* A beta version of RokiPlugin to enable the Roki library to be used as a physics engine for simulation
* Added sample models and projects
* Many other minor feature improvements and bug fixes


Choreonoid 1.5.0 released on July 13, 2016
==========================================

Changes since 1.4.0:

* Improved the view / toolbar management system
* Added GLVisionSimulatorItem, which simulates vision sensors such as cameras, RGBD cameras, and laser range sensors
* Added A function to interactively apply force to an object being simulated using mouse dragging
* Improved the stability the simulation performed by AISTSimulatorItem
* Added PhysXPlugin, which enables nVidia PhysX to be used as a physics engine in simulation
* Added WorldLogFileItem, which stores all the log data of a virtual world being simulated online
* Generalization of collision detectors
* Added BodyTrackingCameraItem, which provides a camera that automatically tracks a particular object in a virtual world
* Added SensorVisualizerItem, which visualizes the states of sensors such as force sensors in a scene view
* Added PointSetItem and MultiPointSetItem, which visualize point cloud data in a scene view
* Added the Python scripting function, which enables users to control Choreonoid with a Python script
* The source code of BalancerPlugin became a part of Choreonoid's main source code with the same license
* Added samples
* Supported both Qt4 and Qt5
* The license was changed from LGPL to the MIT license
* Other minor improvements and bug fixes


Choreonoid 1.4.0 released on August 29, 2013
============================================

Changes since 1.3.1:

* Improved the OpenRTM plugin to support simulation using RT-components
* Added the Bullet plugin, which allows the use of the Bullet physics library as one of the simulation engines
* Added the Media plugin for playing movie and audio files
* Introduced a new SceneView implementation based on the pure OpenGL API
* Supported cameras and lights defined in models on the new SceneView
* Supported the simulation of the crawler mechanism
* Path variables can be set and used in project files
* Added the RIC30 robot model
* Added sample projects for the new functions and models
* A lot of other minor improvements
* A lot of bug fixes
* Refactoring the API of the Body library and plugin


Choreonoid 1.3.1 released on August 20, 2012
============================================

Changes since 1.3.0:

* Fixed a bug of reloading items
* Fixed a bug of the execution file path detection on Mac OS X
* Fixed a problem where a filename cannot be specified on file save dialogs on Mac OS X
* Fixed a crash caused by ItemPropertyView


Choreonoid 1.3.0 released on July 29, 2012
==========================================

Changes since 1.2.0:

* Improved the AIST Simulator

  - Improved the high-gain dynamics mode to be more accurate
  - Made the integration methods selectable

* Improved the support for Mac OS X

  - Introduced relative path setting for shared libraries to make
    the binary files relocatable on the file system
  - Fixed the BalancerPlugin binary to be loadable

* Supported Boost C++ libraries version 1.50
* Fixed some other bugs


Choreonoid 1.2.0 released on July 20, 2012
==========================================

Changes since 1.1.0:

* Supported Mac OS X (Only tested on Lion)
* Added a general dynamics simulation function
* Improved the robustness of the automatic dynamic balance adjustment
* Improved the numerical inverse kinematics to be more robust
* SceneView's sequential image output function for creating movies
* Online viewer function whose API is same as OpenHRP3
* Forward kinematics dragging for slide joints on SceneView
* Added the Corba module and CorbaPlugin which support some CORBA functions
* Supported Clang compiler
* Ended the use of Boost.multi_array library which caused some problems
* Removed the Eigen library source from the source archive
* Fixed many other bugs


Choreonoid 1.1.0 released on December 30, 2011
==============================================

Changes since 1.0.0:

* Supported internationalization

 - Messages can be translated into other languages
 - Added Japanese translations
 - International  characters (any characters defined in Unicode) can be used
   in data and filenames in the Linux distributions based on UTF-8
 - Local character encoding (such as shift-jis) can be used in data and filenames in Windows
 - Added some scripts for handling gettext files

* New graphical tool bar icons
* New application icon
* Fixed a compile error in Visual C++ 2010
* Fixed some other bugs


Choreonoid 1.0.0 released on November 8, 2011
=============================================

This is the initial release version.
