Ava: Which Node.js versions to support?

Created on 25 Sep 2016  Â·  12Comments  Â·  Source: avajs/ava

Node.js is about to drop all support for the 0.10 and 0.12 releases. AVA currently targets 0.10 and is undoubtedly used to test a lot of modules and applications that also support 0.10.

I don't think authors should drop support for older Node.js versions _just because_. Ideally it happens as part of other breaking changes, or because critical bug fixes in dependencies are only available in newer Node.js releases.

I do expect it to become rapidly more difficult to maintain code that targets Node.js 0.10 or 0.12.

Which is why I'm thinking that AVA should drop 0.10 and 0.12 compatibility. Existing projects can use the most recent AVA version that is compatible, until they upgrade for other reasons. We could consider waiting until early 2017 if we don't want to be the first dependency to drop support (though there's already a growing amount of packages who's most recent version is not compatible).

If you use AVA in a project that targets 0.10 or 0.12, are you planning on dropping support soon? If not, would you be happy using an increasingly outdated version of AVA until you do?

question

Most helpful comment

Proposed plan:

  • Release 0.17.0 as last actively maintained version with Node.js 0.10/0.12 support. That means it might get some bug fix releases, but no new features.
  • Release 0.18.0 requires Node.js 4
  • Drop total support for 0.10/0.12 at the end of the year.

All 12 comments

Dropping support for those versions would make a lot of our code simpler and enable us to upgrade many dependencies that now require Node.js 4. Although test runners are unfortunately usually the last projects to drop support for older versions... If it were up to me, I would drop support today, but I know people depend on this in production, so that's not what we're going to do. I like the idea of maintaining an LTS version of AVA though, which only gets critical bug fixes.

Leaving asides discussions on 1.0 releases and stable versions, I'd be happy to declare 0.16 / 0.17 to be a special < 4 compatible, critical bugfix only release. And then we can just move on.

Presumably the critical bugfixes will be dealing with dependencies that start to require newer Node.js releases anyway…

@novemberborn I'm open to that. Let's see what the rest of @avajs/core thinks about it.

I'm excited about LTS + stable plan as well. Big +1 from me.

Question is, when should we stop maintaining LTS for 0.10/0.12? It shouldn't be too long, because it will drag us down more and throttle development of the main branch.

Question is, when should we stop maintaining LTS for 0.10/0.12? It shouldn't be too long, because it will drag us down more and throttle development of the main branch.

After the next release?

Proposed plan:

  • Release 0.17.0 as last actively maintained version with Node.js 0.10/0.12 support. That means it might get some bug fix releases, but no new features.
  • Release 0.18.0 requires Node.js 4
  • Drop total support for 0.10/0.12 at the end of the year.

Sounds good to me.

Drop total support for 0.10/0.12 at the end of the year.

So no more bug fixes for 0.17? Fine by me.

Yes

Totally on board!

Year has ended. Is this still an open issue?

Yes. We can close this. The version in master targets Node.js 4.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

clitetailor picture clitetailor  Â·  3Comments

nickjanssen picture nickjanssen  Â·  4Comments

ehmicky picture ehmicky  Â·  4Comments

leegee picture leegee  Â·  4Comments

fleg picture fleg  Â·  3Comments