Pentadactyl 1.0 βeta 4.3 Released

It's that time again. We would have been pleased to announce the release of Pentadactyl 1.0 βeta 4.3, had we not delayed the release notification while waiting for addons.mozilla.org approval that never came. Well, that said, there are quite a few improvements in βeta 4 over βeta 3, which are more fully detailed below. The most notable is that Pentadactyl can now be installed, enabled, disabled, and upgraded on Firefox 4 without a restart. Also notable are the ability to map keys in more modes, improvements to the :style and :highlight commands, and improvements to the external editor launcher.

Changes

  • Extensive Firefox 4 support, including:
    • Fully restartless. Can now be installed, uninstalled, enabled, disabled, and upgraded without restarting Firefox.
    • Tabs in :buffer completions and listings are grouped by Panorama groups.
    • Only visible tabs are considered in tab numbering, gt/gn/gN, etc.
  • Improved startup time by a factor of 7.
  • Significant completion speed improvements, especially for JavaScript.
  • Greatly improved private mode support and :sanitize command.
    • Full integration with Firefox data clearing dialogs.
    • Support for sanitizing items at shutdown.
    • Fine-grained control over what data is sanitized and for what timespan.
    • Support for sanitizing reference to particular hosts, everywhere from command-line and message history to option values and cookies.
  • New and much more powerful incremental search implementation. Improvements over the standard Firefox find include:
    • Starts at the cursor position in the currently selected frame, unlike Firefox, which always starts at the start of the first frame.
    • Returns the cursor and viewport to their original position on cancel.
    • Backtracks to the first successful match after pressing backspace.
    • Supports reverse incremental search.
    • Input boxes are not focused when matches are highlighted.
  • It's now possible to map keys in many more modes, including Autocomplete, Hint, Multi-line Output, and Menu.
  • Ex command parsing improvements, including:
    • Multiple Ex commands may now be separated by |
    • Commands can continue over multiple lines in RC files by prefixing the continuation lines with a \
    • The \ character is no longer treated specially within single quotes, i.e., 'fo\o''bar'fo\o'bar
  • Command line is now hidden by default. Added c, C, and M to 'guioptions'.
  • Hint mode improvements, including:
    • Added g; continued extended hint mode, which allows selecting multiple hints. Removed ;F.
    • Hints are now updated after scrolling and window resizing.
    • Added ;S mode for creating search keywords.
    • Added 'hintkeys' option.
    • Added "transliterated" option to 'hintmatching'.
  • JavaScript completion improvements, including:
    • The prototype of the function whose arguments are currently being typed is displayed during completion.
    • Non-enumerable global properties are now completed for the global object, including XMLHttpRequest and encodeURI.
  • The concept of completion contexts is now exposed to the user (see :h :contexts), allowing for powerful and fine-grained completion system customization.
  • The external editor can now be configured to open to a given line number and column, used for opening source links and editing input fields with <C-i>. See 'editor'.
  • Command changes:
    • :viusage, :optionusage and :exusage were replaced with :listkeys, :listoptions and :listcommands, providing more powerful and consistent interactive help facility (improvements include listing keys for modes other than Normal, filtering the output and linking to source locations).
    • Added :cookies command.
    • :extadd now supports remote URLs as well as local files on Firefox 4.
    • Added :if/:elseif/:else/:endif conditionals.
    • Added -keyword, -tags, -title to :delbmarks.
    • Added :extupdate command.
    • Added :feedkeys command.
    • Added -sort option to :history.
    • Added several new options, including -javascript, to :abbrev and :map.
    • Added :mksyntax command to auto-generate Vim syntax files.
    • :open now only opens files beginning with /, ./, ../, or ~/
    • :saveas now provides completions for default file names, and automatically chooses a filename when the save target is a directory.
    • Added :write !cmd and :write >>file.
    • Added :yank command.
  • Improvements to :style and :highlight:
    • Added -agent flag to :style.
    • The -append flag now updates existing properties rather than simply appending its arguments to the previous value.
    • Active filters are now highlighted in :style listings.
    • :style-related commands now divide their completions between those active and inactive for the current site.
    • CSS property name completion is now available.
  • Important: option changes:

    • Boolean options no longer accept an argument.
    • 'cdpath' and 'runtimepath' no longer treat ",," specially. Use "." instead.
    • 'incsearch', 'hlsearch', 'ignorecase', and 'smartcase' have been replaced with 'incfind', 'hlfind', and 'findcase'.
    • 'extendedhinttags' is now a regexpmap rather than a string.
    • 'guioptions' default value has changed.
    • 'laststatus' has been replaced with the "s" flag in 'guioptions'.
    • 'linksearch' has been removed. The \l search modifier can still be used for this purpose.
    • 'loadplugins' is now a regexplist option rather than a boolean.
    • 'mapleader' is now an option rather than a :let variable.
    • 'showstatuslinks' and 'showtabline' are now string options.

  • Important: Command script files now use the *.penta file extension.

  • Important: Plugins are now loaded from the 'plugins/' directory in 'runtimepath' rather than 'plugin/'.

  • Important: Option value quoting has changed. List options will no longer be split at quoted commas and the option name, operators, and = sign may no longer be quoted. This will break certain automatically-generated configuration files. See :help stringlist

  • Option changes:
    • Added "bookmarks", "diverted", and "links" to 'activate' option.
    • Added 'altwildmode' and <A-Tab> command-line key binding.
    • Added 'autocomplete' option for specifying which completion groups should be auto-completed.
    • Added 'banghist' option.
    • Replaced 'focuscontent' with 'strictfocus'.
    • 'complete' now defaults to "slf" but file completion only triggers when the URL begins as above.
    • Added 'passkeys' option.
    • Changed 'urlseparator' default value to '|'.
    • Added "passwords" and "venkman" dialogs to :dialog.
    • Added 'wildanchor' option.
    • Added 'cookies', 'cookieaccept', and 'cookielifetime' options.
  • Added BookmarkChange, BookmarkRemove autocommands.
  • Removed the :source line at the end of files generated by :mkpentadactylrc.
  • gf now toggles between source and content view. The | key binding has been removed.
  • Page zoom information is now shown in the status bar, and change in zoom status no longer appears in :messages.
  • Added ZO, ZI, ZM, and ZR as aliases for zO, zI, zM, and zR.
  • Completion list now behaves better when the multi-line output window is displayed.
  • Major help system improvements:
    • Plugins may now provide full-fledged ':help' documentation.
    • Add basic plugin authorship documentation.
    • The help system is newly modularized and features significant updates, rewrites, and formatting improvements.
  • Removed :beep.
  • Removed :edit, :tabedit, and :winedit aliases.
  • Removed :play.