Releases: edgemesh/server
2.3.0
⚡ Features
-
Shopify Dynamic Sections: Edgemesh now automatically bypasses cache for any sections containing the word
cart
. This improvement facilitates seamless integration with incrementally updating carts. -
Preview Theme Cache Testing: Added the ability to utilize the
em-enable-caching
search parameter to allow for cache testing on preview themes. Since preview themes automatically bypass cache, this feature enables comprehensive cache testing during integration.
✨ Enhancements
-
Improved UTM Parsing: Enhanced UTM parameter parsing in Insights, adding support for Northbeam and Triple Whale parameter schemas to improve data accuracy.
-
Improved Caching Strategy for Logged In Customers: With this patch, we've refined our caching strategy to better handle logged-in customers. This update reduces onboarding and maintenance overhead, enabling seamless integration with vendors that rely on customer ID and other customer data. Additionally, it restores the accuracy of customer based Shopify analytics.
🐞 Bug Fixes
- Article Page Classification: Resolved an issue where article page types were incorrectly classified in Insights data collection, ensuring accurate data categorization.
🔒 Security Patches
- Addressed a minor security vulnerability that could potentially allow phishing attacks on Edgemesh-enabled websites, enhancing overall security.
2.2.0
✨ Enhancements
- Dynamic Attributes: Added the ability to define dynamic fragments via the
dynamic
attribute. This is useful for circumstances where using the<dynamic>
element would result in CSS rules that rely on children selectors ceasing to function properly. For examplediv.cart:first-child
. Utilizing the dynamic attribute will keep your HTML structure intact, allowing you to use dynamic fragments without needing to change your stylesheets. For detailed information, visit the documentation. - Default Content for Dynamic Fragments: Added the ability to define default content for dynamic fragments. This content will be displayed while the dynamic content is loaded. This is designed to prevent layout shifts and to allow for better user experience. For detailed information, visit the documentation.
2.1.0
⚡ Features
- API Proxy: Added an API Proxy that enables requests from the Edgemesh client to be sent over same origin, eliminating the need to open a socket to the Edgemesh API.
- Tag-less Tracking Data Transport: Implemented Tag-less tracking's data transport mechanism that allows for streamlined and secure streaming to third-party partners and data processors.
✨ Enhancements
- Migration CGI Route: Added a migration CGI route to facilitate smooth transitions between major version releases, ensuring a hassle-free upgrade experience.
- Wildcard Cookies for Purging CGI: Implemented support for wildcard cookies to enhance the purging capabilities of the CGI, providing better operational tooling with more coverage for various cookie types.
- Protection against Shopify Gift Card Exploit: Added protection measures to safeguard against potential exploits related to Shopify gift cards, ensuring the security and integrity of the system.
- Extended Cache Sharding: Cache sharding has been extended to include JS and JSON responses, optimizing caching mechanisms and improving overall performance.
- Cache Key Header for Debugging: A cache key header has been added to cached responses, making it easier to debug and troubleshoot caching-related issues.
- Global Image Quality Configuration: Introduced a global image quality configuration option, allowing fine-tuning of image quality settings to achieve the desired balance between file size and visual fidelity.
🐞 Bug Fixes
- Bypassed Shopify's
.well_known
Namespace: Addressed an issue by implementing a bypass mechanism for Shopify's.well_known
namespace, ensuring smooth operation and compatibility with the platform. - Timestamp Added to Requests to Shopify's Origin CDN: Added timestamps to requests sent to Shopify's origin CDN at
/cdn/shop
to regain control over the caching behavior, improving cache management and performance. - Data URL Rewriting Skip: Fixed a bug by skipping the rewriting of data URLs, ensuring that data URLs are handled correctly and avoiding any unwanted modification.
- Improved CORs Handler for Upstream Requests: Implemented improvements to the CORs (Cross-Origin Resource Sharing) handler for upstream requests, ensuring seamless and secure cross-origin communication.
- Enhanced Sourcemap Matching Pattern: Improved the sourcemap matching pattern, resulting in more accurate and reliable sourcemap resolution for better debugging and error tracking.
2.0.0
We are thrilled to announce the release of Edgemesh® Server v2, a ground-up rebuild that introduces a new deployment approach and sets the stage for exciting upcoming features. As a delightful side effect, day-to-day operations and platform interactions have become significantly simpler and more streamlined.
Some of the major features on the horizon include:
- Tag-less Tracking: Empowering you to track user interactions without the need for tags.
- Edge Routing: Enhancing the efficiency of content delivery through optimized edge routing.
- AI Assisted Errors and Content: Leveraging artificial intelligence to identify and rectify errors while optimizing content delivery.
⚡️ Features:
- Continuous Revalidation: HTML pages are now continuously revalidated, eliminating the need for cache purges.
- New
em-cgi
routes for operations: Refer to the docs for more information. - Expanded configuration options: Explore the new configuration possibilities in the docs.
- Test configuration changes with search parameters: Discover new search parameters for testing configuration changes in the docs.
- Dynamic content customization and optimization: Utilize CSS selectors to denote content as dynamic or disable optimizations/caching. Find detailed instructions in the docs.
- New debugging headers: Learn about the newly introduced debugging headers in the docs.
✨ Enhancements:
- Major improvements to dynamic fragments: Explore the new dynamic fragments in the docs.
- Seamless domain experience: Redirects are no longer required as your site now exists on a single domain, ensuring smooth navigation and a streamlined development experience.
- Cookie ambiguity resolved: A single domain means cookies are always accurate and do not require additional processing.
- Streamlined header data: Debugging and timing headers are now accessible via the em-profile search parameter, delivering less header data by default.
- Global configuration for default image quality: You can now set a global configuration default for default image quality. Quality is still overridable per image with the em-quality search parameter.
🐞 Bug Fixes:
- Resolved HTTP 430 (rate limiting) errors, ensuring uninterrupted performance.
1.6.0
⚡️ Features
- Realtime Bot Analytics and Bot Protection.
- Meta tag for page specific and manifest cache bypass.
- New em-cgi routes to get your users bot score and location information.
- Advanced cookie rewriting.
- Cookie specific cache shards.
- Add
data-em-disable
for disabling optimization of an HTML element.
✨ Enhancements
- Exclude more marketing search parameters improving cachabilty.
- Remove Shopify Multipass requirement.
- Deprecated old cookie sync script.
- Better backend request routing.
- Add
data-em-losless
for Edgemesh optimized images.
🐞 Bug Fixes
- Fix for relative location headers
- Catch unparsable url errors. Referer headers are the biggest culprit of this scenario.
- Fix a bug where
data-em-exclude
was not working on redirect script in some scenarios. - Fix mobile prerenders.
- Gracefully handle bad source set errors.
- Ignore rewriting
ld+json
script type on prerendered responses. - Fix redirects from within an iFrame. (shogun page builder)
1.5.1
✨ Enhancements
- Improved page pre-rendering.
- Improved Cookie Sync.
- Improved HTTP response headers for optimal browse caching.
- Improved cache hit rates by excluding additional marketing search params.
- Added support for various Shopify Apps.
- Added redirect exclusion for shogun pages.
- Added redirect exclusion for gem pages.
🐞 Bug Fixes
- Fixed a bug in
srcset
parser.
An attempt to automatically fix malformed
srcset
attributes resulted in invalid output when parsing validsrcset
values containingdata:
urls. We reverted this and from1.5.1
on, only validsrcset
attributes will be supported.
1.5.0
⚡️ Features
✨ Enhancements
- Pagefly Previews will now bypass redirection by default.
- Better
X-Edgemesh-Server
header. See the docs. - Added
Server-Timing
headers. docs. - Improve cache lookup times on for images.
- Redirect script now looks for the Admin Bar on Shopify and will not redirect you if you are logged in as an admin.
🐞 Bug Fixes
- Fixed an issue where url detection would match on
data:
urls. - Automatically rewrite Shopify GET /cart/* routes to POST. This fixes an issue where Shopify strips Set-Cookie headers from the Response.
- Fixed parsing a srcset with missing space between directives.
1.4.2
✨ Enhancements
- Added Amazon marketing search params to cache and prerender exclusion.
- Improved prerender performance.
- Added cache status to
X-Edgemesh-Server
header.
🐞 Bugfixes
- Fixed a bug that would throw an error when trying to parse invalid Content-Type headers.
1.4.1
✨ Enhancements
- Added new facebook marketing search params to exclusion filter.
- Added Shopify product recommendation search params to exclusion filter.
- Added Server Timing metrics for all request code paths.
- All Shopify requests now proxied through a faster path.
- Added
localhost
andpreview_theme_id
to redirect exclusion.