Release v2.0.1 (28.11.2019)

Bugfixes

  • Fix network error when Dynamic Block request follows redirect

Release v2.0.0 (29.10.2019)

Bugfixes

  • Install Speed Kit without mutual IndexedDB access (Safari inkognito mode)
  • Use high expiriation for SpeedKit.userId and SpeedKit.sessionId cookies
  • Fix parameter sorting if URLSearchParams.sort() is not supported to improve cache hit rate

Improvements

  • Tablet detection to serve the correct variation when userAgentDetection is active
  • Cleanup IndexedDB when full
  • Expose navigate metadata for URLs that are changed via JavaScript
  • Add group as parameter to SW path to force Speed Kit config update when group changes
  • Optimize Speed Kit for Dynamic Fetcher 2.0
  • Split cache miss response cause into different causes for cache misses
  • Append stripped params on redirect location

Features

  • Dynamic Fetcher 2.0
    • Needs to be included at bottom of cached HTML version only
    • Executes inline scripts of origin HTML until given script source via SpeedKit.processScriptQueue('<ScriptSRC>')
    • Use legacy Dynamic Fetcher when executed on every HTML (not only cached)
  • RUM tracking as config option rumTracking
    • Tracks performance, navigate metadata and user information for every page impression
    • Data is stored in speedKit.Metric table of Baqend app
  • Add Navigate (super type of Document) as ContentType to use in config
  • Add config option ignoreAfterPostNavigate to blacklist all navigates after a POST-navigate (e.g. login) [default: true]
  • Expose install script execution time as SpeedKit.executionTime
  • Expose controlling service worker as SpeedKit.controllingServiceWorker
  • Expose timestamp when Service Worker received navigate event as SpeedKit.lastNavigate.timings.eventStart
  • Expose Speed Kit state as SpeedKit.lastNavigate.applicationState to detect config errors
  • Expose errors in Service Worker during last naviate as SpeedKit.lastNavigate.errorMessage
  • Expose errors during Dynamic Block replace as SpeedKit.dynamicBlocks.errors

Release v1.19.0 (27.06.2019)

Bugfixes

  • Ensure Safari does not cache the DOM delay script when navigating backwards
  • Detect and resolve redirect loops in cached pages automatically
  • Ensure credentials are sent for origin requests in Edge 17
  • Ensure service worker timings are not overridden in race conditions
  • Blacklist resources if no client found for request

Improvements

  • Ensure the Service Worker is updated to new version on first navigation
  • Never cache opaque responses with status code 0
  • Make app name case insensitive

Features

  • Expose backend cache hit flag as SpeedKit.lastNavigate.backendCacheHit
  • Expose the source of the navigate response as SpeedKit.lastNavigate.source
  • Expose the reason for the source of the navigate response as SpeedKit.lastNavigate.cause
  • Enabled request collapsing for responses with query parameter bqpreloadrequest

Release & Docs v1.19.0

Release v1.18.0 (23.05.2019)

Bug Fixes

  • Stale critical resources are not returned to browser without staleness check
  • Query parameter stripping using regexes
  • Check blacklist/whitelist for delayed resource types where delaying is not supported

Improvements

  • Do not use cookies and client storage on default configuration
  • Do not disable Speed Kit on errors also thrown on origin request (e.g. by ad block extensions)
  • Use navigation preload response as Dynamic Block preload response when navigationPreload is active and HTML not blacklisted

Features

  • Add option delayDOMLoadedEvent to delay DOMContentLoaded event after Dynamic Fetcher is finished
  • Add option for userAgentDetection to configure which kind of resources are varied by device type
  • Add option to set custom split test group in the Speed Kit config
  • Add option to set a splitTestId to sperate different kinds of consecutive split tests
  • Expose SpeedKit.lastNavigate.splitTestId and SpeedKit.lastNavigate.group as split test group and id that were actually used by the Service Worker on navigation
  • Expose SpeedKit.splitTestId and SpeedKit.group as the intended split test group and id for the next navigation
  • Expose SpeedKit.lastNavigate.fromOrigin as information whether the current HTML file was served from the origin server as opposed to from Speed Kit caches

Release & Docs v1.18.0

Release v1.17.1 (12.04.2019)

Bug Fixes

  • Fix typo in docs for stripQueryParams option
  • Use updated cache revision to switch Service Worker caches when Bloom filter is cleared

Release & Docs v1.17.1

Release v1.17.0 (11.04.2019)

Improvements

  • Expose A/B test group on SpeedKit global object
  • Send non-permanent redirect to browsers and cache in Service Worker

Features

  • Extend delayed option to also delay resources after dynamic fetcher is finished
  • Add image optimization option to use existing image size query parameters
  • Add enabledSites and page rules to stripQueryParams option to narrow affected sites and resources
  • Improve cookie rule to match both cookie and value

Release & Docs v1.17.0

Release v1.16.3 (28.03.2019)

Bug Fixes

  • Fix tracking in old IE and Safari browsers

Release & Docs v1.16.3

Release v1.16.2 (25.03.2019)

Bug Fixes

  • Improve browser detection to cover Chrome on all Samsung devices

Release & Docs v1.16.2

Release v1.16.1 (20.03.2019)

Bug Fixes

  • Do not delay tracking request when already painted

Release & Docs v1.16.1

Release v1.16.0 (19.03.2019)

Bug Fixes

  • Ensure only one tracking request is sent
  • Fix race condition in critical resource preloading to ensure requests are only sent once

Improvements

  • Race Dynamic Block request and Speed Kit request to improve cache miss performance
  • Wait for paint before sending tracking

Features

  • Add support for Instant Refresh Jobs by bypassing the cache for not refreshed resources
  • Add custom event tracking function SpeedKit.track to track user behavior on the site
  • Add sessionId and CDN cache metrics (cdnPoP, cdnCacheHit, cdnBackendTime) to tracking
  • Track page impressions accelerated by Speed Kit

Release & Docs v1.16.0