Don’t Update Your Theme (From _s)

I recently attended Steve Zehngut’s session on Underscores at WordCamp Los Angeles, where I was surprised to learn that a lot of developers are unsure how to update their themes with the changes we make on _s.

Version-less _s

For that we decided to make _s version-less, to prevent the feeling you need to update your _s-based themes with these constant changes. With no real roadmap, previously we bumped the version number arbitrarily whenever we felt like it, with a big enough change. The last time we “released” a new version was eight months ago. Since then we made over 200(!) commits with big and small changes. As I said, arbitrary. The version number is meaningless for a starter theme anyway – when you start a new theme you just go to underscores.me and download its latest version (have you tried out the advanced options yet?). It doesn’t really matter what version number it has.

Let’s take another look at the philosophy around starter themes:
Starter themes are meant to provide a platform to work from. They are meant to be worked on and customized. The code you download from underscores.me is a snapshot of what we and contributing volunteers think is the best possible starting point for themes. This snapshot might look differently tomorrow, and that is okay. It’s just a starting point.

Keep your theme updated!

Please keep updating your theme, though! Just not with the _s-specific changes. When we see shifts in paradigms with WordPress themes or markup standards or CSS techniques, we try to integrate those into our themes in a timely manner. And so should you. Not because we updated it in _s, but because it’s a shift in paradigm, and you’ll want to keep your theme up to date with all the latest and greatest in theme development.

But don’t keep it updated from _s!

Here is a list of reasons why you should not update your _s-based theme with our changes to _s:

  • Most likely your theme code will have evolved to a degree where merging _s changes would lead to conflicts. They also won’t be applied to anything you created on top of it.
  • We are in the unique situation to not having to worry about backwards compatibility when we commit changes. And we don’t!
  • Once you release your theme, you’ve probably fixed all the things in _s that needed fixing for your case. Just because we push an update to _s, it does not necessarily mean it applies to your theme.

Exception

One common exception to this would be if you maintain personal fork on GitHub. It serves as your individual starter theme and if you deem changes to _s worth taking over, please feel free to do so. Unless your fork is so vastly different from _s that updating your version would be a pain of course.

Feel free to comment with your questions and thoughts, we’ll be happy to answer them!

2 responses

  1. […] Don’t update your theme → […]

  2. I’ve been pulling all new commits to _s into my theme and its working great. I sometimes get merge conflicts, but they are easily resolved.