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"
-
Don't you love it when there is a new minor release or a critical dependency and it breaks backwards compatibility without mentioning any of it in the changelog or docs?
I absolutely love it! ❤️❤️❤️❤️❤️
I certainly did not waste 3 hours of my life to find it. No i didn't. -
-- So you like npm? Upgrade to version 5 to use its sweet features!
OK. Let's run `npm install npm@5`. Erm, my npm is now a broken mess, not finding `semver`.
-- Well, since you like npm you also will like yarn! It's just facebook's npm. So run `npm install yarn -g`
Yeah, but I wanted `npm@5` not `yarn`.
-- Then just run `yarn global add npm@5`. You then have npm@5.
(╯°□°)╯︵ ┻━┻
And yes, that works.5 -
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 -
Are Apple engineers incompetent or just jerks? How a patch update breaks so many things that I'm forced to update xcode and then xcode forces me to update the whole fucking system!?
Perhaps they just don't care about semver and break thinks whenever they feel like it..8 -
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 -
I just "had to" send a tutorial on semantic versioning to my boss the other day. he was like, wait, i thought we were further along than 1.1.1, didn't we release 1.0.11 before?
idiot.3 -
To the reactjs-centered fucks who develop the popular web component viewing software called storybook: have you ever heard about semver?
89 alpha/beta/rc releases for a minor update 6.3 -> 6.4 with "100's of fixes and enhancements" "in preparation of the HUGE 7.0 release". Gee I wonder will it have 1000's of bugfixes? How bug-ridden is this software?
Every minor upgrade since 5.x is backwards-incompatible and requires a day of frustration finding out in how many more fucking NPM packages you split your codebase just because it's cool. I know move fast and break things, but some of us have other things to do than resolving node_modules incompatibilities you know. "No just hit 'npx sb upgrade' you say". I did, I really did! And the browser showed a blank screen of death with tons of cryptic React errors, it really did! Thank God you abstracted away all your dependencies in that sb command, now you can't even read the docs about what could have gone wrong with a specific sub-package. You have @storybook/html but the docs redirect to React pages, so good luck if you use something else
This is so sad... like.. the IDEA of storybook is great. But why did faith put the capacity to develop such a tool into the hands of people who think the world centers around React and JSX.. HTML should have been the default, and then you build on top of that for your fav framework, not the other way around -
anybody just love those oPeN sOuRcE libraries that COMPLETELY change their libraries syntax on a minor version change? like bro, do you even semver?
i've said it once and i'll say it again: open source will be the death of me10 -
Fuck MS, why couldn't you update the NuGet API URL when NuGet updated? The warning on nuget.org states,
"This package will only be available to download with SemVer 2.0.0 compatible NuGet clients, such as Visual Studio 2017 (version 15.3) and above or NuGet client 4.3.0 and above"
It says nothing about using the V3 endpoint, so if you''re like me and updated NuGet to 4.5 and still got nothing but
"NU1101: Unable to find package Foo.Bar. No packages exist with this id in source(s): https://www.nuget.org/api/v2/"
...then you'll be very confused until it strikes you that there might be a new API version. Even if MS doesn't want to deprecate the V2 API just yet, it would be awfully nice to just state on the frickin' site that not only do you need NuGet >= 4.3.x, but also the correct feed URL.
$_DEITY knows how many dev-hours have been lost to this shit. -
When the library you're using doesn't follow semver and introduces breaking changes with a path version... (I'm looking at you, ParseServer!)1
-
Last week I conducted a FE React-JS tech interview (high-level, no coding challenge) with a potential new hire. He knew his stuff in React 16.8+ but I was baffled npm install was the only npm command he could name, he'd never heard about semver, never used SASS, and didn't have any Nodejs exp. I asked him to name a tough situation he encountered and solved in React, and he said "too many re-renders, so we used useMemo and useCallback" but that's kind of basic and it was evident he didn't understand this meant passing props by reference under the hood. So I wrote a very mixed report, but this is only the 3rd interview conducted. Was I too harsh? To me this signaled a lack of curiosity (especially for a self-taught programmer which he was). My manager was kind of disappointed about the guy following my report.
-
#Suphle Rant 8: Strange star discovered
I was searching for a project I'd starred earlier, on my github feed, when I realised a user had starred suphle at some point but for some reason, it wasn't reflecting on the stargazers. I was half overjoyed and half confused. Overjoyed over unlocking the milestone.
User seemed legit –an Italian with projects in C that were not forked. Followers and commit graph are organic. Did he star in error, feel the project is a stinker, or encounter installation challenges? Luckily, I found his email address but all his repositories are in Italian so I wasn't too sure he'd understand English, or if the mail was being attended to. Yet, I took my chances
He surprisingly got back to me, affirming that the star-unstar was actually deliberate. He withdrew the star cuz project's documentation is not hosted online and still requires npm start.
I try to persuade him by reminding him it's just a one liner but that markdown files are equally rendered directly on github. Never heard from him again, sadly
I'm kind of bothered cos I find it funny I thought suphle's APIs are all cast in stone, but the more I work on the docs, the closer I am to spotting something that doesn't sit right with me, and diving in to modify it. This not only prolongs ETA, there's the risk of someone who may have stumbled upon it and is studying it, having the rug pulled from under their feet. Things like validator rules and route-collection service-coordinators have been converted from methods and classes to native decorators. I guess I'm safe since nobody has indicated any signal to the contrary. It'll be pedantic to start tagging versions for each change.
Another consideration is that these breaking changes would go to the first segment of the semver scheme, which is hilarious because the rate at which I push such changes is so alarming, we'd probably progress through 15 versions under a year12