What's new?
The v2.0.0 introduces a few breaking changes to interfaces, along with bug fixes and new functionality. Please read carefully before upgrading!
Note that all Workbox packages have been tagged with the 2.0.0 version number on npm
, regardless of whether they have breaking changes or not.
Breaking changes
workbox-cli
- Move towards using 'workbox' over 'workbox-cli'.
Theworkbox-cli
alias for the command line interface is now deprecated, in favor of the preferredworkbox
alias. Usingworkbox-cli
will log a warning message, and it will be removed as an alias in a future release. Developers are encouraged to switch to usingworkbox
now.
workbox-routing
- No longer register a fetch handler for each Router by default
We've made registering afetch
handler optional, allowing developers who want more control to use theRouter
class from inside anyfetch
handler.
Developers who are using theworkbox-routing
module directly can callrouter.addFetchListener()
to mimic the previous behavior.
workbox-runtime-caching
- Rename cacheWillMatch to cachedResponseWillBeUsed
Developers who have implemented their own Workbox plugins that respond tocacheWillMatch
lifecycle events should rename the method they expose tocachedResponseWillBeUsed
. Developers using the pre-made plugins do not need to change anything. - Adds JSDocs for the lifecycle methods, and awaits the return of each.
The underlyingRequestWrapper
object that triggers request lifecycle methods will now alwaysawait
the methods' return values. No changes should be necessary unless you've implemented your own plugin which returns a Promise and you do not want the RequestWrapper to delay while waiting for it to resolve.
New features
workbox-range-requests
- New library to support Range requests
This allows Workbox to honor theRange:
request header when fulfilling requests for cached resources. This comes up often when playing back cached media content.