This issue is to track potential improvements to Karma, which require breaking changes. It will be updated with more points as I discover them.
socket.io to ws to simplify code and reduce amount of dependencies (WebSockets are supported in any reasonably alive browsers, so it may be a good point for a switch as we no longer need fallback mechanisms with only IE 11 supported)customFileHandlers provider once ecosystem is readyhttp2 module. It was implemented over a long deprecated https://yarnpkg.com/package/http2 package. WebSockets in general (https://github.com/websockets/ws/issues/1458) and socket.io, in particular, do not work over HTTP/2 (https://github.com/socketio/socket.io/issues/3564). Node's http2 module is not compatible with http and https, so we'll have to build some complex adapters. And on top of that, the current implementation does not seem to work at the moment (https://github.com/karma-runner/karma/issues/2761).parseConfig() flags introduced in https://github.com/karma-runner/karma/pull/3660 and https://github.com/karma-runner/karma/pull/3635 and enable behavior by defaultparseConfig() resolve configFile path relative to the CWD instead of relative to the karma/lib/config.js to make programmatic API and CLI work the same (https://github.com/karma-runner/karma/issues/1636)basePath or CWD@johnjbarton Since we merged #3586 with the breaking change, next release will be 6.0.0. What do you think about the points described in this issue? I'm thinking to start opening PRs for them, ending with "Drop support for legacy browsers", which should fix CI on master (currently fails in Safari 9) and publish 6.0.0 containing all the breaking changes in one release.
Some of these would be great. The ws one seems like it could take a bit to get right. Let me check on IE<11.
At present it seems like our semantic release is broken. So to prevent a release I need to stop trying to get it work or otherwise disable it. I'll look in to the latter.
I don't want to wait too long however.
No problems. I'll try to get PRs up in the coming days.
@johnjbarton Created a PR for deprecated API removal (actually there were not so much to remove 馃槃).
Everything else described in this issue depends on the dropping of legacy browsers support, so I'll wait for the confirmation that we can actually drop this support before I start implementing the rest.
I think we should stick with the shorter list for v6, including the reconnect changes I am working on. We can then start v7 immediately focusing on the IE<11 code. Any v6 issues will be cleared up then.
Ok I think that when I land #3598 the releases will start. If not then I will focus on why not.
Plan to land #3601 and #3585 first, after reviews.
If you land https://github.com/karma-runner/karma/pull/3605 too, you can say that v6 will have full module support... :-)
I believe that #3609 will cause the release to happen. But then again I said that before....
Most helpful comment
I think we should stick with the shorter list for v6, including the reconnect changes I am working on. We can then start v7 immediately focusing on the IE<11 code. Any v6 issues will be cleared up then.