Chromium's removal of deprecated WebGPU APIs

Hey WebGPU-interested folks,


tl;dr: Chromium will continue to add new WebGPU APIs, but slow its removal
of deprecated APIs (those removed from the spec) in order to loosen the
coupling of sites/projects to Chrome releases and ease those deadlines.
Removals will still occur prior to 1.0 (and some earlier). While breakage
should occur less often, it remains important to keep your applications up
to date for the transition to 1.0!


Since the WebGPU spec is not stabilized, Chromium/Dawn have been operating
on a rolling-deprecation model: when a breaking change is made in the spec,
we deprecate the old API for a few releases (with warnings) and then remove
it. These removals are breaking changes which roll out on an ongoing basis
to Chrome Canary, and then ride the train out to Chrome Stable.


The ongoing maintenance cost of these breaking changes has been very high,
because there are many projects using WebGPU or Dawn, which all need to be
updated. Emscripten, in particular, sits between webgpu.h and WebGPU, and
it’s difficult to coordinate updates so that it is compatible with the
whole range of Chromium versions between Chrome Stable and Canary. Now,
Emscripten will not be forced to update as often (though it will spew
warnings, and can optionally be updated once deprecations reach Chrome
Stable).


Some tech debt will accumulate in Dawn and Chromium due to the retention of
deprecated APIs, but this should be manageable thanks to the slowing pace
of breaking spec changes. We plan for most breakages to happen all in one
release, closer to 1.0, but in more debt-inducing cases will make some
removals earlier. Again, removals will occur at various points prior to
1.0, so please keep testing in Chrome Canary, and stay on top of
deprecations as they reach Chrome Stable, to ensure a smooth transition
into the 1.0 release.

-Kai (he/they)

P.S. This message is BCC'd to many mailing lists. If you reply, be sure to
CC the appropriate mailing list and not just me. :)

Received on Tuesday, 29 March 2022 22:00:46 UTC