Pegasaas Accelerator Development Changelog

We’ve been hard at work!  Follow all the changes and improvements we’ve made to the Pegasaas Accelerator WordPress web performance optimization plugin with our super handy Pegasaas Accelerator Development Changelog.

Minor

2.1.0 - Agency White Label Features

December 14, 2018 -- 12:02 (-08:00)

This minor release introduces the ability to white-label the plugin for those subscriptions which include this feature.

Patch

2.0.9 - Conditioning of CSS Stylesheet Links for Defer CSS

December 13, 2018 -- 5:36 (-08:00)

The onload and onerror attributes used by DIVI were interfering with the load of the resources and throwing a javascript error causing subsequent functionality to fail on the page.

Patch

2.0.8 - Lazy Loaded Background Images Bug

December 13, 2018 -- 5:22 (-08:00)

Further improvments to the lazy load background image mechanism.

Patch

2.0.7 - Lazy Loaded Background Images Bug

December 13, 2018 -- 5:16 (-08:00)

Further improvements to the background lazy load mechanism.

Patch

2.0.6 - Lazy Loaded Background Images Bug

December 12, 2018 -- 11:55 (-08:00)

The handling for the lazy loading background images was incomplete in some situations.  This patch resolved the incomplete handling.

Patch

2.0.5 - API Timeout Issue

December 12, 2018 -- 9:14 (-08:00)

In the previous version (2.0.4) we released API timeout handling.  It appears as though the method that we used was too aggressive for some webservers, so we have removed the delay, temporarily, until a better solution can be found.

Patch

2.0.4 - Save Post Bug Fix

December 11, 2018 -- 8:34 (-08:00)

When a page or post was saved, it was displaying a string of data, on a blank page.  This was a result of testing output that was not removed in version 2.0.3 that was not visible when the Gutenburg editor was enabled.  This output was only visible for those sites using the classic editor.

Patch

2.0.3 - Defer Unused CSS Upgrades, Page Level Settings, Bug Fixes

December 10, 2018 -- 16:24 (-08:00)

This patch includes a number of new features, and bug fixes and is likely the last patch before we move on to v2.1.0.

Defer Render Blocking Javascript Default

We intended for one of the new Javascript deferral mechanisms to become the default in version 2.0.0, however that conditional statement was overlooked.  The new "defer all scripts individually in their original DOM location, and inline blocks as a single external call" mechanism is the new default.

Defer Unused CSS (Level 2 CSS Deferral)

The highly performance enhancing method of deferring unused CSS can have visual drawbacks.  We have changed the default behaviour of the deferral of unused CSS so that the unsued CSS is loaded as soon as possible.  You can optionally change this so that the unused CSS is loaded after 1.5 seconds, 5 seconds, or on page action (scroll/click).  The on-page-action method was the default method in v2.0.0-v2.0.2.  While the new method is not as performance enhancing, it allows for minor improvements in performance while allowing you to test further levels of delay, without initially causing a flash-of-unstyled-content.

Exclude Specific Render Blocking CSS from being Deferred (Level 1 CSS Deferral)

You can now specify individual render blcoking CSS files to exclude from being deferredon the settings page.

Allow GIF Images To Flow Through Image CDN

GIF images, because we could not optimize them, have historically not passed through our image processing system (as they cannot be optimized), and thus not through the image CDN.  We have now allowed GIF images to flow through the image CDN system while bypassing the image processing system.

Page/Posts Meta Box Overhaul

With the introduction of the new Gutenburg editor for WordPress 5.0, we have decided that the page/post level settings are better suited to the right sidebar.  This also means that those settings have also been updated as some of the newer features had not been included in the configurable options.  You can now specify page level settings for "lazy loading images", "lazy loading background images", "lazy loading youtube", "defer unused css".  We have also updated the options of the "defer render blocking javascript", "inject critical css", and "lazy load iframes" page level features.

Page/Posts List - Clear Page Cache Link

There is now a "Clear Page Cache" link next to the "Edit" | "Quick Edit" | "Trash" | "View" links.

Lazy Load Background Images: Bug Fix

We resolved an issue where the background images, that were specified via inline style attribute, were not actually deferred.

Smart Slider 3 Compatibility

The Smart Slider 3 sliders were not being displayed due to how Smart Slider was modifying the output buffer that Pegasaas Accelerator also obtains.  The capture mechanism that Pegasaas Accelerator uses was updated to account for the Smart Slider 3.

API Timeout Handling

Due to the release of Pegasaas 2.0, where all benchmark and accelerated pagespeed scores were requested for any site installing the v2.0, the Pegasaas API experienced exceptinoally higher than normal load.  This caused a small number of sites to have their API communications to timeout.  This caused adverse affects by those installations submitting duplicate requests.  

A new mechanism is now included in the plugin to handle this situation to tell instruct the API of timeouts so that the server can auto optimize web services and the API database on-the-fly while notifying Pegasaas Actual of a sitaution that may require manual intervention.

Patch

2.0.2 - Score Data Removed from Cookie

December 4, 2018 -- 13:46 (-08:00)

The score data that we were storing in a cookie was too large in some cases.  This mechanism is now disabled while we review the use of this data in a cookie.

Patch

2.0.1 - Interface Bug

December 4, 2018 -- 9:42 (-08:00)

If the "Results Type" in the Pegasaas Accelerator dashboard is set to anything but "All", a fatal error was thrown.  Bug fixed in line 943.

Major

2.0.0 - Time is Everything

December 4, 2018 -- 6:47 (-08:00)

This update is probably the single most involved update we've ever completed.  In it, there are over 25 different features that have been updated or added.  Version 2.0 was always planned to include the actual time it takes to load the page.  With the latest update of Google PageSpeed Insights to v5, we were presented with the timing data that needed to exist in order to push Pegasaas to a v2.0 release.

While the timings are not shown, yet, in all places for all pages, we will be gradually adding metrics such as Time-To-Interactive, and Speed Index, into the interface where ever possible, in the next several minor updates.

In addition, we will be adding a major component, in 2.1.0 (slated for end of December) where you will be able to track the actual amount of time you've saved your visitors.

What's In This Release

Lazy Loading Images: new method

The lazy-loading images that we previously employed for an immediate rendering situation (where the page is not render blocking), was good.  However, we found that there was opportunity to lazy-load in a better way, which also in turned meant that we were able to lazy load background images.

Lazy Loading Images: srcset images

We've added the lazy loading of those images that take advantage of the srcset attribute.  While previously, the default 'src' attribute was used to lazy-load the images, we've now added support to also lazy-load the srcset (which is intended to show a different image for different size viewports).

Lazy Loading Images: background images

Background images can now be lazy-loaded.  This new feature takes advantage of the new method employed in the Lazy Loading Foregound Images feature.  This cuts down on the unnessessary load time of images used in the background of DIV blocks that may never be rendered.

Lazy Loading Scripts: user defined resources

You can now specify individual scripts to "lazy load".  This means that those scripts will not be loaded into the page until the user scrolls down the page.  This is incredibly important for the initial load time of the page.

Lazy Loading YouTube: play icon shifted from static CDN

The "play" icon, that we use for the YouTube lazy loader, had referenced via a static CDN url.  However, this caused an additional DNS lookup and connection that caused a small delay which impeded the load time of the page.  By moving the image to the assets/ folder of the plugin, the image can still be referenced via the Pegasaas image CDN, which typically has already been connected to by other images in the page.

Preload Resources: user defined resources

Sometimes there will be a situation where a resource that is injected into the page via javascript, is loaded late (example: Google Analytics via Google Tag Manager).  Waiting for this resource to load can have negative implications on when the CPU becomes idle, as well as being run as soon as possible.  By preloading the resource, it the resource is loaded as fast as possible so that it can then in turn be executed as fast as possible.

Preload Fav Icons

Fav Icons are typically loaded last by the browser, and often they can delay the load time of the page time by a full second.  By preloading the "fav icons", the page load time is decreased.

Defer Unused CSS

While technically all CSS is "deferred" already, this new feature actually lazy-loads the CSS in such a way that the page does not load it until a user takes action (such as scrolling).  This helps the load time of the page immensely.  Because the Critical CSS is already injected into the page, the CSS files technically do not need to be loaded into the page until a user takes an action.

Defer Unused CSS: exclude CSS from being lazy-loaded

In addition to the aforementioned 'defer unused css' feature, there is also the ability to exclude files from the lazy-loading, in the event that the Critical CSS is inadequate, in any way, in properly rendering the above the fold region. 

Essential CSS

You can now include global CSS throughout all of your pages, if you have Inject Critical CSS enabled, which may be required in order to resolve any issues with inadquate Critical CSS when deferring unused CSS.

WordLift: Auto Injection of Schema

We love WordLift, the AI plugin for SEO, however we found that the Schema the was defined for the pages was loaded through a SCRIPT call, which was an additional round-trip that was not required.  Instead, we directly injected the schema into the page, saving a round trip.

Strip Google Fonts for Mobile

Google Fonts are a very heavy resource to load if you're on a mobile device.  This is why we now offer the ability to strip all Google Fonts for mobile, or if you still want to provide some styling there is the option to strip all but the most essential fonts.

DNS Prefetch: or preconnect

While in our testing, it did not make a difference whether the page used the DNS-Prefetch directive, or the Preconnect method, we now give the opportunity to choose which method to use.

