Beagle 0.0.10

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

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

As of this version, we no longer require D-BUS.  We've replaced it with a
simpler IPC mechanism that more closely fits Beagle's particular requirements.
As a result, Beagle is now substantially more stable.

Please note that Beagle 0.0.10 uses inotify 0.23 when available.  Earlier
versions of inotify will only cause you misery and pain.

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


To download the 0.0.10 tarball, visit the Beagle web page at

Thanks to Joe Shaw, our main web page is also our wiki.  Another
way to get there is via

If you are running SuSE or the Novell Linux Desktop, we have an open carpet
server with snapshots and packages for all of the dependencies:

Joe Gasiorek writes a regular Beagle newsletter.  You can read it 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:

The Dutch East India Company was the first to issue stocks and bonds:

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, including Gtk#. (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.)
* Evolution-sharp 0.6
* Gecko-sharp
* wv 1.0.3
* Gmime 2.1.13
* Libexif 0.5 or better

For the best possible Beagle experience, you should also have:
* An inotify 0.23-enabled kernel
* Mono 1.1.7 or better
* A tall, cool glass of lemonade


* Remove dbus dependency and replace it with a simple point-to-point
  Unix domain socket and XmlSerialization message passing system
  (Joe Shaw, Jon Trowbridge, Robert Love, Daniel Drake, Fredrik Hedberg)
* Support multiple properties on the same name on hits (Veerapuram Varadhan,
* Delete logs older than 7 days on startup (Lukas Lipka)
* Bail out eariler if we are run the daemon as root (Lukas)
* Add --help option to beagled (Lukas)
* Inotify API updates, IsDirectory support and OneShot support (Robert)
* Inotify event-queue clean-up (Jon)
* Per-backend index versioning (Fredrik)
* Allow clients to lower hit limit (Daniel)
* Queries are now more flexible (Jon)
* Properly index and query keyword properties (Jon)
* Removed the old network interface (Fredrik)
* Use opendir and readdir from Mono.Posix to walk large directories (Jon)
* Shut down cleanly on SIGINT, SIGTERM and SIGQUIT (Jon)

* HitIsValid for TomboyQueryable (Lukas)
* Real-time indexing for Tomboy notes works again (Lukas)
* Fix detection of Evolution IMAP accounts that use authentication
  methods which aren't the default (Joe)
* Fix indexing of GAIM IRC logs (Daniel)
* Don't crash on unreadable .desktop files (Daniel)
* Index KDE Launchers (Daniel)
* Launcher backend cleanups (Daniel)
* Minor changes to the Monodoc backend (Fredrik)
* Improved relevancy for e-mails (Jon)
* Look at the REV field to know which contacts have changed since
  the last time we crawled the local addressbook (Jon)
* Fixed properties in addressbook and Blam objects (Jon)

* Filter infrastructure improvements (Jon, Joe, Daniel)
* libexif build/dllmap fixes (Daniel, Jon)
* Spreadsheet filter using ssindex tool from gnumeric, supports
  Excel, Gnumeric, CSVs (Varadhan)
* Add identification of file-types using their extension (Varadhan)
* Added support for extracting header/footer contents in RTF documents
* Filter for Javascript files (Anthony Batchelor)
* Filter for Lisp files (Wojciech Polak)

* Allow highlighting search terms in the IM viewer (Lukas)
* Make search work in IM viewer (Lukas)
* Revamped Best quicksearch menu (Lukas)
* Pull font settings from gconf and apply them to the style; fixes the
  GIANT FONT PROBLEM people were seeing in non-english locales (Joe)
* Unify beagle-status, beagle-index-info, and beagle-ping into a single
  beagle-info program (Joe)
* Show KDE launcher icons in Best (Daniel)
* Mouse-over tooltips in Best (Daniel)
* Fix the TileFolder ranking problem (Fredrik)

Web Services:
* Added support for Snippets in Beagle Web Interface (KN Vijay)
* Updated Beagle internal WebServer code to XSP-1.0.9 (Vijay)
* Added External Access filter for Web & Web-service accesses:
  Added check to distinguish between local and external web/web-service
  access, and do basic filtering of hit results for external accesses (Vijay)
* Added Locks to web & web-service backend code, to prevent changes to
  results set while generating response (Vijay)
* Updated web-interface to serve images for Icons from web server,
  converting file:/// uris into http:// uris. This should resolve the
  problem where images for web-interface results were not displayed on
  Mozilla/Firefox browsers, due to security restrictions (Vijay) 
* Changes in WebServiceBackEnd to update it in line with recent changes
  in Query, Hit & Property classes (Vijay)

Everything else:
* Check things more carefully at configure-time (Joe)
* New Wiki (Joe)
* Build fixes (Everyone)
* Removed a bunch of dead code (Everyone)	
* Added Catalan translation (joseppc)
* Added Danish translation (mwh)
* Added Greek translation (pkst)
* Added Hungarian translation (Gabor Kelemen)
* Added Spanish translation (Francisco Javier Fernandez)
* Updated Canadian English translation (Adam Weinberger)
* Updated German translation (Frank Arnold)
* Updated Japanese translation (Takeshi AIHANA)
* Updated Norwegian translation (Terance Edward Sola)
* Updated Dutch translation (Wouter Bolsterlee)
* 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.

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]