YellowLabTools Versions Save

WebPerf and front-end quality testing tool

v3.0.0

6 months ago

Rules added

  • New Old Image Format rule that converts to WebP & AVIF and compares weight
  • New Excessive Image Density rule to help detect when very high density screens load heavy images
  • New Incorrect Sizes Attribute rule that checks accuracy of the "sizes" attribute on responsive images

Rules updated

  • Image Optimization now also checks if WebP and AVIF images can be optimized
  • Image Optimization does not try to compress PNGs in lossless mode anymore
  • Oversized Images is more accurate and compares to real image layout
  • Below the Fold Images now correctly detects native lazyloading

API changes

  • waitForResponse option removed (was deprecated)
  • Screenshot URL removed from the JSON response (but is still easy to guess from the run ID)

Under the hood

  • Chrome upgraded to v114
  • Requires NodeJS >= 18

v1.13.3

5 years ago
Just a quick release that adds a new rule:
  • Oversized images: it counts JPEG and PNG images that have a width >800px on mobile or >1500px on desktop & tablet.

v1.13.0

6 years ago

Mostly an update of dependencies and scores

Rules changes:
  • Changed the score for many rules so they match with 2018 machines, browsers and bandwidths. Almost everyone should see better scores.
  • Updated the jQuery version rule to jQuery 3.3
Improvements:
  • YLT should now be compatible with an HTTPS hosting (the public instance will follow later)
Bug fixes:
  • Don't load Google Analytics on private instances (#247)
Under the hood:
  • Large dependecy update
  • The lwip dependency that was causing many installation problems is replaced by jimp (thanks to @hackedd )

v1.12.0

7 years ago

Let's open webfonts and see what's inside!

This release brings 3 new rules about webfonts. The main things you need to know is that 1) YellowLabTools doesn't like it when you load too many fonts and 2) fonts bigger than 40KB are considered unoptimized for the web.

