Chickenfoot 1.0.4
Bug fixes in this release:
- extension packager now works on Macs again
- packaged extensions no longer display “Trying to load non-local URI” error
Bug fixes in this release:
Bug fixes for Firefox 3:
This release fixes a bug introduced by Firefox 2.0.0.13, which was just released today. It’s also the first prerelease of support for Firefox 3. If you’re running a Firefox 3 beta, please try out this release of Chickenfoot and let us know how it works for you.
Changes:
Known bugs on Firefox 3:
Fixes a bug in regular expression matching.
We’re happy to announce the 1.0.0 release of Chickenfoot, just in time for 2008. This release includes several major improvements:
A few small bug fixes are also included in this release:
Finally, the experimental keyword-commands feature has been removed from this release, so keyword commands will no longer work. Keyword commands will be released separately as another extension that can be installed alongside Chickenfoot to enhance its behavior, like the way LAPIS is distributed.
include() can now include other script files in the same directory using a relative pathname. For example, A.js can include a file B.js in the same directory by calling include(”B.js”). Along with this, a script file can now discover its own filename using the global readonly property scriptFile.
A new command, reset(), resets a form’s controls back to the values they had when the page was originally loaded. For example, reset(”search form”).
Chickenfoot’s editor tabs now have a right-click menu, with commands like closing all tabs simultaneously.
Introduced a new function writeBytes() that writes binary data (represented as a string using only low-order bytes) to a file. The existing function write() writes textual data using UTF-8 encoding.
Added a new library for taking screenshots of pages, screenshot.js.
Also fixed a bunch of bugs.
Finally, Chickenfoot is now distributed under the terms of the MIT license, instead of GPL.
Chickenfoot now supports hybrid programs consisting of both Javascript and keyword commands. Text recognized as keyword commands is shown in italics in the code editor.
The default is still pure Javascript; trying hybrid keyword commands requires switching to “Run as keywords” in the menu under the Run button.
This release includes some new debugging features:
In addition, Chickenfoot scripts can now use Javascript 1.7 constructs, assuming you’re running in Firefox 2.0+. (FF 1.5 only has JS 1.6.) In particular, Match objects are now iterators, so you can do away with the nasty hasMatch/next syntax and simply use for..in, like so:
for (c in find(”checkbox”)) check(c);
for (img in find(”image”)) remove(img);
for (number in find(/\d+/)) output(number);
JS 1.7 has a few other nice features, like proper lexical scoping for local variables. See
http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7
for more details.
The file-handling commands (read, write, append, exists) have been moved out of the Chickenfoot core and into a library. You need to put include(”fileio.js”) at the top of your script to use these commands.
Also fixed a bug in the extension generator, so that Firefox extensions generated from Chickenfoot work once more.
Minor bug fix that allows trigger scripts to run when the Chickenfoot sidebar is closed.
For the first release of 2007, we have the following treats:
- Triggers can now fire whenever Firefox starts, or whenever a new Firefox window opens. This will be useful for changing Firefox’s chrome, e.g. adding toolbars or menu items from Chickenfoot scripts.
- Chickenfoot scripts can now be triggered from the Firefox command line. Use firefox -cf-run to load and run a Chickenfoot script right after Firefox starts.
- pick() and enter() now simulate onchange events when they change a checkbox, radio button, listbox, or textbox, so Chickenfoot will play better with Javascript-intensive web sites.
- there is now a Stop button on the Chickenfoot sidebar, right next to the Run button. It makes a best effort to stop any running Chickenfoot scripts, although it may not succeed if a script is CPU-bound (because that usually locks up the user interface too).
- fixed a few bugs, such as click(”Next”) not working on Google search results