Workbox Versions Save

๐Ÿ“ฆ Workbox: JavaScript libraries for Progressive Web Apps

v7.1.0

1 week ago

What's Changed โœ๏ธ

  • Updating dependencies with critical vulnerabilities, plus some other dependencies maintenance

Thanks ๐Ÿ™

  • @ansidev and @rotu for the pull requests updating dependencies.

Full Changelog: https://github.com/GoogleChrome/workbox/compare/v7.0.0...v7.1.0

v7.0.0

11 months ago

โš ๏ธ Breaking changes

  • Minimum required version Node 16

v6.5.4

1 year ago

What's New ๐Ÿ‘€

  • Webpack plugin can be extended and subclasses can access the config property [#3056]
  • In workbox-precaching during a fall back to the network, if the request's mode is no-cors, integrity will not be used and the cache entry will not be repaired. [#3099]

What's fixed ๐Ÿ›

  • Integration tests fixes [#3102 ] & [#3103]
  • Removed documentation typos

Misc ๐Ÿคน

  • updated idb and selenium-assitant versions

Thank yous ๐ŸŒฟ

  • Thank you @DibyodyutiMondal & @theghostbel for your contributions!

Full Changelog: https://github.com/GoogleChrome/workbox/compare/v6.5.3...v6.5.4

v6.5.2

2 years ago

Workbox v6.5.2 includes a number of improvements to the TypeScript documentation and exported types, which should in turn improve the generated documentation.

A full changelog is available at https://github.com/GoogleChrome/workbox/compare/v6.5.1...v6.5.2

v6.5.1

2 years ago

The Workbox v6.5.1 release includes a few changes related to our TypeScript interfaces and documentation.

A full changelog is available at https://github.com/GoogleChrome/workbox/compare/v6.5.0...v6.5.1

What's New

  • Additional inline @examples of using our build tools have been added to the TSDocs for workbox-build and workbox-webpack-plugin. [#3038]
  • The TypeScript type for the generateSW(), injectManifest(), and getManifest() methods in workbox-build has been updated from unknown to an appropriate actual type specific to each method. This should lead to better TSDoc generation and type inferences for developers. As this takes what was previously only a runtime check and moves it to a compile-time check, we believe that it should be functionally equivalent to prior releases, but if you run into problems, please let us know by opening an issue. [#3037]

What's Fixed

  • We have re-added the default export to workbox-webpack-plugin. [#3036]

v6.5.0

2 years ago

The Workbox v6.5.0 release includes a number of smaller fixes, as well as a major rewrite of the workbox-webpack-plugin to TypeScript.

A full changelog is available at https://github.com/GoogleChrome/workbox/compare/v6.4.2...v6.5.0

What's New

  • workbox-webpack-plugin has been rewritten in TypeScript, and has public TypeScript definitions for its interfaces published as part of this release. We do not anticipate any changes in the underlying functionality as part of this rewrite. [#2882]
  • A forceSyncFallback parameter has been added to workbox-background-sync, without changing the default behavior. When forceSyncFallback is explicitly set to true, workbox-background-sync will always attempt to replay queued requests when the service worker starts up and never rely on the sync event listener. Most developers will not need this behavior, but it can be useful when targeting environments that have a non-functional Background Sync implementation, like some Electron runtimes. [#3020]

What's Fixed

  • A more informative message is returned when an opaque response is erroneously used in workbox-streams. [#3001]
  • Removed a dynamic method call in workbox-background-sync which could lead to errors when run through with certain aggressive minifiers. [#3012]
  • A waitUntil() was added to the StaleWhileRevalidate strategy, ensuring that it works properly with navigation preload responses. [#3015]
  • Removed the dependency on the deprecated source-map-url package. [#3031]

New Contributors

Thank you to @roikoren755 for their contributions to the workbox-webpack-plugin TypeScript migration!

v6.4.2

2 years ago

The Workbox v6.4.2 release fixes a few issues:

What's Changed

New Contributors

Full Changelog: https://github.com/GoogleChrome/workbox/compare/v6.4.1...v6.4.2

v6.4.1

2 years ago

The Workbox v6.4.1 release fixes a few issues:

๐Ÿ› What's Fixed?

workbox-build

  • The dependency on @apideck/better-ajv-errors has been updated, which in turn addresses a security issue in one of its dependencies. [#2977]

worbox-navigation-preload

  • The inline TypeScript definition for preloadResponse was incorrect, and has been fixed to reflect the previous definition that used to be provided by the TypeScript standard library. [#2975]

worbox-strategies

  • Take request.url into account in StrategyHandler.getCacheKey(). This ensures if a custom strategy overrides the Strategy._handle() method and performs multiple cache operations on different URLs, the cache key is properly calculated for each distinct URL. [#2973]

v6.4.0

2 years ago

Workbox v6.4.0 includes:

๐ŸŽ‰ What's New?

  • We upgraded to TypeScript 4.4.3. This required us to declare inline some types that are now longer part of the TypeScript standard; see #2946 for more context. [#2950]

worbox-background-sync

  • You can check the number of requests in the sync queue with the new method size(). [#2941]

๐Ÿ› What's Fixed?

  • We upgraded @surma/rollup-plugin-off-main to patch a vulnerability from the dependency. [#2962]
  • A missing sourcemap is no longer a fatal error when running injectManifest. It returns now returns a warning and continues with execution. [#2959]

๐ŸŽ Thank you

To our new contributors in this version: @StephanBijzitter and @fuzail-ahmed!

v6.3.0

2 years ago

Workbox v6.3.0 includes a couple of bug fixes and several new features.

๐ŸŽ‰ What's New?

Allow precaching "repair" when using subresource integrity

Although unexpected, there are edge cases where the precache might not be in an inconsistent state, most likely due to a developer manually deleting something in DevTools.

When this happens, workbox-precaching defaults to falling-back to using a network response (assuming the device is online) when there's a precaching miss. Up until now, workbox-precaching hasn't attempting to use this network response to repopulate the precache, because there are no guarantees that the network response corresponds to the version of the asset specified in the precache manifest.

However, if the precache entry includes an integrity property, then subresource integrity guarantees that the response does correspond to the same version of the asset in the manifest. So it should be safe to "repair" the cache with that response. [#2921]

IDB writes use relaxed durability

This small change to the way Workbox writes to IndexedDB should lead to slightly better performance, without any appreciable downsides. [#2934]

notifyAllClients option in BroadcastCacheUpdate

BroadcastCacheUpdate uses postMessage() to notify all open tabs controlled by the current service worker about a cache update. This default behavior is not changing.

Setting notifyAllClients: false when configuring BroadcastCacheUpdate and the associated plugin will result in postMessage() only communicating the update to the specific window client that triggered the fetch request which resulted in the cache update. [#2920]

All WorkboxEvents TypeScript types are now exported

This enhancement makes it easier to use TypeScript to write workbox-window event handlers. [#2919]

Debug logging when caching responses with Vary: headers

The presence of Vary: headers on a cached Response can make it difficult to properly match and delete cache entries. To make it clearer to developers when this is happening, the development builds of Workbox will now log a message to the console when a Response that's being cached includes a Vary: header. [#2916]

๐Ÿ› What's Fixed?

workbox-cli

  • Update to chokidar dependency, for better node compatibility and to eliminate security warnings. [#2913]

workbox-precaching

  • Preserve all request headers in PrecacheCacheKeyPlugin. [#2914]