Skip to content

Name one removal release across all deprecation notices - #7840

Merged
ooctipus merged 4 commits into
isaac-sim:developfrom
vidurv-nvidia:vidurv/sweep-removal-version-5
Sep 19, 2026
Merged

ooctipus merged 4 commits into
isaac-sim:developfrom
vidurv-nvidia:vidurv/sweep-removal-version-5

Conversation

@vidurv-nvidia

@vidurv-nvidia vidurv-nvidia commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Description

Deprecation notices across the repo disagree about when the deprecated symbols actually go away. On develop today some say 4.0 and some say 5.0 — sometimes for a class and the shim that forwards to it, so a user reading the ImportError gets a different release than the class docstring gives them.

Settles on 3.1, which is what the repository already promises for things deprecated in the 3.0 cycle:

isaaclab.sh:11                 "deprecated and will be removed in Isaac Lab 3.1"
isaaclab/docs/CHANGELOG.rst    "It will be removed in Isaac Lab 3.1"
isaaclab_rl/docs/CHANGELOG     "no longer be supported in Isaac Lab 3.1"

The 4.0 and 5.0 notices are leftovers from earlier numbering (5.0 from the 4.6.x package versions, where 5.0 was the next major).

Touches four unrelated deprecation families — actuators, articulation methods, module forwarding shims, and schema/material cfg moves — because the inconsistency is spread across all of them. No symbol is added, renamed, or removed; this is text only.

source/isaaclab/docs/CHANGELOG.rst is left alone: its version references are historical release entries, not live promises.

Type of change

  • Documentation update

Testing

Text-only, but it edits live warning strings that tests assert on, so the assertions moved with them:

  • test_schemas_shim.py142 passed
  • source/isaaclab/test/actuators/288 passed (two files excluded: they fail at collection on No module named 'newton.actuators', which reproduces on clean develop)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

Deprecation warnings, docstrings and forwarding-shim messages disagreed about
when deprecated symbols go away: some said 4.0 and some said 5.0, so a class
and the alias or shim forwarding to it could advertise different releases.

Settle on 5.0 everywhere. No symbol is added, renamed or removed.
@vidurv-nvidia
vidurv-nvidia requested a review from a team September 16, 2026 00:22
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Sep 16, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isaac Lab Review Bot

The sweep consistently moves user-facing deprecation notices to a 5.0 removal target, but two adjacent lifecycle statements remain inconsistent: the migration guide still limits actuator aliases to 3.x, and maintainer TODOs still schedule the same aliases for removal in 4.0.

  • Design and architecture: No control flow, symbol registration, or forwarding architecture changes. The lazy forwarding shims now consistently advertise 5.0, but lifecycle metadata should be aligned with that public commitment before merge.
  • API: Public signatures and behavior are unchanged, but the migration guide now says actuator aliases remain accepted only through 3.x while also promising removal in 5.0. Update both 3.x acceptance statements to cover 4.x so the compatibility window is unambiguous.
  • Implementation: The edited warning and error strings correctly use 5.0, and changelog fragments cover all touched packages. However, adjacent TODO comments in actuator_base.py and actuator_pd.py still direct maintainers to remove the same aliases in 4.0; those markers should also be changed to 5.0.

Minor fixes needed. Posted 2 actionable findings inline.

Automated review; human maintainers own approval decisions.

Actuator configurations now use joint-qualified names for solver limits. Update active
configurations to the canonical fields below. The former names remain accepted with a
``DeprecationWarning`` through the 3.x release line and will be removed in 4.0.
``DeprecationWarning`` through the 3.x release line and will be removed in 5.0.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning · Api — Acceptance window still bounded at 3.x

This sentence now states the deprecated actuator limit fields are accepted "through the 3.x release line" but removed in 5.0, and line 849 repeats the 3.x bound. The two halves of the same contract now disagree about 4.x availability, so users cannot plan migration from this guide. Update both acceptance statements to cover through 4.x, matching the new 5.0 removal.

