Releases: macbre/phantomas
http/3 support and Docker image on ghcr.io public repository
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
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
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
- #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
Prettier introduced
- 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
- 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
See #753 for the progress
v1.20.1
phantomas v1.20.0 - The Last Episode with PhantomJS
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
Enhancements
- #706 - Try out PhantomJS 2.5 beta
- #709 - Added support for
film-strip-zoom-factor
as an optional parameter (by @rosswilson)