Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "semver versioning"
-
I was working with a stable installation of an elaborated platform. Some plugins were installed. After upgrading the installation by 2 patch level the customer registration was not working anymore.
In these two patch level a method in an interface got an additional optional parameter which had a major impact on the behaviour the implemented method. A plugin decorated the implementation without knowing about the new parameter. Therefore when calling the method the decorating class did not pass the new parameter in to the decorated implementation and the fallback value was given instead.
The caller expected the method to do something and did not branch into an alternative way but the default value disables the expected behaviour. Eventually nothing happened.
Breaking changes in patch levels woop di fucking do.2 -
Working on another SaaS product, and now I've run into a "fun" conundrum that is hard to determine cleanly in an automated fashion.
I'm certain it's stupid bullshit opinionated conventions like this as to why so many devs are driven to burnout and bitterness...3 -
Here comes my rant about versioning.
Why don't you use semver? Or something that makes fucking sense?
I've been banging my head against this lib that was required, wondering why the thing was crashing everywhere, for hours. Then I had to dig through its code, for a while too.
And then I finally discover that, from 1.3.9 to 1.4.0, half of the API changed and was backwards incompatible. Yay. Also, one would think that's a thing worth of mention in the docs, but why bother right?
Uggggh