In our usual way, QUnit 3.0 will be a trivial release that adds no features, but only removes deprecated functionality and/or changes default settings.
Users should be able to update to the latest QUnit 2.x release and get all the same new capabilities. Anything that passes on the latest QUnit 2.x without warnings must pass on QUnit 3.0. Anything we want to change in QUnit 3.0 should be deprecated or issue warnings on QUnit 2.0 so that users can gradually address these warnings, and then perform an super simple, uneventful, upgrade to QUnit 3.0.
Before QUnit 3 development starts
QUnit 3 development
Notable changes:
Other work:
Other ideas
In our usual way, QUnit 3.0 will be a trivial release that adds no features, but only removes deprecated functionality and/or changes default settings.
Users should be able to update to the latest QUnit 2.x release and get all the same new capabilities. Anything that passes on the latest QUnit 2.x without warnings must pass on QUnit 3.0. Anything we want to change in QUnit 3.0 should be deprecated or issue warnings on QUnit 2.0 so that users can gradually address these warnings, and then perform an super simple, uneventful, upgrade to QUnit 3.0.
Before QUnit 3 development starts
QUnit 3 development
Notable changes:
QUnit.load(deprecated in Deprecate QUnit.load #1084).QUnit.onError(deprecated in Core: Newerrorevent for bailing on uncaught errors #1638).QUnit.module(ref Detect and warn when async function is passed to module() #1600).beforefrom parent modules, same asbeforeEachtoday (ref Share 'before' hook test environment with child module #1328).Other work:
Other ideas
qunit/subdirectory in favour ofdist/(ref Phase out dist/ folder in favour of qunit/ #1133). We ended up doing the reverse instead, thus not a breaking change, and already done during 2.x.step(..)/verifySteps(..)is surprising (and undocumented!) #1226).QUnit.module(deprecated in Merge modules with same name (or treat as error) #1162).