jasmine icon indicating copy to clipboard operation
jasmine copied to clipboard

Planned phase-out of Karma and Zone.js compatibility

Open sgravrock opened this issue 2 months ago • 1 comments

Karma was deprecated in April 2023. It's still tied to jasmine-core 4.x (although it can be used with 5.x with an NPM override) and ~there's no reason to think it will ever be updated for a newer version~ it's not clear whether it will be updated for future major versions of Jasmine. I'm planning to phase out compatibility with existing Karma software as follows:

  • The upcoming 6.0 release will remain compatible with karma-jasmine 5.1 but emit deprecation warnings.
  • 7.0 will break compatibility by removing deprecated APIs that are only there for karma-jasmine 5.1.

This is a plan, not a commitment, and it could change in response to events. For instance, I'd likely go ahead and drop karma-jasmine 5.1 compatibility in jasmine-core 6.0 if Google signaled an intent to update Karma or if Karma stopped working with current browsers.

sgravrock avatar Oct 21 '25 23:10 sgravrock

Angular 21 defaults to vitest and zoneless. Even if karma-jasmine were updated for jasmine-core 7.x, which would surprise me very much, the new Angular defaults would greatly limit the number of users who benefit from continued zone.js compatibility. In addition to dropping deprecated APIs, I'm planning to block monkey patching in 7.0. That will break zone.js, leaving the entire legacy Angular toolchain behind.

6.x will likely be pretty short lived. Schedule's TBD, but I'd certainly like to rip the band-aid off in less than a year.

sgravrock avatar Nov 28 '25 18:11 sgravrock