Description
If you're trying to upgrade your (or someone else's dependencies) you may want to see A note about upgrading dependencies from version 9 version 10 big picture
A recent vulnerability has brought the topic of version 9 support back into the forefront. The core team doesn't really have the time or focus to maintain two very different forks of the project. Especially since the version 9 only truly exits to service a tiny audience (IE11, <1% browser share by caniuse.com). We were kind of OK letting it live a bit longer as long as it didn't require any time/effort from us, but that's no longer proving to be the case.
- Many, many issues and bugs have been fixed since the v10 release.
- Many, many new features have been added.
- Many grammars highlight WAY better than they did previously.
- The v10 parsing engine is so much more flexible and reliable.
- There are quite likely numerous vulnerabilities we've fixed along the way without even realizing it.
It's so obvious that v10 and modern browsers (released in the last ~4-5 years) is where we need to be focusing our time, not supporting very old browsers. So if you're still using version 9:
If you aren't supporting IE11 users (or others with very obscure browsers)
You need to upgrade to v10. No question. For 90% of simple cases it's a trivial upgrade. For complex integrations it may be a bit more effort (like most things). https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md
If you're supporting IE11 users (or others with very obscure browsers)
Someone truly requiring IE11 support for "enterprisey" projects should perhaps look at Prism.js, which is a great project that still supports IE11. Or perhaps consider maintaining their own private fork of version 10 that supports IE11. This should still technically be possible now (AFAIK) but may prove more difficult as time goes on.
So here is the current plan:
- One last v9 release (security fix).
- That release's release notes will mention the EOL and link to this issue. (and perhaps spew some other output, need to look at what is possible with npm).
- That release itself (and the current v9 release) will both be marked deprecated with a message to upgrade to v10.
- We may mark other prior releases deprecated as well. I'm really curious why more npm projects don't do this. Does anyone know?
- SECURITY.md will be updated accordingly.
- v9 support will then be official EOLed.
So v9 users would want to upgrade to the latest v9 release and then either start working on upgrading to v10 or come up with other plans.