PluginProbe
PhastPress / 1.84
PhastPress v1.84
3.12 3.11 1.75 1.76 1.77 1.78 1.79 1.80 1.81 1.82 1.83 1.84 1.85 1.86 1.87 1.88 1.89 1.90 1.91 1.92 1.93 1.94 1.95 1.96 1.97 All 119 releases
phastpress / readme.txt

readme.txt in PhastPress 1.84, at readme.txt

771 lines 25.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === PhastPress ===
2
3 Tags: pagespeed insights, optimization, page speed, optimisation, speed, performance, load time, loadtime, images, css, webp, async, asynchronous, gtmetrix
4 Requires at least: 4.4
5 Requires PHP: 5.6
6 Stable tag: 1.84
7 Tested up to: 5.5
8 License: AGPL-3.0
9 Contributors: apeschar
10
11 PhastPress automatically optimizes your site for the best possible performance.
12
13
14 == Description ==
15
16 PhastPress uses advanced techniques to manipulate your pages, scripts, stylesheets and images to significantly improve load times. It's designed to conform to Google PageSpeed Insights and GTmetrix recommendations and can improve your site's score dramatically.
17
18 PhastPress' motto is _no configuration_. Install, activate and go!
19
20 PhastPress has the Phast web page optimisation engine by [Albert Peschar](https://kiboit.com/) at its core.
21
22 **Image optimization:**
23
24 * Phast optimizes images using PNG quantization ([pngquant](https://pngquant.org/)) and JPEG recoding ([libjpeg-turbo](https://libjpeg-turbo.org/)).
25 * Phast inlines small images (< 512 bytes) in the page.
26 * Phast converts JPEG images into WebP for supporting browsers.
27 * Phast enables [native lazy loading](https://web.dev/native-lazy-loading/) to speed up page loading and save bandwidth.
28
29 **Asynchronous scripts and stylesheets:**
30
31 * Phast loads all scripts on your page asynchronously and in a single request, while maintaining full compatibility with legacy scripts, due to our custom script loader.
32 * Phast proxies external scripts to extend their cache lifetime.
33 * Phast inlines critical CSS automatically by comparing the rules in your stylesheets with the elements on your page.
34 * Phast loads non-critical CSS asynchronously and in a single request.
35 * Phast inlines Google Fonts CSS.
36 * Phast lazily loads IFrames to prioritize the main page load.
37
38 Get the full power of Phast for your website by installing PhastPress now.
39
40 **Experience any issues?** Please [contact me (Albert) on albert@peschar.net](mailto:albert@peschar.net).
41
42
43 == Installation ==
44
45 1. Upload the PhastPress plugin to your site and activate it.
46 2. Make sure that PhastPress is activated on the Settings page.
47 3. Test your site. If you experience any issues, please [contact me (Albert) on albert@peschar.net](mailto:albert@peschar.net).
48
49
50 == Frequently Asked Questions ==
51
52 = Should I use other optimization plugins with PhastPress? =
53
54 No. You do not need any other plugins, such as image optimization (e.g., Smush) or file minification (e.g., Autoptimize) after you install PhastPress, because PhastPress includes all necessary optimizations.
55
56 I recommend using the simple combination of PhastPress and [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/) only. This reduces the potential for plugin conflicts, and it is really all you need.
57
58 [Fast Velocity Minify](https://wordpress.org/plugins/fast-velocity-minify/) is not compatible with PhastPress, and causes PhastPress not to work. Please use either plugin, but not both.
59
60 = What about caching and compatibility with caching plugins? =
61
62 Caching means saving the HTML from the first visit to a page for later visits, so it does not have to be generated each time. Caching also helps performance with PhastPress, because the page needs to be optimized only once. It is recommendable to use a caching plugin with PhastPress.
63
64 PhastPress is not a caching plugin. I recommend using [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/) in combination with PhastPress to speed up your server response time (TTFB).
65
66 In case you are using another caching plugin, please read the notes below:
67
68 **WP Fastest Cache**: Compatible with PhastPress, but non-caching optimizations must be **disabled**. Turn off the WP Fastest Cache options in [this screenshot](https://peschar.net/s/yQVWIuOuI4ThfRZfkKJa/).
69
70 **W3 Total Cache**: Compatible with PhastPress, but non-caching optimizations must be **disabled**. Specifically, the _Prevent caching of objects after settings change_ option causes problems.
71
72 **Cache Enabler** (by KeyCDN): Not compatible with PhastPress. Cached pages will not be optimized.
73
74 Generally, PhastPress should be compatible with other caching plugins as well. Some caching plugins include optimizations of JavaScript, CSS and/or images. I recommend turning off all optimizations to avoid conflicts with PhastPress.
75
76 = Is PhastPress compatible with Asset CleanUp: Page Speed Booster? =
77
78 Yes. The core functionality of Asset CleanUp: Page Speed Booster complements PhastPress by removing unused JavaScript and CSS from the page.
79
80 Do not use Asset CleanUp's features for optimizing CSS and JS. These features can cause conflicts with PhastPress, and they are not needed, because PhastPress already does this.
81
82 = PhastPress is enabled, but nothing happens =
83
84 You might be using a plugin that compresses the page before PhastPress processes it. When that happens, PhastPress cannot apply optimizations.
85
86 For example, if you are using the [Far Future Expiry Header](https://wordpress.org/plugins/far-future-expiry-header/) plugin, disable the option "Enable Gzip Compression".
87
88 = Why does PhastPress not impact the "Fully Loaded Time" measured by GTmetrix? =
89
90 The "Fully Loaded Time" in GTmetrix is the amount of time taken until all network activity ceases. This measurement can be misleading because it does not take into account the order in which resources load.
91
92 Normally, external resources such as scripts and stylesheets must be downloaded, parsed and executed before the page can be rendered. PhastPress changes this sequence by including all necessary resources (that is, the critical CSS) in the page, and executing scripts asynchronously, so that they do not block the rendering of the page.
93
94 This causes the page to be visible earlier in the browser, but does not change GTmetrix's fully loaded time.
95
96 In order to see this effect, register and log in to GTmetrix and enable the "Video" option. Then test your site (with Phast enabled), and use the "Compare" button to again test your site, but while appending "?phast=-phast" to the URL (eg, https://example.com/?phast=-phast). When the comparison loads, select the "Filmstrips" tab and you'll see the difference. The Phast-optimized version of your site should start rendering much earlier.
97
98 = Can I use a hook to disable PhastPress? =
99
100 Should you need to disable PhastPress on certain pages, you can use the following code to do so:
101
102 add_filter('phastpress_disable', '__return_true');
103
104 Make sure that this code runs during `template_redirect` or earlier.
105
106 = Can I use disable PhastPress on WooCommerce checkout and cart pages? =
107
108 Add this code to your theme's functions.php, or to a new file in wp-content/mu-plugins:
109
110 add_filter('phastpress_disable', function ($disable) {
111 return $disable || is_cart() || is_checkout();
112 });
113
114 = How and when does PhastPress clean the cache? =
115
116 PhastPress uses filesize and modification time information to detect file changes, so clearing the cache is generally not needed. When you change a script or CSS file, the change should be visible immediately after reloading.
117
118 If you do want to clear the cache, you can delete all the data inside `wp-content/cache/phastpress` or `wp-content/plugins/phastpress/cache`.
119
120 = How do I exclude a specific script from optimization? =
121
122 By default, PhastPress delays the load of all scripts until after the DOM has finished loading, so that the browser can render the page as quickly as possible. If you wish to load specific scripts as soon as possible, such as Google Analytics, you may add the `data-phast-no-defer` attribute to the script. It would be preferable to also mark external scripts as `async`, when possible.
123
124 For example:
125
126 <script data-phast-no-defer>
127 // my script goes here
128 </script>
129
130 Or:
131
132 <script async data-phast-no-defer src="http://url.to.my.script/"></script>
133
134 If you (or a plugin) are using `wp_enqueue_script` to add the script to the page, you can use the `phast_no_defer` data key to stop PhastPress from processing the script:
135
136 wp_script_add_data('my_script_name', 'phast_no_defer', true);
137
138 Make sure this is run after registering the script. If you are trying to apply this to a script loaded by a plugin, you could use the `wp_print_scripts` hook:
139
140 add_filter('wp_print_scripts', function () {
141 wp_script_add_data('my_script_name', 'phast_no_defer', true);
142 });
143
144 This is applied automatically for these scripts:
145
146 * Google Analytics script inserted by Monsterinsights since PhastPress 1.29.
147 * Tracking script inserted by Slimstat Analytics since PhastPress 1.30.
148 * Google Analytics script inserted by Google Site Kit since PhastPress 1.75.
149 * Google Analytics script inserted by GA Google Analytics since PhastPress 1.76.
150
151 = Does PhastPress collect data or use external services? =
152
153 Images are optimized using a free API, provided by the creator of PhastPress.
154
155 During image optimization, the following data is sent to the API:
156
157 * the URL on which PhastPress is used
158 * the version of the plugin
159 * the PHP version (to track compatibility requirements)
160 * the image itself
161
162 Images are sent to the API only once. Processed images are stored locally, and not retained by the API.
163
164 If image optimization is switched off, the API will not be used.
165
166
167 == Changelog ==
168
169 = 1.84 - 2020-10-23 =
170
171 Phast was updated to version 1.76:
172
173 * Stop proxying external scripts like Google Analytics. This feature had no performance benefit, and its only purpose was to improve scores in old versions of PageSpeed Insights.
174
175 = 1.83 - 2020-10-22 =
176
177 Phast was updated to version 1.75:
178
179 * Insert path separators (`/`) into bundler URLs in order to avoid Apache's 255 character filename limit.
180
181 = 1.82 - 2020-10-20 =
182
183 Phast was updated to version 1.74:
184
185 * Ignore calls to `document.write` from `async` or `defer` scripts, in line with normal browser behaviour.
186
187 = 1.81 - 2020-10-20 =
188
189 * Apply `phast_no_defer` script attribute to scripts generated by `wp_localize_script`.
190
191 = 1.80 - 2020-10-05 =
192
193 * Prevent direct access to `bootstrap.php`, `low-php-version.php` and files in `classes` directory. This is not a security risk, but could generate errors.
194
195 = 1.79 - 2020-09-21 =
196
197 * Don't defer [AdThrive Ads](https://wordpress.org/plugins/adthrive-ads/) scripts.
198
199 = 1.78 - 2020-09-09 =
200
201 * Don't resize images based on `width`/`height` attributes on `img` tags.
202
203 = 1.77 - 2020-09-08 =
204
205 * Exclude cache from All-in-One WP Migration backups.
206
207 Phast was updated to version 1.71.
208
209 * Only process JPEG, GIF and PNG images. (Fix regression in 1.65.)
210
211 = 1.76 - 2020-09-04 =
212
213 * Don't defer GA Google Analytics scripts.
214
215 = 1.75 - 2020-09-04 =
216
217 * Don't defer Google Site Kit Analytics script.
218 * Add support for phast_no_defer script attribute.
219
220 = 1.74 - 2020-08-30 =
221
222 Phast was updated to version 1.70.
223
224 * Add Last-Modified header to service response.
225
226 = 1.73 - 2020-08-27 =
227
228 * Don't use error suppression when checking query parameters, instead use isset. This prevents notices from appearing in some error logging plugins, even though they are suppressed.
229
230 = 1.72 - 2020-08-26 =
231
232 Phast was updated to version 1.69.
233
234 * Fix CSS proxy URL generation not to include `__p__` filename twice.
235
236 = 1.71 - 2020-08-25 =
237
238 Phast was updated to version 1.68.
239
240 * Support URLs generated via Retina.js (when path info is enabled).
241
242 = 1.70 - 2020-08-21 =
243
244 Phast was updated to version 1.67.
245
246 * Fix IE 11 stylesheet fallbacks.
247
248 = 1.69 - 2020-08-21 =
249
250 Phast was updated to version 1.66.
251
252 * Convert `<link onload="media='all'">` to `<link media="all">` before inlining.
253 * Elide `media` attribute on generated `style` tags if it is `all`.
254
255 = 1.68 - 2020-08-20 =
256
257 Phast was updated to version 1.65.
258
259 * Use path info URLs for bundler and dynamically inserted scripts.
260 * Don't whitelist local URLs but check that the referenced files exist.
261 * Support [BunnyCDN](https://wordpress.org/plugins/bunnycdn/) by optimizing resources on the CDN domain and loading processed resources via the CDN domain.
262
263 = 1.67 - 2020-08-18 =
264
265 Phast was updated to version 1.64.
266
267 * Preserve control characters in strings in minified JavaScript.
268 * Use JSON_INVALID_UTF8_IGNORE on PHP 7.2+ instead of regexp-based invalid UTF-8 character removal.
269
270 = 1.66 - 2020-08-13 =
271
272 Phast was updated to version 1.63.
273
274 * Images in AMP documents are now optimized. No other optimizations are performed in AMP documents.
275
276 = 1.65 - 2020-08-11 =
277
278 Phast was updated to version 1.62.
279
280 * Add an option to lazy load images using native lazy loading (`loading=lazy` attribute). This is enabled by default.
281
282 = 1.64 - 2020-07-21 =
283
284 Phast was updated to version 1.61.
285
286 * Added an option to disable gzip compression of processed resources downloaded via `phast.php`. This might help to fix issues on hosts that compress already compressed responses.
287
288 = 1.63 - 2020-07-21 =
289
290 Phast was updated to version 1.60:
291
292 * Ensure that requestAnimationFrame callbacks run before onload event.
293 * Don't rewrite anchor URLs (like `#whatever`) in CSS.
294
295 = 1.62 - 2020-07-08 =
296
297 Phast was updated to version 1.58:
298
299 * Rewrite each URL in a CSS rule, not just the first one.
300
301 = 1.61 - 2020-06-17 =
302
303 * Disable PhastPress during Asset Cleanup: Page Speed Booster analysis.
304
305 = 1.60 - 2020-06-10 =
306
307 Phast was updated to version 1.55:
308
309 * Only rewrite image URLs in arbitrary attributes inside the `<body>` tag.
310 * Don't optimize image URLs in attributes of `<meta>` tags.
311 * When optimizing images, send the local PHP version to the API, to investigate whether PHP 5.6 support can be phased out.
312
313 = 1.59 - 2020-06-09 =
314
315 Phast was updated to version 1.54:
316
317 * Fix writing existing read-only cache files (on Windows).
318
319 = 1.58 - 2020-06-09 =
320
321 Phast was updated to version 1.53:
322
323 * Fix caching on Windows by not setting read-only permissions on cache files.
324 * Add a checksum to cache files to prevent accidental modifications causing trouble.
325
326 = 1.57 - 2020-06-05 =
327
328 Phast was updated to version 1.51:
329
330 * Rewrite image URLs in any attribute, as long as the URL points to a local file and ends with an image extension.
331
332 = 1.56 - 2020-06-04 =
333
334 Phast was updated to version 1.50:
335
336 * Ignore `link` elements with empty `href`, or one that consists only of slashes.
337 * Replace `</style` inside inlined stylesheets with `</ style` to prevent stylesheet content ending up inside the DOM.
338 * Add `font-swap: block` for Ionicons.
339 * Remove UTF-8 byte order mark from inlined stylesheets.
340
341 = 1.55 - 2020-05-28 =
342
343 * Fix release.
344
345 = 1.54 - 2020-05-28 =
346
347 * Improve compatibility with [Nimble Page Builder](https://wordpress.org/plugins/nimble-builder/) and [Child Theme Configurator](https://wordpress.org/plugins/child-theme-configurator/).
348
349 = 1.53 - 2020-05-27 =
350
351 Phast was updated to version 1.49:
352
353 * Send uncompressed responses to Cloudflare. Cloudflare will handle compression.
354
355 = 1.52 - 2020-05-25 =
356
357 Phast was updated to version 1.48:
358
359 * Stop excessive error messages when IndexedDB is unavailable.
360
361 = 1.51 - 2020-05-19 =
362
363 Phast was updated to version 1.47:
364
365 * Process image URLs in `data-src`, `data-srcset`, `data-wood-src` and `data-wood-srcset` attributes on `img` tags.
366
367 = 1.50 - 2020-05-18 =
368
369 This release should have updated Phast to version 1.47, but didn't, by accident.
370
371 = 1.49 - 2020-05-14 =
372
373 Phast was updated to version 1.46:
374
375 * Whitelist `cdnjs.cloudflare.com` for CSS processing.
376
377 = 1.48 - 2020-05-13 =
378
379 Phast was updated to version 1.45:
380
381 * Use `font-display: block` for icon fonts (currently Font Awesome, GeneratePress and Dashicons).
382
383 = 1.47 - 2020-05-04 =
384
385 Phast was updated to version 1.44:
386
387 * Support `data-pagespeed-no-defer` and `data-cfasync="false"` attributes on scripts for disabling script deferral (in addition to `data-phast-no-defer`).
388 * Leave `data-{phast,pagespeed}-no-defer` and `data-cfasync` attributes in place to aid debugging.
389
390 = 1.46 - 2020-04-30 =
391
392 Phast was updated to version 1.43:
393
394 * Base64 encode the config JSON passed to the frontend, to stop Gtranslate or other tools from mangling the service URL that is contained in it.
395
396 = 1.45 - 2020-04-15 =
397
398 Phast was updated to version 1.42:
399
400 * Speed up script load, and fix a bug with setTimeout functions running before the next script is loaded.
401
402 = 1.44 =
403
404 Phast was updated to version 1.41:
405
406 * Support compressed external resources (ie, proxied styles and scripts).
407
408 = 1.43 =
409
410 * Image optimization functionality works again. You will have to re-enable it in the settings panel.
411
412 Phast was updated to version 1.40:
413
414 * Add s.pinimg.com, google-analytics.com/gtm/js to script proxy whitelist.
415
416 = 1.42 =
417
418 Phast was updated to version 1.39:
419
420 * Remove blob script only after load. This fixes issues with scripts sometimes not running in Safari.
421
422 = 1.41 =
423
424 Phast was updated to version 1.38:
425
426 * Fixed a regression causing external scripts to be executed out of order.
427
428 = 1.40 =
429
430 Phast was updated to version 1.37:
431
432 * Execute scripts by inserting a `<script>` tag with a blob URL, instead of using global eval, so that global variables defined in strict-mode scripts are globally visible.
433
434 = 1.39 =
435
436 Phast was updated to version 1.36:
437
438 * Clean any existing output buffer, instead of flushing it, before starting Phast output buffer.
439
440 = 1.38 =
441
442 Phast was updated to version 1.35:
443
444 * Use all service parameters for hash-based cache marker. This might fix some issues with stale stylesheets being used.
445
446 = 1.37 =
447
448 * The `phastpress_disable` hook is now triggered during `template_redirect` instead of `plugins_loaded`, which allows you to use many more functions in your hook handlers.
449
450 Phast was updated to version 1.34.
451
452 = 1.36 =
453
454 Phast was updated to version 1.33:
455
456 * Stop proxying dynamically inserted scripts after onload hits.
457 * Combine the hash-based cache marker with the original modification time-based cache marker.
458 * Remove comment tags (`<!-- ... -->`) from inline scripts.
459 * Send `Content-Length` header for images.
460
461 = 1.35 =
462
463 Phast was updated to version 1.31:
464
465 * Change CSS cache marker when dependencies (eg, images) change. This prevents showing old images because CSS referencing an old optimized version is cached.
466
467 = 1.34 =
468
469 * Store service config in `service-config-*` files for AppArmor compatibility, if there's a rule that prevents writing `*.php` files.
470 * Create index.html in cache directory to prevent path enumeration.
471
472 = 1.33 =
473
474 Phast was updated to version 1.29:
475
476 * Trick mod_security into accepting script proxy requests by replacing
477 `src=http://...` with `src=hxxp://...`.
478
479 = 1.32 =
480
481 Phast was updated to version 1.28:
482
483 * Don't send WebP images via Cloudflare. Cloudflare [does not support `Vary:
484 Accept`](https://serverfault.com/questions/780882/impossible-to-serve-webp-images-using-cloudflare), so sending WebP via Cloudflare can cause browsers that don't support
485 WebP to download the wrong image type. [Use Cloudflare Polish
486 instead.](https://support.cloudflare.com/hc/en-us/articles/360000607372-Using-Cloudflare-Polish-to-compress-images)
487
488 = 1.31 =
489
490 Phast was updated to version 1.26:
491
492 * Keep `id` attributes on `style` elements. (This fixes compatibility with [css-element-queries](https://github.com/marcj/css-element-queries).)
493
494 = 1.30 =
495
496 * Don't delay SlimStats script.
497
498 = 1.29 =
499
500 * Don't delay Monsterinsights script so that Google Analytics works more reliably.
501
502 Phast was updated to version 1.25:
503
504 * Keep newlines when minifying HTML.
505
506 = 1.28 =
507
508 Phast was updated to version 1.24:
509
510 * Send Content-Security-Policy and X-Content-Type-Options headers on resources
511 to speculatively prevent any XSS attacks via MIME sniffing.
512
513 = 1.27 =
514
515 * Load configuration via `wp-load.php` instead of `wp-config.php`.
516
517 = 1.26 =
518
519 * Fix incompatibility with Thrive Architect.
520
521 = 1.25 =
522
523 * Test with WordPress 5.3.
524 * Fix incompatibility with Divi Visual Builder.
525
526 = 1.24 =
527
528 Phast was updated to version 1.23:
529
530 * Make CSS filters configurable using switches.
531
532 = 1.23 =
533
534 * Disable optimizations inside Yellow Pencil editor.
535
536 = 1.22 =
537
538 * Mitigate restrictive access rules for /wp-content by adding our own .htaccess for phast.php.
539 * Try to put cache directory in wp-content/cache or wp-content/uploads before using the plugin directory.
540
541 Phast was updated to version 1.22:
542
543 * Remove empty media queries from optimize CSS.
544 * Use token to refer to bundled resources, to shorten URL length.
545 * Clean up server-side statistics.
546 * Add HTML minification (whitespace removal).
547 * Add inline JavaScript and JSON minification (whitespace removal).
548 * Add a build system to generate a single PHP file with minified scripts.
549
550 = 1.21 =
551
552 Phast was updated to version 1.21:
553
554 * Don't attempt to optimize CSS selectors containing parentheses, avoiding a bug removing applicable :not(.class) selectors.
555
556 = 1.20 =
557
558 * Fix compatibility issues by not prepending our autoloader.
559
560 = 1.19 =
561
562 Phast was updated to version 1.20:
563
564 * Add *.typekit.net, stackpath.bootstrapcdn.com to CSS whitelist.
565 * Don't apply rot13 on url-encoded characters.
566 * Use valid value for script `type` to quiet W3C validator.
567
568 = 1.18 =
569
570 Phast was updated to version 1.18:
571
572 * Don't rewrite page-relative fragment image URLs like `fill: url(#destination)`.
573
574 = 1.17 =
575
576 Phast was updated to version 1.17:
577
578 * Restore `script` attributes in sorted order (that is, `src` before `type`) to stop Internet Explorer from running scripts twice when they have `src` and `type` set.
579
580 = 1.16 =
581
582 * Add `phastpress_disable` hook.
583
584 = 1.15 =
585
586 * Fix an issue whereby updating to 1.14 would reset the security token, invalidating links used in pages in a full-page cache. (To fix the issue, clear the cache of your full-page caching plugin.)
587
588 = 1.14 =
589
590 * Use the correct service URL when the site URL changes after activation.
591
592 Phast was updated to version 1.16:
593
594 * Encode bundler request query to avoid triggering adblockers.
595 * Use a promise to delay bundler requests until the end of the event loop, rather than setTimeout.
596
597 = 1.13 =
598
599 Phast was updated to version 1.15:
600
601 * Scripts can now be loaded via `document.write`. This restores normal browser behaviour.
602
603 = 1.12 =
604
605 Phast was updated to version 1.14:
606
607 * `document.write` now immediately inserts the HTML into the page. This fixes compatibility with Google AdSense.
608
609 = 1.11.0 =
610
611 Phast was updated to version 1.13.1:
612
613 * Remove query strings from URLs to stylesheets and scripts loaded from the local server. It is redundant, since we add the modification time to the URL ourselves.
614
615 = 1.10.3 =
616
617 * Add version information to console log.
618 * Fix notice regarding undefined variable in settings panel.
619
620 = 1.10.2 =
621
622 Phast was updated to version 1.12.2:
623
624 * Increase timeouts for API connection.
625
626 = 1.10.1 =
627
628 Phast was updated to version 1.12.1:
629
630 * Don't use IndexedDB-backed cache on Safari.
631
632 = 1.10.0 =
633
634 * Use HTTPS for the API connection.
635
636 Phast was updated to version 1.12.0:
637
638 * Rewrite `data-lazy-src` and `data-lazy-srcset` on `img`, `source` tags for compatibility with lazy loading via [BJ Lazy Load](https://wordpress.org/plugins/bj-lazy-load/), possibly other plugins.
639
640 = 1.9.0 =
641
642 * Removed script rearrangement setting.
643
644 Phast was updated to version 1.11.0:
645
646 * Proxy CSS for maxcdn.bootstrapcdn.com, idangero.us, *.github.io.
647 * Proxy icon fonts and other resources from fonts.googleapis.com.
648 * Improve log messages from image filter.
649 * Do not proxy maps.googleapis.com, to fix NotLoadingAPIFromGoogleMapError.
650 * Removed `src` attribute from scripts that are loaded through the bundler, so that old versions of Firefox do not make extraneous downloads.
651 * Check that the bundler returns the right amount of responses.
652 * Per-script debugging message when executing scripts.
653 * Animated GIFs are no longer processed, so that animation is preserved.
654
655 = 1.8.5 =
656
657 * Disable PhastPress for Elementor previews (edit mode).
658
659 = 1.8.4 =
660
661 * Fix installation notice dismissal.
662
663 Phast was updated to version 1.9.3:
664
665 * `<!--` comments in inline scripts are removed only at the beginning.
666
667 = 1.8.3 =
668
669 Phast was updated to version 1.9.2:
670
671 * Empty scripts are cached correctly.
672
673 = 1.8.2 =
674
675 Phast was updated to version 1.9.1:
676
677 * Async scripts are now not loaded before sync scripts that occur earlier in the document.
678
679 = 1.8.1 =
680
681 Phast was updated to version 1.9.0:
682
683 * Scripts are now retrieved in a single request.
684 * Non-existent filter classes are ignored, and an error is logged.
685 * A 'dummy filename' such as `__p__.js` is appended to service requests to trick Cloudflare into caching those responses.
686 * The maximum document size for filters to be applied was corrected to be 1 MiB, not 1 GiB
687
688 = 1.8.0 =
689
690 This release was built with a pre-release version of Phast 1.9.0 that caused incorrect triggering of the browser `load` event. Please upgrade to PhastPress 1.8.1.
691
692 = 1.7.0 =
693
694 * Update Phast to version 1.8.0.
695
696 = 1.6.2 =
697
698 * Do not regenerate the service request token on every configuration change or plugin update.
699
700 = 1.6.1 =
701
702 * Fix issue with CSS not respecting disabled path info setting.
703
704 = 1.6.0 =
705
706 * Update Phast to commit 9e1471a.
707 * Fix MyParcel (and possibly other plugins) compatibility by not optimizing any pages but WordPress' index.php.
708
709 = 1.5.3 =
710
711 * Revamped the settings panel.
712
713 = 1.5.2 =
714
715 * Remove old notice about sending admin email.
716
717 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
718
719 = 1.5.1b =
720
721 * The admin email is no longer sent to the image optimisation API.
722
723 = 1.5.1a =
724
725 * Update to Phast 1.5.1.
726
727 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
728
729 = 1.5.1 =
730
731 * Disable scripts rearrangement by default.
732
733 This version was based on Phast 1.5.0.
734
735 = 1.5.0 =
736
737 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
738
739 = 1.4.0 =
740
741 * Add automatically configured option to use query strings rather than path info for service requests.
742 * Automatically enable PhastPress if everything seems fine.
743 * Use WordPress' Requests library instead of cURL.
744
745 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
746
747 = 1.3.2 =
748
749 * PhastPress is now automatically enabled on installation.
750 * The image optimisation API is now automatically enabled on installation.
751
752 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
753
754 = 1.3.1 =
755
756 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
757
758 = 1.3.0 =
759
760 * PhastPress now works on Windows.
761
762 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
763
764 = 1.2.0 =
765
766 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
767
768 = 1.1.0 =
769
770 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
771