Rules changes:
  • Added 3 rules: Webfonts number, Overweighted webfonts and Unused Unicode ranges (#209)
  • Removed the rule jQuery usage, as it's not understood correctly and doesn't take user activated scripts in account (#208)
  • Updated the jQuery version rule to jQuery 3.1
  • Added an offset of 100px to the rule Under the fold images so it's now a bit less strict (#207)
Improvements:
  • Added a HTTP proxy option (#78)
  • Multiple cookies are now accepted in the options (#195)
  • Added the domain blocking option to the CL (#212)
  • You can now add a YLT bookmarklet to your browser (#206)
Bug fixes:
  • Fixed a bug with EJS on built instances (#189)
  • Fixed a bug that was causing an Error 1001, I hope it won't occur anymore (#170)
  • Fixed a bug that prevented blocked requests from being displayed.
  • Fixed the invalid XML output produced by the CLI XML reporter (#215)
API changes:
  • [Possible breaking change] The waitForResponse option is now false by default instead of true on the Rest API. Please make sure you specify the option if you were using default.
Under the hood:
  • Phantomas updated to v1.18, fixing a few bugs (#191, #195 and #170)
  • Updated various other dependencies
  • Updated and improved the Vagrant box (#204 by @camlafit)

v1.11.0

7 years ago

Why this "Malaysia" release name? Because I'm now a "digital nomad" and I travel around the world while working. You'll be able to follow me on a map if you pay attention to releases' names :)

Various changes and fixes

In this release, there was no specific focus, but many improvements and bug fixes. Notably, two rules are removed and three rules are added!

Rules changes:
  • Added a new rule **Empty requests" (#180)
  • Added a new rule **Identical content" (#181)
  • Added a new rule Synchronous Ajax requests (#178)
  • Removed the Duplicated requests rule, because it's rarely relevant (#181)
  • Removed the Universal selectors rule, it's not a perf problem anymore (#155)
  • Reduced the weight of the Breakpoints count rule (#154)
  • Updated jQuery rule to handle version 3.0 (#173)
  • Exclude 1x1 pixel images from the Hidden images rule (#139)
  • Change the way offenders are displayed for some CSS related rules (#149)
Bug fixes:
  • Fix JS backtrace parsing (#172)
  • Filter backtraces to hide phantomjs:// files (#177)
  • Phantomas is launched with the ignore-ssl-errors option by default (#140)
  • Changed description for Redundant tags selectors (#162)
  • The update of UglifyJS should fix a bug where the JS minifying step runs forever (https://github.com/mishoo/UglifyJS2/issues/1022)
  • YLT now passes the http://1mb.website test (#171)
Under the hood:
  • YLT is not compatible with NodeJS 0.12 anymore. You'll need v4.0 or more.
  • Enable application/x-www-form-urlencoded on the Rest API (#158 by @magikcypress)
  • Improve the Vagrant install script (#151 by @camlafit)
  • Improve content type detection (#179)
  • Phantomas updated to v1.16, fixes a few bugs (#182)
  • Phantomas is now launched with the --ignore-ssl-errors flag (#140)

v1.10.0

8 years ago

HTTP/2 and third party blocking

This release brings a new rule that reduces the score if HTTP/2 is not used. This is a bit ironic, as my domain yellowlab.tools doesn't even support HTTPS :) Well, sorry for adding a rule that will reduce the score for most of you!

A new option is available, it allows you to block some domains. This is great for example if your score varies each time the ad-server serves a different ad. The list of blocked requests is then displayed on the results page.

Rules changes:
  • New rule HTTP/2 or SPDY that uses is-http2 by @stefanjudis
  • Added offenders to CSS Rules count
  • Updated the jQuery version rule with jQuery 2.2
Bug fixes:
  • XML report error (#141)
  • Fixed a bug that could cause 1001 errors when using the CLI
  • Fixed a bug when there's a JS redirection on the page
Under the hood:
  • Updated from Phantomas 1.13 to 1.15
  • Thereby PhantomJS goes from 2.0 to 2.1, this should fix some problems
  • PhantomJS 1.9 is not used anymore as a backup when 2.x fails
  • Removed the --js-deep-analysis option and made it always on
  • Added the ability to specify a screenshot width for private instances (default to 400px)

v1.9.0

8 years ago

YLT now analyzes you media queries, two new metrics are available

New metrics:
  • Breakpoints count that shows the number of media queries breakpoints defined in stylesheets
  • Not mobile-first media queries that checks if your CSS is mobile-first
Others:
  • Fixed a rare bug "Cannot read property '1' of null"
  • Updated dependencies

v1.8.0

8 years ago

500 stars!

:tada: Today I'm celebrating the 500th star on this GitHub project!!! I'm so happy, that I'm releasing this unplanned v1.8.0 release with two very cool new metrics.

Rules changes:
  • New rule Hidden images that counts images that are loaded but not displayed
  • New rule Similar colors that helps you discover colors in the CSS that are very close to each other
  • Rule Not lazyloaded images is renamed Below the fold images
  • Rule Different colors is renamed Colors count
Bug fixes:
  • Fixed a bug with JS backtraces in the profiler

v1.7.0

8 years ago

Today is a great day

YellowLabTools will now try to optimize, minify and gzip your website's files and help you discover some very embarrassing performance problems. It also detects images that could be lazyloaded.

Rules changes:
  • New rule Total weight
  • New rule Image optimization that tells you the number of KB that could be saved
  • New rule File minification that tells you the number of KB that could be saved
  • Changed the rule Gzip compression to tell the number of KB saved
  • New rule Not lazyloaded images that detects images under the fold
  • Regrouped the different html/js/css/json/image/webfont/video/other seperated rules into a Requests number rule
  • Regrouped the 3 seperated Small js/css/images files rules into a Small requests rule
Improvements:
  • Reorganized categories on the dashboard, Page weight and Requests are now first
  • Renamed Network category into * Server config*
  • Changed some rules thresholds, mainly to be cooler
Under the hood:
  • Updated to Phantomas 1.11

v1.6.0

8 years ago

Some new rules in replacement of some removed rules, small improvements and bug fixes.

Rules changes:
  • Removed rules: "DOM inserts", "DOM queries" and "Events bound"
  • Added rule: "DOM access", counting all of the above removed rules and more
  • Added rule "jQuery calls on empty object"
  • "Queries without results" are now also counting jQuery queries
  • Made "Font count" rule cooler
  • Made "Global variables" rule cooler
Improvements:
  • Enabled special url keyboards on mobile devices for the home page field (by @HipsterBrown)
  • The warnings filter in the timeline page can now be sub-filtered to specific warning types
  • Changed the "tweet-this" message on the dashboard
  • Redirected www to non-www url (for SEO purpose)
  • Improved the killing of non-responding Phantomas runs, not clearing the waiting queue anymore
Bug fixes:
  • Fixed jQuery version detection for old versions when there's no trailing .0, such as 1.5
  • Fixed UI icons showing a grid on Internet Explorer
  • Stopped counting duplicated queries on elements not attached to the DOM
  • Fixed timeline bug not being displayed

Don't forget to talk about this tool if you like it!