TO DO:
. Improve test coverage of methods
. Add test for ->value with 3-args (setting)
. Add test for ->highlight_node()
. Add test for ->clickables()
. Add test for getting/setting ->autodie()
. Add test for getting/setting ->events()
. Add 2-arg test for ->synchronize()
. Make ->set_visible actually use ->field()
so it can also set select fields?!
. Make ->set_visible also support select+option inputs
. Add tests for _field_by_name for #foo and .foo case
. Fix cloning of values for ->eval_in_page was broken by FF 30+
https://blog.mozilla.org/addons/2014/04/10/changes-to-unsafewindow-for-the-add-on-sdk/
0.79 20160524
! Remove the 'pagehide' event from events that are considered
completion events for a loaded page
This should improve the stability of the test suite and other
programs. If you find that some programs don't work anymore,
you will need to add 'pagehide' to the 'events' array.
. Fix spurious debug output (contributed by ???)
. Fix ->save_url for Firefox 36+ (Thanks to Olivier Trichet)
Firefox isn't as tied to backwards compatibility as Perl is:
https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebBrowserPersist#saveURI()
. Fix infinite loop while waiting (Thanks to Alexander)
* Note that Firefox 40+ doesn't nicely support getting at Javascript
variables within a page anymore.
0.78 20141026
. Pull in fixed prerequisite MozRepl::RemoteObject v0.39
. Test fixes
0.77 20141020
+ Actually support coordinates for ->click({...}, $x, $y )
. Test fixes
0.76 20140810
. Fix a POD error, causing a POD self-test to fail
. No need to upgrade from 0.75
0.75 20140727
+ Be even more paranoid about environment variables in Test::HTTP::LocalServer
(change gleaned from WWW::Mechanize , as contributed by Karen Etheridge)
+ Allow the 'node' parameter to ->get_set_value() to fire the appropriate
Javascript events when setting a field value.
+ Updated installation instructions and troubleshooting instructions
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.11 (ESR)
- 13.0
- 15.0
- 17.0.9 (ESR) (currently fails t/60-mech-custom-headers.t)
- 18.0.2
- 19.0
- 20.0.1
- 24.0.7 (ESR) (currently fails t/60-mech-custom-headers.t)
- 31.0.0
0.74 20130507
+ ->xpath() now returns the best result depending on the query.
This result type depends on the Firefox XPath implementation.
//p will return a list of nodes
string-length(//p) will return a list of string lengths
To force the old behaviour, you need to call ->xpath() with
the following option:
$mech->xpath( $query,
type => $mech->xpathResult('ORDERED_NODE_SNAPSHOT_TYPE')
);
Implementation and tests contributed by dfaure again
+ ->xpathEx() returns more information about the type of
each query result instead of returning the best guess
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.11 (ESR)
- 13.0
- 15.0
- 17.0.5 (ESR)
- 18.0.2
- 19.0
- 20.0.1
. Skip t/rt65615.t on FF 5.x, 6.x
See L<https://bugzilla.mozilla.org/show_bug.cgi?id=649924>, that
version has problems with GPU acceleration. Debugging the exact conditions
is propably not worth it.
0.73 20130429
. Added ->post, code and test contributed by dfaure
0.72 20130412
+ Fix RT #84418
This should make closing the Mechanize tab upon program exit more
stable, especially when multiple Firefox windows are involved.
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.11 (ESR)
- 13.0
- 15.0
- 17.0.5 (ESR)
- 18.0.2
- 19.0
- 20.0.1
0.71 20130209
+ Added 'persist' option to the ->save_content() method to allow user to
set different PERSIST flags. Flag information -
https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIWebBrowserPersist
Contributed by Sam Cleveland
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.12 (ESR)
- 13.0
- 15.0
- 17.0.5 (Simplified Chinese)
- 18.0.2
- 19.0
0.70 20130123
! Fix crash when using ->*_visible and Firefox navigates away from
the watched page. This resulted in
TypeError: can't access dead object
"Dead objects" appear since Firefox 15+. Dead objects are objects
within a page that has been closed or left already, and are just
(fatal) placeholders.
+ ->openTabs() now returns tabs from all windows,
not only the topmost browser window.
This fixes RT #82006.
+ Compatibility fixes for 3.0.19 - I'm not sure how I broke compatibility
without the test suite noticing.
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.12 (ESR)
- 13.0
- 15.0
- 17.0.2 (Simplified Chinese)
- 18.0
- 19.0 beta
0.69 20130118
! Redid the "page completed" logic because Firefox 18 fires
events in an order that breaks WWW::Mechanize::Firefox.
Please test this module version before upgrading!
Code that sets $mech->events() will need review, because
WWW::Mechanize::Firefox is now heavily tied to receiving
"pagehide", "DOMContentLoaded" and "load" events, in that order.
! File downloads are now synchronous by default. Pass
"progress" => {} to ->save_url()
if you want them to run in the background.
! Compatibility fix for location changes
! Various compatibility fixes for Firefox 18, which broke backwards
compatibility in various undocumented ways.
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.5 (ESR)
- 13.0
- 15.0
- 17.0.2 (Simplified Chinese)
- 18.0
- 19.0 beta
. Added HTML content encoding comments to shut up Firefox while testing
. Slight diving optimizations in ->document()
0.68 20120924
. Add a test checking for iframe load events
. Ephemeral documentation reorganized
. Separate Installation document
. No need to upgrade
0.67 20120831
. Only fetch slim version of ->response if asked for
->status or ->is_success
. Fix RT #78706, where $mech->autoclose_tab() was broken
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.5 (ESR)
- 13.0
- 15.0
0.66 20120607
. Add example plus test on how to request arbitrary hostnames
via the Host: header from an IP.
! ->set_visible() ignores inputs with type="image" now (RT #70730)
! ->set_visible() respects the return value of ->is_visible. This
may break your code as now less fields are considered "visible".
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.21
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0.5 (ESR)
- 13.0
0.65 20120409
+ Add ->add_header() and ->delete_header
Adapted from code from http://d.hatena.ne.jp/oppara/20090410/p1
+ Also allow changing the User-Agent header now via ->agent()
! Bump prerequisite for MozRepl::RemoteObject to 0.31, which has
moved __dive to MozRepl::RemoteObject::Methods
0.64 20120329
! Bump prerequisite for MozRepl::RemoteObject to 0.30, which contains
a bugfix for clobbered $@
. Add test for clicking a button by value
. Add test for clicking a button by id
. Add test for ->new(tab => 'current')
. Add test for ->new(tab => 'non-existing-tab')
. Add test for checking that ->content(format => 'bogus') fails
. Add "document" option to ->content() to optionally specify the
document object of which the content is desired.
. Add more documentation for the ->content() method.
+ Report more Firefox / Javascript errors from within the perspective of the caller
instead of reporting lines within Firefox.pm
0.63 20120316
! Fix bad test from v0.62, no other code changes
0.62 20120316
! Fix bug in ->form_number that made it always fail when there
was more than a single form on a page. Reported by Blake Willmarth.
! Explicitly import sleep() from Time::HiRes
. Clean up list of imports, explicitly only importing what we need
. Add explicit prerequisites of Cwd, File::Basename
! Cwd.pm now is only loaded in the one routine that needs it. This
will be an issue for you if you package WWW::Mechanize::Firefox
with PAR or App::fatpacker. You may need to review your list of
automatically included modules.
0.61 20120312
. Fix code errors in WWW::Mechanize::Firefox::Cookbook
. Allow to create a WWW::Mechanize::Firefox object if you already have
an existing Firefox tab object.
0.60 20120302
. Fix test failing when Image::Info was unavailable
! Fix scaling bug in ->element_as_png()
0.59 20120211
+ Report Javascript errors from the perspective of the caller
instead of a location in WWW::Mechanize::Firefox
! ->wait_until_invisible() requeries selectors now instead
of only querying them once.
+ Add target size options when converting HTML to PNG
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.19
- 5.0.1
- 6.0.1
- 7.0.1
- 8.0
- 9.0
- 10.0
0.58 20111128
! Fix cookie handling which was weirdly broken yet the tests passed.
Session cookies now get returned
Thanks to blakew for pointing that out
0.57 20111102
. Make relative queries work for ->selector()
with "node => $foo"
Reported by Rolf Langsdorf
0.56 20111031
. Make "frames => 0" work in constructor (+test)
0.55 20110728
. Re-release of 0.54, this time including t/helper.pm for the tests
0.54 20110726
+ Bugfix: Tabs on FF4+ now only get closed once, preventing FF lockups
+ Bugfix: ->set_visible now also finds input fields without "type" attribute
. ->set_visible() now also has tests
+ WWW::Mechanize::Firefox is currently tested against the following versions
- 3.0.19
- 3.5.19
- 3.6.19
- 4.0.1
- 5.0.1
- 6.0 Beta
. The tests can now run against other Firefox installations under
firefox-versions/(v.v.v)/FirefoxPortable.exe
. The search glob for Firefox versions to run the tests against can
be set via $ENV{TEST_WWW_MECHANIZE_FIREFOX_VERSIONS}
The default is firefox-versions/*/FirefoxPortable*
0.53 20110701
! Renamed ff-scrape.pl to scrape-ff.pl
. scrape-ff.pl now supports attribute selection with CSS selectors
+ Bugfix: ->form_with_fields() ignored textarea and select fields
0.52 20110509
. Remove traces of Firefox 4 being unsupported
. Added license to API35.pm and API40.pm
. Upgrade local test server to more current incarnation
. Eliminate almost all tests that need an outside network connection
. Document Firefox 4 bug
L<https://bugzilla.mozilla.org/show_bug.cgi?id=649924>
0.51 20110502
. Add pageshow event to the default set of monitored events.
Pageshow fires when a page is loaded from the cache.
+ Firefox 4 is now supported in addition to Firefox 3.5+
Firefox 4 support is not really tested outside of the module self-tests.
+ ->get() can now optionally not synchronize, like ->click(), suggested
and coded by Dave Hansen
0.50 20110411
. implement ->text() and ->content( format => 'text' )
+ autodie is now on by default
. The screenshot example can now also use the current tab
0.49 20110403
. Fix for RT #67195
->find_link_dom( text => 'foo' ) was (much) slower than it needed to be
Fix and report by Dave Hansen
0.48 20110317
. Implemented ->click_button() function plus tests
Tests courtesy of WWW::Mechanize 1.66
. Allow "OR" for node type via using local-name(.) (the element name)
. Use the ugly cross-version hack of
translate(local-name(.), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')
to accomodate for Firefox 3.0 having UPPERCASE HTML ELEMENT NAMES
and Firefox 3.6+ having lowercase html element names. Once we move to 4.0
support only, this can be reverted to
local-name(.)
0.47 20110311
. Use URI::data instead of hand-rolling URI construction
. Add missing prerequisites from LWP split-up
+ HTTP::Cookies::MozRepl can now ->set_cookie to create a cookie in Firefox
* Bugfix: ->save_url() did not send cookies, reported and diagnosed by tcordes
. Add test for ->save_url() and ->get() to check that they send cookies
0.46 20110222
. Add another, more local test for large pages
. Add hint about bufsize to Troubleshooting.pod
. Add test that bufsize actually takes effect
! Somewhat experimental squashing of multiple Xpath queries into one
query - if this breaks your code, please supply test cases!
0.45 20110208
. eval_in_page raises errors from perspective of the caller
instead of raising errors in Firefox.pm
. Added ->by_id() method and { id => $id } option for
conveniently finding elements with names that ->selector
interprets as CSS selectors.
. Improved tests checking fields with fancy:names
or fancy:ids
0.44 20100130
. Allow ->click() on <input type="image"> inputs
(provided by ysth, thanks)
. Bump MozRepl::RemoteObject to 0.21 for better cleanup logic
0.43 20110109
! Fix MozRepl::RemoteObject prerequisite version number
! Change event filtering logic for load progress listener to
just pre-filter, and keep the main logic in Perl. This
should fix intermittent crashes.
. Add 'no_cache' option to ->get()
0.42 20110106
. Improved subroutine coverage to 95% on WWW::Mechanize::Firefox
. Add test for ->forms in scalar context
. Add test for ->forms in list context
. Add test for ->reload()
. Add test for ->back()
. Add test for ->forward()
. Add test for ->is_html()
. ->back() / ->forward() now can optionally (not) synchronize
for loading local files
. Move page load progress listener into JS to reduce latency
. Added ->on_event() accessor for convenient JS page load event debugging
0.41 20101211
. Remove failing test that didn't respect localized theme names
. Fix (i)frame tests that didn't produce results due to embedding sites
that didn't load.
. Proxies in Firefox should impede test results less
. FRAME tags are handled somewhat differently between Firefox and Mechanize:
Firefox is less lenient than WWW::Mechanize
. Use the new ->constant() mechanism of MozRepl::RemoteObject to improve
latency
. ->set_fields() now actually works and has a test
. Started monitoring code coverage through Devel::Cover
. Reinstate `use_queue` that was broken in 0.39
. ->synchronize() now captures events from the tab and the browser
0.40 20101122
+ HTTP::Cookies::MozRepl now fetches cookies more quickly
+ Other functions also use bulk fetching for quicker
information retrieval
. The tests are now more resilient for proxies that return other
"no DNS" errors than 500.
0.39 20101120
. Add Firefox::Application to contain UI manipulation things.
The ->{repl} element is now not a hash element of WWW::Mechanize::Firefox
anymore, but you shouldn't access the guts of an object anyway.
Use ->repl instead.
! ->addTab , ->createTab, ->activateTab and ->selectedTab have been moved
to Firefox::Application.
If you used these functions before, change:
$mech->addTab( ... )
to
$mech->application->addTab( ... )
! ->set_tab_content has been moved to Firefox::Application
! WWW::Mechanize::Firefox (by virtue of Firefox::Application) now uses
the command queueing feature of MozRepl::RemoteObject. The change
should be invisible in theory, but as Javascript objects now experience
a short delay in when they get released, it might change the behaviour
of Firefox. If you experience different behaviour, please test with
use_queue => 1
and
use_queue => 0
whether the difference actually stems from the queuing behaviour.
0.38 20101119
. Fix test for checking whether JS is enabled and whether it can be
disabled to also work when the NoScript add-on is not installed.
! Fix test and code for ->response (and ->get()) when a HTTP proxy
is set. This means that if you have a proxy, some of the response
codes may differ from what you saw before. Some responses are now
404 or 500 responses where they returned undef before.
! The response code should now more closely correspond to the first
response actually fetched.
. Always store (a reference to) the Javascript response even if we
don't fetch it immediately.
. The examples now have a common hashbang line
. The examples don't use a private library directory anymore
0.37 20101115
. Switch out the code in WWW::Mechanize::Firefox::DSL
in favour of Object::Import, which is the same codebase
but intended for a wider audience than just W:M:F.
. ->current_form now gets reset on ->get and ->submit
. The C<any> option to ->xpath() (and ->selector, ->is_visible,...)
allows to search for multiple nodes that may or may not exist
0.36 20101017
. Fix the mro.pm 5.10+ prerequisite by using the additional prerequisite
MRO::Compat, which provides a transparent switch between mro.pm and its
own implementation for versions <5.9.x.
. Make `use WWW::Mechanize::Firefox::DSL '$mech'` work silently
. JS Errors when using ::DSL now get raised in the user code and not
in ::Firefox or ::DSL
0.35 20101014
. Improve the error message of ->value() when no element is found
. Implement ->tick() and ->untick()
0.34 20101013
. Make ->follow_link() also respect C<synchronize> by making ->follow_link()
mostly synonymous with ->click()
. Document the C<dom> option to ->click() (noted by M. Schwern)
. ->click(undef) now fails
. Optimized ->get_set_field() to only return a value if it's needed. This
should speed up setting values in selectboxes.
. Added section in Troubleshooting.pod on what C<synchronize> can be
used for.
0.33 20100819
. Add ->activateTab() for setting the currently displayed tab
. Now needs MozRepl::RemoteObject 0.13 as a prerequisite
. Add activate => 1 option to constructor
. Remove ->content_utf8 , as ->content() already always returns utf8
+ Bring ->field() and ->value() in line with the HTML::Form API
(and thus the WWW::Mechanize API). Now, very simple CSS
selectors like #id and .class get accepted in addition
to 'name' and '^name'.
+ ->value() now also returns the values for select+option elements
0.32 20100810
. Add WWW::Mechanize::Firefox::FAQ as a list of frequently asked
questions. As people now actually ask questions, this file
has a reason to exist.
. Add WWW::Mechanize::Firefox::Troubleshooting as a document
for things that still need to be implemented. Also list
workarounds.
. Add example for how to change Firefox settings.
. Change code for closing a tab so it works dynamically
. Add method ->closeTab for closing arbitrary tabs and a test for it
. Add experimental ->content_utf8 method that always tries to decode
the content.
! All HTTP::Response objects now use ->content_utf8() instead of
expecting the content to be in utf8. This may break your
encoding-sensitive code, so please send me test cases where it breaks
for you.
0.31 20100713
. ->get now supports the :local_file shortcut for local saving
. WWW::Mechanize::Firefox::Cookbook contains snippets
. Documentation is more unified, short examples of function usage
0.30 20100711
. Add ->is_visible method to check for node visibility
. Add ->wait_until_invisible method to wait until a node disappears
. Add tests for the above
. Added tail example program for tailing the Javascript console
. Added example program to send messages from the console to the Javascript
console (intended to delineate the start/stop of test runs)
0.29 20100704
. Really fix bcat.pl and failing tests
. Use Firefox XPath library for ->find_link( text_contains => ... )
. Can't use Firefox XPath library for ->find_link( text_regex => ... )
as Firefox does not seem to define fn:matches()
. ->find_link() now really searches only the current frame, as Mechanize does
0.28 20100702
. Fix bcat.pl and failing tests
. Add examples on how to access (and follow) the Error Console
0.27 20100701
. Add the examples to WWW::Mechanize::Firefox::Examples
. Add test for (dis)allowing META redirects
. Add author test to ensure Changes well-formedness
. Fix 'one' option to ->xpath() to correctly fail when no element is found
. Fix behaviour of ->click() to correctly fail if no element is found
when given as a name
0.26 20100630
. Add bcat.pl example to display text from the console in the browser
. Make input fields work across frames
. Add test for fields across frames
. Make ->field() and ->value() respect the current form if any
0.25 20100629
. ->submit_form now can submit the current form without any fields
specified. This was a fatal error before.
. The Javascript code for closing a tab is now much shorter and likely
also more reliable as it does not rely on the most recent window
opened anymore.
. ->update_html() does not return anything anymore, just like
WWW::Mechanize does.
. C<repl> constructor now also accepts host:port
. Add `bcat.pl` example script to cat HTML to the browser.
0.24 20100624
! ->find_link_dom now uses ->xpath and searches through frames
! Actually conform to WWW::Mechanize API by requiring a hashref
in ->submit_form( with_fields => {} ). This might break your
code, but it's a small change and makes the code fit the documentation.
0.23 20100624
. Add "maybe" option to ->xpath (and ->selector)
. Add "all" option to ->xpath (and ->selector)
. Add a sanity check that prevents calling ->xpath in scalar
context if no item-count option is specified.
. Unified code paths for frame expansion and document query
0.22 20100623
. Performance optimization:
->click() does not need a response
. ->click() now uses ->xpath() to find elements
. Add link to WWW::Mechanize::Firefox::Examples
. Don't force C<synchronize> in ->click()
. ->xpath also takes an arrayref of queries
. ->selector also takes an arrayref of queries
. Added INSTALL file
0.21 20100618
! value() method now returns the field value
! Frames are now searched by default for matching elements
Use
frames => 0
to prevent searching through frames or
frames => ['content_frame']
to whitelist frames to be searched
0.20 20100610
. Fix links in example documentation
. Add tests for weirdo names containing square brackets
. Fix finding fields that have square brackets in their attributes
0.19 20100603
. Added example programs
. Generate example documentation by script from John McNamara
0.18 20100518
. ->submit() returns a true value now
. added another test
. Add test and fix bug in ->form_with_fields, which never worked properly
. Add test and fix bug in ->form_name, which never worked at all
0.17 20100426
. Don't only request nsiHttpChannel, also use it instead of $request
. Fix warnings in test suite
. Add ->eval() as synonym for ->eval_in_page()
. Fix distribution MANIFEST
0.16 20100425
. Added ->submit
. Added ->submit_form with_fields => [...]
. Bugfix: Explicitly ask for the nsiHTTPChannel when trying to
create a response
0.15 20091216
. Better Makefile.PL and Prereq patch by Alexandr Ciornii (chorny)
. Removed some dead code
. Fixed some incompatible Javascript
0.14 20091215
. Added documentation about bufsize parameter
. Option to recursively search frames
0.13 20091213
. Added way to use the "current" tab instead of a new/known tab
. Fixed a bug regarding reusing tabs
. Added eg/ directory with examples
. Added way to specify maximum buffer size at startup
in response to http://perlmonks.org/?node_id=811436
0.12 20091130
! Renamed to ::Firefox
This affects all your scripts, unfortunately.
. Added ->save_url for downloading content to disk
. Added ->save_document for downloading the current document to disk
. Make ->synchronize and ->click not automatically fetch the response
. Guard against empty/undefined schemes when constructing the JS response
. Add and document a method to launch Firefox if it's not already running.
0.11 20091126
. Implement real HTTP response codes instead of the faked
response codes.
* Fix a memory leak/cycle that prevented tabs from closing
. Now needs MozRepl::RemoteObject 0.10 for the API to deregister
callbacks.
0.10 20091121
. implemented ->form_name, ->form_id, ->form_number
. unified API between ->find_link, ->selector, ->xpath
. Needs MozRepl::RemoteObject 0.09 to ensure that
multiple $mech instances work
0.09 20091111
. Allow ->eval_in_page() to specify an overriding
environment, for example to override alert()
0.08 20091109
. Make tests warn if I suspect that Javascript is
blocked by Noscript. This makes some tests fail.
. Require latest MozRepl::RemoteObject for sane encoding handling.
0.07 20091106
. added ->eval_in_page() to evaluate Javascript in
the context of the page
. added better frame / iframe handling.
o Frame/iframes don't play well with data: URLs.
0.06 20091102
. added 'autoclose' parameter to specify whether the
tab that mechanize creates gets automatically closed upon
object release
. added ->content_as_png() to save the current page
as PNG
. Added 'single' option to ->selector() and ->xpath()
. Added capture of arbitrary rectangles to ->content_as_png()
. added ->find_link APIs
. added ->find_link tests from WWW::Mechanize
. added sending of focus/change/blur events and API
0.05 20091030
. Added HTTP::Cookies::MozRepl to allow for live cookie querying
. Added ->cookies method for cookie access
0.04 20091029
. Added ->set_visible
. Added ->value (partly buggy with respect to event triggering)
. added log passthrough parameter
0.03 20091028
. Added missing MIME::Base64 prerequisite
. Now has WWW::Mechanize as a prerequisite
. Also requires MozRepl::RemoteObject 0.2 due to the changed call
interface and introduction of ->declare for caching.
0.02 20091027
. rearranged documentation
. made tests skip if we can't connect to MozRepl
0.01 20091026
. Released unto a propably suspecting audience