Skip to content

Releases: macbre/phantomas

http/3 support and Docker image on ghcr.io public repository

30 Jun 09:01
22e9b73
Compare
Choose a tag to compare

This release of phantomas brings support for HTTP/3 (#929). For the first time this version will also be pushed to ghcr.io public Docker repository. You can fetch phantomas container image by either:

docker pull macbre/phantomas:latest

or

docker pull ghcr.io/macbre/phantomas:latest

Internally dependabot pull requests are now merged automatically (#949). jest is used as our tests framework (#942) and the code coverage is tracked by Coveralls (#943).

Enjoy 🚀

Changelog

  • #920 docker - Update CHROMIUM_VERSION env
  • #921 external dependency - build(deps-dev): bump eslint from 7.23.0 to 7.24.0 (by @dependabot[bot])
  • #922 external dependency - build(deps-dev): bump eslint-config-prettier from 8.1.0 to 8.2.0 (by @dependabot[bot])
  • #923 external dependency - build(deps): bump js-yaml from 4.0.0 to 4.1.0 (by @dependabot[bot])
  • #924 internals - Test using Node.js 16 too
  • #925 external dependency - build(deps): bump puppeteer from 8.0.0 to 9.0.0 (by @dependabot[bot])
  • #926 external dependency - build(deps-dev): bump eslint from 7.24.0 to 7.25.0 (by @dependabot[bot])
  • #927 external dependency - build(deps-dev): bump eslint-config-prettier from 8.2.0 to 8.3.0 (by @dependabot[bot])
  • #929 http3 - Add support for HTTP/3
  • #930 external dependency - build(deps): bump puppeteer from 9.0.0 to 9.1.0 (by @dependabot[bot])
  • #931 external dependency - build(deps): bump puppeteer from 9.1.0 to 9.1.1 (by @dependabot[bot])
  • #932 external dependency - build(deps): bump lodash from 4.17.20 to 4.17.21 (by @dependabot[bot])
  • #933 external dependency - build(deps-dev): bump glob from 7.1.6 to 7.1.7 (by @dependabot[bot])
  • #934 external dependency - build(deps-dev): bump prettier from 2.2.1 to 2.3.0 (by @dependabot[bot])
  • #935 external dependency - build(deps-dev): bump eslint from 7.25.0 to 7.26.0 (by @dependabot[bot])
  • #936 internals - Add "node-version" to cache key
  • #937 external dependency - build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (by @dependabot[bot])
  • #938 http3 - Tests - use nginx with http/3 support
  • #939 external dependency - build(deps-dev): bump eslint from 7.26.0 to 7.27.0 (by @dependabot[bot])
  • #940 docker - Docker now uses Chromium 90
  • #941 http3 - http/3 protocol support
  • #942 internals - Migrate tests to use jest
  • #943 internals - Set up and improve code coverage
  • #944 external dependency - build(deps): bump ws from 7.4.5 to 7.4.6 (by @dependabot[bot])
  • #945 external dependency - build(deps-dev): bump jest from 27.0.1 to 27.0.3 (by @dependabot[bot])
  • #947 external dependency - build(deps): bump puppeteer from 9.1.1 to 10.0.0 (by @dependabot[bot])
  • #948 external dependency - build(deps-dev): bump jest from 27.0.3 to 27.0.4 (by @dependabot[bot])
  • #949 internals - Automerge dependabot pull requests
  • #953 external dependency - build(deps): bump analyze-css from 0.13.0 to 1.0.0 (by @dependabot[bot])
  • #954 external dependency - build(deps-dev): bump eslint from 7.28.0 to 7.29.0 (by @dependabot[bot])
  • #955 docker - Dockerfile - using Chromium 91
  • #957 external dependency - build(deps): bump commander from 7.2.0 to 8.0.0 (by @dependabot[bot])
  • #961 docker - Use docker/build-push-action@v2
  • #962 docker - Publish Docker image to ghcr.io public repository

AWS Lambda support

08 Apr 18:05
Compare
Choose a tag to compare

This release of phantomas brings the support running it in AWS Lambda env (#917), MP4 videos detection (#855) and fixes an issue with some CLI options not being handled correctly (#904).

Thanks @gmetais for providing bug fixes and improvements for this and previous releases.

Changelog

  • #847 bug - Fix for neverending runs (by @gmetais)
  • #848 docker - Use BuildKit
  • #849 docker - Use BUILDKIT_INLINE_CACHE
  • #850 external dependency - build(deps): bump commander from 6.2.1 to 7.0.0 (by @dependabot[bot])
  • #851 external dependency - build(deps-dev): bump eslint from 7.17.0 to 7.18.0 (by @dependabot[bot])
  • #852 external dependency - build(deps-dev): bump eslint-config-prettier from 7.1.0 to 7.2.0 (by @dependabot[bot])
  • #853 bug - Issues with full page screenshots (by @gmetais)
  • #854 enhancement - Add a full page screenshot option and make it false by default (by @gmetais)
  • #855 enhancement - Detect MP4 videos (by @gmetais)
  • #856 external dependency - build(deps-dev): bump eslint from 7.18.0 to 7.19.0 (by @dependabot[bot])
  • #857 Chrome-headless - build(deps): bump puppeteer from 5.5.0 to 6.0.0 (by @dependabot[bot])
  • #858 external dependency - build(deps): bump puppeteer from 6.0.0 to 7.0.0 (by @dependabot[bot])
  • #859 external dependency - build(deps): bump puppeteer from 7.0.0 to 7.0.1 (by @dependabot[bot])
  • #861 pr - User Agent adjustments (by @gmetais)
  • #862 enhancement - Improve User Agents (by @gmetais)
  • #863 bug - CLI options are camel cased, then do not work (by @gmetais)
  • #864 external dependency - build(deps): bump puppeteer from 7.0.1 to 7.0.3 (by @dependabot[bot])
  • #865 external dependency - build(deps): bump puppeteer from 7.0.3 to 7.0.4 (by @dependabot[bot])
  • #866 external dependency - build(deps-dev): bump eslint from 7.19.0 to 7.20.0 (by @dependabot[bot])
  • #867 external dependency - build(deps): bump puppeteer from 7.0.4 to 7.1.0 (by @dependabot[bot])
  • #868 external dependency - build(deps): bump commander from 7.0.0 to 7.1.0 (by @dependabot[bot])
  • #870 external dependency - build(deps): bump analyze-css from 0.12.12 to 0.12.13 (by @dependabot[bot])
  • #871 internals - CI - use macbre/nginx-brotli:1.19.7
  • #872 docker - Dockerfile - use node:lts-alpine3.13 and Chromium 88
  • #873 external dependency - build(deps-dev): bump eslint-config-prettier from 8.0.0 to 8.1.0 (by @dependabot[bot])
  • #874 external dependency - build(deps): bump puppeteer from 7.1.0 to 8.0.0 (by @dependabot[bot])
  • #875 external dependency - build(deps-dev): bump eslint from 7.20.0 to 7.21.0 (by @dependabot[bot])
  • #876 docker - Label the image with git URL and commit hash
  • #877 security - Configure WhiteSource Bolt for GitHub (by @whitesource-bolt-for-github[bot])
  • #880 security vulnerability - CVE-2021-23337 (High) detected in lodash-4.17.20.tgz (by @whitesource-bolt-for-github[bot])
  • #902 internals - npm update
  • #903 internals - Use macbre/nginx-brotli:1.19.8
  • #904 bug - CLI - make sure options are not "camelCased" but "have-dashes" instead
  • #906 internals - Refactor bin/program.js script
  • #910 enhancement - Accept absolute paths for screenshots (by @gmetais)
  • #911 external dependency - build(deps-dev): bump eslint from 7.21.0 to 7.22.0 (by @dependabot[bot])
  • #912 docs - Removed dead link from readme (by @binyamin)
  • #913 aws-lambda - Handle some unhandled exceptions (by @gmetais)
  • #915 external dependency - build(deps): bump commander from 7.1.0 to 7.2.0 (by @dependabot[bot])
  • #916 external dependency - build(deps): bump analyze-css from 0.12.13 to 0.13.0 (by @dependabot[bot])
  • #917 aws-lambda - Detect if ran from an AWS Lambda and set additional Chrome flags (by @gmetais)
  • #918 external dependency - build(deps-dev): bump eslint from 7.22.0 to 7.23.0 (by @dependabot[bot])
  • #919 internals - Update nginx-docker-compose.yaml

CPU and protocols related metrics

09 Jan 11:20
Compare
Choose a tag to compare

This release brings two new metrics and a few bug fixes (thanks to @gmetais):

  • #816 new metric - Add protocols related metrics (by @gmetais)
  • #841 new metric - Expose CPU related metrics from page.metrics() as phantomas metrics (by @gmetais)
  • #836 bug - Fix pragma: no-cache automatically added to all requests (by @gmetais)
  • #840 bug - Fix error with blob urls (by @gmetais)
  • #843 bug - Fix object errors (by @gmetais)

Integration tests stability has been improved and many dependencies updated.

Other changes

  • #804 external dependency - build(deps): bump puppeteer from 5.3.1 to 5.4.0 (by @dependabot[bot])
  • #810 external dependency - build(deps-dev): bump eslint from 7.12.0 to 7.12.1 (by @dependabot[bot])
  • #811 internals - Improve integration tests stability
  • #812 external dependency - build(deps): bump puppeteer from 5.4.0 to 5.4.1 (by @dependabot[bot])
  • #813 external dependency - build(deps-dev): bump eslint-config-prettier from 6.14.0 to 6.15.0 (by @dependabot[bot])
  • #814 internals - CI: cache npm dependencies
  • #815 docker - Docker | build using Node.js 15.x and Chromium 86
  • #817 internals - eslint: add plugin:node/recommended
  • #818 internals - Remove reporters
  • #820 external dependency - build(deps-dev): bump eslint from 7.12.1 to 7.13.0 (by @dependabot[bot])
  • #821 internals - Browser.init - pass Phantomas options + set ignoreHTTPSErrors when required
  • #822 pr - lazyLoadableImages/scope.js: bind to window.load event
  • #824 external dependency - build(deps): bump puppeteer from 5.4.1 to 5.5.0 (by @dependabot[bot])
  • #825 external dependency - build(deps): bump debug from 4.2.0 to 4.3.1 (by @dependabot[bot])
  • #826 external dependency - build(deps-dev): bump prettier from 2.1.2 to 2.2.0 (by @dependabot[bot])
  • #827 external dependency - build(deps-dev): bump eslint from 7.13.0 to 7.14.0 (by @dependabot[bot])
  • #829 external dependency - build(deps-dev): bump prettier from 2.2.0 to 2.2.1 (by @dependabot[bot])
  • #831 external dependency - build(deps-dev): bump eslint-config-prettier from 6.15.0 to 7.0.0 (by @dependabot[bot])
  • #832 external dependency - build(deps-dev): bump eslint from 7.14.0 to 7.15.0 (by @dependabot[bot])
  • #833 external dependency - build(deps): bump js-yaml from 3.14.0 to 3.14.1 (by @dependabot[bot])
  • #837 external dependency - build(deps-dev): bump eslint from 7.15.0 to 7.16.0 (by @dependabot[bot])
  • #838 external dependency - build(deps-dev): bump eslint-config-prettier from 7.0.0 to 7.1.0 (by @dependabot[bot])
  • #839 pr - Tests | use the latest brotli-nginx build- v1.19.6
  • #842 internals - Use Docker layers cache to speed up CI builds

Use headless Chromium instead of PhantomJS

26 Oct 20:15
Compare
Choose a tag to compare
  • #477 Chrome-headless - DNS and Connect timings (by @gnublin)
  • #618 Chrome-headless - New metric proposal "synchronousXHR" (by @gmetais)
  • #620 bug - Timeout caused by synchronous XMLHttpRequests (by @gmetais)
  • #707 Chrome-headless - Switch from PhantomJS to Chrome's headless mode
  • #726 Chrome-headless - Refactor Phantomas to run using headless Chrome
  • #728 documentation - Move metrics description to docs/metrics.md and generate it automatically
  • #729 documentation - Automatically generate events documentation
  • #730 documentation - Add events, extensions and modules to metadata JSON file
  • #732 Chrome-headless - windowPerformance in headless Chrome (by @sundarv85)
  • #734 pr - New metric proposal "synchronousXHR"
  • #736 internals - Update dependencies
  • #741 Chrome-headless - Prepare a Docker image with Puppeteer installed
  • #742 Chrome-headless - Puppeteer v1.15.0
  • #743 enhancement - Upgrade js-yaml to resolve security issues
  • #744 Chrome-headless - Puppeteer in docker
  • #747 external dependency - build(deps): bump eslint-utils from 1.3.1 to 1.4.3 (by @dependabot[bot])
  • #748 external dependency - build(deps): bump lodash from 4.17.11 to 4.17.15 (by @dependabot[bot])
  • #749 bug - Failed to parse JSON with the results (by @jatin85)
  • #750 external dependency - build(deps): bump acorn from 6.1.0 to 6.4.1 (by @dependabot[bot])
  • #751 external dependency - build(deps): bump https-proxy-agent from 2.2.1 to 2.2.4 (by @dependabot[bot])
  • #752 external dependency - build(deps): bump lodash from 4.17.15 to 4.17.19 (by @dependabot[bot])
  • #753 pr - Phantomas V2 - the final merge into the main branch
  • #754 external dependency - build(deps): bump async from 2.6.3 to 3.2.0 (by @dependabot[bot])
  • #755 external dependency - build(deps): bump csv-string from 3.2.0 to 4.0.1 (by @dependabot[bot])
  • #756 external dependency - build(deps-dev): bump eslint from 7.5.0 to 7.6.0 (by @dependabot[bot])
  • #757 pr - Run tests using Node.js 12.x too
  • #758 pr - Use http-server for tests (fixes qs security issue)
  • #759 pr - Browser.close - check if there is a browser to call close() on
  • #760 external dependency - build(deps): bump analyze-css from 0.12.10 to 0.12.11 (by @dependabot[bot])
  • #761 security - Use commander module
  • #762 pr - Make npm package a bit smaller
  • #763 pr - Fix bin/phantomas.js
  • #764 Chrome-headless - [Phantomas v2] Navigation failed because browser has disconnected! (by @gmetais)
  • #766 external dependency - build(deps-dev): bump js-beautify from 1.11.0 to 1.12.0 (by @dependabot[bot])
  • #767 external dependency - build(deps-dev): bump eslint from 7.6.0 to 7.7.0 (by @dependabot[bot])
  • #768 external dependency - build(deps-dev): bump js-beautify from 1.12.0 to 1.13.0 (by @dependabot[bot])
  • #769 Chrome-headless - Node.js 14.x integration tests are failing on response size asserts
  • #771 enhancement - Add WOFF2 detection (by @gmetais)
  • #772 external dependency - build(deps-dev): bump eslint from 7.7.0 to 7.8.0 (by @dependabot[bot])
  • #773 docker - Use nginx to make integration tests more deterministic
  • #774 external dependency - build(deps-dev): bump eslint from 7.8.0 to 7.8.1 (by @dependabot[bot])
  • #777 internals - Improve tests with shorter expire policy + no gzip
  • #778 external dependency - build(deps): bump analyze-css from 0.12.11 to 0.12.12 (by @dependabot[bot])
  • #779 external dependency - build(deps-dev): bump eslint from 7.8.1 to 7.9.0 (by @dependabot[bot])
  • #780 external dependency - build(deps): bump puppeteer from 5.2.1 to 5.3.0 (by @dependabot[bot])
  • #781 external dependency - build(deps): bump debug from 4.1.1 to 4.2.0 (by @dependabot[bot])
  • #782 external dependency - build(deps): bump puppeteer from 5.3.0 to 5.3.1 (by @dependabot[bot])
  • #783 external dependency - build(deps-dev): bump eslint from 7.9.0 to 7.10.0 (by @dependabot[bot])
  • #784 Chrome-headless - Add support for viewport option (by @gmetais)
  • #786 internals - Tests: use the latest macbre/nginx-brotli - 1.19.3
  • #787 bug - Adjustments to lazyloadable images (by @gmetais)
  • #788 pr - waitFor is now deprecated
  • #789 internals - Dockerfile - use node:14-stretch-slim base image
  • #791 internals - Introduce Prettier
  • #792 bug - [Phantomas v2] Scope seems to be initialized twice (by @gmetais)
  • #793 internals - core/scope.js: log window URL and whether it is an iframe
  • #794 external dependency - build(deps-dev): bump eslint from 7.10.0 to 7.11.0 (by @dependabot[bot])
  • #796 external dependency - build(deps-dev): bump eslint-config-prettier from 6.12.0 to 6.13.0 (by @dependabot[bot])
  • #797 docker - Try to use Alpine as a base Docker image
  • #798 pr - Docker - use alpine3.12 base image
  • #799 external dependency - build(deps-dev): bump eslint-config-prettier from 6.13.0 to 6.14.0 (by @dependabot[bot])
  • #800 docker - Fixing "No usable sandbox" when running inside Docker container
  • #802 cli - bin/phantomas.js should output Browser.visit() promise rejections to stderr
  • #803 internals - Update CI build names
  • #808 internals - Makes tests crash on unhandled rejections instead of silently ignoring them

Smaller docker image and security fixes

20 Oct 18:38
Compare
Choose a tag to compare
Pre-release

Docker - use alpine3.12 base image #798
core/scope.js: log window URL and whether it is an iframe #793
Use commander module to solve security issues #795

Prettier introduced

06 Oct 16:48
Compare
Choose a tag to compare
Prettier introduced Pre-release
Pre-release
  • dependencies kept up to date
  • Improve tests with shorter expire policy + no gzip #777
  • Add support for viewport option #784 (thanks @gmetais)
  • Adjustments to lazyloadable images #787 (thanks @gmetais)
  • waitFor is now deprecated #788
  • Update Dockerfile, Use node:14-stretch-slim base image #789
  • Tests: use the latest macbre/nginx-brotli - 1.19.3 #786
npm version 2.0.0-alpha3 
npm publish --tag next

Stable tests

01 Sep 15:26
719d301
Compare
Choose a tag to compare
Stable tests Pre-release
Pre-release
  • nginx is used as a static assets HTTP server when running integration tests - #773
  • all tests pass now (Node.js 10.x, Node.js 12.x, inside phantomas Docker container)
npm version v2.0.0-alpha2 prerelease
npm publish --tag next

v2.0 - first alpha version

06 Aug 23:32
Compare
Choose a tag to compare
Pre-release

See #753 for the progress

v1.20.1

31 May 09:13
Compare
Choose a tag to compare

This a maintenance release of phantomas that brings:

  • support for Node.js 10.x - #721
  • updated set of dependencies - #720 (including updated analyze-css package)
  • security fixes - #717

phantomas v1.20.0 - The Last Episode with PhantomJS

24 Jan 21:34
Compare
Choose a tag to compare

v1.20.0 is the last release that will be powered by no-longer developed PhantomJS. Work in #707 will begin that will move phantomas towards headless Chromium.

Here's what's new in v1.20.0:

Bug fixes

  • #711 - Enable local storage in PhantomJS 2.5
  • #712 - Fixed strict warning in scope.js (by @mrbig)

Enhancements

  • #706 - Try out PhantomJS 2.5 beta
  • #709 - Added support for film-strip-zoom-factor as an optional parameter (by @rosswilson)