The next release of Pantry will be version 35. It features several improvements:
Tags. Each food can have any number of arbitrary "tags", which are simply name-value pairs. For instance, a food might have a "name" tag with a value of "Apples, raw, with skin" and a "group" tag with the value of "Fruits". You search for foods by specifying a regular expression to match the tag values you are looking for.
No more collections. Previous versions of Pantry had "collections," which added an additional level of hierarchy to the way you organized foods. Now, with the ability to add whatever tags you want to foods, there is no need for collections. To accomplish something similar to collections, I use a "bundle" tag, but this is entirely up to you.
Foods are in order. In older versions of Pantry there was no guarantee that your foods would be kept in any particular order. To make up for this deficiency, you could specify an "order" trait, and then have your reports print foods according to their order trait. There was also an "auto-order" feature to help with this.
Now, foods are simply kept in the order that you add them. There are also commands to allow you to sort foods into a new order if you wish. Since there are no more collections, all foods in a single database are simply in one long list. You can still use an "order" tag if you want to, though. (However, the "auto-order" option is gone--it was always a rather nasty hack.)
Foods have unique IDs. Previously there was no way to uniquely specify any particular food. Now each food gets a unique identifier (which is simply a number.) This allows you to easily specify any food. It also allows you to easily reorder foods within a list, simply by specifying a bunch of IDs in the order that you want them.
More logical user interface. Pantry now has a number of "commands", such as "find" or "id" or "move" or "save" or "quit". Previous versions used options (with single- or double-dashes) to accomplish this. With previous versions, you could combine options, which sometimes did not make sense and led to strange behavior. The new interface only allows you to specify a single command, which won't allow bizarre or buggy combinations of options. The new user interface somewhat resembles what you will find for other complex command-line tools, such as aptitude, git, or svn.
XML export. Pantry likely will never read XML. Reading XML is nasty. But generating it is easy, so Pantry will now print reports in XML if you want.
Also, since the file format for Pantry has changed since earlier versions, XML allows an easy way (well, almost easy) to import old files into newer versions of Pantry.
Well, I know how Pantry 35 works, but without a manual you'll have no idea how it works. I'll release it when I get around to writing a new manual, which likely will not happen until sometime in the winter of 2009. That's when the weather gets dreary and I don't mind sitting around somewhere inside, writing a software manual.
But if you are adventuresome, you can grab the code from git, as described on the Pantry home page. But seriously, right now reading the code is the only way you could figure out how this thing works...
(This page written on September 14, 2009.)