- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
For the terminally curious, the ORM in question is Pulp, and the said breaking change is moderately recent, 3.18.0, released in 2022-02-22. Citation: https://github.com/pulp/pulpcore/blob/main/CHANGES.rst
You'd think that people would know better in 2022, and apparently you'd be wrong.
Admin
How right you are, about "people would know better in 2022", and not just about this ORM business, but many other things, as well. :)
Admin
Not an accurate summary of the situation. Nearly all of the plugins for this software are maintained by the same team. You only see the warning if you use an newer version of the core with an older plugin. There are no plugins for which this hasn't been fixed, all you have to do is upgrade the plugin.
Admin
I found a version with a working link to "why is this a thing and what (if anything) should it be replaced with?" at https://docs.pulpproject.org/pulpcore/changes.html?highlight=access_policy_viewset_name
(Answer: Nothing, they realized it was redundant because they could already derive it from other things.)
Admin
And yes, full disclosure, I'm on that team - but it's also just false to call this a breaking change. It will work fine and if for various reasons you don't want to upgrade the plugin in question you can silence the warnings without too much trouble.
They are much more annoying than intended, and that sucks. Apologies. But which versions of which components people decide to use together is not under our control. It would be much easier if we forced everything to be packaged together and provided the user no flexibility to upgrade components at a different pace, but we don't do that, we try to provide that flexibility unless there is truly a breaking change...
Admin
Props for the disclosure, and thanks for the analysis. I'd also like to apologise for my comment, which ended up being slightly harsher than was really justified by the realities of the situation.
Admin
So should this be filed under "Why the F is this a WTF?"
Admin
This is hardly a WTF. As Daniel explains, if you upgrade both the core and the plugin, you're fine. And even if that wasn't the case: no one forces you to upgrade at all. This update should probably have been a major release, but that's not WTF material.
Admin
Yeah, this article makes no sense whatsoever. The text implies that the library developers suddenly decided that library users shouldn't subclass the BaseModel class anymore, but the code snippet doesn't remotely imply that. It's just warning that setting a particular attribute isn't necessary anymore - and if you don't remove it, it won't break anything, it's just cluttering up your code a bit. The only way this could be a breaking change is if you have warnings being treated as errors somewhere, but if you do that, you should expect to have to fix such things every now and again.
Admin
using a compiler warning instead of a log message was out of scope?
Admin
In Python? Yes.