Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[multibody] Deprecate FrameBase for removal #21891

Merged
merged 1 commit into from
Sep 11, 2024

Conversation

jwnimmer-tri
Copy link
Collaborator

@jwnimmer-tri jwnimmer-tri commented Sep 11, 2024

Amends #21853.

So although this is technically a breaking change I'm not deprecating it because there is ~zero chance anyone will be affected.

That's not the rules we agreed to live by. The rule is:

On very rare occasions it is impractical, too expensive, or logically unsound to meet the full three month deprecation window. In these cases the change will be announced in the “Breaking changes” section of the release notes.

-- https://drake.mit.edu/stable.html

This took me less than five minutes to fix. That is neither "impractical" nor "expensive".


This change is Reviewable

@jwnimmer-tri jwnimmer-tri added priority: high status: single reviewer ok https://drake.mit.edu/reviewable.html release notes: newly deprecated This pull request contains new deprecations labels Sep 11, 2024
@jwnimmer-tri
Copy link
Collaborator Author

+@sherm1 for both reviews, please. High priority to fix this prior to the release this week.

Copy link
Member

@sherm1 sherm1 left a comment

Choose a reason for hiding this comment

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

I'm not clear on what you did here, Jeremy. This just looks like undoing what I did before. I don't see any issued deprecation warnings? If someone were actually including frame_base.h directly or referencing FrameBase (extremely unlikely as I said before), they would still get no warning and then on 1/1/2025 they will get hit with a surprise breaking change. (IMO it would be miraculous if they actually saw the FrameBase comment you added.)

Did you intend to issue a warning?

The reason I think my tactic was consistent with the guidance you quoted above is that it would have taken me at least an hour to figure out how we are supposed to properly deprecate a header file that is going to be removed. I remember there is some way to do that but it has been so long I'd be starting from scratch. Given my belief that this is just busy work since no one in their right mind would be referencing frame_base, I think the expense is not worth the (lack of) reward.

Reviewable status: LGTM missing from assignee sherm1(platform)

@jwnimmer-tri
Copy link
Collaborator Author

I don't see any issued deprecation warnings?

Per our policy, the canonical inventory of deprecation warnings is the release notes, not the compiler warnings:

Deprecation announcements appear in the release notes for each stable release. For C++ and Python API changes, we will also use the language mechanism to highlight the change when possible ... monitor the release notes as the final arbiter of deprecation announcements.

-- https://drake.mit.edu/stable.html

Did you intend to issue a warning?

No. The release notes are sufficient.

The reason I think my tactic was consistent with the guidance you quoted above is that it would have taken me at least an hour to figure out how we are supposed to properly deprecate a header file that is going to be removed.

I agree you should not spend an hour on it. As you say, trying to use the C++ markers to flag this deprecation is very difficult because the base class is still actively part of our inheritance hierarchy, and because the header file is still included from our public code. Instead, you can pause and ask for help and I would have told you that one line of documentation and a PR label was all you needed.

Copy link
Member

@sherm1 sherm1 left a comment

Choose a reason for hiding this comment

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

TBH I think this is a waste of time. However, :lgtm: x 2 if you insist.

Reviewed 3 of 4 files at r1, 1 of 1 files at r2, all commit messages.
Reviewable status: :shipit: complete! all discussions resolved, LGTM from assignee sherm1(platform)

@jwnimmer-tri jwnimmer-tri merged commit 2f6ec7d into RobotLocomotion:master Sep 11, 2024
9 checks passed
@jwnimmer-tri jwnimmer-tri deleted the frame-base branch September 11, 2024 19:02
RussTedrake pushed a commit to RussTedrake/drake that referenced this pull request Dec 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high release notes: newly deprecated This pull request contains new deprecations status: single reviewer ok https://drake.mit.edu/reviewable.html
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants