The week of April 20th saw a lot of WordPress related updates:
- WordPress 4.1.2
- WordPress plugins with a major security issue
- WordPress 4.2 and 4.1.3
- A bunch of themes fixing the same issue plugins had
- WordPress 4.2.1 and 4.1.4
I don’t know about you, but even with automated updates, I was tired of all the updates. I was also tired of explaining to people that, yes, those security issues were a massive hole and yes, they did need to be patched. And yes, I know it’s annoying to get all those emails and have to test all the things because not every plugin or theme is created equal.
In the midst of all that, I noticed one of my plugins had updated 6 times in ten days. That’s pretty much an update every other day and you know what? That’s way too much.
If I have to update your plugin every few days for minor releases, I’m going to stop using it. Update when you:
- have a point release
- are fixing really important bugs
Other than that, if you update every few days for minor changes, I really am stopping using your plugin because you are making my life annoying. You’re why people hate updating. You’re why they stop.
There are valid reasons for multiple releases in a week, like bug fixes for 0-day security holes that have already been publicly disclosed. But in this case, it was all minor changes, like adding languages and so on.
That was useless and pointless and annoying. Okay, fine. Maybe not useless or pointless. Those are important things to update. But when should you update them? Not every day, certainly, nor even every week. If you look back on my two simple rules for when you should update, consider them seriously.
Is this a bug or a new feature?
New features means new major revision unless there’s a reason not to. My plugin Genericon’d keeps pace with Genericons’ versioning, so while they’re on 3.3, I will update 3.3.1 with a new feature. The majors are at their behest, so I have to take control over minors only. It’s not ideal. I hate it but it’s the best way to make sure people know “Hey, this has version 3.3 of Genericons!”
New languages aren’t bugs nor are they really features, but they should only be added if there’s a major release. Alternately, you can slip them into a bugfix, but they shouldn’t be your only fix. As for the person who really needs the language? Make them available on git or svn and tell them to download and put it in the /wp-content/languages/plugin/name/
folder. Not ideal, I agree, but it’s a majority/minority issue.
How often should you patch bugs?
Is it a zero-day exploit, released in the wild, bug that’s breaking sites right now?
RELEASE THAT SUCKER!
Is it a minor bug that annoys you but doesn’t cripple the site? Make a dev branch, fix it, but don’t push the release just yet. Wait until you have a lot of bugs fixed. Or wait until you have the next major release.
Take a page from how WordPress.org pushes minor releases. Fix the bugs that need fixing. Solve the security problems. But updating every day? Not a great experience for anyone.
Opps! You missed a critical bug!
That happens. Update the plugin right away. Yes it sucks but see the bit I bolded above? That’s your exception. If you break something, fix something. We pushed 4.1.3 because we broke sites with 4.1.2. Period. Fix it.
But you’re sure people really want this new thing!
Maybe, but people also really don’t want to be hassled and you’re hassling them. People have (understandable) concerns about updates. They worry about bug fixes. They worry about how your change will impact all their other plugins and themes. Keep that in mind before you push a change or a fix.
Did you update that changelog?
It’s your code diary. For every good commit message there should be a good changelog entry. Just do it. You’ll be thanked.
Comments
2 responses to “Update Fatigue”
For language updates, I send the .mo file to the translator and anyone who asks; it goes into the next bugfix / feature release.
That week of the 20th was a bugger. We had a blackout here for a week, starting the evening of the 20th (Aussie time). I awoke to read (on my phone) that everything was updated and needed compatibility testing. What hurt most was that some plugins (e.g. WooCommerce… grrr!) released the security fix with a bunch of other changes, which meant I couldn’t just tell clients to update.
So perhaps another rule: if you have an urgent security fix to get out, don’t bundle it with a bunch of other changes that need compatibility testing!
Maybe WP can ‘borrow’ #PatchTuesday π‘ … that’s a good system, right?!?? π … although that would mean I could not use Blizzard ‘down time’ to do stuff on my WP sites π