warnings.warn(
"The effort_limit constructor argument is deprecated. Use actuator_effort_limit instead; "
"effort_limit will be removed in 4.0.",
"effort_limit will be removed in 5.0.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning · Implementation — Adjacent removal TODOs still name 4.0

This warning now promises removal in 5.0, but the maintainer markers directly above (lines 186 and 196) and the equivalent ones in actuator_pd.py (lines 64, 65, 85) still read TODO: Deprecated. Remove in 4.0.. Before this change they agreed with the warnings; now a maintainer scheduling the cleanup from those TODOs would drop the aliases one release earlier than every notice advertises. Sweep these comments to 5.0.

@greptile-apps

greptile-apps Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

The text-only changes appear safe to merge, with non-blocking documentation consistency issues remaining in the removal schedule and 4.x compatibility guidance.

Findings

  1. P2 Removal sweep remains incomplete
  2. P2 4.x support remains ambiguous

Summary

This PR moves numerous live deprecation notices from a 4.0 removal target to 5.0 across actuator compatibility APIs, articulation methods, schema and material forwarding shims, migration documentation, and package changelog fragments.

  • Aligns runtime warnings, ImportError messages, and API docstrings on the 5.0 target.
  • Updates the Isaac Lab 3.0 migration guide and schema configuration documentation.
  • Adds matching changelog fragments to the core, PhysX, and Newton packages.
  • Leaves a few conflicting 4.0 notices and ambiguous 4.x compatibility wording that should be cleaned up.

Reviews (1) · Last reviewed commit: "Name one removal release across all depr..."

^^^^^^^

* Changed the announced removal release in deprecation warnings, docstrings and forwarding-shim
messages from ``4.0`` to ``5.0``, so every deprecated symbol names the same release. Some

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Removal sweep remains incomplete

This changelog claims that every deprecated symbol now names 5.0, but UsdPhysicsDriveCfg.max_effort in source/isaaclab/isaaclab/sim/schemas/schemas_cfg.py still promises removal in 4.0, while the updated JointDriveBaseCfg.max_effort notice in the same file says 5.0. The actuator compatibility module also still schedules its aliases for 4.0. Users and maintainers therefore continue to see conflicting removal schedules. Update the remaining notices or narrow this changelog claim.

Actuator configurations now use joint-qualified names for solver limits. Update active
configurations to the canonical fields below. The former names remain accepted with a
``DeprecationWarning`` through the 3.x release line and will be removed in 4.0.
``DeprecationWarning`` through the 3.x release line and will be removed in 5.0.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 4.x support remains ambiguous

This guidance says the aliases remain accepted “through the 3.x release line” but are removed in 5.0, without explaining whether they are supported during 4.x. The same “through 3.x” statement is repeated below, while the runtime warning now promises removal in 5.0. Clarify that the aliases remain available through 4.x so users can plan their migration reliably.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Deprecation warnings, docstrings and forwarding-shim messages disagreed
about when deprecated symbols go away: some said 4.0 and some said 5.0, so
a class and the alias or shim forwarding to it could advertise different
releases. The 5.0 notices are a leftover from an older package numbering.

Settle on 4.0, the next major after the 3.0 release in progress. No symbol
is added, renamed or removed.
Deprecation warnings, docstrings and forwarding-shim messages disagreed
about when deprecated symbols go away: some said 4.0, others 5.0, so a
class and the alias or shim forwarding to it could advertise different
releases.

Settle on 3.1, which is what the repository already promises for symbols
deprecated in the 3.0 cycle. No symbol is added, renamed or removed.
@vidurv-nvidia vidurv-nvidia added the ci:run-docker Trigger the on-demand Docker and GPU CI workflow label Sep 17, 2026
@ooctipus

Copy link
Copy Markdown
Collaborator

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 19, 2026
@ooctipus
ooctipus merged commit 8c3aa87 into isaac-sim:develop Sep 19, 2026
53 checks passed
ooctipus added a commit that referenced this pull request Sep 20, 2026
…7904)

## Description

Backports ten `develop` PRs to `release/3.0.0`, including the PyTorch
2.12/CUDA 13.0 upgrade, the near-singular OSC fix, and the complete
cfg-first cloning and schema-fragment migrations.