Default Font-Display

Being able to see the text while any web-fonts are still loading, is critical to mobile user experience.  You can now automatically define the "font-display" method to use for all web-fonts, which will result in a better user experience for your mobile user.

Long Caching Lifetimes

While "browser caching" is no longer considered essential to your PageSpeed score, it is still recommended that you set your cache lifetimes to as long as posssible.  We've updated the cache lifetimes as defined in the .htaccess file and our CDN to cut down on the unnessessary repeat loading of resources which are rarely updated.

Cached JS/CSS Filenames Modified

In order to resolve issues with stale JS/CSS, our deferred Javascript, and combined CSS files now include a timestamp within the filenames.

Javascript Deferral: new deferral mechanisms

There is a new default javascript deferral mechanism, and a new "secondary recommended" method, which are faster than the previous mechanism.  This helps to keep the "Main Thread" work time down.

Auto Asset HTTPS and Primary Domain

We've added new rules to the .htaccess system which will push the user to the primary domain and protocol as defined by the WordPress home url.

Installation Tests: write permisissions

When installing the plugin, it will also now check to make sure it has write permissions for the .htaccess /wp-content/pegasaas-cache, and log.txt files.

Diagnostic Mode

By turning the plugin "off" using the toggle switch near the Pegasaas Accelerator logo, the plugin is put into diagnostic mode.  This allows us to continue to test for errors, externally, by referencing a page with the query string ?accelerate=on

WPML Support

WPML requires the use of ?lang=xx query arguments.  When query arguments are present, typically caching is bypassed.  Pegasaas Accelerator will now accelerage and cache pages that employ the ?lang=xx query argument.

Disable CDN

When the CDN is disabled, local minification of CSS and Javascript and optimization of images will now still happen.  Previously, whent he CDN was disabled, minification would happen through our reverse proxy server which required an additional DNS lookup.

Third Party Cache Plugin Handling: Bluehost "Endurance"

We now detect the "Endurance" caching plugin and instruct you what you need to do to make Pegasaas compatible with the environment when "Endurance" is enabled.

Integration of GPSI v5 Scores into Interface

On November 12th, 2018 (22 days previous to this release), Google updated their PageSpeed Insights system to version 5.  This new version calculates PageSpeed scores in a completely different manner.  This version of Pegasaas Accelerator now polls the v5 API that uses the most current scoring system.

Integration of GPSI v5 Timings

In addition to the PageSpeed scores, we are now able to show the different timing metrics.  These metrics include Time-to-first-Byte, First Contentful Paint, First Meaningful Paint, Time-to-Interactive, Speed Index, and First CPU Idle.  We can use these metrics to show you how fast your page is, and where there may be a bottleneck.

Patch

1.13.4 - Auto Acceleration Options / PageSpeed Score Reporting

November 9, 2018 -- 11:32 (-08:00)

Auto Acceleration (Install Wizard)

The "Auto Acceleration" options that are offered upon installation were updated in how they are presented.  In addition, a new option labelled "Home Page only" is now available, if you only wish to initially accelerate just the home page.

During the course of this update, it was noted that when the Homepage is set as "Blog" (default WordPress setting), the home page cannot be disabled.  The ability to enable and disable the acceleration for the blog-as-homepage, as well as the categories, was added to the "Miscellaneous" section on the settings page, in a new sub-section labelled "Blog".

PageSpeed Score Reporting

The PageSpeed scores, when you were on a public facing page, were reporting the benchmark scores rather than the accelerated scores.  This has been updated.

Patch

1.13.3 - Functions removed for Non-Administrative Users

November 2, 2018 -- 10:39 (-07:00)

Removed the page-level configurations for non-administrator users.

Patch

1.13.2 - Functions removed for Non-Administrative Users

November 2, 2018 -- 6:37 (-07:00)

On the page/posts panel where all pages or posts are displayed, the Accelerator status for each page had been displayed for all users.

Also the bulk actions for "accelerate" or "un-accelerate" pages was included in the bulk actions drop down for all users.

These features have now been removed for non-administrative users.

Patch

1.13.1 - Performance Improvements

October 31, 2018 -- 11:38 (-07:00)

Missing Files

In the most recent minor update, 1.13.0, local image optimization was introduced for those images that were not caught by the typical CDN image optimization.  There was a small gap in the logic when if the image didn't exist the 404 handler would enter a recursive invocation.  Short story, the 404 handler was chewing up resources.  This has now been dealt with.

Divi Animated Sections

The Divi Javascript that is deferred was not firing on page load, as the internal instructions to fire on "DOMContentLoaded", which happens only once.  It has been decided that the best way to handle DOMContentLoaded calls, is to change the deferred-js.js load mechanism from "async" to "defer".  When "defer" is called, the script is considereed a part of the DOM, and the DOMContentLoaded event fires once the last "defer" script has finished.  When using "async", the "DOMContentLoaded" event fires before the "async" script has finished loading.

This now resolves issues with multiple frameworks where "on load" animations were not occuring.

Minor

1.13.0 - LITE/PRO / Code Architecture / Varnish / Cache Mega Menu / General Interface Improvements

October 25, 2018 -- 17:02 (-07:00)

This is a fairly major minor release, as it took nearly a month to pull together all of the pieces.  There are improvements in nearly every corner of the plugin, but most of which are under-the-hood in how the code is structured. 

LITE/PRO

Most notably, our flagship plugin has now been re-labelled "Pegasaas Accelerator PRO" as we will be introducing in the coming weeks the "Pegasaas Accelerator LITE" to the WordPress plugin repository.  Primarily, most new features and improvements will be added to the PRO version, however the basic "core" features of the Pegasaas Accelerator system, which focus on PageSpeed optimization, will be available within the LITE version.

Code Architecture

In order to provide a code set which was maintainable, where we were not having to maintain multiple copies of identical code, for the LITE and core of the PRO plugin, we had to re-organize how the underlying code was organized.  This took the bulk of the last four weeks.

This improvement will mean that maintaining a LITE version, in addition to the existing PRO plugin, will not result in any significant additional overhead.

Varnish

We have now added in optional support for the Varnish caching system.  If your web host uses Varnish for caching, you can enable the Varnish option in the settings panel so that when a page cache is cleared by the Pegasaas Accelerator system, it will also clear it from the Varnish system.

Cache Mega Menu

The top drop down menu has been completely redesigned with UX in mind.  The menu now shows the site score, as well as a better understanding of what local cached resources may exist.

General Interface Improvements

The "Pegasaas Accelerator" icon has been refreshed, as well as the "option" drop down menus beside many of the pages listed in the dashboard.  We spent a great deal of time refining the UX of the plugin dashboard with this release.  Many actions will now execute via AJAX instead of reloading the entire page.

Patch

1.12.21 - CSS Minification Bug / Lazy Load Revolution Slider

September 27, 2018 -- 15:55 (-07:00)

CSS Minification Bug

Resolved an issue where an unescaped slash, when minified, was causing any CSS that followed to not be parsed.

Lazy Load Revolution Slider

Pegasaas will now ignore any images that are lazy loaded via the Revolution Slider system, so as not to cause double lazy-loading.

Patch

1.12.20 - JS Minification Exception for MooTools

September 27, 2018 -- 13:46 (-07:00)

MooTools was throwing an uncaught JS Minification Error.  This patch wraps the JSMin functionality within a try-catch.

Patch

1.12.19 - Deferred JS not deferring JQuery $ alias

September 27, 2018 -- 10:50 (-07:00)

We've added a condition to the JavaScript deferral system to defer any block that contains syntax that uses the JQuery $() alias. 

Patch

1.12.18 - Duplicate Resource in Injected CPCSS

September 25, 2018 -- 14:42 (-07:00)

This patch removes a duplicate resource issue in the injected Critical Path CSS, for those sites where both www.domain.com and domain.com are used for image resources in CSS.

Patch

1.12.17 - Inconsistent URLs in CSS

September 25, 2018 -- 13:54 (-07:00)

This patch resolves an issue where there were duplicate resources being served from different URLS.

Patch

1.12.16 - Inline CSS URL Mapping Bug

September 25, 2018 -- 12:10 (-07:00)

Resolved an issue where assets that were referenced in inline CSS, via the url() specifier, which had whitespace before the asset url, were not properly referenced.

We have also, as this version, added Async Javascript as a known conflicting plugin.

Patch

1.12.15 - Image / GIF Support in combine.css file

September 24, 2018 -- 17:02 (-07:00)

We've added support for inline image/gif base64 encoded images in the combine.css file

Patch

1.12.14 - HTTPS Redirect Patch / Image SVG in Combined.css

September 24, 2018 -- 16:48 (-07:00)

HTTPS Redirect Patch

We've added handling for when instructions are placed late within the .htaccess file, to redirect from a given URL to the same REQUEST_URI + HTTPS or with WWW. appended.

Previously, the redirect would usually push the user to view the actual wp-content/pegasaas-cache/ url.

With the updated instructions, our cache handling will appropriately direct the user to the correct URL.

Content Type with UTF-8 for only text/html Documents

It is recommended by some diagnostics tools to identify to the web browser as soon as possible the content type with UTF8.  This helps the browser render the document as soon as possible.

