Changelog
---------

1.10.9 (2026-06-16)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Updated golden test images for the ``dexsuite_kuka_hetero`` Newton + Warp renderer
  tests (``newton-newton_renderer-rgb`` and ``newton-newton_renderer-rgba``) to reflect
  correct per-environment colors after fixing shape color resolution when USD cloning is
  skipped.


1.10.8 (2026-06-14)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Updated GR1T2 and G1-Inspire Pink IK task frame names to match URDFs generated by Isaac Sim's exporter.


1.10.7 (2026-06-12)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a ``preferred_checkpoint`` regex argument to :func:`~isaaclab_tasks.utils.parse_cfg.get_checkpoint_path`
  that is matched before ``checkpoint`` and wins when it matches, otherwise resolution falls back to ``checkpoint``.

Fixed
^^^^^

* Fixed ``rl_games`` and ``sb3`` play failing to load a checkpoint on short runs where the preferred
  best/final checkpoint has not been written yet. They now prefer the best (``rl_games``) or final
  (``sb3``) checkpoint and fall back to the latest available checkpoint when it is missing. Numbered
  checkpoint filenames are now sorted naturally so epoch 10 is selected after epoch 9.
* Fixed the AutoMate ``run_w_id.py`` wrapper to accept ``--viz``/``--visualizer`` and forward additional arguments to the delegated RL-Games train/play script.
* Fixed launch-time runtime metadata for OVRTX-backed scenes so kitless visualizer flows preserve the expected USD cloning behavior.


1.10.6 (2026-06-11)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Removed the per-environment ``try/except ImportError`` guards around the
  ``isaacteleop`` / ``isaaclab_teleop`` imports in the Galbot, Franka, GR1T2
  nut-pour, and GR1T2 exhaust-pipe task configs. The imports are now
  unconditional, matching the other teleop task configs, now that
  :class:`~isaaclab_teleop.IsaacTeleopCfg` no longer requires the optional
  ``isaacteleop`` package at import time. No migration is needed:
  ``isaaclab_teleop`` ships with Isaac Lab and teleoperation behavior is
  unchanged.


1.10.5 (2026-06-10)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Removed AutoMate's Numba dependency by replacing the SoftDTW helper with a
  Torch implementation.
* Fixed the Galbot cube-stack tasks (``Isaac-Stack-Cube-Galbot-Left-Arm-Gripper-RmpFlow-v0``
  and ``Isaac-Stack-Cube-Galbot-Right-Arm-Suction-RmpFlow-v0``) failing to parse with
  ``No module named 'isaacteleop'`` when the optional ``isaacteleop`` dependency is not
  installed (e.g. on DGX Spark). The ``isaaclab_teleop`` import and XR pipeline setup are
  now guarded behind an availability check, matching the Franka stack configs, so
  keyboard/spacemouse teleoperation works without ``isaacteleop``.
* Fixed native keyboard, gamepad, and SpaceMouse teleoperation for the Franka reach tasks. These
  devices emit a 6D SE(3) delta command, which only matches the relative-IK action space, so they
  are now configured on ``Isaac-Reach-Franka-IK-Rel-v0`` instead of the shared ``ReachEnvCfg`` base.
  Previously the absolute-IK variant (``Isaac-Reach-Franka-IK-Abs-v0``, 7D pose action) and the
  joint-position variant inherited these devices and raised an invalid action shape error when
  teleoperated.
* Fixed the tiled camera visualizer tutorial to use the current launcher imports
  and select task-appropriate camera sources for Kit and Newton visualizers.


1.10.4 (2026-06-09)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the ANYmal-C navigation task's ``newton_mjwarp`` preset so physics and contact sensors resolve to Newton together.
* Increased the AutoMate assembly and disassembly PhysX GPU collision stack to avoid dropped contacts at the default 128 environments.
* Updated AutoMate run helpers and docs to reject placeholder assembly IDs before launching simulation.


1.10.3 (2026-06-08)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added validation for the typed preset selectors ``physics=NAME`` and
  ``renderer=NAME`` during Hydra resolution. A typed selector is now enforced
  to resolve against a config of that type (a
  :class:`~isaaclab.physics.PhysicsCfg` / renderer config) at least once;
  selecting one on a task that only exposes the name as an unrelated preset
  (e.g. a scalar or sensor variant) raises a descriptive :class:`ValueError`
  instead of silently leaving the backend unchanged. The free-form
  ``presets=NAME`` broadcast is trusted and not enforced.

Changed
^^^^^^^

* **Breaking:** Removed ``isaaclab_tasks.utils.fold_preset_tokens``.
  :func:`~isaaclab_tasks.utils.preset_cli.setup_preset_cli` now returns the
  ``physics=`` / ``renderer=`` / ``presets=`` tokens verbatim, and
  :func:`~isaaclab_tasks.utils.hydra.register_task` parses them directly.
  Scripts assign the remainder to ``sys.argv`` unchanged (drop the
  ``fold_preset_tokens(...)`` wrapper).


1.10.2 (2026-06-06)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a config-time check that raises a clear error when a surface-gripper (suction)
  stacking task is run with the Newton physics backend, which has no surface-gripper
  implementation, instead of failing later during scene creation.
* Added a config-time check that raises a clear error when an Agibot place task is run
  with the Newton physics backend, whose USD parser rejects the robot's reversed
  gripper joints, instead of failing later during scene creation.

Changed
^^^^^^^

* Migrated the Stack-Cube (UR10, Galbot) and Place (Agibot) manipulation tasks to
  Lab 3.0 multi-backend physics by exposing a ``PhysicsCfg`` preset
  (``physics=physx`` / ``physics=newton_mjwarp``) instead of a hard-coded
  :class:`~isaaclab_physx.physics.PhysxCfg`.

Fixed
^^^^^

* Fixed the Spot Newton MJWarp preset to use the Newton collision pipeline.


1.10.1 (2026-06-02)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added validation in :mod:`isaaclab_tasks.utils.sim_launcher` that raises a descriptive
  error when an unsupported physics/renderer/visualizer combination is requested
  (e.g. the kitless OVRTX renderer paired with Isaac Sim PhysX or the Kit visualizer),
  pointing users at the correct preset instead of failing later with an opaque runtime error.

Changed
^^^^^^^

* Changed the default number of environments for
  ``Isaac-Navigation-3DObstacles-ARL-Robot-1-v0`` to ``1024``. Set
  ``--num_envs`` or ``env.scene.num_envs`` to use a different value.

Fixed
^^^^^

* Fixed kitless launch handling for explicit ``--viz none`` requests.
* Fixed benchmark and environment scripts (``scripts/benchmarks/benchmark_{rsl_rl,rlgames,non_rl}.py``,
  ``scripts/environments/{list_envs,random_agent,zero_agent,export_IODescriptors}.py``) failing with
  ``gymnasium.error.NameNotFound`` for ``-Warp-v0`` task variants. Added the conditional
  ``isaaclab_tasks_experimental`` import that the RL training scripts already use.
* Fixed the default number of environments for the UR10e Deploy GearAssembly
  tasks so their training configs use less GPU memory.
* Reported a clear error when ``--visualizer kit`` is used with the
  ``ovphysx`` preset, since OvPhysX cannot run alongside the Kit visualizer
  in the same process.
* Fixed DexSuite point-cloud sampling in Newton replicated scenes to read
  object geometry from clone-plan source prims.


1.10.0 (2026-05-20)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :func:`~isaaclab_tasks.utils.preset_cli.enumerate_task_presets` public helper that
  returns the available preset names for a registered task, bucketed by selector type
  (``physics=``, ``renderer=``, ``presets=``). Used by tooling such as ``list_envs.py``.
* Added ``--show_presets`` flag to ``scripts/environments/list_envs.py``. When set, a
  **Presets** column is added to the environment table showing physics, renderer, and domain
  preset names available for each environment.
* Added ``Isaac-Assemble-Trocar-G129-Dex3-v0`` and ``Isaac-Assemble-Trocar-G129-Dex3-Eval-v0``
  environments for RL fine-tuning of VLA models with RLinf.
