QUnit 3.0 Roadmap
@Krinkle is already working on this.
Since May 29, 2024.
Assessment
This issue has not been assessed yet.
Description
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
- Complete 2.x release milestone (especially deprecations), at https://github.com/qunitjs/qunit/milestone/11
QUnit 3 development
Notable changes:
- Remove
QUnit.load(deprecated in https://github.com/qunitjs/qunit/issues/1084). - Remove
QUnit.onError(deprecated in https://github.com/qunitjs/qunit/pull/1638). - Remove support for PhantomJS in HTML Reporter (ref https://github.com/qunitjs/qunit/pull/1505).
- Remove support for Bower distribution (ref https://github.com/qunitjs/qunit/issues/1677).
- Remove support for AMD export. https://github.com/qunitjs/qunit/issues/1729
- Remove support for Node 10-16, require Node 18+. https://github.com/qunitjs/qunit/issues/1727
- Remove support for IE9-IE10. https://github.com/qunitjs/qunit/issues/1725
- Reject async functions in
QUnit.module(ref https://github.com/qunitjs/qunit/issues/1600). - Change module hooks to inherit
beforefrom parent modules, same asbeforeEachtoday (ref https://github.com/qunitjs/qunit/issues/1328). - Enable test timeouts by default (ref https://github.com/qunitjs/qunit/issues/1483).
- Fix unsemantic element in HTML Reporter (ref https://github.com/qunitjs/qunit/issues/1301).
Other work:
- Complete 3.0 release milestone, at https://github.com/qunitjs/qunit/milestone/12
- Write "QUnit 3.0 Upgrade Guide" page on qunitjs.com. https://github.com/qunitjs/qunit/issues/1808
Other ideas
- Release: Discontinue
qunit/subdirectory in favour ofdist/(ref https://github.com/qunitjs/qunit/issues/1133). We ended up doing the reverse instead, thus not a breaking change, and already done during 2.x. - Core: Separate module options (ref https://github.com/qunitjs/qunit/issues/923).
- Assert: Support differentiating -0 and +0 (ref https://github.com/qunitjs/qunit/issues/1010).
- Assert: Step counter (ref https://github.com/qunitjs/qunit/issues/1226).
- Reject duplicate module names in
QUnit.module(deprecated in https://github.com/qunitjs/qunit/issues/1162).
- Dominant language
- JavaScript
- Stars
- 4k
- Forks
- 773
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from qunitjs/qunit
-
Category: Docs Type: Enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Component: Core Type: Task
-
Category: Docs Type: Enhancement
-
Component: Core Type: Enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Component: Dump Component: HTML Reporter Type: Bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Similar issues
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100