Previous to this patch, any cached page was relying on any META CONTENT-TYPE tag within the page to declare the content-type.  Now, the instructions in the .htaccess file will properly announce the for just HTML pages.  This resolves an issue where text/html; utf8 was being declared for css, js and images stored within the wp-content/pegasaas-cache/ folder.

Image SVG support in combined.css file

We have now added support for image/svg defined images within the combined.css file.

Patch

1.12.13 - Password Protected Pages Support

September 21, 2018 -- 12:42 (-07:00)

Support has now been added for pages that are password protected.

Patch

1.12.12 - Critical Path Font Path Bug

September 20, 2018 -- 16:04 (-07:00)

Further resolve the issue where the .eot/.ttf/.woff/.woff2 files were being served via the incorrect CDN, in the Critical Path CSS.

Patch

1.12.11 - Missing updated PegasaasUtils class.

September 20, 2018 -- 15:25 (-07:00)

Fatal error caused by the PegasaasUtils not being updated in the package.

Patch

1.12.10 - CORS Block on Fonts Routed through CDN

September 20, 2018 -- 14:19 (-07:00)

There was an issue that was introduced via the new Combine CSS where .ttf/.eof/.woff files were being pushed through the CDN reserved for images, rather than the css/js/txt/ttf/eof/woff CDN.

Patch

1.12.9 - Interface Tooltips / Settings Page Updates

September 19, 2018 -- 17:00 (-07:00)

This patch added further usability to the interface tooltips and page-level settings.

Patch

1.12.8 - Critical Path CSS Font Path Bug

September 19, 2018 -- 15:21 (-07:00)

Trailing quote on paths to external fonts was missing in some of the @font-face calls.

Patch

1.12.7 - Lazy Load Images

September 17, 2018 -- 16:16 (-07:00)

Improved functionality of the lazy loading with immediate rendering functionality.  This patch addressed an issue of <img> tags existing within <script> blocks -- these particular images should not be lazy loaded as they may be injected above the fold.

Patch

1.12.6 - Admin Bar Menu

September 17, 2018 -- 15:52 (-07:00)

Updated Menu Items for the admin bar, so that only the options for those features that are enabled are actually visible.

Patch

1.12.5 - Minify JS

September 17, 2018 -- 15:43 (-07:00)

In some situtations, there was an issue with an invalid left-hand operator error.

This has been resolved in the API as well as within the plugin itself.

Patch

1.12.4 - Deferred JS Patch

September 12, 2018 -- 10:50 (-07:00)

Resolved an issue with inline javascript that is deferred, which when wrapped within a set of HTML comment tags, did not have the trailing (closing) comment tag stripped from the resulting javascript that is stored within the deferred-js.js file.

Patch

1.12.3 - Interface Tooltips / Settings Page Updates

September 11, 2018 -- 16:43 (-07:00)

Interface Tooltips

There are now informative tooltips available for all portions of the primary dashboard.

Settings Page Updates

Feature descriptions, as well as additional configuration options, are now enclosed in an expandable region.

Patch

1.12.2 - Interface Tooltips / CPCSS and Page Builders Bug Fixes

September 10, 2018 -- 16:59 (-07:00)

Interface Tooltips

The dashboard now features two new tooltips, for the "Un-Accelerated Site Score" gauge, and "Accelerated Pages" gauge.  The tooltip explains what each part of the interface indicates is going on.  We plan to add additional tooltips over the coming weeks.

Critical Path CSS Bug Fix

Resolved an issue with critical path css being jumped in a situation with a Divi font being embedded in the CPCSS.

Page Builders Bug Fix

When a page builder interfaces with the WordPress system, it often does so via JSON encoded variables.  Pegasaas has, up until this patch, appended a comment tag to the end of any output that is not accelerated, so that we could identify the cache state.  As of this patch, we have removed these comments, as they have been known to corrupt the JSON code of various page builders.  Instead, Pegasaas now injects the state of a page into the Header as "X-Pegasaas-Message" and "X-Pegasaas-Reason".

Patch

1.12.1 - Magic Auto Image Sizing / Auto Crawl Setting / Interface Updates

September 6, 2018 -- 16:04 (-07:00)

Magic Auto Image Sizing

The biggest contributors to a slow loading page are often the images on your web page.  WordPress does a decent job of providing images with alternate sizing using the srcset attribute, which is interpretted by modern browsers, so that an image of the appropriate dimensions is served.

Unfortunately, images that are not uploaded via the media library, or exist outside of the page/post content, are not subject to the img-with-srcset mechanism.

Pegasaas has already had image sizing, if an image contains a width and height attribute, built in.  When an image has a width and height attirubte assigned, the image is requested via our CDN with a width and height as specified.  This can be handy if you have a very large image (1600x1200) but specify a proper width/height in an image tag for the given container (such as 160x120).

However, occasionally, image dimensions are not defined in an <IMG> tag.  If the dimensions of the image is larger than those of the image's container, then the image is considered too large, which results in a penalty by GPSI as well as it simply taking longer to load than is necessary.

We're excited to announce a brand new feature of Pegasaas Accelerator -- the Magic Auto Image Sizing.  This new feature auto-detects the appropriate width and height of your images, sets the width and height attributes accordingly, and then via our CDN servers the very best image sizes for your website.  

This magic all happens even if you do not have a width or height attribute defined for an image.  

Note: there may be situations where you do not want to use this feature, such as if you use galleries which have expanding thumbnails on hover.  For the most part, this feature will make your web pages load faster and look better, without you having to dig into your HTML to find your IMG tags to define the correct width/height.

Auto Crawl Setting

We have added the "Auto Crawl" configurable setting, so that you may turn off "Auto Crawl" (which automatically creates your website page cache).  It would be recommended to turn off the "Auto Crawl" on very large websites (1000+ pages) that are hosted on shared hosting environments.

Interface Updates

We have updated the "Accelerator" column on the pages/posts panel in WordPress.  We've replaced the non-intuitive badges with "toggle switches".

We have also updated the resulting interface for when the "Manual Acceleration" option is selected at installtion time.  This new interface now includes a video tutorial that shows you how to use the aforementioned "toggle switches" to manually enable/disable the acceleration setting for your pages.

Minor

1.12.0 - Multiple Features

September 1, 2018 -- 11:51 (-07:00)

Combine CSS

By default, all CSS will now be built into a single file, to reduce the number of resources requests.  This may be disabled on a global basis via the Settings panel.

Exclude Pages

You can now exclude pages or directory structures from being accelerated via the Settings panel.  This is an experimental feature which we will be developing out further.

Exclude Scripts from Deferment

There is now the ability to exclude individual scripts from deferrment, in the even that including it within the deferred-js conflicts with your website's requirements.

Lazy Load Scripts

There are times where a script does not need to be invoked upon initial page load.  We are building a list of scripts that fit the profile of those that should be lazy-loaded.  If you have a plugin which uses a script that we determine should be lazy-loaded, you will be able to disable the lazy-loading via the Settings panel.  

One such script that we have identified as being an issue is the Instagram Feed script, which on-load loads a number of images which may never be viewed, and which are considered unoptimized.  By lazy-loading the script, it means the page's fully-loaded time is decreased by up to 500ms.

Granular Logging

We have now added the ability to enable loggin for specific portions of the Pegasaas plugin.  This is primarily used for debugging purposes.

Critical Path CSS Editor

You may now tweak the critical path CSS on a page-by-page basis via the "page/post" edit page in WordPress.  

Improved Error Handling

When running the plugin, should a fatal error occur, the plugin will now gracefully exit.  The un-optimized page will be displayed, and the error will be logged to the log file.  It is a rare situation whent his happens, however this particular update puts a level of protection against the "white page of death" which can happen when a web server is set to not display errors, and script within the WordPress system runs into a fatal error.

Fav Icon Handling

Should a "Fav Icon" not be defined within the HTML and there exists a favicon.ico file in the web server, Pegasaas will auto-inject the <link rel="icon" href="/favicon.ico" /> tag into your html.  By doing so, Pegasaas is then able to optimize and serve the icon via the CDN system.

Charset Definition on Cached Pages

GTMetrix advises that a charset is defined for all resources as soon as possible.  On cached pages, we are now instruct the server of the charset.

Updated Settings Panel

The Settings Panel, in the Pegasaas dashboard, has now been revamped with similar/related features grouped into sections.

Patch

1.11.8 - WP Engine Clear Cache

August 27, 2018 -- 17:53 (-07:00)

Resolved a small bug that occurred when the clear_wpengine_cache() function was called.

Patch

1.11.7 - Auto Acceleration

August 27, 2018 -- 15:51 (-07:00)

Patch to resolve auto-accelertation issues where pages were being accelerated when they weren't supposed to.

Patch

1.11.6 - Lazy Load Images

August 21, 2018 -- 15:12 (-07:00)

In a recent update, the order in which some of the in-page optimizations are performed was changed.  This affected whether or not the lazy-load images were optimized.

This patch addresses this issue.

Patch

1.11.5 - Themify Improvements

August 21, 2018 -- 14:13 (-07:00)

This update builds upon previous updates, that target specific items in the Themify Ultra theme, which previously caused less than optimal PageSpeed scores.

Patch

1.11.4 - Caching on LiteSpeed Server / Themify Builder

August 21, 2018 -- 6:52 (-07:00)

Caching on LiteSpeed Server

On some LiteSpeed servers, the order of the .htaccess directives must be in a particular fashion.  This update addresses those requirements.