* Added ``ovphysx`` preset to ``isaaclab_tasks.manager_based.locomotion.velocity``
  for use under the OVPhysX backend. ``AnymalDFlatPhysicsCfg`` now exposes
  an ``ovphysx`` member, and the shared ``LocomotionVelocityRoughEnvCfg``
  injects the OVPhysX :class:`~isaaclab_ovphysx.sensors.ContactSensorCfg`
  alongside the existing PhysX and Newton entries so the velocity task
  selects the right contact sensor backend when run with
  ``presets=ovphysx``.
* Added manager-based Franka soft-body lifting environment
  ``Isaac-Lift-Soft-Franka-v0`` as the documented rigid-deformable coupling
  task.

Changed
^^^^^^^

* **Breaking:** Removed the lazy legacy ``teleop_devices`` (``handtracking`` / ``manusvive``)
  accessor on
  :class:`~isaaclab_tasks.manager_based.manipulation.pick_place.pickplace_gr1t2_env_cfg.PickPlaceGR1T2EnvCfg`.
  The env still exposes ``isaac_teleop`` (an :class:`~isaaclab_teleop.IsaacTeleopCfg`), which is
  what the in-tree teleoperation, recording, and replay scripts use by default. Consumers that
  read ``env_cfg.teleop_devices`` directly to build a legacy
  :class:`~isaaclab.devices.openxr.OpenXRDevice` should construct it themselves or migrate to
  :class:`~isaaclab_teleop.IsaacTeleopDevice` (see ``scripts/environments/teleoperation/teleop_se3_agent.py``
  for the migrated pattern).
* Changed Franka soft-object task configs to use backend-specific deformable cfgs.
  Use Newton deformable cfgs from :mod:`isaaclab_newton.sim` or PhysX deformable
  cfgs from :mod:`isaaclab_physx.sim` when customizing these tasks.

Fixed
^^^^^

* Fixed nested :class:`~isaaclab_tasks.utils.hydra.PresetCfg` resolution so
  child preset choices are scoped to the selected parent branch.
* Improved task config resolution time by bypassing Hydra composition when only
  preset selections or plain scalar overrides are used.
