Chickenfoot 1.0.7 released

Chickenfoot now supports the upcoming Firefox 3.6 (at least it runs on the current beta release).

Other fixes:

  • Chickenfoot scripts once more run in separate global namespaces, so their variables won’t  collide.  (This apparently stopped working in FF 3.5.)
  • No longer forces Java to start when Firefox starts.  (Chickenfoot 1.0.6 introduced this bug.)
  • Experimental support for using Bespin as the script editor in the Chickenfoot sidebar.  To try it out, go to about:config, create a Boolean parameter called chickenfoot.use-bespin, set its value to true, and close and reopen the sidebar.  To revert back to the original HTML-based script editor, set chickenfoot.use-bespin to false or delete it entirely.  Bespin support is very very alpha, so it may lose your data!

Chickenfoot 1.0.6 released

Support for Firefox 2.x has been officially dropped from Chickenfoot.

Also fixed Google Icon Search sample program so that it selects the Icon image size (”small” is now gone from Google Advanced Image Search).

Chickenfoot 1.0.5 released

Support for Firefox 3.5.

Bug fixes in this release:

  • Trigger list is now formatted better when the sidebar is narrow
  • Scripts and triggers are now stored in UTF8, so they can have Unicode characters, not just ASCII.
  • Keyword patterns can use Unicode as well; mostly tested with Chinese.
  • Fixed crash on 64-bit Linux

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

Chickenfoot 1.0.3

Bug fixes for Firefox 3:

  • “Trying to load non-local URI” bug fixed in FF3
  • Extension packager now written in Javascript, not Java

Chickenfoot 1.0.2 released

This release fixes a bug introduced by Firefox, 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.


  • Chickenfoot scripts are now evaluated with mozIJSSubScript rather than, because is not supported in FF3 (or FF2.0.0.13, for that matter).
  • Combined the Output pane and Actions pane together. If the Record Actions checkbox is enabled, then the Chickenfoot commands corresponding to the buttons you click and form controls you use are displayed in blue.
  • Fixed a bug where the XPath displayed by the action recorder was sometimes broken.
  • Fixed a bug where read() would create directories if the filename you’re trying to read doesn’t exist.
  • Extension packager now uses Javascript to generate GUIDs, instead of Java.
  • Fixed bug #290: script editor sometimes introduces garbage character.
  • Fixed bug #382 - when triggers are packaged as an extension, all triggers are now enabled in the package

Known bugs on Firefox 3:

  • Calls down to Java crash the browser, so the extension packager (which currently uses Java) doesn’t work yet.
  • Intermittent crashing observed on FF3/Windows.

Chickenfoot 1.0.1

Fixes a bug in regular expression matching.

Chickenfoot 1.0.0 released

We’re happy to announce the 1.0.0 release of Chickenfoot, just in time for 2008. This release includes several major improvements:

  • The extension packager now allows you to select multiple trigger scripts, files, and folders to include in the extension package. You can also set an update URL for the extension package, so that when you release your extension on the web, Firefox will automatically check for updates.
  • Trigger metadata is now stored in a //UserScript comment, in GreaseMonkey style.
  • When you output a Match object returned by a find() command, the Output pane allows you to browse the matches it found, highlighting them in the page.
  • The Output pane also browses other objects displayed with output(), allowing you to expand them as deeply as you like.
  • The Chickenscratch language now includes keypress() and onKeypress() commands for simulating and responding to keyboard actions. For example, keypress(”Ctrl d”) presses Control-D on whatever part of the page currently has the keyboard focus; keypress(”Enter”, “search textbox”) presses Enter on the Search textbox; onKeypress(”Enter”, “search textbox”, function) runs the given function whenever Enter is pressed on the Search textbox.

A few small bug fixes are also included in this release:

  • The keyboard shortcut for Run Trigger On This Page (on the right-click menu) no longer conflicts with Open Link in New Tab
  • click() on Element and Match objects now works again
  • click() on a link with a target attribute no longer clicks the link twice

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.

Chickenfoot 0.9.20070702

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 0.9.20070430 released

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.