Themify Builder

This update includes small changes that should positively affect those that use the Themify Builder.

Patch

1.11.3 - Deferral of Render Blocking CSS / Database Optimization

August 20, 2018 -- 15:04 (-07:00)

Deferral of Render Blocking CSS

We became aware of a situation where stylesheets were injected by some themes, via JavaScript.  When Pegasaas attempted to "defer" these already deferred stylesheets, it would cause a javascript error.

This patch addresses that issue.

Database Optimization

By default, Pegasaas Accelerator would attempt to optimize the database whenever given the opportunity.  However, on some hosting platforms, this would cause more work than the database was prepared to take on.  The solution was to only optimize the database hourly.

Patch

1.11.2 - Cloudflare Check Bug

August 16, 2018 -- 12:06 (-07:00)

Constant PEGASAAS_CLOUDFLARE_TEST_ENDPOINT was not included in the last build.

Patch

1.11.1 - Cloudflare Check Bug

August 16, 2018 -- 10:08 (-07:00)

On some servers that do not use a host name lookup when resolving domain names when using the wp_remote_request() command for WordPress, the request to find out whether the server is flowing through Cloudflare would fail, as the connection is looking only to the local server rather than to the global DNS resolved IP address.

The solution was to instead look to a Pegaaas API endpoint, requesting a true/false test for whether Pegasaas (as an outside server) is observing that the requested url is flowing through the Cloudflare system.

Minor

1.11.0 - Initialization Sequence/Interface Improvements

August 15, 2018 -- 6:24 (-07:00)

Initialization Sequence

As we have added more bells and whistles to the interface, sometimes the initial installation progress appears to hault.  We have added an initialization sequence that looks for there being at least one completed accelerated pagespeed score, and one benchmark pagespeed score before proceeding.

In most cases, the initialzation sequence (which shows a progress bar, and some light reading trivia) completes within 7 minutes.  It can often complete in under 5 minutes if the speed of the hosting server allows for it.

Interface Improvements

With the move from "page-by-page" analysis to a more "overview" approach to the speed scores, we have made the dashboard more front-and-center, while putting the individual page scores below the fold in the interface.

Patch

1.10.23 - Javascript Deferral

August 13, 2018 -- 6:25 (-07:00)

There was an issue in the Javascript deferral system where there may be blocks of HTML within a <script> tag that were being lumped in with the javascript that is deferred. 

Instead, these code blocks should have been excluded.

This has now been patched.

Patch

1.10.22 - Lazy Load YouTube

August 12, 2018 -- 13:25 (-07:00)

This patch addresses a style issue/conflict with the Thrive responsive video embed.

Patch

1.10.21 - Lazy Load YouTube

August 12, 2018 -- 13:20 (-07:00)

In a recent update, a small change was made to the lazy_load_youtube function in order to allow for other types of WordPress embedded links.  The logic for detecting the YouTube link was not fully tested and resulted in the lazy_load_youtube function not lazy loading youtube videos.

This has now been patched and tested.

Patch

1.10.20 - Google Fonts Import Injection

August 12, 2018 -- 13:00 (-07:00)

We've added additional auto-injection of Google Fonts directly into the HTML, for situations where the Google Font was being loaded via a <link> tag.

Patch

1.10.19 - Page Level Critical Path CSS

August 12, 2018 -- 11:50 (-07:00)

While the Post-Type CPCSS should be adequate for most pages, there may be situations where Page-Level CPCSS would be more accurate.

When Pegasaas Accelerator receives a GPSI score, the plugin evaluates whether there is a "Prioritization of Visible Content" issue.  If there is such an issue, then the plugin will request a Page-Level CPCSS scan, and then upon receiving the Page-Level CPCSS, Pegasaas Accelerator will re-request a new GPSI score.

There are times, however, when you will want to outright want a Page-Level CPCSS -- such as when the system is not detecting a rendering issue, or it is obvious that the Post-Type CSS is inappropriate for the page requested.  For this puprose, we have added new options to the CPCSS drop down menu (to the immediate left of the benchmark GPSI scores on the Accelerator dashboard overview). 

You can now explicitly re-build the Page-Level CPCSS.  You can now also explicitly build Page-Level CPCSS if there was none already existing.

Patch

1.10.18 - Image srcset Issue

August 12, 2018 -- 11:17 (-07:00)

Images that have had the srcset attribute set may not have had the proper mapping of the optimized version of the alternate image version if the protocol of the alternate images didn't exactly match the protocol as defined in the src attribute.

For example:

src='//mydomain.com/myimage.jpg'

srcset='https://mydomain.com/myimage2.jpg 300w'

In this scenario, the srcset defined image was not mapped to the correct url.

This has now been patched.

Patch

1.10.17 - Google Fonts Import Injection

August 12, 2018 -- 10:39 (-07:00)

Rather than use the default font-loading mechanism of asking the web browser to fetch the current font-face information from the fonts-google-cdn.pegasaas.io system, Pegasaas now directly injects the font-face definitions into the HTML, skipping a browser induced resource call that could be deferred causing a Prioritization of Visible content issue.

Patch

1.10.16 - Javascript Minification

August 12, 2018 -- 9:45 (-07:00)

Yet another small patch.  This one is designed to be a final catch-all for the issue that has occured as described in the previous several JS Minification patches.

Patch

1.10.15 - Javascript Minification

August 12, 2018 -- 9:23 (-07:00)

Small patched to correct a unique variable that was modified in error with the previous Javascript Minification patch.

Patch

1.10.14 - Removed Testing Output

August 11, 2018 -- 17:13 (-07:00)

Testing output was inadvertantly left in the previous patch.  Oopsies!

Patch

1.10.13 - Critical Path CSS Injection Point, Category CPCSS

August 11, 2018 -- 17:11 (-07:00)

Critical Path CSS Injection Point

A small change was made to ensure that the injection point was before the first stylesheet.  In a recent version, the code was updated to ensure the injection point matched with a <link> tag that was not within comments.

This left a situation where the injection could happen before a <link rel='preload' as='image' ...> which was unacceptable in some situations where there was a <style> block defined between the matched tag, and the first <link rel='preload' as='style' ...> or <link rel='stylesheet' ...>

This patch addresses that.

Category CPCSS

There was a situation within the code handling for processing GPSI scores, that if the resource was a category, it was attempting to fetch the incorrect backup CPCSS. The deficiency was found and patched.

Patch

1.10.12 - CPCSS for Category Layouts

August 11, 2018 -- 14:22 (-07:00)

That existing a situation where the Critical Path CSS for a category (based off of the post type for the cateogry) was inadquate to avoid a "Prioritization of Visible Content" penalty.  Pegasaas Accelerator is designed to request a specific page-level copy of the CPCSS if the post-type-level CPCSS is adequate.

Post categories do not have a "post id".  However, the section of the routine that requests and stores and processes the CPCSS was attemping to use an associated "post id" to store the CPCSS for the page-level CPCSS.  This resulted in the CPCSS not being stored correctly.

The solution was to use our internal PegsaasUtils->get_post_object() functionthat retrieves a pseudo post object based on a resource id which is formatted like a URL, rather than the WordPress get_post() function that requires a post id.

Patch

1.10.11 - Custom Post Types CPCSS, Javascript Minification

August 11, 2018 -- 9:24 (-07:00)

Custom Post Types CPCSS

A couple of custom post types were removed from the auto-critical-path-css detection system, as the custom post types involved were not used for publicly available pages.

Javascript Minification

A further improvement to the previous patch was implemented, which should catch all further issues described in 1.10.10

Patch

1.10.10 - Javascript Minification

August 10, 2018 -- 17:26 (-07:00)

When minifying javascript, the minification routine strips out whitespace (spaces, new lines).  The trouble with this, is when you have certain operators that require a space before them.  Such as:

var x = y - --z;

In this situation, the --z needs to be wrapped in parentheses.

var x = y - (--z);

So that the resulting minified code looks like:

var x=y-(--z); // correct

Instead of:

var x=y---z; // wrong

This patch includes an update that corrects this situation.

Patch

1.10.9 - Dynamic Link Injection Resolved

August 10, 2018 -- 11:35 (-07:00)

WordPress has a great feature where you can paste a link into your content editor, and it will provide a card with summary about the link. 

Pegasaas Accelerator was incorrectly identifying these embedded links as YouTube vidoes, and was attempting to lazyload them as youtube elements resulting in an unexpected placeholder being injected into the page.

This has now been patched.

Patch

1.10.8 - Semaphore Locking Improved

August 10, 2018 -- 10:08 (-07:00)

In certain conditions, if a website's database is hosted offsite, there maybe a degree of latency involved in writing and reading data.  In these situations, it is important to ensure that there is a period (albiet short) that a request for a semphore lock waits for the lock to be released.

In all previous versions, we were waiting for periods of 500 milliseconds, which was too little, and instead have now changed it to .5 seconds (or 500,000 milliseconds), if a semaphore is found to be locked.

Patch

1.10.7 - Added Additional Logging

August 10, 2018 -- 6:49 (-07:00)

Small patch to add additional logging in the semaphore functionality.

Patch

1.10.6 - SiteGround Optimizer Cache Issue

August 10, 2018 -- 6:24 (-07:00)

When installed to a SiteGround server and the SG Optimizer plugin is installed, Pegasaas Accelerator will automatically purge the SG cache on demand.

Since a recent update, the purge was happening, but the script was terminating prematurely.  This has now been patched.

Patch

1.10.5 - WordLift JSON-LD Issue

August 9, 2018 -- 15:44 (-07:00)

Resolved issue with the WordLift.io API JSON-LD being corrupted.  Although the wl-api/ path was excluded, if Pegasaas did not set itself as disabled "early", the output was in binary form.  Further investigation is planned, however the patch does resolve the issue.

 

Patch

1.10.4 - External Image Optimization URL Mapping

August 9, 2018 -- 14:12 (-07:00)

The External Image Optimization functionality was inoperable due to a change in a function that was used in the URL re-mapping functionality.  This issue has now been patched, so that external images are once again being optimized.

Patch

1.10.3 - Cache Fix, SVG Images, Google Fonts, CPCSS Injection

August 9, 2018 -- 13:49 (-07:00)

Cache Fix

There was a problem with file based cache when the WordPress installation was housed within a subfolder.  This has now been patched.

SVG Images

SVG Images were not being properly pushed through the CDN.  The CDN now accepts SVG images and properly serves them.

Google Fonts in Critical Path CSS

There was a recent update where URLS that contained query string arguments were stripped of those query string arguments.  This, unfortunately, this caused any references to such resources as fonts.googleapi.com/css?family=fontname to be truncated to fonts.googleapi.com/css -- this has now been patched.

Critical Path CSS Injection Location

As the location of the CPCSS in the page is critical to how well the page renders, there was a deficiency in the injection routine where it was placing the CPCSS into a region that then was stripped from the page, if the first <link> reference was immediately preceeded by a comment tag.  

A new set of logic was created to identify the proper location for the Critical Path CSS injection.

Patch

1.10.2 - Cloudflare Check Bug

July 31, 2018 -- 5:12 (-07:00)

Patch

On sites that referenced HTTPS but were using a broken certificiate, the system would error out when testing the site for cloudflare support.  This is now patched.

Patch

1.10.1 - Beaver Builder CSS Cache

July 27, 2018 -- 10:27 (-07:00)

Beaver Builder CSS Cache

When using the Beaver Builder plugin for WordPress, when the builder functionality is saved, often the CSS files are rebuild according to what is within the page.

Pegasaas now clears any Javascript or CSS file stored in the /wp-uploads/bb-plugin/cache/ folder, if found witin the code of a page upon save.

Minor

1.10.0 - WebP / Cloudflare / Google Fonts

July 26, 2018 -- 14:12 (-07:00)

WebP Images via secondary CDN (beta)

