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.
2.1.0 - Agency White Label FeaturesDecember 14, 2018 -- 12:02 (-08:00)
This minor release introduces the ability to white-label the plugin for those subscriptions which include this feature.
2.0.9 - Conditioning of CSS Stylesheet Links for Defer CSSDecember 13, 2018 -- 5:36 (-08:00)
2.0.8 - Lazy Loaded Background Images BugDecember 13, 2018 -- 5:22 (-08:00)
Further improvments to the lazy load background image mechanism.
2.0.7 - Lazy Loaded Background Images BugDecember 13, 2018 -- 5:16 (-08:00)
Further improvements to the background lazy load mechanism.
2.0.6 - Lazy Loaded Background Images BugDecember 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.
2.0.5 - API Timeout IssueDecember 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.
2.0.4 - Save Post Bug FixDecember 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.
2.0.3 - Defer Unused CSS Upgrades, Page Level Settings, Bug FixesDecember 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 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
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.
2.0.2 - Score Data Removed from CookieDecember 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.
2.0.1 - Interface BugDecember 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.
2.0.0 - Time is EverythingDecember 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
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.
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.
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
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.
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 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.
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.
1.13.4 - Auto Acceleration Options / PageSpeed Score ReportingNovember 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.
1.13.3 - Functions removed for Non-Administrative UsersNovember 2, 2018 -- 10:39 (-07:00)
Removed the page-level configurations for non-administrator users.
1.13.2 - Functions removed for Non-Administrative UsersNovember 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.
1.13.1 - Performance ImprovementsOctober 31, 2018 -- 11:38 (-07:00)
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
This now resolves issues with multiple frameworks where "on load" animations were not occuring.
1.13.0 - LITE/PRO / Code Architecture / Varnish / Cache Mega Menu / General Interface ImprovementsOctober 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.
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.
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.
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.
1.12.21 - CSS Minification Bug / Lazy Load Revolution SliderSeptember 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.
1.12.20 - JS Minification Exception for MooToolsSeptember 27, 2018 -- 13:46 (-07:00)
MooTools was throwing an uncaught JS Minification Error. This patch wraps the JSMin functionality within a try-catch.
1.12.19 - Deferred JS not deferring JQuery $ aliasSeptember 27, 2018 -- 10:50 (-07:00)
1.12.18 - Duplicate Resource in Injected CPCSSSeptember 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.
1.12.17 - Inconsistent URLs in CSSSeptember 25, 2018 -- 13:54 (-07:00)
This patch resolves an issue where there were duplicate resources being served from different URLS.
1.12.16 - Inline CSS URL Mapping BugSeptember 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.
1.12.15 - Image / GIF Support in combine.css fileSeptember 24, 2018 -- 17:02 (-07:00)
We've added support for inline image/gif base64 encoded images in the combine.css file
1.12.14 - HTTPS Redirect Patch / Image SVG in Combined.cssSeptember 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.
1.12.13 - Password Protected Pages SupportSeptember 21, 2018 -- 12:42 (-07:00)
Support has now been added for pages that are password protected.
1.12.12 - Critical Path Font Path BugSeptember 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.
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.
1.12.10 - CORS Block on Fonts Routed through CDNSeptember 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.
1.12.9 - Interface Tooltips / Settings Page UpdatesSeptember 19, 2018 -- 17:00 (-07:00)
This patch added further usability to the interface tooltips and page-level settings.
1.12.8 - Critical Path CSS Font Path BugSeptember 19, 2018 -- 15:21 (-07:00)
Trailing quote on paths to external fonts was missing in some of the @font-face calls.
1.12.7 - Lazy Load ImagesSeptember 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.
1.12.6 - Admin Bar MenuSeptember 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.
1.12.5 - Minify JSSeptember 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.
1.12.4 - Deferred JS PatchSeptember 12, 2018 -- 10:50 (-07:00)
1.12.3 - Interface Tooltips / Settings Page UpdatesSeptember 11, 2018 -- 16:43 (-07:00)
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.
1.12.2 - Interface Tooltips / CPCSS and Page Builders Bug FixesSeptember 10, 2018 -- 16:59 (-07:00)
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".
1.12.1 - Magic Auto Image Sizing / Auto Crawl Setting / Interface UpdatesSeptember 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.
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.
1.12.0 - Multiple FeaturesSeptember 1, 2018 -- 11:51 (-07:00)
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.
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.
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.
1.11.8 - WP Engine Clear CacheAugust 27, 2018 -- 17:53 (-07:00)
Resolved a small bug that occurred when the clear_wpengine_cache() function was called.
1.11.7 - Auto AccelerationAugust 27, 2018 -- 15:51 (-07:00)
Patch to resolve auto-accelertation issues where pages were being accelerated when they weren't supposed to.
1.11.6 - Lazy Load ImagesAugust 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.
1.11.5 - Themify ImprovementsAugust 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.
1.11.4 - Caching on LiteSpeed Server / Themify BuilderAugust 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.
This update includes small changes that should positively affect those that use the Themify Builder.
1.11.3 - Deferral of Render Blocking CSS / Database OptimizationAugust 20, 2018 -- 15:04 (-07:00)
Deferral of Render Blocking CSS
This patch addresses that issue.
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.
1.11.2 - Cloudflare Check BugAugust 16, 2018 -- 12:06 (-07:00)
Constant PEGASAAS_CLOUDFLARE_TEST_ENDPOINT was not included in the last build.
1.11.1 - Cloudflare Check BugAugust 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.
1.11.0 - Initialization Sequence/Interface ImprovementsAugust 15, 2018 -- 6:24 (-07:00)
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.
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.
Instead, these code blocks should have been excluded.
This has now been patched.
1.10.22 - Lazy Load YouTubeAugust 12, 2018 -- 13:25 (-07:00)
This patch addresses a style issue/conflict with the Thrive responsive video embed.
1.10.21 - Lazy Load YouTubeAugust 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.
1.10.20 - Google Fonts Import InjectionAugust 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.
1.10.19 - Page Level Critical Path CSSAugust 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.
1.10.18 - Image srcset IssueAugust 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.
In this scenario, the srcset defined image was not mapped to the correct url.
This has now been patched.
1.10.17 - Google Fonts Import InjectionAugust 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.
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.
1.10.14 - Removed Testing OutputAugust 11, 2018 -- 17:13 (-07:00)
Testing output was inadvertantly left in the previous patch. Oopsies!
1.10.13 - Critical Path CSS Injection Point, Category CPCSSAugust 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.
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.
1.10.12 - CPCSS for Category LayoutsAugust 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.
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.
A further improvement to the previous patch was implemented, which should catch all further issues described in 1.10.10
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
var x=y---z; // wrong
This patch includes an update that corrects this situation.
1.10.9 - Dynamic Link Injection ResolvedAugust 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.
1.10.8 - Semaphore Locking ImprovedAugust 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.
1.10.7 - Added Additional LoggingAugust 10, 2018 -- 6:49 (-07:00)
Small patch to add additional logging in the semaphore functionality.
1.10.6 - SiteGround Optimizer Cache IssueAugust 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.
1.10.5 - WordLift JSON-LD IssueAugust 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.
1.10.4 - External Image Optimization URL MappingAugust 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.
1.10.3 - Cache Fix, SVG Images, Google Fonts, CPCSS InjectionAugust 9, 2018 -- 13:49 (-07:00)
There was a problem with file based cache when the WordPress installation was housed within a subfolder. This has now been patched.
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.
1.10.2 - Cloudflare Check BugJuly 31, 2018 -- 5:12 (-07:00)
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.
1.10.1 - Beaver Builder CSS CacheJuly 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.
1.10.0 - WebP / Cloudflare / Google FontsJuly 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.
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.
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.
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.
1.9.2 - Removed testing output, updated accuracy of new progress barsJuly 19, 2018 -- 9:16 (-07:00)
Testing output was being displayed in overview dashboard.
Progress bars are more accurately showing the progress.
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.
1.9.0 - New Dashboard InterfaceJuly 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.
1.8.0 - Setup Wizard, Partial Acceleration, Bulk Actions, Pagination, Lazy LoadingJune 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:
- Specify Your API Key
- Choose the # of Pages/Posts that you want to have accelerated upon initialization.
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
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.
1.7.16 - Page Level Caching SettingJune 5, 2018 -- 16:09 (-07:00)
You can now explicitly disable file based caching on a page-by-page basis.
1.7.15 - PegasaasCache Clearing Deferred JSJune 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.
1.7.14 - External ImagesJune 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.
1.7.13 - Cache Build Requests now Non-BlockingJune 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.
1.7.12 - Pantheon Advanced Page CacheJune 1, 2018 -- 11:26 (-07:00)
Added 'pantheon-advanced-page-cache' to the list of supported third-party caching plugin.
1.7.11 - Resolved Fatal Error in PegasaasUtils Line #35June 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.
1.7.10 - Elementor Page Builder / Facebook pixelJune 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.
1.7.9 - Pages/Posts Overview Bug FixMay 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.
1.7.8 - Interface TweaksMay 30, 2018 -- 20:06 (-07:00)
Disabled the click action on the new Page Cache and Critical Path CSS.
1.7.7 - Exclude script with type text/html from deferred-js.jsMay 30, 2018 -- 16:25 (-07:00)
1.7.6 - Support for build-cpcss via proxyMay 30, 2018 -- 15:35 (-07:00)
1.7.5 - Lazy Load YouTubeMay 30, 2018 -- 14:25 (-07:00)
Fixed a display issue with the thumbnail being stretched.
1.7.4 - Interface Updates, Support for Cache Header InspectionMay 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.
1.7.3 - Patch Fatal Error Experienced in PegasaasAcceleratorMay 23, 2018 -- 14:38 (-07:00)
File was truncated for unknown reason.
1.7.2 - Clear Critical Path CSS on Post Type CPCSSMay 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
1.7.1 - GoDaddy CachingMay 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.
1.7.0 - Interface Updates, Kinsta FriendlyMay 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.
1.6.5 - Lazy Load Update / Inline Encode ImagesMay 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.
1.6.4 - Themify CompatibilityMay 2, 2018 -- 16:53 (-07:00)
Added missing functionality.
1.6.3 - Themify CompatibilityMay 2, 2018 -- 16:47 (-07:00)
Recommit changes that didn't publish
1.6.2 - Themify CompatibilityMay 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".
1.6.1 - The power of one missing semi-colonMay 1, 2018 -- 12:35 (-07:00)
PegasaasAccelerator::defer_render_blocking_css() line 4619
1.6.0 - Data Delivery System UpdateMay 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.
1.5.28 - Resolved cache-build rate overloading serversApril 16, 2018 -- 6:31 (-07:00)
In the PegasaasScanner::submit_scan_requests(), added new code to help with the appropriate build rate.
1.5.27 - On feature change, fatal errorApril 10, 2018 -- 16:40 (-07:00)
1.5.26 - PegasaasUtils::check_curl_load_timeApril 10, 2018 -- 14:26 (-07:00)
Function was missing.
1.5.25 - PegasaasUtils::is_siteground_serverApril 10, 2018 -- 6:25 (-07:00)
Added error supression on the psoix_uname function, as it is not supported on some systems.
1.5.24 - LiteSpeed .htaccess Write BugApril 9, 2018 -- 14:35 (-07:00)
Was not writing to the server as the server was identifying as LiteSpeed
1.5.23 - PegasaasCache::save_page_cacheApril 7, 2018 -- 15:51 (-07:00)
Fatal error when page with args passed in on line #537
1.5.22 - Scanner Not WorkingApril 7, 2018 -- 15:08 (-07:00)
Resolved issues in scanner not receiving GPSI scores.
1.5.21 - Resolved FATAL error in PegasaasScanner::submit_scan_requestApril 7, 2018 -- 13:49 (-07:00)
Bug introduced on 1674 due to incorrect reference to api method.
1.5.20 - Resolved WARNING in PegasaasScanner::get_page_speed_opportunitiesApril 7, 2018 -- 13:39 (-07:00)
Introduce on line # 666 because array was not initialized.
1.5.19 - Support for Pantheon HostingApril 5, 2018 -- 17:14 (-07:00)
Added in integrated automatic support for the Pantheon caching system on Pantheon Hosting.
1.5.18 - PegasaasScanner::pegasaas_process_pagespeed_score_requestsApril 3, 2018 -- 19:57 (-07:00)
Fixed line #1073 that referred to $this when it should have been $pegasaas
1.5.17 - Fix to PegasaasCacheApril 3, 2018 -- 10:32 (-07:00)
Solved a fatal error when clearing an individual page cache on 352
1.5.16 - Clear Cache on CPCSS API ReceivedApril 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.
1.5.15 - Bootstrap ConflictApril 2, 2018 -- 12:52 (-07:00)
Tweaked the PegasaasInterface::admin_enqueue so that our bootstrap is not running on all admin pages.
1.5.14 - Fix problem on accounts panel #2April 2, 2018 -- 12:31 (-07:00)
1.5.13 - Fix problem on accounts panelApril 2, 2018 -- 12:26 (-07:00)
1.5.12 - Support for Caching PluginsApril 2, 2018 -- 12:24 (-07:00)
WP Fastest Cache
WP Super Cache
WP Total Cache
1.5.11 - Test Package VersionMarch 29, 2018 -- 12:01 (-07:00)
1.5.10 - Bug Report Fix 5March 29, 2018 -- 10:26 (-07:00)
1.5.9 - Bug Report Fix 4March 29, 2018 -- 9:51 (-07:00)
1.5.8 - Bug Report Fix 3March 29, 2018 -- 9:43 (-07:00)
1.5.7 - Bug Report Fix 2March 29, 2018 -- 9:33 (-07:00)
1.5.6 - Bug Report FixMarch 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.
1.5.5 - Small patchMarch 29, 2018 -- 6:12 (-07:00)
Removed message "done clearing" that was outputed when pagspeed requests were cleared.
1.5.4 - Clear Cache / Stuck Score LoadingMarch 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.
1.5.3 - Broken PluginMarch 22, 2018 -- 14:06 (-07:00)
Fatal Error fix.
1.5.2 - Save Post was outputting Debugging MessageMarch 22, 2018 -- 13:54 (-07:00)
1.5.1 - Front End Admin Bar FixMarch 22, 2018 -- 13:52 (-07:00)
CSS/JS for the Admin Bar Menu on the front end, were not loading.
1.5.0 - Load Time, Interface Updates, Caching ImprovementsMarch 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.
1.4.8 - Google Map No ProxyMarch 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.
1.4.7 - Uploaded loadCSS FixMarch 8, 2018 -- 16:13 (-08:00)
Added the pre-load fallback into the code.
1.4.6 - Caching UpdateMarch 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.
1.4.5 - Direct cache fixedMarch 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.
1.4.4 - Fav Ico via CDN / Page CacheMarch 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.
1.4.3 - Google Font Deliver Optimization ImplementedMarch 4, 2018 -- 14:00 (-08:00)
Pegasaas will now concatenate the Google CSS font loads.
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.
1.4.1 - Added support for Kinsta Caching pluginMarch 3, 2018 -- 14:01 (-08:00)
Kinsta Cache is now supported. When Pegasaas cache is cleared, so is the Kinsta Cache.
1.4.0 - GZIP (via PHP), interface reload issue fixMarch 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.
1.3.9 - Small TweakMarch 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.
1.3.8 - Updated handling of Pegasaas API calls for WordFenceMarch 1, 2018 -- 11:55 (-08:00)
WordFence was blocking submissions by the Pegasaas API with critical data.
The work around involved
1.3.7 - Debug patchedMarch 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.
1.3.6 - Added ability to output debugging for certain functionsMarch 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
1.3.5 - Performance Updates / Logging / CachingMarch 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.
1.3.4 - WooCommerce/WP Ecommerce/Tribe Events SupportFebruary 26, 2018 -- 13:57 (-08:00)
Validated against WooCommerce/WP E-Commerce and Tribe Events Calendar.
1.3.3 - Custom Post TypesFebruary 23, 2018 -- 13:12 (-08:00)
Added support for Custom Post Types, as well as made the deferred-js load from the CDN.
1.3.2 - Fixed Auto-Load Lazy-LoadFebruary 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.
1.3.1 - Use CDN for Google AnalyticsFebruary 22, 2018 -- 9:51 (-08:00)
1.3.0 - Mobile Page Speed ScoresFebruary 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)
1.2.6 - Page Caching UpgradeFebruary 19, 2018 -- 20:02 (-08:00)
Upgraded page caching to include file-based caching, which is the new default.
1.2.5 - Benchmark Score IssueFebruary 17, 2018 -- 16:53 (-08:00)
1.2.4 - Removed API OutputFebruary 17, 2018 -- 15:31 (-08:00)
1.2.3 - Small Bug FixesFebruary 17, 2018 -- 14:33 (-08:00)
1.2.2 - Recommended Actions ReportFebruary 6, 2018 -- 6:49 (-08:00)
Implemented much of the recommended actions report.
1.2.1 - External CSS Proxy SupportFebruary 5, 2018 -- 9:12 (-08:00)
Added support for the proxying of external CSS.
Began implementing the recommended actions report.
1.2.0 - Improvements to CachingFebruary 4, 2018 -- 8:12 (-08:00)
Updated admin menu bar to include support for clearing external cache from the front end.
1.1.6 - Google AnalyticsJanuary 25, 2018 -- 5:57 (-08:00)
Fixed issue with Google Analytics not loading.
1.1.5 - Image HandlingJanuary 24, 2018 -- 14:01 (-08:00)
Support for new image quality option, as well as transparent lazy load placeholder.
1.1.4 - Added compatibility for Jetpack optimized imagesJanuary 19, 2018 -- 6:50 (-08:00)
Accelerator now excludes externally optimized images handled by wp.com via the Jetpack plugin.
1.1.3 - Render Blocking JS Error ResolvedJanuary 19, 2018 -- 5:56 (-08:00)
Had to strip paragraph tags due to <script> placed within rich text editor.
1.1.2 - WordPress as Subfolder Site / CDN SupportJanuary 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.
1.1.1 - Deferred JS Issue / Clear CacheJanuary 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.
1.1.0 - CSS Deferral Engine UpdatedJanuary 11, 2018 -- 21:53 (-08:00)
Now using loadCSS v2 to load in CSS files.
1.0.7 - Added Support for Developer Affiliate IDJanuary 10, 2018 -- 13:38 (-08:00)
1.0.6 - Resolved doubled up HTMLJanuary 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.
1.0.5 - Critical Path Escape CharactersJanuary 9, 2018 -- 15:35 (-08:00)
1.0.4 - Critical Path CSS Insertion PointDecember 28, 2017 -- 14:42 (-08:00)
ON the fly debugging.
1.0.3 - Critical Path CSS Insertion PointDecember 28, 2017 -- 14:39 (-08:00)
1.0.2 - Critical Path CSS Insertion PointDecember 28, 2017 -- 14:38 (-08:00)
Resolved fatal error.
1.0.1 - Critical Path CSS Insertion PointDecember 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.
1.0.0 - Full Non-Beta VersionDecember 28, 2017 -- 14:09 (-08:00)
0.9.1 - Blog Feed Errors ResolvedDecember 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
0.9.0 - Render Blocking JS Error ResolvedDecember 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
0.8.9 - Render Blocking JS Error ResolvedDecember 19, 2017 -- 9:52 (-08:00)
Wrap Inline JS in Try/Catch
0.8.8 - WordPress AJAX objectDecember 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.
0.8.7 - Render Blocking JS Error ResolvedDecember 16, 2017 -- 16:07 (-08:00)
0.8.6 - Updates to Image OptimizationDecember 9, 2017 -- 20:20 (-08:00)
Added support for thumb.php thumbnailer.
0.8.5 - Isotope Gallery Tweaks 2December 9, 2017 -- 16:02 (-08:00)
Same as previous.
0.8.4 - Isotope Gallery TweaksDecember 9, 2017 -- 15:37 (-08:00)
This are a theme level update for the Diavlo HD theme.
0.8.3 - Deferral of inline CSS importsDecember 9, 2017 -- 14:40 (-08:00)
Added support of deferral of inline CSS imports.
0.8.2 - Results Display DiscrepanciesDecember 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.
0.8.1 - Semaphore ClearingDecember 8, 2017 -- 10:00 (-08:00)
Tweaked the code that detects which semaphores are locked.
0.8.0 - Curl SSL Issue / Install / Semaphore ClearingDecember 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.
0.7.7 - Semaphore Bug FixNovember 20, 2017 -- 11:47 (-08:00)
Adding missing 'release' for the auto_accelerate_pages semaphore.
0.7.6 - Installation Wizard UpdatedNovember 20, 2017 -- 11:36 (-08:00)
Updated instructions and double checked installation routine
0.7.5 - Shorted the refresh timeNovember 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.
0.7.4 - Further Implementation of SemaphoreNovember 20, 2017 -- 10:29 (-08:00)
All critical variables are now protected with semaphore locking.
0.7.3 - Fix Stale Requests and Implemented Throttling to AJAX RequestsNovember 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.
0.7.2 - Semaphore ImplementedNovember 16, 2017 -- 10:25 (-08:00)
Fixed issue related to race conditions.
0.7.1 - PageSpeed reports not saving - patchNovember 13, 2017 -- 11:44 (-08:00)
Modified if/then statement in function that handles the processing of pagespeed scor requests.
0.7.0 - First Flight ReadyNovember 13, 2017 -- 9:47 (-08:00)
Updated API key check to handle event where pegasaas.io may be inaccessible -- plugin no longer disables.
0.6.7 - Performance FixesNovember 12, 2017 -- 18:50 (-08:00)
Ensuring no duplicate scan request.
0.6.6 - Bug FixNovember 12, 2017 -- 18:30 (-08:00)
Double-check critical CSS cache cleared.
0.6.5 - Performance FixesNovember 12, 2017 -- 18:16 (-08:00)
Fix for a fix -- unexpected scalar.
0.6.4 - Performance FixesNovember 12, 2017 -- 17:29 (-08:00)
Fixed a fatal-error bug.
0.6.3 - Performance FixesNovember 12, 2017 -- 17:27 (-08:00)
Improvements to the new nonce replacement.
0.6.2 - Performance FixesNovember 12, 2017 -- 16:26 (-08:00)
No longer using wp_create_nonce
0.6.1 - Performance FixesNovember 12, 2017 -- 14:40 (-08:00)
Resolved data conflict issues between old and new object references.
0.6.0 - New object data reference mechanismNovember 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.
0.5.2 - Queried Object Bug FixNovember 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.
0.5.1 - Twitter Widget Lazy Load / Thrive Theme FixesNovember 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.
0.5.0 - External Image OptimizationNovember 7, 2017 -- 16:33 (-08:00)
Resolved a CART-before-HORSE situation with the external image optimization mechanism.
0.4.9 - Settings Panel and External Image OptimizationNovember 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.
0.4.8 - Page Level OverridesNovember 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.
0.4.7 - Lazy Load Image SupportNovember 2, 2017 -- 9:36 (-07:00)
Added support to lazy load images.
0.4.6 - FAQs and Support Form Added to PluginOctober 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.
0.4.5 - Lazy Load IframesOctober 30, 2017 -- 16:19 (-07:00)
You can now enable/disable lazy-loading of iframes.
0.4.4 - JS Deferral / Individual Scan Item UpdatesOctober 30, 2017 -- 10:21 (-07:00)
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.
0.4.3 - Ability to Clear individual Page/Post CacheOctober 27, 2017 -- 12:40 (-07:00)
Resolved an issue where the HTML cache was not clearable on a page-by-page basis.
0.4.2 - Benchmark Scan Display Issue ResolvedOctober 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.
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.
0.4.0 - Caching Fixes, UI issues ResolvedOctober 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.
0.3.2 - CSS UpdatesOctober 4, 2017 -- 6:12 (-07:00)
Disable WordPress "update-nag" while on the Pegasaas Accelerator plugin page.
0.3.1 - Added Blog as Front Page to Auto ScanOctober 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.
0.3.0 - Stable BETA ReleaseOctober 3, 2017 -- 9:39 (-07:00)
This is the first stable BETA release.
This version automatically accelerates pages and posts, and analyzes the page speed of your pages and posts with and without Pegasaas Accelerator running.