diff --git a/source/isaaclab/config/extension.toml b/source/isaaclab/config/extension.toml index 3086a2b93c88..fad2b53b6c5e 100644 --- a/source/isaaclab/config/extension.toml +++ b/source/isaaclab/config/extension.toml @@ -1,7 +1,7 @@ [package] # Note: Semantic Versioning is used: https://semver.org/ -version = "4.6.12" +version = "4.6.13" # Description title = "Isaac Lab framework for Robot Learning" diff --git a/source/isaaclab/docs/CHANGELOG.rst b/source/isaaclab/docs/CHANGELOG.rst index ce6db83354dd..ae5e175a22ce 100644 --- a/source/isaaclab/docs/CHANGELOG.rst +++ b/source/isaaclab/docs/CHANGELOG.rst @@ -1,6 +1,22 @@ Changelog --------- +4.6.13 (2026-04-24) +~~~~~~~~~~~~~~~~~~~ + +Fixed +^^^^^ + +* Fixed CI failures in Theia-based observation tests where ``from transformers import AutoModel`` + raised ``ValueError: Unable to compare versions for packaging>=20.0: need=20.0 found=None``. + :mod:`isaaclab_rl` pins ``packaging<24``, which downgrades Isaac Sim's prebundled ``packaging`` + 26.0 to 23.2 in ``site-packages``. On some Isaac Sim develop images that uninstall/reinstall + leaves a ``dist-info`` whose ``METADATA`` is missing the ``Version:`` header, so + ``importlib.metadata.version("packaging")`` returns ``None`` at runtime. Added an explicit + ``pip install --force-reinstall --no-deps packaging`` step at the end of + :meth:`~isaaclab.cli.commands.install.command_install` to rewrite the ``dist-info`` cleanly. + + 4.6.12 (2026-04-23) ~~~~~~~~~~~~~~~~~~~ diff --git a/source/isaaclab/isaaclab/cli/commands/install.py b/source/isaaclab/isaaclab/cli/commands/install.py index 53cf4a799fb1..9f5b85ea0076 100644 --- a/source/isaaclab/isaaclab/cli/commands/install.py +++ b/source/isaaclab/isaaclab/cli/commands/install.py @@ -570,6 +570,15 @@ def command_install(install_type: str = "all") -> None: # Can prevent that from happening. _ensure_cuda_torch() + # Force-reinstall packaging so its METADATA is rewritten by pip. + # isaaclab_rl pins "packaging<24", which downgrades Isaac Sim's prebundled + # packaging 26.0 to 23.2 in site-packages. On some Isaac Sim develop images + # that uninstall/reinstall leaves a dist-info whose METADATA is missing the + # "Version:" header, and importlib.metadata.version("packaging") returns + # None — which breaks transformers' require_version("packaging>=20.0") at + # import time. Writing the dist-info one more time clears that state. + run_command(pip_cmd + ["install", "--force-reinstall", "--no-deps", "packaging>=20.0,<24"]) + # Repoint prebundled packages in Isaac Sim to the environment's copies so # the active venv/conda versions are always loaded regardless of PYTHONPATH # ordering (e.g. torch+cu130 in venv vs torch+cu128 in prebundle on aarch64). diff --git a/source/isaaclab_tasks/test/env_test_utils.py b/source/isaaclab_tasks/test/env_test_utils.py index 6de1c6acaa52..f152f8bab961 100644 --- a/source/isaaclab_tasks/test/env_test_utils.py +++ b/source/isaaclab_tasks/test/env_test_utils.py @@ -26,9 +26,7 @@ # Map of task IDs to the reason for marking the corresponding parametrized # test cases as expected failures. Tests that consume :func:`setup_environment` # automatically pick up these marks via :class:`pytest.param`. -XFAIL_TASKS: dict[str, str] = { - "Isaac-Cartpole-RGB-TheiaTiny-v0": "TheiaTiny environment is currently broken; xfailed pending fix.", -} +XFAIL_TASKS: dict[str, str] = {} def _is_teleop_env(task_spec) -> bool: