@paulirish paulirish released this Dec 11, 2018 · 17 commits to master since this release

Assets 2

Full Changelog

Core

  • service-worker: check that test page is in SW scope (#6609)
  • throw fatally on page hang (#6497)
  • define new DNS failure LH Error (#6579)
  • assert securityIssues before getPageLoadError (#6578)
  • remove protocol timeout for Page.navigate (#6413)
  • rename webapp-install-banner audit to installable-manifest (#6630)
  • computed-artifacts: fix cache and add perf timing (#6619)

Report

  • add PWA category badge gauge (#6526, #6670)
  • give passed-opportunities group an icon (#6594)
  • safari: fix dropdown overlap translateZ (#6546)
  • use details-element-polyfill from node_modules (#6593, #6607)

CLI

  • exit and kill Chrome on unhandledRejection (#6394)

Tests

  • add smoketest for slow service worker (#6648)

Misc

  • tsc: infer dom.createElement type from tag name (#6637)
  • rename core/gather/computed/ to core/computed/ (#6618)
  • rename typings/ to types/ (#6617)
  • bump extension version (#6569)
Pre-release

@paulirish paulirish released this Nov 16, 2018 · 158 commits to master since this release

Assets 2

We accidentally published an alpha release to NPM without the @next publish tag as v4.0.0-alpha.1.

This new release (v4.0.0-alpha.2-3.2.1) is just a republish of our latest stable v3.2.1, to fix the bug for anyone using lighthouse@latest.

@paulirish paulirish released this Nov 16, 2018 · 38 commits to master since this release

Assets 2

Warning: This release was accidentally published to NPM without the @next publish tag. To address this, the stable v3.2.1 release was republished as v4.0.0-alpha.2-3.2.1. Sorry y'all.

Full Changelog

Core

  • skip h2 audit in LR (#6564)
  • config: faster category validation (#6445)
  • driver: wait for Page.frameNavigated for about:blank (#6446)
  • lib: add chrome-extension to URL allowedProtocols and add test (#6447)
  • pwa: audit and report group renames (#6494)
  • seo: properly handle anchors in SVG (#6483)
  • increase protocol timeout to 30s (#6505, #6531)

Report

  • pwa: give badges to groups with all passing audits (#6504)
  • pwa: add pwa-category-renderer (#6486)
  • compat: add details-element polyfill for Edge (#6465)
  • compat: fix support for edge (#6459)
  • compat: ignore Edge's Invalid Argument error (#6456)
  • compat: fix summary rendering in FF (#6448)
  • handle underscored not_applicable scoreDisplayMode (#6549)
  • css: make performance category more compact (#6437)
  • rename clump classes; give classes to all audit groups (#6482)
  • refactor rendering of top-level failed/passing/etc clumps (#6460)

Misc

  • build: fix viewer deploy (#6449)
  • timing: move timing-trace to async events (#6440)
  • update puppeteer to version 1.10.0 (#6493)
  • readme: use official appveyor badge (#6443)
  • i18n: convert accessibility audits (#6229)

@Hoten Hoten released this Nov 1, 2018

Assets 2

Full Changelog

New Contributors!

Thanks to @carlesnunez and @justin0022 for their first contributions!

Thanks to @CodeDem for improving how the image-aspect-ratio audit handles small images!

Huge thanks to myself (@Hoten) for joining Lighthouse! Go me!

New Audits

  • offline-start-url (#6397)

Core

  • aspectratio: ignore placeholder images (#6305)
  • audit: add utm parameters when calling snyk (#6172)
  • audits: clarify diff between load-fast-enough-for-pwa's TTI and perf TTI (#6286)
  • axe: disable unused audits (#6180)
  • computed: fix new computed artifact interface (#6151)
  • config: add new PWA category groups (#6396)
  • critical-request-chain: remove empty children from LHR (#6211)
  • driver: save performance.now() to avoid conflict (#6387)
  • driver: request smaller trace in m71+ (#6117)
  • driver: stringify protocol error messages (#6302)
  • driver: address bckenny feedback on #6117 (#6285)
  • driver: reduce required traceCategories again (54baf91)
  • driver: recover from rejection on handleJavaScriptDialog (#6327)
  • emulation: fix missing space in mobile UA (#6161)
  • icons: defer to manifest-icon type hint for image type (#6230)
  • network: handle invalid NetworkRequests (#6157)
  • network-analyzer: move throughput to NetworkAnalyzer (#5900)
  • perf: add timing instrumentation to measure runtime perf (#3745)
  • proto: add proto definition for LHR (#6183)
  • simulator: start nodes in observed order (#5362)
  • unminified-javascript: replace esprima with custom tokenizer (#5925)
  • remove recoverOrThrow / err.fatal (#6343)
  • convert computed artifact loading to regular require() (#6204)
  • remove no-websql audit (#6293)
  • bail on run if insecure ssl certification (#6300)
  • make throttled offscreen-images work without TTI (#6039)
  • save HTMLElement.p.matches function to avoid conflict (#6283)
  • remove fonts gatherer, move font-display to use CSSUsage artifact (#6166)
  • remove last dependency on WebInspector (#6209)
  • add timeout to all protocol commands (#6347)
  • don't load blank page twice in first pass (#6369)
  • refactor finding of trace start (#6370)
  • increase Page.navigate timeout (#6412)

Report

  • fix tooltip hover animation (#6288)
  • reframe Fast 3G as Slow 4G (#6163)
  • fix html report viewing bugs for Safari (#6143)
  • dom-size: right-align the value column (#6372)

Clients

  • simplify viewer build process (#6426)
  • reorganize file structure and build process (#6344)
  • build: ignore all locales from devtools & extension build (#6170)
  • lr: skip early emulation now that lr-desktop is defined (#6158)
  • split browserifying and extension packaging into separate scripts (#6295)
  • simplify bundle building (#6282)
  • stop report bug prompt for file:// urls (#6278)

Deps

  • update typescript to latest patch release (#6235)
  • update to tsc 3.1.1 (#6126)
  • jsdom: upgrade to support Element.prototype.closest (#6411)
  • snyk: update snyk snapshot (#6377)

Docs

  • contributing: consistent capitalization (#6174)
  • new-audits: revise issue template (#6233)
  • readme: Add new related project, lighthouse-github-reporter (#6307)
  • readme: change image references be commit hash raw gh urls (#6116)
  • add primer on viewing the timing data (#6393)
  • typo fix (#6335)
  • Remove "sh" format for CLI --help output (#6311)
  • update docs for --output-path re: multiple output types (#6339)

I18n

  • roll latest messages from TC (#6388)
  • update test for new canonical locale codes (#6360)

Tests

  • use predictable numbers in golden LHR (#6404)
  • add basic sentry tests (#6308)
  • restore lr-entry test (#6214)
  • remove more mock computed artifacts (#6195)
  • add trace creator (#6196)
  • add networkRecord-to-devtoolsLog mocking utility (#6171)
  • add angular test for JS minification (#6138)
  • run node 10 on Travis (#6361)

Misc

  • tweaks for devtools client (#6127)
  • simplify proto npm scripts (#6406)
  • add cli module diagram (#6129)
  • keep download-chrome script in npm package (#6153)
  • lantern script path resolution fix (#6380)
  • add integrity data to yarn.lock (#6212)
  • add yarn integrity hashes for extension/viewer (#6277)
  • only allow 1 error from each audit/gatherer (#6215)
  • Revert "core(driver): stringify protocol error messages (#6302)" (#6328)
  • fix typo in feature request template (#6431)
  • remove plots/ (#6346)
  • build: cleanup extension package zip using gulp (#6210)
  • build: rename bundled files (devtools/ext/lr) (#6179)
  • eslint: enforce infix-op spacing (#6382)
  • logger: isVerbose(), getTimeEntries() (#6383)
  • logging: add hanging request logging in driver (#6297)
  • proto: made default LighthouseError enum 'UNDEFINED' (#6334)
  • proto: align proto whitespace (#6374)
  • proto: convert int32's into DoubleValue in proto (#6332)
  • proto: adjust configSetting.output in preprocessor (#6310)
  • proto: add audit_mode and timings (#6363)
  • proto: fix linting and add LR hook (#6373)
  • proto: make NO_ERROR default in proto (#6358)
  • proto: reduce configSettings in proto to minimum (88b2829)
  • yarn: update lockfile for micromatch (#6384)

@paulirish paulirish released this Oct 1, 2018 · 158 commits to master since this release

Assets 2

Full Changelog

Core

  • await js-libraries detection to fix Workbox always showing up (#6141)
  • emulation: set desktop viewport to 1350x940 (#6131)

@paulirish paulirish released this Sep 27, 2018 · 158 commits to master since this release

Assets 2

Full Changelog

New Audits

  • add js-libraries audit, just listing detected js libs (#6081)

Faster

  • driver: deliver trace as events rather than a stream (#6056)
  • network-recorder: consider iframe responses finished. helps avoid pageload timeout (#6078)
  • replace WebInspector traceparser with native JSON.parse (#6099)

Core

  • add emulatedFormFactor setting (#6098)
  • remove some trivial uses of WebInspector (#6090)
  • use cssstyle to parse CSS colors instead of WebInspector (#6091)
  • initial refactor of computedArtifact import/caching (#5907)
  • asset-saver: stop creating screenshot files during --save-assets (#6066)
  • content-width: not applicable on desktop (#5893)
  • driver: add check to make sure Runtime.evaluate result exists (#6089)
  • icons: Add PNG check to manifest icon validation (#6024)
  • lhr: add top-level runtimeError (#6014)
    • gather-runner: include error status codes in pageLoadError (#6051)
    • smooth rough edges of pageLoadError display and reporting (#6083)
  • net-request: transferSize now shared via 'X-TotalFetchedSize' (#6050)
  • don't allow analysis of file:// urls (#5936)

Report

  • dont show zero ms savings in preconnect, preload audits (#5983)
  • align table headings & columns left/right (#6063)
  • audit: make dom-size table prettier (#6065)
  • cursor:pointer on Passed Audits, etc (#5977)
  • psi: remove redundant varience disclaimer (#6110)
  • util: audits should be in Passed Audits (#5963)
  • vulnerable-jslibs: tweak snyk link for highlighted matches (#6096)
  • xbrowser: replace Typed OM getComputedStyle() with CSSOM equivalent (#5984)

CLI

  • add --print-config flag (#6107)

Deps

  • snyk: update snyk snapshot (#6074)
  • chrome-launcher@0.10.5 (#6106)
  • js-library-detector@5.1.0 (#6102)
  • speedline@1.4.2 (faster sort) (#6073)
  • chrome-devtools-frontend@latest (#6101)

Docs

  • readme: add lighthouse4u (#6008)
  • readme: updated report screenshot to 3.1.0 (#6042)
  • readme: add lighthouse-badges to related projects (#5969)
  • recipes: update custom-audit package.json (#6007)
  • releasing: minor updates (#5345)

i18n

  • roll latest strings from TC (#6109)
  • mv locale files (#5981)
  • speed up replacement regex (#6072)

Misc

  • bump bundlesize threshold a little more (#6055)
  • runner: added locale to settings that can change between -G and -A (#6080)
  • tsc: add type checking to sentry usage (#5993)

@paulirish paulirish released this Sep 7, 2018 · 202 commits to master since this release

Assets 2

Full Changelog

@paulirish paulirish released this Sep 6, 2018 · 204 commits to master since this release

Assets 2

Full Changelog since previous release

New Contributors!

Huge thanks to @midzer and @justinribeiro for being so darn helpful. Great stuff. :D

And thanks to @mettamatt for some helpful documentation. Who doesn't love better docs?! @kenguest also fixed up our grammar. 👍

Notable changes

  • red/orange/green color buckets for scores are tougher now. (#5831)
Previously Now
Red (bad) 0-44 0-49
Orange (average) 45-74 50-89
Green (good) 75-100 90-100

Scoring itself hasn't changed; only what color is used to decorate a score.

  • trace-processor: fix bug where top-level events weren't being found in the trace (#5841)

Core

  • normalize URL before checking equality (#5960)
  • expose LighthouseRunWarnings on audit context (#5684)
  • adjust audit titles for consistency (#5717)
  • export any page-functions as string (#5902)
  • all ByteEfficiency audits require a trace (#5840)
  • enhanced noopener output (#5857)
  • errors: class rename and re-source page load errors (#5972)
  • fix defaultConfig UIStrings and exit code for test (#5884)
  • remove last debugString references (#5856)
  • redirects: update redirects to use OpportunityDetails (#5791)
  • warn when extensions affected perf (#5666)
  • driver: handle when page redefines global.URL (#5748)
  • gather-runner: call clearDataForOrigin on teardown (#5933)
  • lhr: expose environment info (#5871)
  • lr: add LR presets for desktop and mobile (#5886)
  • lr: drop maxWaitForLoad 45 -> 35 (#5938)
  • network: handle LR transferSize (#5895)
  • network-analyzer: infer RTT from receiveHeadersEnd (#5694)
  • optimized-images: support non-standard mime types (#5688)
  • preload: remove CRC dependency (#5901)
  • screenshot-thumbnails: improve caching (#5976)
  • ttfb: reuse requestMainResource (#5657)
  • trace-of-tab: only use navstart of chrome/http documents (#5917)
  • tracing-processor: throw on no top level events (#5878)
  • uses-long-cache-ttl: handle multiple cache-control headers (#5745)

Extension

  • access core through module instead of Runner (#5855)
  • tweak runLighthouseAsInCLI jsdoc (#5812)
  • refactor option/flag passing (#5769)
  • remove X-UA-Compatible meta (#5739)
  • popup: keep feedback class (#5872)

i18n

  • add i18n 'type' for prlint (#5880)
  • minor message and description changes based on translator feedback (#5829)
  • reframe the ICU message descriptions with placeholders (#5737)
  • export rendererFormattedStrings (#5713)
  • extract performance category strings to UIStrings (#5716)
  • always use english for status logs (#5727)
  • add 'ln' locale which maps to 'fr' (#5879)
  • support descriptions (#5718)
  • add [ICU Syntax] label to relevant message descriptions (#5736)
  • import psuedo-locale json from TC (#5726)
  • incorporate 52 languages into messages pipeline (#5781)
  • add descriptions to UI strings (#5743)
  • add strings of the opportunity group split (first paint, overall) (#5744)
  • add locale fallback when language not supported (#5746)
  • localize strings at end of run (#5655)
  • always use formatted strings for extension popup (#5761)
  • add strings for user timing entries table (#5806)
  • sort the ICU messages when saved (#5771)
  • roll latest TC messages (#5802)
  • add localized messages for 52 locales (#5780)
  • add assertion script (#5686)
  • report: use LHR locale for toLocaleString (#5734)
  • report: localize CRC renderer strings (#5730)

Types

  • don't use index signature in LHErrors (#5896)
  • type check config files (#5858)
  • don't use index signature in simulator.js (#5897)
  • update debugger protocol type checking (#5836)
  • remove more reliance on implicit index signatures (#5874)
  • update types in emulation.js (#5830)
  • tighten traceOfTab timing types (#5887)
  • update to ts 3.1 to support new protocol defs (#5942)
  • update to latest tsc (#5581)
  • NetworkRequest.RESOURCE_TYPES type fix (#5851)
  • add explicit index signature in mainthread-work-breakdown (#5859)
  • cli: make LH.Flags type correct and consistent (#5849)

Report

  • link to our own "unused css" reference doc (#5698)
  • make red/orange/green score color thresholds tougher (#5831)
  • expose prepareLabData directly as a fn (#5818)
  • responsive styles (#5706)
  • add PSI.prepareLabData() (#5804)
  • adopt 80-char line-length license (#5757)
  • add method to get the final screenshot (#5673)
  • metrics: display metrics in seconds (#5914)
  • psi: add Util.prepareReportResult method (#5766)
  • psi: reset template styles on every call of prepareLabData (#5877)
  • psi: add lab data summary sentence (#5961)

New Audits

  • a11y: add manual audit for interactive element affordance (#5764) thx @joelhsmith!

Tests

  • quiet down collect-scripts during CI (#5801)
  • better display value tests with i18n (#5720)
  • dbw: remove createShadowRoot call (#5906)
  • jest: disable coverage collection by default (#5772)
  • smokehouse: update expectations for HTML Imports deprecation (#5943)
  • smokehouse: update passive listener expectations (#5899)

Deps

Docs

  • headless: Require Node 8 and apt install chromium (#5974)
  • headless: example script to post report as gist (#5975)\
  • integrations: Add SpeedCurve to "Lighthouse Integrations" (#5732)
  • link FCP audit description to lighthouse docs (#5850)
  • puppeteer: remove appMode mention (#5923)
  • readme: mention chrome-flags troubleshooting in getting started (#5916)
  • report: add a renderer readme (#5725)
  • scoring: http2 redirect PWA score issue (#5929)

Misc

  • cli: enableErrorReporting must be undefined by default (#5854)
  • asset-saver: tweak output format of logAssets (#5696)
  • logger: add time/timeEnd methods (#5905)
  • fix grocers apostrophe typo (API's v APIs) (#5948)

@paulirish paulirish released this Jul 18, 2018 · 309 commits to master since this release

Assets 2

Full Changelog

Core

  • emulation: use setTouchEmulationEnabled (#5661)
  • response-compression: graceful recovery (#5578)
  • simulator: add DNS timing (#5607)

Misc

  • convert strings to NetworkRequest.TYPES (#5674)
  • sentry: lower "could not load stylesheet" sampling to 0.01 (#5677)