Releases: macbre/phantomas
phantomas v1.10.2
phantomas v1.10.1
phantomas v1.10
This release of phantomas brings bug fixes and...
Python
Python library for phantomas is now available on PyPI.
import json
from phantomas import Phantomas
results = Phantomas(
url="http://example.com",
modules=['headers', 'requestsStats']
).run()
print('Generator: ' + results.get_generator()) # phantomas v1.10.0
print('\nMetrics: ' + json.dumps(results.get_metrics(), indent=True, sort_keys=True))
print('\nDomains: ' + json.dumps(results.get_offenders('domains'), indent=True))
# assertions
assert results.get_metric('notFound') == 0
assert results.get_metric('requests') < 5
All changes are listed below.
Changelog
Improvements
- #496 - Change the default viewport to 1366x768
- #489 - Use the latest engines
- #358 - phantomas library for Python
Bug fixes
- #499 - Make the date string compatible with windows file name restr... (by @vinvol)
- #495 - Upgrading ascii-table version (by @sorensen)
- #480 - Fix index of child node in getDOMPath (by @gmetais)
- #479 - imagesScaledDown should probably not concern SVG
- #478 - jQueryEventTriggers: error with jQuery 1.4.4
- #476 - Negative cache (by @gmetais)
- #467 - Scope problem with the spied version of eval() - introduce
--spy-eval
option
Internals
- #473 - Add tests for phantomas scope helpers
phantomas v1.9
This release of phantomas brings the ability to measure number of repaints (currently supported by SlimerJS only - --engine=gecko
- see #462).
A number of jQuery related metrics has been added:
- functions bound to window onload event (#451)
- the use of different jQuery versions (or copies of the same version) on the same page (yes, that does happen :)) - #435
- events triggered (#440)
- jQuery function calls that perform DOM reads and writes (#436)
Enjoy the new version of `phantomas! Let's make our websites even faster in 2015!
All changes are listed below.
Changelog
New metrics
- #451 - Add
jQueryWindowOnLoadFunctions
metric - #462 - Number of times the current document has been painted to the screen
- #440 - Measure the number of triggered events
- #438 - Requests to...
- #436 - Spy more jQuery functions
- #435 - Report the use of different versions of jQuery
Improvements
- #453 - Delay report until phantomas event
- #443 - Show units next to metric name in ascii table output
- #442 - Add the file name in analyze-css offenders
Bug fixes
- #472 - Fix
getDomPath
with tab or new line separated class names (by @gmetais) - #470 - Add 'font/opentype' to contentType switch (by @william-p)
- #468 -
cachingNotSpecified
reports files with theExpires
header specified (by @unintelligible) - #457 - waitForSelector: do not report polling DOM queries
- #454 - Illegal character in screenshot filenames under Windows
- #399 -
imagesWithoutDimensions
should take in account CSS dimensions
Internals
phantomas v1.8
This release of phantomas brings the ability to analyze inline CSS styles (#397) - simply run phantomas CLI tool with --analyze-css
option.
New metrics have been added:
DOMqueriesWithoutResults
suggesting which DOM queries can be removed or improved as they return no results (#420)- port of @gmetais nodule that reports reconnections to fetch additional assets from the same domain - i.e. connection not being kept alive (#400)
- reporting of small JS and CSS files that can be inlined or concatenated (#398)
To make the code style consistent in the project js-beautify
has been introduced (#426).
While enjoying the new version of phantomas take a look at was is planned for the upcoming v1.9 ;)
All changes are listed below.
Changelog
New metrics
- #420 - DOMqueriesWithoutResults
- #400 -
Keep-alive
related metric (by @gmetais) - #398 - Count small JS and CSS files
- #397 - Make
analyze-css
work on embedded styles
Improvements
- #429 - Provide error message when a CSS is empty (by @gmetais)
- #419 - Ignore case when counting duplicated
getElementsByTagName()
- #414 - Report offenders for
DOMelementMaxDepth
Bug fixes
- #427 - Fixed order of elasticsearch reporter parameters 'type' and 'index' (by @hstijns-coolblue)
- #417 -
analyze-css
process not finishing
Internals
- #426 - Introduce js-beautify
phantomas v1.7
This release brings a few new metrics: number of HTML elements with duplicated IDs (#392), number of avoidable DOM queries (#402) and number of CSS stylesheets analyze-css
failed to parse (#404).
By defaulting --ssl-protocol
PhantomJS option to "any" HTTPS pages should load fine using default phantomas settings (#423).
DOM queries module now takes context of the query into consideration (#395) when calculating duplicated queries and emitting offenders.
analyze-css has been upgraded to v0.8.0 which brings reporting of duplicated CSS properties and improved redundant selectors metric.
All changes are listed below.
Changelog
New metrics
- #404 - Get a feedback when analyze-css fails to parse a file
- #402 - New metric DOMidAvoidable (#396) (by @gmetais)
- #392 - Report elements with duplicated ID
Improvements
- #423 - ssl-protocol: use "any" by default (instead of sslv3)
- #412 - Document troubleshooting HTTPS issues
- #395 - Duplicated DOM queries: take context into consideration
Bug fixes
- #422 - Strange radix=0 argument for parseInt (by @gmetais)
- #411 - HTTPS pages are not working and throw error
- #409 - SlimerJS: phantomas dies on listing extensions directory
- #382 - Fulfilled promise with error code 1
Internals
phantomas v1.6
This release of phantomas brings the detection of images scaled down in HTML (#390) and the option to provide interval at which page's screenshots are taken (#174).
Internally, unit tests were greatly improved. Modules that do not emit any metric, but modify the behaviour of phantomas, were moved to /extensions
directory. They will always be loaded, even when an arbitrary list of modules is provided via --modules
option.
Last, but not least - YellowLabTools - online web performance testing tool (based on phantomas) has been released recently. Try it out!
All changes, as usual, are listed below.
Enjoy!
Changelog
New metrics
- #390 - Detect images scaled down in HTML
Improvements
- #174 - Allow to set --film-strip interval
Bug fixes
Internals
phantomas v1.5
This version of phantomas brings the support for YAML-formatted config files and some improvements in DOM timing related metrics (please note that metric names have changed to match Navigation timing spec).
--scroll
option has been added to improve testing of lazy-loaded features - see #352 for details.
All changes, as usual, are listed below.
Enjoy!
Changelog
New metrics
Improvements
- #339 - Support for YAML formatted config file
- #352 - Allow page to be scrolled after it is loaded
- #364 - Add support for ssl-protocol specification in engines (by @rsnickell)
Bug fixes
- #350 - Ignore DOM inserts to DocumentFragments
- #366 - Multiple runs do not support HTTP 50x errors
- #374 - Some kinds of DOMqueries are ignored
Internals
- #354 - Support UNIX socket as IPC channel
phantomas v1.4
This version of phantomas brings the experimental integration with SlimerJS.- not yet fully headless browser that runs on Gecko engine. Try it yourself by running phantomas with --engine=gecko
option and remember to install all required dependencies:
sudo aptitude install xvfb libasound2 libgtk2.0-0
The introduction of secondary "rendering" engine allows phantomas to use the latest browser APIs like mutation observers (#87) and detect embedded vidoes (#325).
Handling of config files has been moved to NodeJS runner, so the JSON formatted config file can now define the results renderer - #209.
Changelog
New metrics
Improvements
- #209 - Move handling of config file to NodeJS runner
- #313 - Support for running phantomas in SlimerJS
- #342 - Add --colors to force ANSI colors when using less
- #346 - Support --engine option
Bug fixes
- #348 - Memory leak warning in events exposed by phantomas CommonJS module
Internals
- #347 - fast-stats: make it work in SlimerJS
phantomas v1.3
This release of phantomas brings:
- next set of reporter options (#318) like
-R plain:no-color
,-R tab:no-skip
and-R statsd:localhost:8215:phantomas.
- metric with number of static assets fetched from domains with cookie set (#92)
- offenders are now added for
DOMqueriesByQuerySelectorAll
,eventsBound
anddomainsWithCookies
metrics
phantomas CommonJS module now returns a promise (#314) and passes events triggered from phantomas modules (#322).
What's coming up with the next version? Support for running phantomas in SlimerJS (#313). Stay tuned :)
Changelog
New metrics
- #92 - Add a metric with number of static assets fetched from domains with cookie set
Improvements
- #283 - File name prefix for filmstrip screenshots
- #318 - Implement next set of reporter options
- #329 - Offenders: add for DOMqueriesByQuerySelectorAll and eventsBound
- #331 - Cookies: add offenders for domainsWithCookies
Bug fixes
- #326 - incrMetric: passing incr = 0 increases the metrics by 1
- #335 - eventListener: events bound to window are not reported