Skip to content

Releases: edgemesh/client

5.5.0

14 Mar 19:51
Compare
Choose a tag to compare

✨ Enhancements

  • Added Currency Change Detection to Shopify Plugin: When the presentment currency of a user's cart changes, the client side cart state machine will be automatically updated. This change was added to support Shopify markets and similar internationalization tools.

🐞 Bug Fixes

  • Fix Log Levels: Fixed a bug where logs were not printing for levels below the selected log level. With this patch logs will be printed for all logs with a level less than or equal to the selected level.

5.4.0

03 Jul 18:18
Compare
Choose a tag to compare

⚡ Features

  • Improved Edge Discovery of Prefetch Targets: Prefetch targets are now discovered at the edge and efficiently delivered to the client through a single lightweight fetch request. Previously, in versions prior to 5.4.0, the client determined these targets within a web worker. Although it had no impact on performance, it required loosening the Content Security Policy (CSP) to mount the Web Worker. With this enhancement, expanding the target discovery at the edge reduces the frequency of crawling sitemaps, thereby reducing the load on the origin server.

✨ Enhancements

  • Removal of Custom Reporting for Sunset Google Analytics: Custom reporting for Google Analytics, which was scheduled for sunset, has been removed. This change aligns with the transition to alternative analytics solutions.
  • Addition of [EM] Prefix to Server Timing Headers: Server timing headers now include the [EM] prefix, allowing easier identification and distinction of server timing information.

🐞 Bug Fixes

  • Proper Cache Management for Browsers without Storage Estimate API Support: Fixed a bug where browsers lacking support for the storage estimate API were not correctly managing cache. This fix ensures consistent cache management across different browser environments.
  • Correct Hash Generation for Values Exceeding 32 Characters: Addressed a bug related to hash generation for values exceeding 32 characters. The fix ensures accurate hash generation regardless of the character count.

5.3.2

09 Jun 01:33
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Fix a race condition where script loader would fail to replace the type attribute on slower networks.

5.3.1

30 May 21:54
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Fix a bug in Shopify Plugin where opaque cart responses would throw an error.

5.3.0

21 Mar 20:19
Compare
Choose a tag to compare

⚡️ Features

  • Add control panel accessible with the ?em-controls search parameter. More info in the docs.

5.2.0

20 Jan 00:21
Compare
Choose a tag to compare

⚡️ Features

  • Add Intelligent Prefetch.
  • Add Navigation Caching.

Intelligent Prefetch and Navigation Caching work together to drastically improve navigation performance. It works by extracting links to other pages in the browsers viewport, downloading the content for those pages in the background, and storing it in the dedicated Edgemesh cache. Then when your user clicks a link, they are served the content from cache. This makes a multipage app perform like a single page app. Navigations complete in less than 10 milliseconds on average.

🔥 Removals

  • Remove deprecated stats() method. Use getStats() instead.

5.1.0

16 Jan 20:45
Compare
Choose a tag to compare

⚡️ Features

  • Add plugin system.
  • Add Shopify Plugin consisting of a client side state machine for cart routes.

5.0.1

11 Oct 23:05
Compare
Choose a tag to compare

⚡️ Features

  • Added support for HTML Prefetching and caching for Edgemesh Server enabled sites.

🐞 Bug Fixes

  • Disabled caching for Firefox browsers.

A quirk/bug in Firefox prevents CSP errors from being able to be caught by the Edgemesh Service Worker. This can result in errors delivering content to Firefox browsers. We have opened an issue with Mozilla and have temporarily disabled caching for Firefox browsers, until such time the bug is resolved or a work around is implemented.

5.0.0

15 Aug 19:21
Compare
Choose a tag to compare

⚡️ Features

  • Add Script Loader feature.
  • New cache validation strategy that cuts down API calls substantially.
  • Add new support flare function edgemesh.flare(message?: string).
  • Add script for cleanly uninstalling client.
  • Dynamic resource skip list.

When Edgemesh detects an un-cacheable resource due to being CORS blocked (opaque), it will be added to a the local dynamic skip list. Future requests for that resource will bypass the service worker automatically.

✨ Enhancements

  • Streamline service worker script loading and reduce size by 50%.
  • Replace client configuration with EDGEMESH global. (onload configuration has been deprecated)
  • Refactor of public method names. Check the docs reference.
  • Improve encoding of real user metrics across all browsers.

🐞 Bug Fixes

  • Send resource metrics in chunks to ensure delivery of all metrics.
  • Fix Total Blocking Time metric reporting.

An error in reporting null metrics was skewing our median calculation. This has been resolved and TBT will be reported accurately. Use the new Script Loader to improve this metric with little effort!

3.3.1

17 Apr 00:18
Compare
Choose a tag to compare

⚡️ Features

  • New high performance metrics API.

💬 Developer Comments:
After speaking with a lot of you (our valued customers), we have redesigned our metrics API from the ground up. From a your perspective we will soon be delivering more meaningful data about your own customers. From a technical perspective we have re architected the way we calculate and store real user metrics in order to deliver results in the shortest amount of time possible. Right now the API is being used to develop new views for our portal, but it will be generally available when version 4.0 hits (in the works).

🐞 Bugfixes

  • Fixed a parsing bug that would sometimes incorrectly record an assets extension.

💬 Developer Comments:
With certain use cases of query strings, our old parsing method would sometimes incorrectly record an assets extension. This had a small impact on metric accuracy on sites using a literal . in a query string parameter. The new parser can handle anything you throw at it.