Beagle 0.0.11

I'm pleased to announce the release of Beagle 0.0.11.

Our focus continues to be on fixing bugs.  This is the most stable
version of Beagle yet, and should be suitable for everyday use.

Please note that Beagle 0.0.11 uses inotify 0.23 when available.  Earlier
versions of inotify will fill you with a deep and abiding sadness.

For the best possible experience, you should run Beagle on Mono 1.1.7 or


To download the 0.0.11 tarball or learn more, visit the Beagle wiki at:

Nat Friedman made some cool movies that demonstrate Beagle in action:

The latest gossip is available at:

We still talk about Beagle on the dashboard-hackers mailing list:

Making butter is easy:

Beagle is a tool for indexing and searching your data.  It is in an early
stage of development and should be considered experimental.  Beagle is
improving rapidly on many fronts, and should work well enough for
everyday use.
The Beagle daemon transparently monitors your data and updates the index
to reflect any changes.  On an inotify-enabled system, these updates happen
more-or-less in real time.  So for example,
* Files are immediately indexed when they are created, are re-indexed
  when they are modified, and are dropped from the index upon
* E-mails are indexed upon arrival.
* IM conversations are indexed as you chat, a line at a time.
Beagle uses the Lucene indexing system from the prodigious Doug

Best is a graphical tool for searching the index that the daemon creates.
Best doesn't query the index directly; it passes the search terms to the
daemon and the daemon sends any matches back to Best.  Best then renders the
results and allows you to perform useful actions on the matching objects.

Indexing your data requires a fair amount of computing power, but the Beagle
daemon tries to be as unobtrusive as possible.  It contains a scheduler that
works to prioritize tasks and control CPU usage, based on whether or not
you are actively using your workstation.


Beagle has many dependencies, and thus can be difficult to compile.
It requires:
* The full Mono stack (We all use 1.1.x, and you probably
  should too, but 1.0.6 will also work.  1.0.5 and earlier will NOT work.)
* gtk-sharp 1.0.8 (1.9.x will NOT work)
* Gecko-sharp 0.6
* Gmime 2.1.13
* Libexif 0.5 or better

For the best possible Beagle experience, you should also have:
* Mono 1.1.7 or better
* Evolution-sharp 0.6
* wv 1.0.3
* An inotify 0.23-enabled kernel


* Added a shiny new configuration system (Daniel Drake)
* Collect disk I/O statistics (Robert Love)
* Backported TermEnum optimizations from SVN Lucene (Lukas Lipka)
* Clean up the startup/shutdown quite a bit so that the daemon is ready
  to listen to requests almost immediately, so that early shutdowns are
  completed in a timely fashion, and to remove hacks from calling the
  remote shutdown method (Joe Shaw)
* Tons of portability fixes for FreeBSD (Jean-Yves Lefort,
  Joe, Daniel Drake)
* Fix crashes related to early disconnects from the server (Joe)
* Support extended attributes through libattr if not provided by
  libc (Daniel)
* Inotify subsciption system (Daniel)
* Properly handle exceptions when we walk a directory with strange
  permissions (Jon Trowbridge)
* If we are on a laptop running from battery power, don't speed up
  indexing when the system is idle (Jon)
* Sqlite locking fixes (Jon)
* Tons of query fixes (Jon)
* NameIndex optimizations (Jon)

* Support additional date formats in the vcard Rev field and catch
  exceptions on unknown ones (Joe)
* Index flags from mbox mail (Joe)
* Camel summary fixes (Joe)
* Assorted property fixes (Jon)

* CHM Filter (Miguel Cabrera)
* Matlab filter (Damodharan R)
* Scilab filter (Damodharan R)

* beagle-config utility (Daniel)
* Better handling of unchanged hits in Best (Lukas)
* IM Log Viewer clean-ups (Lukas)
* Present the Best window instead of just showing it; this should fix
  problems where the window pops up behind other windows (Joe)
* Fix a crasher in Best that amazingly only one person ever saw but
  everyone should have seen (Joe)

Web Services:
* Added new web-services based support for networked beagleds (KN Vijay)
* Added support for exporting multiple folders for public webservice
  access (Vijay)
* Fixes to filtering/translating logic for external access to
  web/web-service interface (Vijay)
* Set source for network hits to Network (Vijay)
* Added snippet support (Vijay)

Everything Else:
* Add library mappings for certain GNOME libraries so that devel
  packages aren't required (Brandon Hale)
* Updated British English translation (Christopher Orr)
* Added Bulgarian translation (Rostislav Raykov)
* Updated Canadian English translation (Adam Weinberger)
* Updated Dutch translation (Wouter Bolsterlee)
* Added French translation (Christophe Merlet)
* All the stuff I forgot (All of the people I forgot)

It doesn't take that much ingenuity to confuse the file system backend.  In
particular, the right thing doesn't always happen if a file's name changes
very rapidly.  (i.e. "mv foo bar; mv bar baz; mv baz foo")

The amount of memory consumed by the beagle daemon tends to grows over time.
All of the major leaks have been fixed, but it might need to be manually
killed and restarted after running for long periods of time.

Due to a bug in mono, the beagle daemon will occasionally lock up when
starting the helper process.  As far as we can tell, this is pretty rare and
only happens on SMP systems.

There are a few other relatively rare deadlocks that also seem to be mono
bugs.  Occasionally beagled will deadlock on start-up.  Sometimes a query will
throw an exception and cause the beagled to deadlock until the querying
process is killed.  These are hard to trigger, but have been observed on
non-SMP systems.

On non-inotify systems, sometimes beagle will get confused and repeatedly
re-index the same directory.

At this point in development, we cannot commit to stable APIs or file formats.
You will almost certainly need to delete your indexes and start again at some
point in the future.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]