The audit covers September 17, 2026 00:00 UTC through `develop` commit
`4269c29a39e463dd07c74a9704d890d7a5c01e08` (September 19, 23:55 UTC),
against release base `970d21ef48057a2efc3d749c0f2abab8e7e0c30e`.

| Source PR | Included change |
| --- | --- |
| #7777 | Refresh Newton solver transforms after fixed-root pose writes
|
| #7608 | Make direct cloning cfg-first, including assets, callers,
templates, tests, and migration documentation |
| #7895 | Apply the existing CI exclusion for Franka cable/cloth/soft
kitless rendering tests |
| #7872 | Load the CUDA runtime matching PyTorch for Newton graph
capture |
| #7831 | Check authored Newton mesh-collision schema tokens correctly |
| #7834 | Build documentation with the extra that provides Sphinx |
| #7838 | Migrate maintained consumers to physics schema fragments,
including readers and overrides |
| #7840 | Consistently name Isaac Lab 3.1 as the deprecation removal
release |
| #7903 | Handle near-singular operational-space control |
| #7674 | Upgrade PyTorch to 2.12, TorchVision to 0.27, and the CUDA
stack to 13.0, including installer, wheel, and cuRobo compatibility
changes |

All 305 changed non-lock files match the audited `develop` snapshot
exactly. The remaining file, `uv.lock`, matches that snapshot after
substituting the package versions from the release branch's existing
manifests; all 418 package entries were checked. Existing release
package versions, compiled changelogs, documentation routing, and OVRTX
compatibility code remain intact, including the #7880 revert. Source
commit hashes are recorded in the commit messages.

### Already present

#7866, #7870, #7867, #7869, and #7868 were included in #7851; #7819 was
backported by #7884; #7883, #7885, and #7887 were backported by #7889.
#7874, #7888, #7773, #7886, and #7042 were also already present.

The three automatic changelog/version compilation commits are excluded;
the release branch compiles its own fragments and maintains its own
versions.

## Type of change

- Release integration/backport
- Bug fixes and documentation updates
- Breaking changes already accepted for the 3.0 cloning and schema
migrations; their migration guidance and changelog fragments are
included

## Validation

- `uv run --no-sync isaaclab -f`: all checks passed using the existing
shared environment and the release base for changelog validation.
- Focused cloning, OSC feature, schema parity/shim, CLI, and task
configuration suite: **283 passed**.
- Newton fixed-root updates and CUDA runtime/capture regressions: **14
passed**.
- Complete OSC simulation suite: **21 passed**.
- Mesh-collision fragments: **17 passed**; cfg-first cloning
integration: **16 passed**; scene construction/ownership: **7 passed**.
- The above **358 tests passed with PyTorch 2.11**.
- With **PyTorch 2.12/CUDA 13.0**: installer/metadata/Docker tests **91
passed**; CPU/GPU OSC feature tests **17 passed**; complete OSC
simulation suite **21 passed**.
- `uv lock --check`: passed; release package manifests match their
lockfile entries.
- Repository skill validation: **23 skills passed**.
- File-by-file source audit, release-metadata preservation checks, and
`git diff --check`: passed.

Local simulation used RTX 5090 and Isaac Sim 6.0.1 with PyTorch 2.11 and
2.12. The full Docker image build and fresh installation matrix were not
rerun locally for this backport. Release CI uses its pinned Isaac Sim
6.1 image and remains the authoritative full integration check.
Kit-dependent suites run in separate processes to avoid loading
standalone USD before Kit.

## Release backport

Not applicable: this PR targets `release/3.0.0` directly.

## Checklist

- [x] Ran the complete pre-commit command.
- [x] Included the original migration documentation, regression tests,
and changelog fragments for every changed package.
- [x] Preserved source attribution and recorded every source commit.
- [x] Preserved the release branch's versions and existing
release-specific changes.

---------

Co-authored-by: vidurv-nvidia <vidurv@nvidia.com>
Co-authored-by: ooctipus <ooctipus@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants