diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a57f9b1..6db43ab9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,30 +1,20 @@ # Changelog -### v4.0.0-rc.0 (2024-05-03) +See the [upgrading to v4](/docs/upgrading-to-v4.md) documentation for a complete list of all API changes in version 4. -- **[BREAKING]** Update types to support more generic usage - ([#471](https://github.com/GoogleChrome/web-vitals/pull/471)) -- Fix `reportAllChanges` behavior for LCP when library is loaded late ([#468](https://github.com/GoogleChrome/web-vitals/pull/468)) - -### v4.0.0-beta.3 (2024-04-22) +### v4.0.0 (2024-05-13) +- **[BREAKING]** Update types to support more generic usage ([#471](https://github.com/GoogleChrome/web-vitals/pull/471)) - **[BREAKING]** Split `waitingDuration` to make it easier to understand redirect delays ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)) -- Cap TTFB in attribution ([#440](https://github.com/GoogleChrome/web-vitals/pull/440)) - -### v4.0.0-beta.2 (2024-04-05) - -- Fix errors when importing the library in node ([#457](https://github.com/GoogleChrome/web-vitals/pull/457)) - -### v4.0.0-beta.1 (2024-04-01) - - **[BREAKING]** Rename `TTFBAttribution` fields from `*Time` to `*Duration` ([#453](https://github.com/GoogleChrome/web-vitals/pull/453)) -- Fix onINP() attribution error due to empty entries ([#452](https://github.com/GoogleChrome/web-vitals/pull/452)) - -### v4.0.0-beta.0 (2024-03-29) - - **[BREAKING]** Rename `resourceLoadTime` to `resourceLoadDuration` in LCP attribution ([#450](https://github.com/GoogleChrome/web-vitals/pull/450)) - **[BREAKING]** Add INP breakdown timings and LoAF attribution ([#442](https://github.com/GoogleChrome/web-vitals/pull/442)) - **[BREAKING]** Deprecate `onFID()` and remove previously deprecated APIs ([#435](https://github.com/GoogleChrome/web-vitals/pull/435)) +- Expose the target element in INP attribution ([#479](https://github.com/GoogleChrome/web-vitals/pull/479)) +- Cap TTFB in attribution ([#440](https://github.com/GoogleChrome/web-vitals/pull/440)) +- Fix `reportAllChanges` behavior for LCP when library is loaded late ([#468](https://github.com/GoogleChrome/web-vitals/pull/468)) +- Fix errors when importing the library in node ([#457](https://github.com/GoogleChrome/web-vitals/pull/457)) +- Fix onINP() attribution error due to empty entries ([#452](https://github.com/GoogleChrome/web-vitals/pull/452)) ### v3.5.2 (2024-01-25) diff --git a/docs/upgrading-to-v4.md b/docs/upgrading-to-v4.md index 5cd35d57..19fc0de1 100644 --- a/docs/upgrading-to-v4.md +++ b/docs/upgrading-to-v4.md @@ -2,12 +2,6 @@ This document lists the full set of changes between version 3 and version 4 that are relevant to anyone wanting to upgrade to the new version. This document groups changes into "breaking changes" and "new features" across both the "standard" and "attribution" builds (see [build options](/#build-options) for details). -Note: version 4 is currently in beta, you can install it via the `next` tag on npm: - -```sh -npm install web-vitals@next -``` - ## ⚠️ Breaking changes ### Standard build @@ -36,11 +30,10 @@ npm install web-vitals@next #### `TTFBAttribution` -- **Removed** `waitingTime` in favor of splitting this duration into `waitingDuration` and `cacheDuration` (see below) ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)). +- **Renamed** `waitingTime` to `waitingDuration`, and also split out the portion of this duration spent checking the HTTP cache, see `cacheDuration` in the [new features](#-new-features) section below ([#453](https://github.com/GoogleChrome/web-vitals/pull/453), [#458](https://github.com/GoogleChrome/web-vitals/pull/458)). +- **Renamed** `dnsTime` to `dnsDuration` ([#453](https://github.com/GoogleChrome/web-vitals/pull/453)). +- **Renamed** `connectionTime` to `connectionDuration` ([#453](https://github.com/GoogleChrome/web-vitals/pull/453)). - **Renamed** `requestTime` to `requestDuration` ([#453](https://github.com/GoogleChrome/web-vitals/pull/453)). -- **Added** `redirectDuration` ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)). -- **Added** `waitingDuration` ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)). -- **Added** `cacheDuration` ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)). ## 🚀 New features @@ -58,3 +51,8 @@ No new features were introduced into the "standard" build, outside of the breaki - **Added** `presentationDelay`, which measures the time from when the browser finished processing all event listeners for the user interaction until the next frame is presented on the screen and visible to the user. ([#442](https://github.com/GoogleChrome/web-vitals/pull/442)). - **Added** `processedEventEntries`, an array of `event` entries that were processed within the same animation frame as the INP candidate interaction ([#442](https://github.com/GoogleChrome/web-vitals/pull/442)). - **Added** `longAnimationFrameEntries`, which includes any `long-animation-frame` entries that overlap with the INP candidate interaction ([#442](https://github.com/GoogleChrome/web-vitals/pull/442)). +- **Added** `interactionTargetElement` ([#479](https://github.com/GoogleChrome/web-vitals/pull/479)). + +#### `TTFBAttribution` + +- **Added** `cacheDuration`, which marks the total time spent checking the HTTP cache for a match ([#458](https://github.com/GoogleChrome/web-vitals/pull/458)).