Mercurial 1.9 released with set support
In the latest feature release of the Mercurial distributed revision control software the developers have added a new functional language for specifying sets of files. Mercurial 1.9 supports the new filesets language which consists of predicates such as "clean()", "ignored()", "size()"; expressions are prefixed with "set:". For example, the command
hg revert "set:copied() and binary() and size('>1M')" would revert any copies of binary files greater than 1 MB.
A new command server has been added to allow other applications, such as IDEs or scripts, to communicate with Mercurial's API using only a pipe. There are also improvements to remote changeset discovery, a new and experimental "generaldelta" storage scheme and an experimental HTTP client library. A list of all the changes is available and includes a number of modifications and additions to commands, changes to the web interface and extensions, and a range of bug fixes.
Mercurial is published according to a timed release plan; feature releases are made on 1 March, 1 July and 1 November, with monthly minor bug fix releases on the first day of all other months. Mercurial 1.9 is available to download for Mac OS X and 64-bit and 32-bit Windows, while Linux, BSD and Solaris users will find the latest versions in their system specific repositories. Mercurial is licensed under the GPLv2.