We’ve been hard at work! Follow all the changes and improvements we’ve made to the Pegasaas Accelerator WordPress web performance optimization plugin.
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.