* Removed the stale file-level ``@pytest.mark.xfail`` decorator on
  ``test_environments_newton`` (the cited Hydra deep-nesting issue was already
  resolved by PR #5029 and follow-ups #5130 / #5177).


1.9.0 (2026-05-19)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed DexSuite Kuka-Allegro camera RSL-RL PPO examples to use 8 mini-batches per update.
* Changed the robot setup and mount configuration for the Flexiv reach policy
  training environment with ROS inference.


1.8.0 (2026-05-17)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added the ``ovphysx`` preset to ``Isaac-Repose-Cube-Allegro-Direct-v0``
  (``ObjectCfg`` and ``PhysicsCfg`` in
  :mod:`isaaclab_tasks.direct.allegro_hand.allegro_hand_env_cfg`), so the
  task can be selected with ``presets=ovphysx`` against the OVPhysX
  backend.  Exercises the OVPhysX :class:`~isaaclab_ovphysx.assets.Articulation`
  (Allegro hand) and :class:`~isaaclab_ovphysx.assets.RigidObject` (cube)
  in the same scene.
* Added raycaster-camera depth presets (``raycaster_depth64``, ``raycaster_depth128``,
  ``raycaster_depth256``) for both base and wrist views in the Dexsuite Kuka-Allegro
  manipulation task, backed by
  :class:`~isaaclab.sensors.ray_caster.MultiMeshRayCasterCamera`. Targets the table,
  ground plane, manipulated object, and robot visuals.


1.7.0 (2026-05-16)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :class:`isaaclab_tasks.utils.preset_target.PresetTarget` -- closed enum
  of typed preset categories (``PHYSICS``, ``RENDERER``, ``DOMAIN``).
* Added :func:`isaaclab_tasks.utils.preset_cli.setup_preset_cli` -- a typed
  selection layer over the ``presets=<csv>`` Hydra-decorator preset flow.
  Recognizes three Hydra-style tokens (``physics=NAME``, ``renderer=NAME``,
  ``presets=NAME[,...]``) and folds them into the existing token. When
  ``--task=X`` is given alongside ``--help``, lists the
  :class:`~isaaclab_tasks.utils.hydra.PresetCfg` variants present in the
  task's env_cfg, bucketed by typed target.
* Added :class:`~isaaclab_tasks.direct.cartpole.cartpole_camera_presets_env.CartpoleCameraPresetsEnv`,
  a subclass of :class:`~isaaclab_tasks.direct.cartpole.cartpole_camera_env.CartpoleCameraEnv` that
  wires :class:`~isaaclab.utils.buffers.CircularBuffer` into the ``Isaac-Cartpole-Camera-Presets-Direct-v0``
  task. ``frame_stack`` defaults to ``2`` for the Newton + Warp combo and ``1`` otherwise;
  CLI overrides via ``env.frame_stack=N`` are respected.

Changed
^^^^^^^

* Changed :mod:`isaaclab_tasks.utils.hydra` to source legacy preset aliases
  from :meth:`~isaaclab_tasks.utils.preset_target.PresetTarget.all_legacy_aliases`
  instead of a local literal dict.

Fixed
^^^^^

* Fixed ``AttributeError: 'NoneType' object has no attribute 'shape'`` raised
  when instantiating skrl PPO models for the ``Isaac-TrackPositionNoObstacles-ARL-Robot-1-*``
  and ``Isaac-Navigation-3DObstacles-ARL-Robot-1-*`` tasks. The drone-ARL skrl
  configs used ``input: STATES`` for both policy and value networks, which
  skrl 2.0 resolves against ``state_space`` (``None`` for single-agent
  environments). Updated the configs to use ``input: OBSERVATIONS`` to match
  the rest of the single-agent skrl configs in IsaacLab.


1.6.0 (2026-05-14)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added Newton backend support for the multi-agent
  ``Isaac-Shadow-Hand-Over-Direct-v0`` (MAPPO/IPPO) env. Mirrors the
  single-agent Shadow Hand Newton port: per-hand
  :class:`~isaaclab.actuators.ImplicitActuatorCfg`,
  ``shadow_hand_instanceable_newton.usd``, per-backend
  :class:`~isaaclab_tasks.utils.PresetCfg` wrappers for sim physics, the
  hand-over object (``RigidObjectCfg`` on both backends, dropping
  PhysX-only knobs on Newton), and the two robot configs. Selectable via
  ``--preset newton`` / Hydra preset resolution; PhysX behavior unchanged.
  Migration details (Newton-side actuator gain overrides for ``fingers``
  and ``distal_passive``, and the ``ccd_iterations`` bump for multi-finger
  contacts) live in
  ``source/isaaclab_tasks/isaaclab_tasks/direct/shadow_hand_over/shadow_hand_over_env_cfg.py``.

Changed
^^^^^^^

* Removed the ``self.sim.physics = PhysxCfg(...)`` overrides from
  ``Isaac-Reach-Franka-{IK-Abs,IK-Rel,OSC}-v0`` env configs so they
  inherit the parent ``ReachPhysicsCfg`` preset. Selecting
  ``presets=newton`` now picks ``NewtonCfg``; the previous
  ``bounce_threshold_velocity=0.2`` PhysX behavior is preserved as
  the default in ``ReachPhysicsCfg``. Direct-workflow callers in
  ``automate``, ``factory``, and the deploy MDP events module were
  migrated to the new
  :class:`~isaaclab.assets.BaseArticulationData` properties
  (:attr:`body_link_jacobian_w`, :attr:`mass_matrix`).
* Changed RSL-RL task agent configs to use ``actor`` and ``critic`` model
  configs with distribution configs instead of deprecated ``policy`` configs.

Fixed
^^^^^

* Fixed ``Isaac-Navigation-3DObstacles-ARL-Robot-1-v0`` config load
  raising ``TypeError: only 0-dimensional arrays can be converted to
  Python scalars`` under NumPy 2.0+. The wall-color sampling now
  requests a scalar from :func:`numpy.random.randint` instead of a
  shape-``(1,)`` array.
* Fixed ``make current-docs`` failing to import
  :mod:`isaaclab_mimic.datagen` because the ``assemble_trocar`` robot
  config evaluated ``np.pi`` at module scope, which raised
  ``TypeError`` under Sphinx's mocked ``numpy``. Switched the constant
  factors to :data:`math.pi`.


1.5.38 (2026-05-13)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added Newton MJWarp physics preset support and mesh-based heterogeneous
  object spawning for Dexsuite manipulation environments.


1.5.37 (2026-05-12)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Assemble-Trocar-G129-Dex3-v0`` and
  ``Isaac-Assemble-Trocar-G129-Dex3-Eval-v0`` manipulation tasks: a Unitree G1
  29-DOF humanoid with Dex3 hands assembles a trocar from a tray, trained via
  RL post-training of a VLA model using RLinf.


1.5.36 (2026-05-09)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added explicit GR1T2 and Unitree G1 pick-place robot link pose and velocity
  MDP helpers as replacements for packed robot link state observations.
* Added the ``ovphysx`` physics preset to the cartpole camera presets task.

Changed
^^^^^^^

* Changed Dexsuite orientation tracking rewards to read root link orientation
  directly instead of slicing packed root state tensors.
* Updated task camera configs and environments to use
  :class:`~isaaclab.sensors.CameraCfg` and :class:`~isaaclab.sensors.Camera`
  instead of deprecated tiled-camera aliases.
* Updated task state and write call sites to use explicit state properties and
  indexed simulation write APIs.

Deprecated
^^^^^^^^^^

* Deprecated
  :func:`~isaaclab_tasks.manager_based.manipulation.pick_place.mdp.observations.get_all_robot_link_state`
  in favor of
  :func:`~isaaclab_tasks.manager_based.manipulation.pick_place.mdp.observations.get_all_robot_link_pose`
  and
  :func:`~isaaclab_tasks.manager_based.manipulation.pick_place.mdp.observations.get_all_robot_link_velocity`.


1.5.35 (2026-05-08)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added LEAPP-compatible policy deployment tutorials and tracing-compatible task
  observation helpers for exported policy workflows.
* Added Newton rough terrain support for the G1 biped locomotion velocity
  env. The only engine-specific change is a ~1.7x ``max_iterations`` preset on
  :class:`~isaaclab_tasks.manager_based.locomotion.velocity.config.g1.agents.rsl_rl_ppo_cfg.G1RoughPPORunnerCfg`
  (Newton = 5000, PhysX = 3000). PhysX saturates near iter 3000 on both
  reward (≈ +18) and episode length (≈ 980) and does not meaningfully
  improve further; Newton reaches the same (reward, ep_len) quality at
  iter 5000. The iteration budget is bumped rather than tuning physics
  or reward terms.
* Added legacy ``teleop_devices`` configuration (``OpenXRDeviceCfg``,
  ``ManusViveCfg``, ``GR1T2RetargeterCfg``) to
  :class:`~isaaclab_tasks.manager_based.manipulation.pick_place.pickplace_gr1t2_env_cfg.PickPlaceGR1T2EnvCfg`
  alongside the existing ``isaac_teleop`` pipeline, enabling CI validation
  via ``--teleop_device=handtracking``.

Changed
^^^^^^^

* Updated classic Ant/Humanoid manager-based environments and direct in-hand
  manipulation environments to read body incoming wrenches from
  :class:`~isaaclab.sensors.JointWrenchSensor` instead of
  ``ArticulationData.body_incoming_joint_wrench_b``. Add a
  :class:`~isaaclab.sensors.JointWrenchSensorCfg` to the scene and pass its
  :class:`~isaaclab.managers.SceneEntityCfg` as ``sensor_cfg``. The classic
  Ant/Humanoid Newton presets now use the same wrench observations as PhysX.
* **Breaking:** Renamed the Newton-backend solver presets to a ``newton_``
  prefix so they group together in autocomplete and read distinctly from the
  Newton backend label, package, and visualizer. The change is shimmed by
  deprecation aliases (see ``Deprecated`` below), but workflows that iterate
  ``__dataclass_fields__`` directly or treat :exc:`FutureWarning` as an error
  will need updates. Migration: rename the field in any
  :class:`~isaaclab_tasks.utils.hydra.PresetCfg` subclass and update CLI
  invocations (``presets=...`` and ``env.<path>=...``):

  - ``newton`` -> ``newton_mjwarp``
  - ``kamino`` -> ``newton_kamino``

Deprecated
^^^^^^^^^^

* Deprecated the legacy ``newton`` and ``kamino`` preset names. They still
  resolve to ``newton_mjwarp`` and ``newton_kamino`` respectively but emit a
  :exc:`FutureWarning` and will be removed in a future release. Update CLI
  overrides (``presets=newton`` -> ``presets=newton_mjwarp``;
  ``presets=kamino`` -> ``presets=newton_kamino``) and any
  :class:`~isaaclab_tasks.utils.hydra.PresetCfg` field declarations
  (``newton: NewtonCfg = ...`` -> ``newton_mjwarp: NewtonCfg = ...``).


1.5.34 (2026-04-30)
~~~~~~~~~~~~~~~~~~~
Added
^^^^^

* Added Flexiv Rizon 4s gear assembly environment with Grav parallel gripper, including
  training, ROS inference, and deterministic play/debug configurations.
* Added EE-grasp keypoint reward terms (``keypoint_ee_grasp_error``, ``keypoint_ee_grasp_error_exp``)
  for tracking end-effector alignment with the grasp-corrected pose.
* Added quaternion noise model (``ResetSampledQuaternionNoiseModelCfg``) for Rizon 4s
  gear shaft orientation observations.

Fixed
^^^^^

* Fixed quaternion w-component indexing in gear assembly observation functions to match XYZW convention.


1.5.33 (2026-04-30)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Re-enabled ``add_base_mass`` randomization on H1 and Cassie in their
  rough-terrain configs (previously ``= None`` per the pre-existing biped
  convention). H1 uses the shared log-uniform scale default from
  ``EventsCfg``; Cassie overrides to ``(1.0, 1.25)`` asymmetric heavier-bias
  (never lighter than nominal). Symmetric ±25% regressed Cassie reward by
  40% vs disabled due to closed-loop Achilles coupling destabilizing on
  lighter pelvis mass; ``(1.0, 1.25)`` recovers to 90% of the
  mass-rand-disabled baseline while retaining the domain-randomization
  benefit.


1.5.32 (2026-04-30)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Refactored rendering correctness tests under ``source/isaaclab_tasks/test/``: shared ``rendering_test_utils.py``,
  split ``test_rendering_*`` modules (cartpole, Dexsuite Kuka Allegro lift, shadow hand) with ``*_kitless`` variants,
  and Newton + OVRTX golden images. Newton + ``ovrtx_renderer`` test cases remain skipped on GitHub Actions temporarily
  until they can run on GitHub Actions.


1.5.31 (2026-04-29)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added benchmark extraction for ``Metrics/success_rate`` and survival
  success logging for direct cartpole camera environments.


1.5.30 (2026-04-28)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added Kamino solver physics presets to direct and manager-based environment
  configs: cartpole and ant.

Changed
^^^^^^^

* Updated skrl agent configuration files to support skrl 2.0.


1.5.29 (2026-04-27)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Enabled Newton rough-terrain locomotion training on the remaining
  quadrupeds (Go1, Go2, A1, Anymal-B, Anymal-C), bipeds (H1, Cassie),
  Digit, and G1 on top of Octi's Anymal-D work cherry-picked from
  PR #5225.
* Hoisted the per-env Anymal-D ``RoughPhysicsCfg`` (MJWarp solver +
  collision pipeline) into the shared
  :class:`~isaaclab_tasks.manager_based.locomotion.velocity.velocity_env_cfg.LocomotionVelocityRoughEnvCfg`
  so every rough-terrain env inherits identical physics. The shared
  preset opts in to ``default_shape_cfg=NewtonShapeCfg(margin=0.01)``,
  which is the single most important Newton setting for rough terrain.
* Added Go1 Newton-only leg armature preset to improve rough-terrain
  training stability on lightweight quadrupeds.

Changed
^^^^^^^

* Replaced the additive ``(-5, 5)`` kg default on
  ``EventsCfg.add_base_mass`` with a multiplicative ``(1/1.25, 1.25)``
  log-uniform scale (``operation="scale"``,
  ``distribution="log_uniform"``). Scale-invariant across robot sizes
  with geometric mean 1.0; removes the need for per-robot
  ``(-1.0, 3.0)`` additive overrides on A1/Go1/Go2.


1.5.28 (2026-04-27)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated stack-event utilities to enable optional extensions via
  ``isaacsim.core.experimental.utils.app.enable_extension`` (non-deprecated Isaac Sim path).


1.5.27 (2026-04-27)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Refactored Franka cube-stack manager-based environment configs (IK-relative, visuomotor, and joint-position
  variants under ``stack/config/franka/``) to build on :class:`~isaaclab_tasks.manager_based.manipulation.stack.stack_env_cfg.StackEnvCfg`,
  including explicit cube spawns with semantic tags, gripper actions where applicable, end-effector
  :class:`~isaaclab.sensors.frame_transformer.frame_transformer_cfg.FrameTransformerCfg`, and default Franka poses
  via articulation ``InitialStateCfg`` instead of a reset-time default-pose event.
* Changed GR1T2 and Unitree G1 Inspire pick-place environment configs to define ``idle_action`` as a plain Python
  sequence instead of ``torch.tensor``, dropping the ``torch`` import from those modules.


1.5.26 (2026-04-27)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Migrated golden images ``source/isaaclab_tasks/test/golden_images/**/*.png`` to Git LFS.


1.5.25 (2026-04-23)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Migrated all data property accesses from ``wp.to_torch(data.property)`` to
  ``data.property.torch`` to match the new :class:`~isaaclab.utils.warp.ProxyArray`
  return type introduced in ``isaaclab`` 4.6.13.


1.5.24 (2026-04-22)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated locomotion :class:`~isaaclab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg`
  height-scanner defaults to spawn a ``raycaster`` Xform child under the robot attachment link
  (using :class:`~isaaclab.sim.spawners.sensors.sensors_cfg.RayCasterXformCfg`) so the sensor
  works with Newton site-based :class:`~isaaclab.sim.views.FrameView` tracking.
* Updated all sensor configurations to use :class:`~isaaclab.sim.views.FrameView` instead of
  the deprecated ``XformPrimView``.


1.5.23 (2026-04-21)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Refreshed Newton Warp renderer golden images for Dexsuite Kuka-Allegro environment case in
  ``test_rendering_correctness`` because Newton Warp renderer honors visibility of prims now.


1.5.22 (2026-04-20)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed rendering correctness tests to use a shared environment seed constant, pass ``seed`` into
  :meth:`gymnasium.Env.reset`, and aggregate per-data-type validation failures into a single
  ``pytest.fail`` message in ``test_rendering_correctness``.
* Refreshed Newton Warp renderer golden images in ``test_rendering_correctness`` so image baselines match the current
  camera output after Newton shape color alignment and the clear background color change.

1.5.21 (2026-04-13)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Replaced ``resolve_preset_defaults`` with :func:`~isaaclab_tasks.utils.hydra.resolve_presets`
  which resolves all presets in one pass with CLI selection support.

Added
^^^^^

* Unknown preset names now raise ``ValueError`` with a grouped listing of all
  available presets and the config paths they affect.

Fixed
^^^^^

* Fixed presets inside dict-valued alternatives and ``PresetCfg(default=None)``
  not being discovered or resolved, causing wrong defaults in deeply nested configs.
* Unresolvable ``PresetCfg`` (no ``default``, no matching selection) now raises
  ``ValueError`` instead of silently lingering in the config tree.


1.5.20 (2026-04-06)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Change Franka visuomotor and GR1T2 nut pouring environments to use TiledCamera.


1.5.19 (2026-04-06)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Aligned :class:`~isaaclab_tasks.manager_based.manipulation.deploy.reach.config.rizon_4s.ros_inference_env_cfg.Rizon4sReachROSInferenceEnvCfg`
  with the Flexiv Rizon 4s mount and workspace at NVIDIA Hubble Lab.


1.5.18 (2026-04-02)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Set semantic tags on the in-hand object in :class:`~isaaclab_tasks.direct.shadow_hand.shadow_hand_env_cfg.ObjectCfg`
  so the object receives the same semantic labels for the Newton and PhysX backends.


1.5.17 (2026-03-30)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed :func:`~isaaclab_tasks.utils.hydra.apply_overrides` raising a false
  conflict error when two global presets resolve to the same value for a path
  (e.g. ``newton`` aliased to ``cube``).


1.5.16 (2026-03-24)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed :func:`~isaaclab_tasks.utils.hydra.collect_presets` not discovering
  presets inside nested dicts (e.g. ``EventTerm.params.terms.*.params``).


1.5.15 (2026-03-25)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added semantic segmentation to preset data types for the Cartpole Camera environment.
* Added semantic segmentation to preset data types for the Shadow Hand environment.
* Added semantic_segmentation64 to preset data types for for the Dexsuite Kuka-Allegro environment.
* Added ``Isaac-Deploy-Reach-Rizon4s-ROS`` environments.

1.5.13 (2026-03-18)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added consistency validation to the camera outputs in ``test_rendering_correctness.py``.


1.5.12 (2026-03-16)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Increased ``max_iterations`` from 200 to 300 for ``Isaac-Dexsuite-Kuka-Allegro-Lift-v0``
  in the benchmarking configuration to allow sufficient training time for convergence.


1.5.11 (2026-03-13)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Simplified the Hydra preset system by removing the dict-style ``presets = {...}``
  attribute in favor of :class:`~isaaclab_tasks.utils.hydra.PresetCfg` subclasses
  and the new :func:`~isaaclab_tasks.utils.hydra.preset` factory for inline scalar
  overrides.


1.5.10 (2026-03-12)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``test_rendering_correctness.py`` to validate rendering correctness of the environments.


1.5.9 (2026-03-10)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed ``FileNotFoundError`` for Dexsuite environments by removing stale
  ``rl_games_cfg_entry_point`` from gym registrations. Benchmark config updated
  to use RSL-RL.


1.5.8 (2026-03-10)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``validate_config`` overrides to :class:`ShadowHandVisionEnvCfg` and
  :class:`DexsuiteReorientEnvCfg` to catch invalid preset combinations early
  (e.g. Warp renderer with unsupported data types, Newton physics with
  multi-asset spawning).

Changed
^^^^^^^

* Moved :class:`ShadowHandVisionEnvCfg` validation logic from the env constructor
  into :meth:`~ShadowHandVisionEnvCfg.validate_config`, leveraging the new
  ``configclass`` validation hook.


1.5.7 (2026-03-10)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Marked ``physx-warp-rgb`` and ``physx-warp-depth`` Shadow Hand vision preset
  render tests as expected failures. The standard Shadow Hand USD contains PhysX
  tendon schemas that Newton's ``ModelBuilder`` cannot parse.


1.5.6 (2026-03-10)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Simplified Dexsuite gravity randomization to use the unified
  :class:`~isaaclab.envs.mdp.randomize_physics_scene_gravity` term, removing the
  backend-specific ``GravityRandomizationCfg`` preset.

Added
^^^^^

* Added Dexsuite multi-hand dexterous manipulation environments with Kuka Allegro configurations for lift and
  reorientation tasks.


1.5.5 (2026-03-07)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Simplified all task MDP ``__init__.py`` files to call ``lazy_export()`` without
  arguments. Fallback packages are now inferred from ``__init__.pyi`` stubs.

Added
^^^^^

* Added ``from isaaclab.envs.mdp import *`` wildcard re-exports to all task MDP
  ``__init__.pyi`` stubs, fixing broken type hints for base MDP symbols.

* Added ``test_lazy_export_stubs.py`` to enforce that ``lazy_export()`` is called
  without arguments across the codebase.


1.5.4 (2026-03-08)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :file:`test/test_environments_newton.py` — an end-to-end CI test that auto-discovers
  all environments with a ``newton`` physics preset and runs 100 random-action steps against each.

* Added :func:`~isaaclab_tasks.utils.parse_cfg.apply_named_preset` helper that walks the full
  configuration tree and applies a named preset (e.g. ``'newton'``) to every preset-wrapper
  field, replacing the default-resolved value. This enables Newton preset overrides for all
  scene fields (e.g. ``scene.contact_forces``) when running tests outside the Hydra pipeline.

* Added Newton physics presets and compatibility fixes to locomotion, reach, Franka cabinet,
  allegro-hand, and shadow-hand environments: replaced unsupported ``ls_iterations`` /
  ``ls_parallel`` solver fields with Newton-compatible settings, and added a per-preset
  :class:`~isaaclab_tasks.manager_based.manipulation.reach.reach_env_cfg.TableCfg` using box
  geometry instead of a USD asset for Newton compatibility.

* Added :class:`~isaaclab_tasks.manager_based.manipulation.cabinet.cabinet_env_cfg.CabinetSimCfg`
  preset to the cabinet environment, replacing the physics-only preset with a full simulation
  config preset so the Newton backend can run at a finer timestep (``dt=1/600``) while PhysX
  keeps its default (``dt=1/60``).

* Added backend-specific ``joint_gears`` to ant and humanoid direct environments. Newton and
  PhysX joint orderings differ, so each backend now has its own gear ratio list resolved at
  env init.


1.5.3 (2026-03-06)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed :class:`~isaaclab.envs.mdp.noise.NoiseModelWithAdditiveBias` shape mismatch in Newton
  environment tests. :func:`~isaaclab_tasks.utils.parse_cfg.apply_named_preset` previously
  replaced ``scene`` with the preset's default ``num_envs`` (e.g. 8192), overwriting the
  test-requested value (e.g. 2). The ``_bias`` tensor was then allocated with 8192 rows while
  action data only had 2, causing a ``RuntimeError`` on addition. The fix re-applies the
  caller's ``num_envs`` after preset application.

* Fixed in-hand manipulation goal orientation: the quaternion imaginary-component clamping used
  the wrong slice (``[1:4]`` instead of ``[0:3]``), causing incorrect goal distance computation
  in the Newton preset.

* Fixed Franka cabinet direct-env initialization orientation.

Changed
^^^^^^^

* Renamed ``EventCfg`` to :class:`~isaaclab_tasks.direct.shadow_hand.shadow_hand_env_cfg.NewtonEventCfg`
  in the Shadow Hand env config. The new name makes explicit that this preset covers only
  Newton-compatible randomizations (joint gains, joint position limits, object mass, gravity).
  Material and fixed-tendon randomization remain exclusively in
  :class:`~isaaclab_tasks.direct.shadow_hand.shadow_hand_env_cfg.PhysxEventCfg`.

1.5.2 (2026-03-05)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :func:`~isaaclab_tasks.utils.sim_launcher.compute_kit_requirements` to expose the Kit
  decision logic for testing (e.g. preset resolution: ``presets=newton,ovrtx_renderer`` →
  ``needs_kit=False``).

* Added :file:`test_preset_kit_decision.py` — beginner-friendly unit tests that verify
  preset resolution and Kit decision.


1.5.1 (2026-03-03)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Resolved :class:`~isaaclab_tasks.utils.PresetCfg` fields (e.g. physics) to their default values
  in :func:`~isaaclab_tasks.utils.parse_env_cfg` so environments created via ``gym.make()`` outside
  the Hydra pipeline no longer fail with ``AttributeError: 'XxxPhysicsCfg' object has no attribute 'class_type'``.


1.5.0 (2026-03-02)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :class:`~isaaclab_tasks.utils.PresetCfg` base class — a ``@configclass`` whose typed
  fields represent named configuration variants (e.g. ``default``, ``physx``, ``newton``).
  The active variant is selected at launch with ``presets=<name>`` via the Hydra CLI, enabling
  a single environment config to support multiple physics backends.

* Added Newton backend support (via ``PresetCfg``) to the following environments:

  * **Direct RL**: Cartpole (camera), Ant, Humanoid
  * **Manager-based classic**: Ant, Humanoid
  * **Manager-based locomotion velocity**: A1, AnymalB, AnymalC, AnymalD, Cassie, G1,
    Go1, Go2, H1, Spot (flat and rough configs)
  * **Manager-based manipulation reach**: Franka and UR10 reach
  * **Dexsuite**: Kuka Allegro Lift


1.4.0 (2026-03-02)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``sim_launcher`` module with ``add_launcher_args`` and ``launch_simulation`` utilities
  that auto-detect the physics backend (Newton vs Kit/PhysX) from the env config and launch the
  appropriate simulation runtime. Training and play scripts no longer need to import ``AppLauncher``
  directly.


1.3.0 (2026-02-26)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Migrated all direct and manager-based task environments to use new ``_index`` write/set
  APIs with keyword-only arguments.


1.2.0 (2026-02-25)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Split environment configuration from implementation for the following direct RL task environments.
  Each environment now has a dedicated ``*_env_cfg.py`` file containing only the configuration dataclass,
  keeping ``__init__.py`` imports cfg-only and leaving the implementation file free of cfg dependencies:

* Added strict ``TYPE_CHECKING`` guards across MDP modules (observations, rewards, terminations,
  curriculums, events) so that heavy simulation-backend imports (``pxr``, ``omni``, ``carb``,
  ``scipy``) are not triggered when task configs are loaded without a running simulator.


1.1.2 (2026-02-25)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Set replicate physics to False for GR1T2 and G1 environments.


1.1.1 (2026-02-23)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Update stack and pick place environments to use warp data and fix quaternion ordering.


1.1.0 (2026-02-13)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated all task environments to wrap warp data property accesses with ``wp.to_torch()``
  for compatibility with the new warp backend. This includes direct RL environments
  and all manager-based MDP functions (actions, observations, rewards, terminations,
  commands, events, and curriculums).


1.0.0 (2026-01-30)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated all task environments to use the new ``root_view`` property instead of the deprecated
  ``root_physx_view`` property. This includes the following environments:

  * AutoMate Assembly and Disassembly environments
  * Factory environments
  * FORGE environments
  * Inhand manipulation environments
  * Quadcopter environments
  * Shadow Hand environments


0.12.0 (2026-01-30)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed the quaternion ordering to match warp, PhysX, and Newton native XYZW quaternion ordering.


0.11.15 (2026-03-07)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Stack-Cube-RedGreen-Franka-IK-Rel-v0``, ``Isaac-Stack-Cube-RedGreenBlue-Franka-IK-Rel-v0``,
  ``Isaac-Stack-Cube-BlueGreen-Franka-IK-Rel-v0``, and ``Isaac-Stack-Cube-BlueGreenRed-Franka-IK-Rel-v0`` environments.


0.11.14 (2026-02-27)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Refactored automation scripts (``run_w_id.py`` and ``run_disassembly_w_id.py``) to use list-based command execution
  via ``subprocess.run``. This avoids potential command injection risks by disabling shell execution and
  properly handling environment variables.


0.11.13 (2026-02-04)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed incorrect hardcoded joint index for ``drawer_top_joint`` in
  :class:`~isaaclab_tasks.direct.franka_cabinet.FrankaCabinetEnv`. The drawer joint
  index is now dynamically resolved using ``find_joints()`` at start, instead of assuming
  index 3, which caused incorrect rewards and termination conditions.


0.11.12 (2025-12-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Deploy-GearAssembly`` environments.


0.11.11 (2025-12-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added reaching task environments for OpenArm unimanual robot:
  * :class:`OpenArmReachEnvCfg`; Gym ID ``Isaac-Reach-OpenArm-v0``.
  * :class:`OpenArmReachEnvCfg_PLAY`; Gym ID ``Isaac-Reach-OpenArm-Play-v0``.
* Added lifting a cube task environments for OpenArm unimanual robot:
  * :class:`OpenArmCubeLiftEnvCfg`; Gym ID ``Isaac-Lift-Cube-OpenArm-v0``.
  * :class:`OpenArmCubeLiftEnvCfg_PLAY`; Gym ID ``Isaac-Lift-Cube-OpenArm-Play-v0``.
* Added opening a drawer task environments for OpenArm unimanual robot:
  * :class:`OpenArmCabinetEnvCfg`; Gym ID ``Isaac-Open-Drawer-OpenArm-v0``.
  * :class:`OpenArmCabinetEnvCfg_PLAY`; Gym ID ``Isaac-Open-Drawer-OpenArm-Play-v0``.
* Added reaching task environments for OpenArm bimanual robot:
  * :class:`OpenArmReachEnvCfg`; Gym ID ``Isaac-Reach-OpenArm-Bi-v0``.
  * :class:`OpenArmReachEnvCfg_PLAY`; Gym ID ``Isaac-Reach-OpenArm-Bi-Play-v0``.


0.11.10 (2025-12-13)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added obs_groups to the RSL-RL PPO agent configuration for the ``Isaac-Reach-UR10e-v0`` environment.
* Changed self.state_space to 19 in the ``Isaac-Reach-UR10e-ROS-Inference-v0`` environment.


0.11.9 (2025-11-10)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added OpenXR motion controller support for the G1 robot locomanipulation environment
  ``Isaac-PickPlace-Locomanipulation-G1-Abs-v0``. This enables teleoperation using XR motion controllers
  in addition to hand tracking.
* Added :class:`OpenXRDeviceMotionController` for motion controller-based teleoperation with headset anchoring control.
* Added motion controller-specific retargeters:
  * :class:`G1TriHandControllerUpperBodyRetargeterCfg` for upper body and hand control using motion controllers.
  * :class:`G1LowerBodyStandingControllerRetargeterCfg` for lower body control using motion controllers.


0.11.8 (2025-11-06)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed to use of ``num_rerenders_on_reset`` and ``DLAA`` in visuomotor imitation learning environments.


0.11.7 (2025-10-22)
~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Ensured all imports follows the string import style instead of direct import of environment.


0.11.6 (2025-10-23)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Refined further the anchor position for the XR anchor in the world frame for the G1 robot tasks.


0.11.5 (2025-10-22)
~~~~~~~~~~~~~~~~~~~

Removed
^^^^^^^

* Removed scikit-learn dependency because we are no longer using this package.


0.11.4 (2025-10-20)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Fixed the anchor position for the XR anchor in the world frame for the G1 robot tasks.


0.11.3 (2025-10-15)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed how the Sim rendering settings are modified by the Cosmos-Mimic env cfg.


0.11.2 (2025-10-10)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added OpenXRteleoperation devices to the Galbot stack environments.


0.11.1 (2025-09-24)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added dextrous lifting pbt configuration example cfg for rl_games.


0.11.0 (2025-09-07)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added dextrous lifting and dextrous reorientation manipulation rl environments.


0.10.51 (2025-09-08)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added SkillGen-specific cube stacking environments:
  * :class:`FrankaCubeStackSkillgenEnvCfg`; Gym ID ``Isaac-Stack-Cube-Franka-IK-Rel-Skillgen-v0``.
* Added bin cube stacking environment for SkillGen/Mimic:
  * :class:`FrankaBinStackEnvCfg`; Gym ID ``Isaac-Stack-Cube-Bin-Franka-IK-Rel-Mimic-v0``.


0.10.50 (2025-09-05)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added stacking environments for Galbot with suction grippers.


0.10.49 (2025-09-05)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added suction gripper stacking environments with UR10 that can be used with teleoperation.


0.10.48 (2025-09-03)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Deploy-Reach-UR10e-v0`` environment.


0.10.47 (2025-07-25)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* New ``Isaac-PickPlace-GR1T2-WaistEnabled-Abs-v0`` environment that enables the waist degrees-of-freedom for the GR1T2 robot.


Changed
^^^^^^^

* Updated pink inverse kinematics controller configuration for the following tasks (``Isaac-PickPlace-GR1T2``, ``Isaac-NutPour-GR1T2``, ``Isaac-ExhaustPipe-GR1T2``)
  to increase end-effector tracking accuracy and speed. Also added a null-space regularizer that enables turning on of waist degrees-of-freedom without
  the robot control drifting to a bending posture.
* Tuned the pink inverse kinematics controller and joint PD controllers for the following tasks (``Isaac-PickPlace-GR1T2``, ``Isaac-NutPour-GR1T2``, ``Isaac-ExhaustPipe-GR1T2``)
  to improve the end-effector tracking accuracy and speed. Achieving position and orientation accuracy test within **(2 mm, 1 degree)**.


0.10.46 (2025-08-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added symmetry data augmentation example with RSL-RL for cartpole and anymal locomotion environments.
* Added :attr:`--agent` to RL workflow scripts to allow switching between different configurations.


0.10.45 (2025-07-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``from __future__ import annotations`` to isaaclab_tasks files to fix Sphinx
  doc warnings for IsaacLab Mimic docs.


0.10.44 (2025-07-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Forge-PegInsert-Direct-v0``, ``Isaac-Forge-GearMesh-Direct-v0``,
  and ``Isaac-Forge-NutThread-Direct-v0`` environments as direct RL envs. These
  environments extend ``Isaac-Factory-*-v0`` with force sensing, an excessive force
  penalty, dynamics randomization, and success prediction.


0.10.43 (2025-07-24)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed un-set camera observations in the ``Isaac-Stack-Cube-Instance-Randomize-Franka-v0`` environment.


0.10.42 (2025-07-11)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Organized environment unit tests


0.10.41 (2025-07-01)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the rendering settings used for the Mimic-Cosmos pipeline.


0.10.40 (2025-06-26)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Relaxed upper range pin for protobuf python dependency for more permissive installation.


0.10.39 (2025-05-22)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed redundant body_names assignment in rough_env_cfg.py for H1 robot.


0.10.38 (2025-06-16)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Show available RL library configs on error message when an entry point key is not available for a given task.


0.10.37 (2025-05-15)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Assembly-Direct-v0`` environment as a direct RL env that
  implements assembly tasks to insert pegs into their corresponding sockets.


0.10.36 (2025-05-21)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added unit tests for benchmarking environments with configurable settings. Output KPI payloads
  can be pushed to a visualization dashboard to track improvements or regressions.


0.10.35 (2025-05-21)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-Cosmos-v0`` stacking environment with multi-modality camera inputs at higher resolution.

Changed
^^^^^^^

* Updated the ``Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-v0`` stacking environment to support visual domain randomization events during model evaluation.
* Made the task termination condition for the stacking task more strict.


0.10.34 (2025-05-22)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed ``Isaac-PickPlace-GR1T2-Abs-v0`` object asset to a steering wheel.


0.10.33 (2025-05-12)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Increase ``Isaac-PickPlace-GR1T2-Abs-v0`` sim dt to 120Hz for improved stability.
* Fix object initial state in ``Isaac-PickPlace-GR1T2-Abs-v0`` to be above the table.


0.10.32 (2025-05-01)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added new GR1 tasks (``Isaac-NutPour-GR1T2-Pink-IK-Abs-v0``, and ``Isaac-ExhaustPipe-GR1T2-Pink-IK-Abs-v0``).


0.10.31 (2025-04-02)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Adds an idle action parameter to the ``Isaac-PickPlace-GR1T2-Abs-v0`` environment configuration.


0.10.30 (2025-03-25)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed environment test failure for ``Isaac-Stack-Cube-Franka-IK-Rel-Blueprint-v0``.


0.10.29 (2025-03-18)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added Gymnasium spaces showcase tasks (``Isaac-Cartpole-Showcase-*-Direct-v0``, and ``Isaac-Cartpole-Camera-Showcase-*-Direct-v0``).


0.10.28 (2025-03-19)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated the ``Isaac-PickPlace-GR1T2-Abs-v0`` environment with auto termination when the object falls off the table
  and refined the success criteria to be more accurate.


0.10.27 (2025-03-13)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Blacklisted pick_place task from being imported automatically by isaaclab_tasks. It now has to be imported
  manually by the script due to dependencies on the pinocchio import.


0.10.26 (2025-03-10)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added the ``Isaac-PickPlace-GR1T2-Abs-v0`` environment that implements a humanoid arm picking and placing a steering wheel task using the PinkIKController.


0.10.25 (2025-03-06)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^^^

* Added ``Isaac-Stack-Cube-Franka-IK-Rel-Blueprint-v0`` stacking environment with camera inputs.


0.10.24 (2025-02-13)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Set ``Isaac-Stack-Cube-Franka-IK-Rel-v0`` to use sim parameters from base ``StackEnvCfg``, improving simulation stability.


0.10.23 (2025-02-11)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the inconsistent object pos observations in the ``Isaac-Stack-Cube-Franka`` environment when using parallel envs by
  subtracting out the env origin from each object pos observation.


0.10.22 (2025-01-14)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Humanoid-AMP-Dance-Direct-v0``, ``Isaac-Humanoid-AMP-Run-Direct-v0`` and ``Isaac-Humanoid-AMP-Walk-Direct-v0``
  environments as a direct RL env that implements the Humanoid AMP task.


0.10.21 (2025-01-03)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the reset of the actions in the function overriding of the low level observations of :class:`isaaclab_tasks.manager_based.navigation.mdp.PreTrainedPolicyAction`.


0.10.20 (2024-12-17)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed the configuration of
  :class:`isaaclab.envs.mdp.actions.OperationalSpaceControllerAction`
  inside the ``Isaac-Reach-Franka-OSC-v0`` environment to enable nullspace control.


0.10.19 (2024-12-17)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed :meth:`isaaclab_tasks.manager_based.manipulation.stack.mdp.ee_frame_pos` to output
  ``ee_frame_pos`` with respect to the environment's origin.


0.10.18 (2024-12-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Factory-Direct-v0`` environment as a direct RL env that
  implements contact-rich manipulation tasks including peg insertion,
  gear meshing, and nut threading.


0.10.17 (2024-12-16)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Reach-Franka-OSC-v0`` and ``Isaac-Reach-Franka-OSC-Play-v0``
  variations of the manager based reach environment that uses
  :class:`isaaclab.envs.mdp.actions.OperationalSpaceControllerAction`.


0.10.16 (2024-12-03)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Stack-Cube-Franka-IK-Rel-v0`` and ``Isaac-Stack-Cube-Instance-Randomize-Franka-IK-Rel-v0`` environments
  as manager-based RL envs that implement a three cube stacking task.


0.10.15 (2024-10-30)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Defined the Gymnasium task entry points with configuration strings instead of class types.
  This avoids unnecessary imports and improves the load types.
* Blacklisted ``mdp`` directories during the recursive module search.


0.10.14 (2024-10-28)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed manager-based vision cartpole environment names from Isaac-Cartpole-RGB-Camera-v0
  and Isaac-Cartpole-Depth-Camera-v0 to Isaac-Cartpole-RGB-v0 and Isaac-Cartpole-Depth-v0

0.10.13 (2024-10-28)
~~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added feature extracted observation cartpole examples.


0.10.12 (2024-10-25)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed issues with defining Gymnasium spaces in Direct workflows due to Hydra/OmegaConf limitations with non-primitive types.


0.10.11 (2024-10-22)
~~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Sets curriculum and commands to None in manager-based environment configurations when not needed.
  Earlier, this was done by making an empty configuration object, which is now unnecessary.


0.10.10 (2024-10-22)
~~~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the wrong selection of body id's in the :meth:`isaaclab_tasks.manager_based.locomotion.velocity.mdp.rewards.feet_slide`
  reward function. This makes sure the right IDs are selected for the bodies.


0.10.9 (2024-10-01)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed ``Isaac-Stack-Cube-Franka-IK-Rel-v0`` to align with Robosuite stacking env.


0.10.8 (2024-09-25)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Stack-Cube-Franka-IK-Rel-v0`` environment as a manager-based RL env that implements a three cube stacking task.


0.10.7 (2024-10-02)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Replace deprecated :attr:`num_observations`, :attr:`num_actions` and :attr:`num_states` in single-agent direct tasks
  by :attr:`observation_space`, :attr:`action_space` and :attr:`state_space` respectively.
* Replace deprecated :attr:`num_observations`, :attr:`num_actions` and :attr:`num_states` in multi-agent direct tasks
  by :attr:`observation_spaces`, :attr:`action_spaces` and :attr:`state_space` respectively.


0.10.6 (2024-09-25)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Cartpole-RGB-Camera-v0`` and ``Isaac-Cartpole-Depth-Camera-v0``
  manager based camera cartpole environments.


0.10.5 (2024-09-11)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated the skrl RL library integration to the latest release (skrl-v1.3.0)


0.10.4 (2024-09-10)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Repose-Cube-Shadow-Vision-Direct-v0`` environment with heterogeneous proprioception and vision observations.


0.10.3 (2024-09-05)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added environment config flag ``rerender_on_reset`` to allow updating sensor data after a reset.


0.10.2 (2024-08-23)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Shadow-Hand-Over-Direct-v0`` multi-agent environment


0.10.1 (2024-08-21)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Cart-Double-Pendulum-Direct-v0`` multi-agent environment

Changed
^^^^^^^

* Update skrl wrapper to support multi-agent environments.


0.10.0 (2024-08-14)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added support for the Hydra configuration system to all the train scripts. As a result, parameters of the environment
  and the agent can be modified using command line arguments, for example ``env.actions.joint_effort.scale=10``.


0.9.0 (2024-08-05)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Replaced the command line input ``--cpu`` with ``--device`` in the train and play scripts. Running on cpu is
  supported by passing ``--device cpu``. Running on a specific gpu is now supported by passing ``--device cuda:<device_id>``,
  where ``<device_id>`` is the id of the GPU to use, for example ``--device cuda:0``.


0.8.2 (2024-08-02)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added ``Isaac-Repose-Cube-Allegro-Direct-v0`` environment

Changed
^^^^^^^

* Renamed ``Isaac-Shadow-Hand-Direct-v0`` environments to ``Isaac-Repose-Cube-Shadow-Direct-v0``.
* Renamed ``Isaac-Shadow-Hand-OpenAI-FF-Direct-v0`` environments to ``Isaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0``.
* Renamed ``Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0`` environments to ``Isaac-Repose-Cube-Shadow-OpenAI-LSTM-Direct-v0``.


0.8.1 (2024-08-02)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Renamed the folder names for Unitree robots in the manager-based locomotion tasks. Earlier, there was an inconsistency
  in the folder names as some had ``unitree_`` prefix and some didn't. Now, none of the folders have the prefix.


0.8.0 (2024-07-26)
~~~~~~~~~~~~~~~~~~

Removed
^^^^^^^

* Renamed the action term names inside the manager-based lift-manipulation task. Earlier, they were called
  ``body_joint_pos`` and ``gripper_joint_pos``. Now, they are called ``arm_action`` and ``gripper_action``.


0.7.10 (2024-07-02)
~~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Extended skrl wrapper to support training/evaluation using JAX.


0.7.9 (2024-07-01)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the action space check in the Stable-Baselines3 wrapper. Earlier, the wrapper checked
  the action space via :meth:`gymnasium.spaces.Box.is_bounded` method, which returned a bool
  value instead of a string.


0.7.8 (2024-06-26)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated the skrl RL library integration to the latest release (>= 1.2.0)


0.7.7 (2024-06-14)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Updated the tasks to use the renamed attribute :attr:`isaaclab.sim.SimulationCfg.render_interval`.


0.7.6 (2024-06-13)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added option to save images for Cartpole Camera environment.


0.7.5 (2024-05-31)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added exporting of empirical normalization layer to ONNX and JIT when exporting the model using
  :meth:`isaaclab.actuators.ActuatorNetMLP.export` method. Previously, the normalization layer
  was not exported to the ONNX and JIT models. This caused the exported model to not work properly
  when used for inference.


0.7.5 (2024-05-28)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a new environment ``Isaac-Navigation-Flat-Anymal-C-v0`` to navigate towards a target position on flat terrain.


0.7.4 (2024-05-21)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Made default device for RSL RL and SB3 configs to "cuda:0".

0.7.3 (2024-05-21)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Introduced ``--max_iterations`` argument to training scripts for specifying number of training iterations.

0.7.2 (2024-05-13)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added Shadow Hand environments: ``Isaac-Shadow-Hand-Direct-v0``, ``Isaac-Shadow-Hand-OpenAI-FF-Direct-v0``,
  and ``Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0``.


0.7.1 (2024-05-09)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added the skrl agent configurations for the config and direct workflow tasks


0.7.0 (2024-05-07)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Renamed all references of ``BaseEnv``, ``RLTaskEnv``, and ``OIGEEnv`` to
  :class:`isaaclab.envs.ManagerBasedEnv`, :class:`isaaclab.envs.ManagerBasedRLEnv`,
  and :class:`isaaclab.envs.DirectRLEnv` respectively.
* Split environments into ``manager_based`` and ``direct`` folders.

Added
^^^^^

* Added direct workflow environments:
  * ``Isaac-Cartpole-Direct-v0``, ``Isaac-Cartpole-Camera-Direct-v0``, ``Isaac-Ant-Direct-v0``, ``Isaac-Humanoid-Direct-v0``.
  * ``Isaac-Velocity-Flat-Anymal-C-Direct-v0``, ``Isaac-Velocity-Rough-Anymal-C-Direct-v0``, ``Isaac-Quadcopter-Direct-v0``.


0.6.1 (2024-04-16)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a new environment ``Isaac-Repose-Cube-Allegro-v0`` and ``Isaac-Repose-Allegro-Cube-NoVelObs-v0``
  for the Allegro hand to reorient a cube. It is based on the IsaacGymEnvs Allegro hand environment.


0.6.0 (2024-03-10)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a new environment ``Isaac-Open-Drawer-Franka-v0`` for the Franka arm to open a drawer. It is
  based on the IsaacGymEnvs cabinet environment.

Fixed
^^^^^

* Fixed logging of extra information for RL-Games wrapper. It expected the extra information to be under the
  key ``"episode"``, but Isaac Lab used the key ``"log"``. The wrapper now remaps the key to ``"episode"``.


0.5.7 (2024-02-28)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Updated the RL wrapper for the skrl library to the latest release (>= 1.1.0)


0.5.6 (2024-02-21)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the configuration parsing to support a pre-initialized configuration object.


0.5.5 (2024-02-05)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Pinned :mod:`torch` version to 2.0.1 in the setup.py to keep parity version of :mod:`torch` supplied by
  Isaac 2023.1.1, and prevent version incompatibility between :mod:`torch` ==2.2 and
  :mod:`typing-extensions` ==3.7.4.3


0.5.4 (2024-02-06)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a check for the flag :attr:`isaaclab.envs.ManagerBasedRLEnvCfg.is_finite_horizon`
  in the RSL-RL and RL-Games wrappers to handle the finite horizon tasks properly. Earlier,
  the wrappers were always assuming the tasks to be infinite horizon tasks and returning a
  time-out signals when the episode length was reached.


0.5.3 (2023-11-16)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Added raising of error in the :meth:`isaaclab_tasks.utils.importer.import_all` method to make sure
  all the packages are imported properly. Previously, error was being caught and ignored.


0.5.2 (2023-11-08)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the RL wrappers for Stable-Baselines3 and RL-Games. It now works with their most recent versions.
* Fixed the :meth:`get_checkpoint_path` to allow any in-between sub-folders between the run directory and the
  checkpoint directory.


0.5.1 (2023-11-04)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the wrappers to different learning frameworks to use the new :class:`isaaclab_tasks.ManagerBasedRLEnv` class.
  The :class:`ManagerBasedRLEnv` class inherits from the :class:`gymnasium.Env` class (Gym 0.29.0).
* Fixed the registration of tasks in the Gym registry based on Gym 0.29.0 API.

Changed
^^^^^^^

* Removed the inheritance of all the RL-framework specific wrappers from the :class:`gymnasium.Wrapper` class.
  This is because the wrappers don't comply with the new Gym 0.29.0 API. The wrappers are now only inherit
  from their respective RL-framework specific base classes.


0.5.0 (2023-10-30)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed the way agent configs are handled for environments and learning agents. Switched from yaml to configclasses.

Fixed
^^^^^

* Fixed the way package import automation is handled in the :mod:`isaaclab_tasks` module. Earlier it was
  not skipping the blacklisted packages properly.


0.4.3 (2023-09-25)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Added future import of ``annotations`` to have a consistent behavior across Python versions.
* Removed the type-hinting from docstrings to simplify maintenance of the documentation. All type-hints are
  now in the code itself.


0.4.2 (2023-08-29)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Moved the base environment definition to the :class:`isaaclab.envs.RLEnv` class. The :class:`RLEnv`
  contains RL-specific managers such as the reward, termination, randomization and curriculum managers. These
  are all configured using the :class:`isaaclab.envs.RLEnvConfig` class. The :class:`RLEnv` class
  inherits from the :class:`isaaclab.envs.ManagerBasedEnv` and ``gym.Env`` classes.

Fixed
^^^^^

* Adapted the wrappers to use the new :class:`isaaclab.envs.RLEnv` class.


0.4.1 (2023-08-02)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Adapted the base :class:`IsaacEnv` class to use the :class:`SimulationContext` class from the
  :mod:`isaaclab.sim` module. This simplifies setting of simulation parameters.


0.4.0 (2023-07-26)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Removed the resetting of environment indices in the step call of the :class:`IsaacEnv` class.
  This must be handled in the :math:`_step_impl`` function by the inherited classes.
* Adapted the wrapper for RSL-RL library its new API.

Fixed
^^^^^

* Added handling of no checkpoint available error in the :meth:`get_checkpoint_path`.
* Fixed the locomotion environment for rough terrain locomotion training.


0.3.2 (2023-07-22)
~~~~~~~~~~~~~~~~~~

Added
^^^^^^^

* Added a UI to the :class:`IsaacEnv` class to enable/disable rendering of the viewport when not running in
  headless mode.

Fixed
^^^^^

* Fixed the the issue with environment returning transition tuples even when the simulation is paused.
* Fixed the shutdown of the simulation when the environment is closed.


0.3.1 (2023-06-23)
~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Changed the argument ``headless`` in :class:`IsaacEnv` class to ``render``, in order to cause less confusion
  about rendering and headless-ness, i.e. that you can render while headless.


0.3.0 (2023-04-14)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a new flag ``viewport`` to the :class:`IsaacEnv` class to enable/disable rendering of the viewport.
  If the flag is set to ``True``, the viewport is enabled and the environment is rendered in the background.
* Updated the training scripts in the ``scripts/reinforcement_learning`` directory to use the new flag ``viewport``.
  If the CLI argument ``--video`` is passed, videos are recorded in the ``videos/train`` directory using the
  :class:`gym.wrappers.RecordVideo` wrapper.

Changed
^^^^^^^

* The :class:`IsaacEnv` class supports different rendering mode as referenced in OpenAI Gym's ``render`` method.
  These modes are:

  * ``rgb_array``: Renders the environment in the background and returns the rendered image as a numpy array.
  * ``human``: Renders the environment in the background and displays the rendered image in a window.

* Changed the constructor in the classes inheriting from :class:`IsaacEnv` to pass all the keyword arguments to the
  constructor of :class:`IsaacEnv` class.

Fixed
^^^^^

* Clarified the documentation of ``headless`` flag in the :class:`IsaacEnv` class. It refers to whether or not
  to render at every sim step, not whether to render the viewport or not.
* Fixed the unit tests for running random agent on included environments.

0.2.3 (2023-03-06)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Tuned the observations and rewards for ``Isaac-Lift-Franka-v0`` environment.

0.2.2 (2023-03-04)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed the issue with rigid object not working in the ``Isaac-Lift-Franka-v0`` environment.

0.2.1 (2023-03-01)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added a flag ``disable_contact_processing`` to the :class:`SimCfg` class to handle
  contact processing effectively when using TensorAPIs for contact reporting.
* Added verbosity flag to :meth:`export_policy_as_onnx` to print model summary.

Fixed
^^^^^

* Clarified the documentation of flags in the :class:`SimCfg` class.
* Added enabling of ``omni.kit.viewport`` and ``isaacsim.replicator`` extensions
  dynamically to maintain order in the startup of extensions.
* Corrected the experiment names in the configuration files for training environments with ``rsl_rl``.

Changed
^^^^^^^

* Changed the default value of ``enable_scene_query_support`` in :class:`SimCfg` class to False.
  The flag is overridden to True inside :class:`IsaacEnv` class when running the simulation in
  non-headless mode.

0.2.0 (2023-01-25)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added environment wrapper and sequential trainer for the skrl RL library
* Added training/evaluation configuration files for the skrl RL library

0.1.2 (2023-01-19)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Added the flag ``replicate_physics`` to the :class:`SimCfg` class.
* Increased the default value of ``gpu_found_lost_pairs_capacity`` in :class:`PhysxCfg` class

0.1.1 (2023-01-18)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed a bug in ``Isaac-Velocity-Anymal-C-v0`` where the domain randomization is
  not applicable if cloning the environments with ``replicate_physics=True``.

0.1.0 (2023-01-17)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Initial release of the extension.
* Includes the following environments:

  * ``Isaac-Cartpole-v0``: A cartpole environment with a continuous action space.
  * ``Isaac-Ant-v0``: A 3D ant environment with a continuous action space.
  * ``Isaac-Humanoid-v0``: A 3D humanoid environment with a continuous action space.
  * ``Isaac-Reach-Franka-v0``: A end-effector pose tracking task for the Franka arm.
  * ``Isaac-Lift-Franka-v0``: A 3D object lift and reposing task for the Franka arm.
  * ``Isaac-Velocity-Anymal-C-v0``: An SE(2) velocity tracking task for legged robot on flat terrain.
