PluginProbe
PhastPress / 1.85
PhastPress v1.85
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.85, at readme.txt

777 lines 26.1 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.85
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.85 - 2020-10-23 =
170
171 Phast was updated to version 1.77:
172
173 * Insert `<meta charset=utf-8>` tag right after `<head>` and remove existing `<meta charset>` tags. This fixes an issue where the `<meta charset>` tag appears more than 512 bytes into the document, causing encoding issues.
174
175 = 1.84 - 2020-10-23 =
176
177 Phast was updated to version 1.76:
178
179 * 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.
180
181 = 1.83 - 2020-10-22 =
182
183 Phast was updated to version 1.75:
184
185 * Insert path separators (`/`) into bundler URLs in order to avoid Apache's 255 character filename limit.
186
187 = 1.82 - 2020-10-20 =
188
189 Phast was updated to version 1.74:
190
191 * Ignore calls to `document.write` from `async` or `defer` scripts, in line with normal browser behaviour.
192
193 = 1.81 - 2020-10-20 =
194
195 * Apply `phast_no_defer` script attribute to scripts generated by `wp_localize_script`.
196
197 = 1.80 - 2020-10-05 =
198
199 * 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.
200
201 = 1.79 - 2020-09-21 =
202
203 * Don't defer [AdThrive Ads](https://wordpress.org/plugins/adthrive-ads/) scripts.
204
205 = 1.78 - 2020-09-09 =
206
207 * Don't resize images based on `width`/`height` attributes on `img` tags.
208
209 = 1.77 - 2020-09-08 =
210
211 * Exclude cache from All-in-One WP Migration backups.
212
213 Phast was updated to version 1.71.
214
215 * Only process JPEG, GIF and PNG images. (Fix regression in 1.65.)
216
217 = 1.76 - 2020-09-04 =
218
219 * Don't defer GA Google Analytics scripts.
220
221 = 1.75 - 2020-09-04 =
222
223 * Don't defer Google Site Kit Analytics script.
224 * Add support for phast_no_defer script attribute.
225
226 = 1.74 - 2020-08-30 =
227
228 Phast was updated to version 1.70.
229
230 * Add Last-Modified header to service response.
231
232 = 1.73 - 2020-08-27 =
233
234 * 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.
235
236 = 1.72 - 2020-08-26 =
237
238 Phast was updated to version 1.69.
239
240 * Fix CSS proxy URL generation not to include `__p__` filename twice.
241
242 = 1.71 - 2020-08-25 =
243
244 Phast was updated to version 1.68.
245
246 * Support URLs generated via Retina.js (when path info is enabled).
247
248 = 1.70 - 2020-08-21 =
249
250 Phast was updated to version 1.67.
251
252 * Fix IE 11 stylesheet fallbacks.
253
254 = 1.69 - 2020-08-21 =
255
256 Phast was updated to version 1.66.
257
258 * Convert `<link onload="media='all'">` to `<link media="all">` before inlining.
259 * Elide `media` attribute on generated `style` tags if it is `all`.
260
261 = 1.68 - 2020-08-20 =
262
263 Phast was updated to version 1.65.
264
265 * Use path info URLs for bundler and dynamically inserted scripts.
266 * Don't whitelist local URLs but check that the referenced files exist.
267 * Support [BunnyCDN](https://wordpress.org/plugins/bunnycdn/) by optimizing resources on the CDN domain and loading processed resources via the CDN domain.
268
269 = 1.67 - 2020-08-18 =
270
271 Phast was updated to version 1.64.
272
273 * Preserve control characters in strings in minified JavaScript.
274 * Use JSON_INVALID_UTF8_IGNORE on PHP 7.2+ instead of regexp-based invalid UTF-8 character removal.
275
276 = 1.66 - 2020-08-13 =
277
278 Phast was updated to version 1.63.
279
280 * Images in AMP documents are now optimized. No other optimizations are performed in AMP documents.
281
282 = 1.65 - 2020-08-11 =
283
284 Phast was updated to version 1.62.
285
286 * Add an option to lazy load images using native lazy loading (`loading=lazy` attribute). This is enabled by default.
287
288 = 1.64 - 2020-07-21 =
289
290 Phast was updated to version 1.61.
291
292 * 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.
293
294 = 1.63 - 2020-07-21 =
295
296 Phast was updated to version 1.60:
297
298 * Ensure that requestAnimationFrame callbacks run before onload event.
299 * Don't rewrite anchor URLs (like `#whatever`) in CSS.
300
301 = 1.62 - 2020-07-08 =
302
303 Phast was updated to version 1.58:
304
305 * Rewrite each URL in a CSS rule, not just the first one.
306
307 = 1.61 - 2020-06-17 =
308
309 * Disable PhastPress during Asset Cleanup: Page Speed Booster analysis.
310
311 = 1.60 - 2020-06-10 =
312
313 Phast was updated to version 1.55:
314
315 * Only rewrite image URLs in arbitrary attributes inside the `<body>` tag.
316 * Don't optimize image URLs in attributes of `<meta>` tags.
317 * When optimizing images, send the local PHP version to the API, to investigate whether PHP 5.6 support can be phased out.
318
319 = 1.59 - 2020-06-09 =
320
321 Phast was updated to version 1.54:
322
323 * Fix writing existing read-only cache files (on Windows).
324
325 = 1.58 - 2020-06-09 =
326
327 Phast was updated to version 1.53:
328
329 * Fix caching on Windows by not setting read-only permissions on cache files.
330 * Add a checksum to cache files to prevent accidental modifications causing trouble.
331
332 = 1.57 - 2020-06-05 =
333
334 Phast was updated to version 1.51:
335
336 * Rewrite image URLs in any attribute, as long as the URL points to a local file and ends with an image extension.
337
338 = 1.56 - 2020-06-04 =
339
340 Phast was updated to version 1.50:
341
342 * Ignore `link` elements with empty `href`, or one that consists only of slashes.
343 * Replace `</style` inside inlined stylesheets with `</ style` to prevent stylesheet content ending up inside the DOM.
344 * Add `font-swap: block` for Ionicons.
345 * Remove UTF-8 byte order mark from inlined stylesheets.
346
347 = 1.55 - 2020-05-28 =
348
349 * Fix release.
350
351 = 1.54 - 2020-05-28 =
352
353 * Improve compatibility with [Nimble Page Builder](https://wordpress.org/plugins/nimble-builder/) and [Child Theme Configurator](https://wordpress.org/plugins/child-theme-configurator/).
354
355 = 1.53 - 2020-05-27 =
356
357 Phast was updated to version 1.49:
358
359 * Send uncompressed responses to Cloudflare. Cloudflare will handle compression.
360
361 = 1.52 - 2020-05-25 =
362
363 Phast was updated to version 1.48:
364
365 * Stop excessive error messages when IndexedDB is unavailable.
366
367 = 1.51 - 2020-05-19 =
368
369 Phast was updated to version 1.47:
370
371 * Process image URLs in `data-src`, `data-srcset`, `data-wood-src` and `data-wood-srcset` attributes on `img` tags.
372
373 = 1.50 - 2020-05-18 =
374
375 This release should have updated Phast to version 1.47, but didn't, by accident.
376
377 = 1.49 - 2020-05-14 =
378
379 Phast was updated to version 1.46:
380
381 * Whitelist `cdnjs.cloudflare.com` for CSS processing.
382
383 = 1.48 - 2020-05-13 =
384
385 Phast was updated to version 1.45:
386
387 * Use `font-display: block` for icon fonts (currently Font Awesome, GeneratePress and Dashicons).
388
389 = 1.47 - 2020-05-04 =
390
391 Phast was updated to version 1.44:
392
393 * Support `data-pagespeed-no-defer` and `data-cfasync="false"` attributes on scripts for disabling script deferral (in addition to `data-phast-no-defer`).
394 * Leave `data-{phast,pagespeed}-no-defer` and `data-cfasync` attributes in place to aid debugging.
395
396 = 1.46 - 2020-04-30 =
397
398 Phast was updated to version 1.43:
399
400 * 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.
401
402 = 1.45 - 2020-04-15 =
403
404 Phast was updated to version 1.42:
405
406 * Speed up script load, and fix a bug with setTimeout functions running before the next script is loaded.
407
408 = 1.44 =
409
410 Phast was updated to version 1.41:
411
412 * Support compressed external resources (ie, proxied styles and scripts).
413
414 = 1.43 =
415
416 * Image optimization functionality works again. You will have to re-enable it in the settings panel.
417
418 Phast was updated to version 1.40:
419
420 * Add s.pinimg.com, google-analytics.com/gtm/js to script proxy whitelist.
421
422 = 1.42 =
423
424 Phast was updated to version 1.39:
425
426 * Remove blob script only after load. This fixes issues with scripts sometimes not running in Safari.
427
428 = 1.41 =
429
430 Phast was updated to version 1.38:
431
432 * Fixed a regression causing external scripts to be executed out of order.
433
434 = 1.40 =
435
436 Phast was updated to version 1.37:
437
438 * 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.
439
440 = 1.39 =
441
442 Phast was updated to version 1.36:
443
444 * Clean any existing output buffer, instead of flushing it, before starting Phast output buffer.
445
446 = 1.38 =
447
448 Phast was updated to version 1.35:
449
450 * Use all service parameters for hash-based cache marker. This might fix some issues with stale stylesheets being used.
451
452 = 1.37 =
453
454 * 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.
455
456 Phast was updated to version 1.34.
457
458 = 1.36 =
459
460 Phast was updated to version 1.33:
461
462 * Stop proxying dynamically inserted scripts after onload hits.
463 * Combine the hash-based cache marker with the original modification time-based cache marker.
464 * Remove comment tags (`<!-- ... -->`) from inline scripts.
465 * Send `Content-Length` header for images.
466
467 = 1.35 =
468
469 Phast was updated to version 1.31:
470
471 * Change CSS cache marker when dependencies (eg, images) change. This prevents showing old images because CSS referencing an old optimized version is cached.
472
473 = 1.34 =
474
475 * Store service config in `service-config-*` files for AppArmor compatibility, if there's a rule that prevents writing `*.php` files.
476 * Create index.html in cache directory to prevent path enumeration.
477
478 = 1.33 =
479
480 Phast was updated to version 1.29:
481
482 * Trick mod_security into accepting script proxy requests by replacing
483 `src=http://...` with `src=hxxp://...`.
484
485 = 1.32 =
486
487 Phast was updated to version 1.28:
488
489 * Don't send WebP images via Cloudflare. Cloudflare [does not support `Vary:
490 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
491 WebP to download the wrong image type. [Use Cloudflare Polish
492 instead.](https://support.cloudflare.com/hc/en-us/articles/360000607372-Using-Cloudflare-Polish-to-compress-images)
493
494 = 1.31 =
495
496 Phast was updated to version 1.26:
497
498 * Keep `id` attributes on `style` elements. (This fixes compatibility with [css-element-queries](https://github.com/marcj/css-element-queries).)
499
500 = 1.30 =
501
502 * Don't delay SlimStats script.
503
504 = 1.29 =
505
506 * Don't delay Monsterinsights script so that Google Analytics works more reliably.
507
508 Phast was updated to version 1.25:
509
510 * Keep newlines when minifying HTML.
511
512 = 1.28 =
513
514 Phast was updated to version 1.24:
515
516 * Send Content-Security-Policy and X-Content-Type-Options headers on resources
517 to speculatively prevent any XSS attacks via MIME sniffing.
518
519 = 1.27 =
520
521 * Load configuration via `wp-load.php` instead of `wp-config.php`.
522
523 = 1.26 =
524
525 * Fix incompatibility with Thrive Architect.
526
527 = 1.25 =
528
529 * Test with WordPress 5.3.
530 * Fix incompatibility with Divi Visual Builder.
531
532 = 1.24 =
533
534 Phast was updated to version 1.23:
535
536 * Make CSS filters configurable using switches.
537
538 = 1.23 =
539
540 * Disable optimizations inside Yellow Pencil editor.
541
542 = 1.22 =
543
544 * Mitigate restrictive access rules for /wp-content by adding our own .htaccess for phast.php.
545 * Try to put cache directory in wp-content/cache or wp-content/uploads before using the plugin directory.
546
547 Phast was updated to version 1.22:
548
549 * Remove empty media queries from optimize CSS.
550 * Use token to refer to bundled resources, to shorten URL length.
551 * Clean up server-side statistics.
552 * Add HTML minification (whitespace removal).
553 * Add inline JavaScript and JSON minification (whitespace removal).
554 * Add a build system to generate a single PHP file with minified scripts.
555
556 = 1.21 =
557
558 Phast was updated to version 1.21:
559
560 * Don't attempt to optimize CSS selectors containing parentheses, avoiding a bug removing applicable :not(.class) selectors.
561
562 = 1.20 =
563
564 * Fix compatibility issues by not prepending our autoloader.
565
566 = 1.19 =
567
568 Phast was updated to version 1.20:
569
570 * Add *.typekit.net, stackpath.bootstrapcdn.com to CSS whitelist.
571 * Don't apply rot13 on url-encoded characters.
572 * Use valid value for script `type` to quiet W3C validator.
573
574 = 1.18 =
575
576 Phast was updated to version 1.18:
577
578 * Don't rewrite page-relative fragment image URLs like `fill: url(#destination)`.
579
580 = 1.17 =
581
582 Phast was updated to version 1.17:
583
584 * 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.
585
586 = 1.16 =
587
588 * Add `phastpress_disable` hook.
589
590 = 1.15 =
591
592 * 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.)
593
594 = 1.14 =
595
596 * Use the correct service URL when the site URL changes after activation.
597
598 Phast was updated to version 1.16:
599
600 * Encode bundler request query to avoid triggering adblockers.
601 * Use a promise to delay bundler requests until the end of the event loop, rather than setTimeout.
602
603 = 1.13 =
604
605 Phast was updated to version 1.15:
606
607 * Scripts can now be loaded via `document.write`. This restores normal browser behaviour.
608
609 = 1.12 =
610
611 Phast was updated to version 1.14:
612
613 * `document.write` now immediately inserts the HTML into the page. This fixes compatibility with Google AdSense.
614
615 = 1.11.0 =
616
617 Phast was updated to version 1.13.1:
618
619 * 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.
620
621 = 1.10.3 =
622
623 * Add version information to console log.
624 * Fix notice regarding undefined variable in settings panel.
625
626 = 1.10.2 =
627
628 Phast was updated to version 1.12.2:
629
630 * Increase timeouts for API connection.
631
632 = 1.10.1 =
633
634 Phast was updated to version 1.12.1:
635
636 * Don't use IndexedDB-backed cache on Safari.
637
638 = 1.10.0 =
639
640 * Use HTTPS for the API connection.
641
642 Phast was updated to version 1.12.0:
643
644 * 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.
645
646 = 1.9.0 =
647
648 * Removed script rearrangement setting.
649
650 Phast was updated to version 1.11.0:
651
652 * Proxy CSS for maxcdn.bootstrapcdn.com, idangero.us, *.github.io.
653 * Proxy icon fonts and other resources from fonts.googleapis.com.
654 * Improve log messages from image filter.
655 * Do not proxy maps.googleapis.com, to fix NotLoadingAPIFromGoogleMapError.
656 * Removed `src` attribute from scripts that are loaded through the bundler, so that old versions of Firefox do not make extraneous downloads.
657 * Check that the bundler returns the right amount of responses.
658 * Per-script debugging message when executing scripts.
659 * Animated GIFs are no longer processed, so that animation is preserved.
660
661 = 1.8.5 =
662
663 * Disable PhastPress for Elementor previews (edit mode).
664
665 = 1.8.4 =
666
667 * Fix installation notice dismissal.
668
669 Phast was updated to version 1.9.3:
670
671 * `<!--` comments in inline scripts are removed only at the beginning.
672
673 = 1.8.3 =
674
675 Phast was updated to version 1.9.2:
676
677 * Empty scripts are cached correctly.
678
679 = 1.8.2 =
680
681 Phast was updated to version 1.9.1:
682
683 * Async scripts are now not loaded before sync scripts that occur earlier in the document.
684
685 = 1.8.1 =
686
687 Phast was updated to version 1.9.0:
688
689 * Scripts are now retrieved in a single request.
690 * Non-existent filter classes are ignored, and an error is logged.
691 * A 'dummy filename' such as `__p__.js` is appended to service requests to trick Cloudflare into caching those responses.
692 * The maximum document size for filters to be applied was corrected to be 1 MiB, not 1 GiB
693
694 = 1.8.0 =
695
696 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.
697
698 = 1.7.0 =
699
700 * Update Phast to version 1.8.0.
701
702 = 1.6.2 =
703
704 * Do not regenerate the service request token on every configuration change or plugin update.
705
706 = 1.6.1 =
707
708 * Fix issue with CSS not respecting disabled path info setting.
709
710 = 1.6.0 =
711
712 * Update Phast to commit 9e1471a.
713 * Fix MyParcel (and possibly other plugins) compatibility by not optimizing any pages but WordPress' index.php.
714
715 = 1.5.3 =
716
717 * Revamped the settings panel.
718
719 = 1.5.2 =
720
721 * Remove old notice about sending admin email.
722
723 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
724
725 = 1.5.1b =
726
727 * The admin email is no longer sent to the image optimisation API.
728
729 = 1.5.1a =
730
731 * Update to Phast 1.5.1.
732
733 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
734
735 = 1.5.1 =
736
737 * Disable scripts rearrangement by default.
738
739 This version was based on Phast 1.5.0.
740
741 = 1.5.0 =
742
743 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
744
745 = 1.4.0 =
746
747 * Add automatically configured option to use query strings rather than path info for service requests.
748 * Automatically enable PhastPress if everything seems fine.
749 * Use WordPress' Requests library instead of cURL.
750
751 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
752
753 = 1.3.2 =
754
755 * PhastPress is now automatically enabled on installation.
756 * The image optimisation API is now automatically enabled on installation.
757
758 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
759
760 = 1.3.1 =
761
762 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
763
764 = 1.3.0 =
765
766 * PhastPress now works on Windows.
767
768 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
769
770 = 1.2.0 =
771
772 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
773
774 = 1.1.0 =
775
776 [See Phast change log](https://github.com/kiboit/phast/blob/master/CHANGELOG.md)
777