We're now doing releases of highlight.js on a cadence of 6 weeks. The latest release 8.8 was the second in a row (which is what technically allows me to write "are now doing").

The reason for that is we (well, mostly me) had a certain difficulty deciding when to actually release something. We don't develop new grand features on a regular basis, all that's happening is bug fixes, new language definitions and new styles. And releasing a new version for every little change is going to annoy end users and drive downstream maintainers mad. So releases tended to happen pretty much by chance. Like someone would ask on a random GitHub issue when is the next release and I would think, why not right now?

This anarchic approach actually worked for some time while the project wasn't going too fast. But as this has changed in the recent couple of years and as I've had left users stranded waiting for a new release for months on a couple of occasions I though it's time to get more serious.

Our release process is now quite simple, too. A maintainer only has to document the changes, update the version number and push it all to GitHub. GitHub then pings a certain API handler on highlightjs.org and the site does everything else:

The process is still fragile but bugs are getting fixed and it's anyway immensely simpler than doing it all manually.

See you next on October, 20th!

Comments: 2

  1. Yuriy

    What about Jade?

  2. Ivan Sagalaev

    What about Jade?

    No idea. Nobody wants to do it, apparently.

Add comment