We have have improved automatic WebP image delivery through a second CDN system.  These requests will show (if you're inspecting network connections) as img-cdn.pegasaas.io requests, rather than the typical cdn.pegasaas.io requests.  This is still in beta testing, and will be released to most installations in the coming weeks.

Cloudflare

Pegasaas now detects if you are using cloudflare, and prompts you to enter your API key and Account Email, so that Pegasaas can automatically clear the appropriate resources when you update your site. 

When Cloudflare is installed, and the API credentials are valid, you will now have a Purge Cloudflare button available from the top Admin Menu -> Pegasaas menu.

Google Fonts

If you have the Optimize Google Fonts option enabled, request for Google Fonts will now flow through a new Pegasaas CDN zone called "fonts-google-cdn.pegasaas.io" and "static-fonts-google-cdn.pegasaas.io".  This drastically improves the delivery of webfonts from the Google Fonts system.  As the resources are temporarily cached as they are open source and static.

Miscellaneous Improvements

There have been a few bug issues that have been patched in 1.10.0, including:

  • Issue with Divi themes that loaded so fast, that a critical window.load call was not triggering
  • When document.write scripts were detected, the system was not loading the postscript code correctly
  • A locking semaphore was not being released on save_cache call when query-string arguments were being called.  This was happening often when critical path css was being built.
  • The log.txt file that was being included with the package was not a zero file size.
Patch

1.9.2 - Removed testing output, updated accuracy of new progress bars

July 19, 2018 -- 9:16 (-07:00)

Testing output was being displayed in overview dashboard.  

Progress bars are more accurately showing the progress.

Patch

1.9.1 - Removed testing output "post not accelerated"

July 16, 2018 -- 9:42 (-07:00)

Output at PegasaasScanner::get_scanned_objects #881 was removed.

Minor

1.9.0 - New Dashboard Interface

July 16, 2018 -- 9:36 (-07:00)

This update features a completely revamped dashboard interface that provides more information about how fully accelerated your site is.

The primary metric, the Accelerated Site Score is now front and center, with the Non-Accelerated Site Score shifted to the left.  To the right is a gauge that shows the number of pages in your site that are accelerated, being accelerated, and/or not accelerated.

In addition, there are three new progress bars just below the main display that show the number of Benchmark (non-accelerated pagespeed) scans, PageSpeed Scans (accelerated pagespeed), and Critical Path CSS Scans that are in progress.

Minor

1.8.0 - Setup Wizard, Partial Acceleration, Bulk Actions, Pagination, Lazy Loading

June 29, 2018 -- 10:59 (-07:00)

Setup Wizard / Partial Acceleration

This is also a new "setup wizard" that is invoked when you install the plugin for the first time.  This new wizard currently has two steps:

  1. Specify Your API Key
  2. Choose the # of Pages/Posts that you want to have accelerated upon initialization.

Bulk Actions

Because you can now choose a partial site acceleration through the new setup wizard, there are new "Bulk" options available from the Edit Posts, Edit Posts, or any Edit Post Type page.

  • Accelerate (this will turn acceleration on for a post)
  • Disable Acceleration (this will turn acceleration off for a post)
  • Clear HTML Cache (if HTML cache exists, this will clear it for the specified post)

Overview Interface Updates

There are now two new toolbars on the Pegasaas Accelerator overview page that help you to view the results that are displayed:

  • Sort/Filter Bar (left)
    • Show: All, Pages, Posts, or any available post types
    • Issue: Any, Minification, Image Optimization, or any other PageSpeed optimization issue
    • Results Per Page: limit the number of results per page
  • Pagination Bar (right)
    • Navigate Back or Forward in the list of accelerated pages

Lazy Loading

Non-render blocking lazy loading is now enabled with Pegasaas. 

Because in a render-blocking (slow) page load, lazy loading typically happens before the rendering of the page, lazy loading is typically seamless. 

However, in a non-render-blocking (fast) page load, lazy loading should only be done on resources that are below the fold of the page.  Because offset heights cannot be determined until the document object model has been rendered, we cannot run a typical lazy load script on the page.  Instead, the Pegasaas Lazy Load system will lazy load after a user defined number of images. 

By default, this number is set at 5, however you can change this cofiguration on your Pegasaas plugin settings page.

Patch

1.7.16 - Page Level Caching Setting

June 5, 2018 -- 16:09 (-07:00)

You can now explicitly disable file based caching on a page-by-page basis.

Patch

1.7.15 - PegasaasCache Clearing Deferred JS

June 5, 2018 -- 10:55 (-07:00)

A fatal error existed when the auto-crawl cron job was attempting to clear deferred js, as the path to the required "includes/file.php" was incorrect.

This resulted in some sites experiencing a truncated page that was then cached.

This has now been patched.

If you experienced this, clear your Pegasaas HTML page cache and allow the system to re-crawl your pages to build the appropriate cache.

Patch

1.7.14 - External Images

June 4, 2018 -- 6:12 (-07:00)

Restricted external image optimization to those images with .jp[e?]p/.png file extensions, in response to dynamically generated images, such as Google User Content that did not have a file extension.

Patch

1.7.13 - Cache Build Requests now Non-Blocking

June 1, 2018 -- 15:33 (-07:00)

Typical cache requests are blocking.  If the server is slow, these blocking requests can slow down the requesting script significantly, and in some cases cause a timeout.

With this update, we have made the PegasaasCache->touch_url() function invoke the wp_remote_request with a non-blocking call, rather than the traditional manual CURL requests that we have been using up until this point.

Patch

1.7.12 - Pantheon Advanced Page Cache

June 1, 2018 -- 11:26 (-07:00)

Added 'pantheon-advanced-page-cache' to the list of supported third-party caching plugin.

Patch

1.7.11 - Resolved Fatal Error in PegasaasUtils Line #35

June 1, 2018 -- 11:15 (-07:00)

Wrapped "posix_uname()" call in a test to see if function exists first.  This code was throwing a fatal error on those servers which did not have a "posix_uname" function defined within the PHP build.

Patch

1.7.10 - Elementor Page Builder / Facebook pixel

June 1, 2018 -- 10:15 (-07:00)

Exclude the elementor library pages from the post types that are scanned, as they are not publicly visible pages.

Exlclude any images from facebook.com from being optimized by the external image optimizer.

Patch

1.7.9 - Pages/Posts Overview Bug Fix

May 31, 2018 -- 5:42 (-07:00)

Resolved an issue with the ability to turn acceleration for individual pages on or off.

At the same time, updated the overview to show size of HTML and JS if the system uses file based caching.

Patch

1.7.8 - Interface Tweaks

May 30, 2018 -- 20:06 (-07:00)

Disabled the click action on the new Page Cache and Critical Path CSS.

Patch

1.7.7 - Exclude script with type text/html from deferred-js.js

May 30, 2018 -- 16:25 (-07:00)
Patch

1.7.6 - Support for build-cpcss via proxy

May 30, 2018 -- 15:35 (-07:00)
Patch

1.7.5 - Lazy Load YouTube

May 30, 2018 -- 14:25 (-07:00)

Fixed a display issue with the thumbnail being stretched.

Patch

1.7.4 - Interface Updates, Support for Cache Header Inspection

May 30, 2018 -- 14:04 (-07:00)

Updates to the interface including:

- removal of the "last scan date"

- addition of "scan with gtmetrix"

- addition of "scan benchmark with pegasaas, gpsi, and gtmetrix"

- page cache status icon

- critical path css status icon

 

Also added, via the .htaccess file modifications, an X-Pegasaas-Cache header with a value of HIT or MISS.  The API, if finding a MISS when about to scan for GPSI score will defer the request until later.

Patch

1.7.3 - Patch Fatal Error Experienced in PegasaasAccelerator

May 23, 2018 -- 14:38 (-07:00)

File was truncated for unknown reason.

Patch

1.7.2 - Clear Critical Path CSS on Post Type CPCSS

May 23, 2018 -- 14:27 (-07:00)

In the event that the returned CPCSS was blank, for a post type, we were trying to clear the cache for that resource (which was non existant).  Have patched PegasaasAccelerator::process_critical_css and added lines 1724-1726

Patch

1.7.1 - GoDaddy Caching

May 23, 2018 -- 13:26 (-07:00)

In this version, we've added the ability to explicitly export the Varnish cache that is used with GoDaddy caching.  This will be helpful to have in future revisions where we detect if Varnish is used with other hosting environment.

Minor cosmetic changes:

Removed sub-menu options

Updated ability to enable/disable features without reloading interface

Disabled features now show as a "red box" on the settings page.

Minor

1.7.0 - Interface Updates, Kinsta Friendly

May 10, 2018 -- 6:16 (-07:00)

This update comes with some cosmetic updates to make the interface easier to use.

There has also been a number of improvements to help with compatibility with resource limited hosting platforms.

Patch

1.6.5 - Lazy Load Update / Inline Encode Images

May 5, 2018 -- 13:40 (-07:00)

The Lazy Loading of images/iframes and youtube videos has been vastly improved.

Also, we have patched support for inline encoded images.

Patch

1.6.4 - Themify Compatibility

May 2, 2018 -- 16:53 (-07:00)

Added missing functionality.

Patch

1.6.3 - Themify Compatibility

May 2, 2018 -- 16:47 (-07:00)

Recommit changes that didn't publish

Patch

1.6.2 - Themify Compatibility

May 2, 2018 -- 13:58 (-07:00)

Added automatic clearing of themify generated CSS from the CDN cache, upon save close.  Also resolved an issue that was being experienced in the "save_post" handler, where Themify was modifying the post ID in such a way that it was passing the incorrect id for the post (it was instead passing the revision id).

To get around this, we changed the hook we use from "save_post" to "edit_post". 

Patch

1.6.1 - The power of one missing semi-colon

May 1, 2018 -- 12:35 (-07:00)

PegasaasAccelerator::defer_render_blocking_css() line 4619

Minor

1.6.0 - Data Delivery System Update

May 1, 2018 -- 10:06 (-07:00)

In this version, we have revamped how the data is delivered on slow or metered web servers.

On those sites that are on a "normal" or higher setting, the data is delivered as it is assembled.

On those sites that are on a "cautious" delivery rate, the data is delivered via a queue, once there has been a suitable amount of time since the last hit.

On those sites that are on the "slowest" or Kinsta/SiteGround, then the server will hold the data until the plugin installed on the client website requests the data via a pickup.

There are also improvements for the Themify themes in this update.

Patch

1.5.28 - Resolved cache-build rate overloading servers

April 16, 2018 -- 6:31 (-07:00)

In the PegasaasScanner::submit_scan_requests(), added new code to help with the appropriate build rate.

Patch

1.5.27 - On feature change, fatal error

April 10, 2018 -- 16:40 (-07:00)

in PegasaasAccelerator.

Patch

1.5.26 - PegasaasUtils::check_curl_load_time

April 10, 2018 -- 14:26 (-07:00)

Function was missing.

Patch

1.5.25 - PegasaasUtils::is_siteground_server

April 10, 2018 -- 6:25 (-07:00)

Added error supression on the psoix_uname function, as it is not supported on some systems.

Patch

1.5.24 - LiteSpeed .htaccess Write Bug

April 9, 2018 -- 14:35 (-07:00)

Was not writing to the server as the server was identifying as LiteSpeed

Patch

1.5.23 - PegasaasCache::save_page_cache

April 7, 2018 -- 15:51 (-07:00)

Fatal error when page with args passed in on line #537

Patch

1.5.22 - Scanner Not Working

April 7, 2018 -- 15:08 (-07:00)

Resolved issues in scanner not receiving GPSI scores.

Patch

1.5.21 - Resolved FATAL error in PegasaasScanner::submit_scan_request

April 7, 2018 -- 13:49 (-07:00)

Bug introduced on 1674 due to incorrect reference to api method.

Patch

1.5.20 - Resolved WARNING in PegasaasScanner::get_page_speed_opportunities

April 7, 2018 -- 13:39 (-07:00)

Introduce on line # 666 because array was not initialized.

Patch

1.5.19 - Support for Pantheon Hosting

April 5, 2018 -- 17:14 (-07:00)

Added in integrated automatic support for the Pantheon caching system on Pantheon Hosting.

Patch

1.5.18 - PegasaasScanner::pegasaas_process_pagespeed_score_requests

April 3, 2018 -- 19:57 (-07:00)

Fixed line #1073 that referred to $this when it should have been $pegasaas

Patch

1.5.17 - Fix to PegasaasCache

April 3, 2018 -- 10:32 (-07:00)

Solved a fatal error when clearing an individual page cache on 352

Patch

1.5.16 - Clear Cache on CPCSS API Received

April 3, 2018 -- 9:36 (-07:00)

Updated the PegasaasAccelerator:process_critical_css() function to clear cache upon critical path css being received.

Updated the PegasaasCache::clear_cache() function to not clear the entire directory tree in ever situation.

Patch

1.5.15 - Bootstrap Conflict

April 2, 2018 -- 12:52 (-07:00)

Tweaked the PegasaasInterface::admin_enqueue so that our bootstrap is not running on all admin pages.

Patch

1.5.14 - Fix problem on accounts panel #2

April 2, 2018 -- 12:31 (-07:00)
Patch

1.5.13 - Fix problem on accounts panel

April 2, 2018 -- 12:26 (-07:00)
Patch

1.5.12 - Support for Caching Plugins

April 2, 2018 -- 12:24 (-07:00)

Now supporting:

Godaddy

LiteSpeed Cache

WP Rocket

WP Fastest Cache

WP Super Cache

WP Total Cache

Hyper Cache

Patch

1.5.11 - Test Package Version

March 29, 2018 -- 12:01 (-07:00)
Patch

1.5.10 - Bug Report Fix 5

March 29, 2018 -- 10:26 (-07:00)
Patch

1.5.9 - Bug Report Fix 4

March 29, 2018 -- 9:51 (-07:00)
Patch

1.5.8 - Bug Report Fix 3

March 29, 2018 -- 9:43 (-07:00)
Patch

1.5.7 - Bug Report Fix 2

March 29, 2018 -- 9:33 (-07:00)
Patch

1.5.6 - Bug Report Fix

March 29, 2018 -- 7:31 (-07:00)

Parse error: syntax error, unexpected 'public' (T_PUBLIC) in /var/www/vhosts/michaelwebster.co.uk/httpdocs/selected/wp-content/plugins/pegasaas-accelerator/_inc/classes/pegasaas-interface.class.php on line 630

 

Have added newline, and removed public declaration.

Patch

1.5.5 - Small patch

March 29, 2018 -- 6:12 (-07:00)

Removed message "done clearing" that was outputed when pagspeed requests were cleared.

Patch

1.5.4 - Clear Cache / Stuck Score Loading

March 29, 2018 -- 5:55 (-07:00)

With this version, the plugin code has been better organized into objects with related code.

The clear-all cache functionality should now clear all files.

Patch

1.5.3 - Broken Plugin

March 22, 2018 -- 14:06 (-07:00)

Fatal Error fix.

Patch

1.5.2 - Save Post was outputting Debugging Message

March 22, 2018 -- 13:54 (-07:00)
Patch

1.5.1 - Front End Admin Bar Fix

March 22, 2018 -- 13:52 (-07:00)

CSS/JS for the Admin Bar Menu on the front end, were not loading.

Minor

1.5.0 - Load Time, Interface Updates, Caching Improvements

March 22, 2018 -- 12:52 (-07:00)

In this version, we have included the before and after load time estimates.

The interface as has a guided help button, and we have resolved caching issues that have been existed since 1.4.

Patch

1.4.8 - Google Map No Proxy

March 9, 2018 -- 6:09 (-08:00)

Google Maps are now locked down, so we cannot proxy the code.  

For the time being, those pages will need to have their Google Code included in the page.  

At this time, we are not forcing it to async, which will mean that it will fail the "render blocking resources" aspect of GPSI.

This is currently unavoidable.  

Patch

1.4.7 - Uploaded loadCSS Fix

March 8, 2018 -- 16:13 (-08:00)

Added the pre-load fallback into the code.

Patch

1.4.6 - Caching Update

March 8, 2018 -- 13:43 (-08:00)

Fixed issue with requests that had query string arguments, saving to cache.  Added #6448-6451.

Aso, fixed issue with kinsta_exists() function throwing an error.

Patch

1.4.5 - Direct cache fixed

March 7, 2018 -- 13:17 (-08:00)

The only page that was utilizing the direct-cache via the .htaccess method was the home page.  This is now resolved.

Patch

1.4.4 - Fav Ico via CDN / Page Cache

March 6, 2018 -- 16:14 (-08:00)

Pegasaas now pushes Fav ICO files, provided they are specified in the page HTML, through the CDN.

Fixed a bug that was not saving the Page Caching setting via the API, and thus top tier page caching was not enabled via the .htaccess file -- as well, the .htaccess file wasn't altered unless the plugin was disabled then re-enabled.  This is now resolved.

Patch

1.4.3 - Google Font Deliver Optimization Implemented

March 4, 2018 -- 14:00 (-08:00)

Pegasaas will now concatenate the Google CSS font loads.

Patch

1.4.2 - Fix broken Kinsta patch!

March 3, 2018 -- 14:37 (-08:00)

kinsta_exists function needed a test to include plugin.php if it wasn't preloaded.  Wupz.

Patch

1.4.1 - Added support for Kinsta Caching plugin

March 3, 2018 -- 14:01 (-08:00)

Kinsta Cache is now supported. When Pegasaas cache is cleared, so is the Kinsta Cache.

Minor

1.4.0 - GZIP (via PHP), interface reload issue fix

March 2, 2018 -- 12:26 (-08:00)

Added ob_gzhandler functionality to check_cache() and init() for those servers that do not have GZIP automatically enabled in PHP.

Patch

1.3.9 - Small Tweak

March 1, 2018 -- 12:48 (-08:00)

Added handling for situation where "is_user_logged_in" function isn't loaded.  This is possible when a script has loaded just the basic functionality required to access the WPDB object.

Patch

1.3.8 - Updated handling of Pegasaas API calls for WordFence

March 1, 2018 -- 11:55 (-08:00)

WordFence was blocking submissions by the Pegasaas API with critical data.

The work around involved 

Patch

1.3.7 - Debug patched

March 1, 2018 -- 10:34 (-08:00)

Had to change the GET argument of "debug" to "pegasaas_debug" due to a conflict with an installed theme.

Patch

1.3.6 - Added ability to output debugging for certain functions

March 1, 2018 -- 10:30 (-08:00)

submit_benchmark_requests and submit_scan_request are now possible values for the get argument "debug", while in the plugin dashboard

Patch

1.3.5 - Performance Updates / Logging / Caching

March 1, 2018 -- 9:54 (-08:00)

This update moves the deferred-js to the file system, as well as adds back in the .htaccess routed file caching.

In addition, we are now starting to support logging.

Improvements were made to the HTML caching as well.

There is now a section on the "Cache Panel" that shows the PHP memory usage, and when the usage grows to 90% of the PHP memory limit, pegasaas will halt all new optimizations.

Patch

1.3.4 - WooCommerce/WP Ecommerce/Tribe Events Support

February 26, 2018 -- 13:57 (-08:00)

Validated against WooCommerce/WP E-Commerce and Tribe Events Calendar.

Patch

1.3.3 - Custom Post Types

February 23, 2018 -- 13:12 (-08:00)

Added support for Custom Post Types, as well as made the deferred-js load from the CDN.

Patch

1.3.2 - Fixed Auto-Load Lazy-Load

February 22, 2018 -- 12:53 (-08:00)

The lazy loading of images was not happening automatically for above the fold images on page load.  Updated line # 5680.

 

Also, there were spaces missing in the "replace" functionality in line 5649 and 5691, which caused some images to not render.

Patch

1.3.1 - Use CDN for Google Analytics

February 22, 2018 -- 9:51 (-08:00)
Minor

1.3.0 - Mobile Page Speed Scores

February 22, 2018 -- 5:54 (-08:00)

Added Mobile PageSpeed scores to the interface.

Bug fix for additional CDATA in the defer_render_blocking_resources function (5995/5996)

Patch

1.2.6 - Page Caching Upgrade

February 19, 2018 -- 20:02 (-08:00)

Upgraded page caching to include file-based caching, which is the new default.

Patch

1.2.5 - Benchmark Score Issue

February 17, 2018 -- 16:53 (-08:00)
Patch

1.2.4 - Removed API Output

February 17, 2018 -- 15:31 (-08:00)
Patch

1.2.3 - Small Bug Fixes

February 17, 2018 -- 14:33 (-08:00)
Patch

1.2.2 - Recommended Actions Report

February 6, 2018 -- 6:49 (-08:00)

Implemented much of the recommended actions report.

Patch

1.2.1 - External CSS Proxy Support

February 5, 2018 -- 9:12 (-08:00)

Added support for the proxying of external CSS.

Began implementing the recommended actions report.

Minor

1.2.0 - Improvements to Caching

February 4, 2018 -- 8:12 (-08:00)

Updated admin menu bar to include support for clearing external cache from the front end.

Patch

1.1.6 - Google Analytics

January 25, 2018 -- 5:57 (-08:00)

Fixed issue with Google Analytics not loading.

Patch

1.1.5 - Image Handling

January 24, 2018 -- 14:01 (-08:00)

Support for new image quality option, as well as transparent lazy load placeholder.

Patch

1.1.4 - Added compatibility for Jetpack optimized images

January 19, 2018 -- 6:50 (-08:00)

Accelerator now excludes externally optimized images handled by wp.com via the Jetpack plugin.

Patch

1.1.3 - Render Blocking JS Error Resolved

January 19, 2018 -- 5:56 (-08:00)

Had to strip paragraph tags due to <script> placed within rich text editor.

Patch

1.1.2 - WordPress as Subfolder Site / CDN Support

January 16, 2018 -- 16:32 (-08:00)

Have now added support for WordPress as a Subfolder Site.

We have also built in support for the pegasaas CDN for the upcoming PLUS plans.

Patch

1.1.1 - Deferred JS Issue / Clear Cache

January 13, 2018 -- 15:03 (-08:00)

There appears to have been a race condition that wasn't properly resolved in the check_cache() function that was resulting in the deferred JS being erased prematurely.

In addition, the cache was not auto re-built when the home page was updated, due to the get_page_by_path() wordpress function not returning the proper post id for the home page.

Also added in support for auto clearing of the cache when a post is updated, for those sites that run the blog as the home page.

Minor

1.1.0 - CSS Deferral Engine Updated

January 11, 2018 -- 21:53 (-08:00)

Now using loadCSS v2 to load in CSS files.

Patch

1.0.7 - Added Support for Developer Affiliate ID

January 10, 2018 -- 13:38 (-08:00)
Patch

1.0.6 - Resolved doubled up HTML

January 9, 2018 -- 15:44 (-08:00)

In the sanitize_output routine, we were concatenating the html to itself, rather than a straight assignement, in line # 4524.

Patch

1.0.5 - Critical Path Escape Characters

January 9, 2018 -- 15:35 (-08:00)
Patch

1.0.4 - Critical Path CSS Insertion Point

December 28, 2017 -- 14:42 (-08:00)

ON the fly debugging.

Patch

1.0.3 - Critical Path CSS Insertion Point

December 28, 2017 -- 14:39 (-08:00)

Fatal Error

Patch

1.0.2 - Critical Path CSS Insertion Point

December 28, 2017 -- 14:38 (-08:00)

Resolved fatal error.

Patch

1.0.1 - Critical Path CSS Insertion Point

December 28, 2017 -- 14:36 (-08:00)

Added the ability to insert the critical path css before the first <link> tag if that was before the first <style> tag, automatically.

Major

1.0.0 - Full Non-Beta Version

December 28, 2017 -- 14:09 (-08:00)
Patch

0.9.1 - Blog Feed Errors Resolved

December 19, 2017 -- 10:34 (-08:00)

Added the /xmlrpc.php and /feed/ urls to those that should not have the <!--pegasaas://accelerator -- page level override (accelerator disabled) --> appended to the end of the output

Minor

0.9.0 - Render Blocking JS Error Resolved

December 19, 2017 -- 10:13 (-08:00)

Patched error introduced with Post-Script and comments in inline-script code.

Also, resolved bug introduced in version 0.8.8

Patch

0.8.9 - Render Blocking JS Error Resolved

December 19, 2017 -- 9:52 (-08:00)

Wrap Inline JS in Try/Catch

Patch

0.8.8 - WordPress AJAX object

December 16, 2017 -- 16:55 (-08:00)

Resolved bug introduced in previous patched, where the ajax_object variable in the page was being stripped out due to the code being surrounded in a CDATA wrapper.

Patch

0.8.7 - Render Blocking JS Error Resolved

December 16, 2017 -- 16:07 (-08:00)

Resolved a bug that occured when inline javascript included HTML tags that should not have been there.  This was happening when <script>..</script> was placed within the rich text editor.

Patch

0.8.6 - Updates to Image Optimization

December 9, 2017 -- 20:20 (-08:00)

Added support for thumb.php thumbnailer.

Patch

0.8.5 - Isotope Gallery Tweaks 2

December 9, 2017 -- 16:02 (-08:00)

Same as previous.

Patch

0.8.4 - Isotope Gallery Tweaks

December 9, 2017 -- 15:37 (-08:00)

This are a theme level update for the Diavlo HD theme.

Patch

0.8.3 - Deferral of inline CSS imports

December 9, 2017 -- 14:40 (-08:00)

Added support of deferral of inline CSS imports.

Patch

0.8.2 - Results Display Discrepancies

December 9, 2017 -- 13:47 (-08:00)

Some results were showing as scanning, even though they were not.  There had to be an update to how the scannable items were sorted.

Patch

0.8.1 - Semaphore Clearing

December 8, 2017 -- 10:00 (-08:00)

Tweaked the code that detects which semaphores are locked.

Minor

0.8.0 - Curl SSL Issue / Install / Semaphore Clearing

December 8, 2017 -- 9:58 (-08:00)

The system will now pre-detect if the server that it is installed to has a bad certificate file, or SSL is non functional over CURL, and if it is, then disable SSL verify peer.

Also, on some installations, the Update button (when specifying your API key) would not submit. 

Also, there is now a button on the Cache panel that will allow administrators to clear semaphore locks -- this should only be used by Pegasaas tech support in troubleshooting.

Patch

0.7.7 - Semaphore Bug Fix

November 20, 2017 -- 11:47 (-08:00)

Adding missing 'release' for the auto_accelerate_pages semaphore.

Patch

0.7.6 - Installation Wizard Updated

November 20, 2017 -- 11:36 (-08:00)

Updated instructions and double checked installation routine

Patch

0.7.5 - Shorted the refresh time

November 20, 2017 -- 11:07 (-08:00)

Reduced the refresh time to 100 page requests (down from 250) which should refresh the page in a half an hour. 

Patch

0.7.4 - Further Implementation of Semaphore

November 20, 2017 -- 10:29 (-08:00)

All critical variables are now protected with semaphore locking.

Patch

0.7.3 - Fix Stale Requests and Implemented Throttling to AJAX Requests

November 17, 2017 -- 10:31 (-08:00)

After 15 minutes, if a request has not been fulfilled, the Accelerator will now clear the stale request.  For future, we would probably want to poll the server to ensure that the request has been fulfilled rather than arbitrarily clearing the request, as the server may be offline or overloaded.

Also, depending upon the response rate setting int he account, the interface will poll once every 5 seconds (Maximum), 10 seconds (Aggressive), 15 seconds (Normal), 30 seconds (Cautious).

Benchmarking on one beta-testing site showed that a rate of 5 seconds per poll, with a 25 page website, will incur about 1200 executions or 500CPU seconds.  By reducing the rate to 15 seconds, this can reduce the impact on the server dramatically.

Patch

0.7.2 - Semaphore Implemented

November 16, 2017 -- 10:25 (-08:00)

Fixed issue related to race conditions.

Patch

0.7.1 - PageSpeed reports not saving - patch

November 13, 2017 -- 11:44 (-08:00)

Modified if/then statement in function that handles the processing of pagespeed scor requests.

Minor

0.7.0 - First Flight Ready

November 13, 2017 -- 9:47 (-08:00)

Updated API key check to handle event where pegasaas.io may be inaccessible -- plugin no longer disables.

Patch

0.6.7 - Performance Fixes

November 12, 2017 -- 18:50 (-08:00)

Ensuring no duplicate scan request.

Patch

0.6.6 - Bug Fix

November 12, 2017 -- 18:30 (-08:00)

Double-check critical CSS cache cleared.

Patch

0.6.5 - Performance Fixes

November 12, 2017 -- 18:16 (-08:00)

Fix for a fix -- unexpected scalar.

Patch

0.6.4 - Performance Fixes

November 12, 2017 -- 17:29 (-08:00)

Fixed a fatal-error bug.

Patch

0.6.3 - Performance Fixes

November 12, 2017 -- 17:27 (-08:00)

Improvements to the new nonce replacement.

Patch

0.6.2 - Performance Fixes

November 12, 2017 -- 16:26 (-08:00)

No longer using wp_create_nonce

Patch

0.6.1 - Performance Fixes

November 12, 2017 -- 14:40 (-08:00)

Resolved data conflict issues between old and new object references.

Minor

0.6.0 - New object data reference mechanism

November 12, 2017 -- 13:19 (-08:00)

This mechanism will allow for future optimization of non page/post urls.  

Previous to this update, stored data was referenced via the page/post ID.  Objects such as category pages, tag pages, archives, do not have a unique page/post id associated with them.

In the current version of Accelerator, pages and posts are optimized, however category/archive/tag pages are not, as they do are not as important to search engine optimization.

This new mechanism, however, will allow for an expansion into managing those objects are non page/posts in the future.

Patch

0.5.2 - Queried Object Bug Fix

November 9, 2017 -- 16:01 (-08:00)

Resolved an issue where blog posts did not have their proper post object stored while the page was being rendered.

Patch

0.5.1 - Twitter Widget Lazy Load / Thrive Theme Fixes

November 9, 2017 -- 12:57 (-08:00)

There is now support to delay the load of the Twitter Feed widget.  This was needed as Google finds the load of unoptimized, non-cached images from Twitter is detrimental to the loading of the page.  By delaying the load of the Twitter feed, the initial load time of the page is not impacted.  The delay time is configurable, but by default is 5 seconds.

We have also added some support for the Thrive theme grid-layout, which by default does not respond well to deferred render blocking CSS.

Minor

0.5.0 - External Image Optimization

November 7, 2017 -- 16:33 (-08:00)

Resolved a CART-before-HORSE situation with the external image optimization mechanism. 

Patch

0.4.9 - Settings Panel and External Image Optimization

November 6, 2017 -- 15:23 (-08:00)

Updated the UI for the in-app settings panel with feature descriptions.

There is now the ability to have any external images, that are referenced from within your pages, to be auto-optimized.

Images optimization can now be set to High Quality (Default), Mid-Quality, or Low quality.

Patch

0.4.8 - Page Level Overrides

November 3, 2017 -- 10:40 (-07:00)

You can now override most Accelerator settings on a page-by-page basis.  This is useful in the situations where one or more features for specific pages causes adverse behaviour and you want to disable those features causing a problem.

Patch

0.4.7 - Lazy Load Image Support

November 2, 2017 -- 9:36 (-07:00)

Added support to lazy load images.

Patch

0.4.6 - FAQs and Support Form Added to Plugin

October 31, 2017 -- 10:04 (-07:00)

The Accelerator plugin now includes an FAQ page that pulls from real-time FAQs on the pegasaas.com website.

There is now also a support form directly within the plugin which allows you to report any issues with the plugin.

Patch

0.4.5 - Lazy Load Iframes

October 30, 2017 -- 16:19 (-07:00)

You can now enable/disable lazy-loading of iframes.

Patch

0.4.4 - JS Deferral / Individual Scan Item Updates

October 30, 2017 -- 10:21 (-07:00)

There is now the ability to specify whether to use End Of Page inline javascript deferral (default) or End Of Page ansyncronous external load, for javascript deferral.

Also, now when an individual page has a scan requested, the system will first check to see if the critical CSS has been built, and if not, queue that first, and then once that has been built, build the cache for the page, and then finally request the pagespeed score.

Patch

0.4.3 - Ability to Clear individual Page/Post Cache

October 27, 2017 -- 12:40 (-07:00)

Resolved an issue where the HTML cache was not clearable on a page-by-page basis.

Patch

0.4.2 - Benchmark Scan Display Issue Resolved

October 27, 2017 -- 6:05 (-07:00)

When the initial scan of the site was being performed, many pages were showing a 'red bar' instead of the 'blue scanning bar'.  This is now resolved.

Patch

0.4.1 - Added iframe lazy load functionality [beta]

October 24, 2017 -- 6:39 (-07:00)

This update implements a lazy load for iframes. This helps to reduce the initial load of resources that may not be needed, especially those that reference sites that do not serve cachable objects, which could impact the initial load time of the page and your Google PageSpeed score.

Minor

0.4.0 - Caching Fixes, UI issues Resolved

October 17, 2017 -- 11:39 (-07:00)

Fixed a problem, introduced in 0.3.1 when the Blog as Front Page was added to the auto scan, where blog pages were not caching correctly.

Also resolved the issue of when multiple scan requests were submitted in short-order, that some request were not being handled correctly.

UI display issues for scan results also improved.

Patch

0.3.2 - CSS Updates

October 4, 2017 -- 6:12 (-07:00)

Disable WordPress "update-nag" while on the Pegasaas Accelerator plugin page. 

Patch

0.3.1 - Added Blog as Front Page to Auto Scan

October 3, 2017 -- 13:54 (-07:00)

As of this update, the front page, when it is set as the blog, as is the case for a traditional WordPress blog, now auto builds the Critical-Path CSS, calculates benchmark and accelerated pagespeed score.

Minor

0.3.0 - Stable BETA Release

October 3, 2017 -- 9:39 (-07:00)

This is the first stable BETA release.  

Features Included

This version automatically accelerates pages and posts, and analyzes the page speed of your pages and posts with and without Pegasaas Accelerator running.

Minor

0.2 -

August 30, 2017 -- 9:56 (-07:00)