new tricks
I’ve been negligent in my blogging duties. Two weeks ago I released Beagle 0.3.0 and Beagle-Xesam 0.1. We followed it up quickly with a 0.3.1 bug fix release on Monday, dBera’s first ever release as co-maintainer!
The 0.3 series is a new major release, and it has a bunch of great new stuff:
- Date queries — the infrastructure for this has been around forever, but we can now do date ranges using keywords in your search.
- All new Thunderbird backend — this completely revamped backend uses a Thunderbird extension to extract email. While you do have to be running Thunderbird to index your mail, the upside is that we have a foolproof way to index Thunderbird email with no memory impact.
- All new Firefox and Epiphany extensions — Greatly improves the code quality, and includes some new features like indexing of pages on demand.
- Network searches — You can now search across Beagle daemons and access your remote files. Other systems can be found automatically using Avahi. This is an experimental feature in 0.3.0, and will continue to prove over time.
- Web user interface — Built on top of the networking code, you can now access your files through a web browser in addition to the existing rich GUI options. Also experimental.
- Nautilus metadata backend — Not a super new whizbang feature, but we now index Nautilus emblems and notes. But the real improvement here is in our infrastructure. The Nautilus metadata backend is our first to index metadata stored completely separately from the data itself. This makes integration with, for example, tagging systems much easier.
- Improved text cache implementation — A complaint of many people in the past is the amount of disk space used by the text cache, a data store that makes retrieval of snippets fast from complex documents. We’ve reimplemented it and on average it uses about half the disk space it previously used.
- Plenty of other fixes, optimizations, and additions. Read the release announcement for details.
Meanwhile, Beagle-Xesam is our Xesam adaptor, which Arun Raghavan wrote as part of Beagle’s participation in the Google Summer of Code program this past summer. Developing as a separate project allowed us to maintain stability of the core search code, learning how to implement the Xesam spec, and getting something up an running sooner rather than later.
Speaking of the Summer of Code program, it’s been very good to us. In addition to the Xesam adaptor, the new Thunderbird backend and the new Firefox and Epiphany extensions were all Summer of Code projects from this year, and they were all quickly integrated into the tree. Also, the network search support is based on code from two SoC projects from last year which finally made it into the tree thanks to Lukas’s hard work.