Beagle 0.2.8 is out. This new release has a handful of great new features:
- Thunderbird backend courtesy of the awesome Pierre Östlund, who has been working on it for the last four months. It seems pretty solid, and is a great addition to Beagle.
- Wildcard searches. People have wanted this for quite some time in Beagle, and here it is. You can use an asterisk (*) to search for all kinds of things. foo* for example will match foobarbaz.txt, documents with the word “food” in them, etc.
- The ability to suspend indexing on battery. Another oft-requested feature from laptop users, who need their precious limited time on battery for doing real work. Searches can come later when the machine is plugged in! Simply hit a checkbox in the preferences dialog and Beagle will “play dead” while you’re unplugged.
- No more dependency on gtk-sharp. The Beagle daemon and command-line tools no longer require gtk-sharp and all the baggage that entails to run. They do depend on glib-sharp, however. And of course the GTK-based GUI and certain backends like the Evolution backends still require gtk-sharp, but any way we can limit the build-time dependencies the better. Hopefully this will also finally silence the people who say that Beagle is GNOME-specific. (Which is just clearly untrue.)
We also fixed a lot of bugs. Among the most irritating:
- Don’t optimize indexes more often than once a day. Fixes Miguel’s bug in which mails would trickle in and the indexes would keep getting unnecessarily reoptimized after a period of inactivity.
- Problems of case sensitivity. In theory, Beagle is supposed to be completely case insensitive. So imagine my surprise when my colleague Stephan Kulow mentioned to me that for a file named AHREF.txt, searches for AHREF, ahref, and AHREF.txt matched, but ahref.txt did not. There were similar issues with wildcard searches. These should all be fixed now but unfortunately means a reindex is necessary because of a change to the index version.
- HTML emails from people were not showing up in many cases in the beagle-search tool.
- If you had a file with a Unicode character in it, or an email from a folder with one, in many cases the file or email would fail to open when you double-clicked on it.
And lastly, things that aren’t really features or bugs, but which are nice:
- When indexing the file system, Beagle used to have a few different criteria for determining in what order to do things. They were (in order):
- Whether the file had been touched since the daemon had started (if it had, it got priority)
- When the last time the file was indexed (older or never getting the priority)
- The depth of the file in the directory hierarchy (shallower getting priority)
This meant that in a lot of cases you had directories 5 levels down in your filesystem getting indexed before your ~/Documents folder was indexed. At least, that was my problem; I have 127,800 directories under my home directory. This has been changed so that directories that are at depth level 0 (ie, home directory) or 1 (everything immediately under your home directory) are indexed above item 2 above.
- The Gaim backend and the indexing service backend (which handles pages from the Firefox and Epiphany extensions) now use Indexable Generators at startup, which reduces memory usage and indexing overhead at startup if you have thousands of documents like I often do.
- Sending SIGUSR1 to Beagle will cause it to go to the highest debug level. This makes it easier to debug an already running daemon that is misbehaving.
- The error reporting in the daemon is much improved, so that the back-and-forth in bugzilla will hopefully be greatly reduced.
As always, check out the release announcement (linked above) to see the full rundown. There’s a lot more than all this.
Meanwhile, SLED 10 won “Best Desktop Solution” and “Best in Show” at LinuxWorld. Novell press release.
Next week I’ll be at Foo Camp, pimping and demoing Beagle and trying to get people psyched about Dashboard and the so-called “semantic desktop” without saying those words or punching someone who does. I’m looking forward to meeting some really smart people and bouncing some ideas off them and then being mocked horribly for such terrible ideas. Should be fun or demoralizing!

One Trackback/Pingback
[...] The other day I was trying to hunt down a bug that was reported against Beagle in SLED 10. Normally, I try to duplicate these sorts of bugs in a sandbox using my CVS checkout, which was just after I released 0.2.8. I wasn’t able to duplicate the bug there, so I tried 0.2.3, which is the version (albeit heavily patched) that we ship in SLED. I wasn’t able to find the bug there either, but I did notice something awry: indexing was noticably faster in 0.2.3 than 0.2.8. [...]