ANNOUNCE: Beagle 0.2.3


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

The big news about this release is that it works around a (now fixed
in svn) Mono bug that caused the Beagle daemon's memory usage to spike
heavily over time.  With this fix, memory usage stays very stable over

All hail Jon Trowbridge and his awesome heap-buddy tool.

This release also contains a handful of bug fixes, and a few new
filters.  One of the new filters allows system administrators to
set up simple text extraction filters for any file types without
needing to program in C#.  See the external-filters.xml file in the
Filters directory of the source tree for more info.


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

The latest gossip is available at:

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

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

St. Patrick escaped enslavement on Ireland, but later returned to the
island to become a missionary:

People use this as an excuse to get drunk before noon on his feast day:'s%20day%20drunk

Beagle is a tool for indexing and searching your data.  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 deletion.
* E-mails are indexed upon arrival.
* IM conversations are indexed as you chat, a line at a time.

Beagle supports many different file formats including OpenOffice
documents, Microsoft Word documents, PDFs, HTML files, and many image
and audio formats.  Beagle can extract information from your file
system, Evolution and KMail mailboxes, Evolution calendars and
addressbooks, Gaim and Kopete instant messenger conversations, several
RSS aggregators, Tomboy notes, system documentation, and many others.

Beagle also provides Firefox and Epiphany extensions that index web
pages in real-time as the user visits them.

Beagle uses the Lucene indexing system from the prodigious Doug

Beagle includes a GTK-based graphical tool for searching the index
that the daemon creates.  This application doesn't query the index
directly; it passes the search terms to the daemon and the daemon
sends any matches back.  The user interface 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 requires:
* Mono 1.1.10 or better, along with the full Mono stack
* gtk-sharp 2.3.90 or better
* GMime 2.1.19
* Libexif 0.5.7 or better
* shared-mime-info

For the best possible Beagle experience, you should also have:
* Mono 1.1.13
* Evolution-sharp 0.10.2
* libgsf 1.12.1 and gsf-sharp 0.6
* Either wv 1.2.0, or a *patched* wv 1.0.3 --- the patch is available from
* An inotify-enabled kernel.  Inotify is in the mainline Linux
  kernel as of 2.6.13.


* Allow Beagle to be run as root, although this is still disabled by
  default and not recommended.  (Joe Shaw)
* Allow emails, hostnames, and numeric strings to leak through noise
  filter.  (D Bera)
* Don't read the whole file if enough snippets are found; speeds up
  snippet extraction a lot.  (Bera)
* More closely track cached IndexReaders, fixing a race which would
  result in exceptions.  (Joe)
* Don't use thread-local storage in Lucene due to a Mono leak up
  through  This fixes huge memory leaks in the daemon.

* Use message headers to detect incoming/outgoing mails in KMail
  backend.  (Bera)
* Fix a hard-to-hit exception when checkpointing Evolution mail data
  to disk.  (Joe)

* Add a PreLoad flag so filters can indicate whether or not to preload
  files.  (Joe)
* New video filter which uses mplayer to extract metadata.  (Alexander
  Macdonald, Joe, Bera)
* New BMP filter.  (Alexander)
* New filter which lets administrators configure external programs for
  filtering more unusual or specialized file types.  (Joe)
* Update our entagged-sharp version, which include a few small fixes
  for audio filters.  (Daniel Drake)
* Eliminate a critical warning from GMime about address types on
  emails with undisclosed recipients.  (Joe)
* Handle a new failure condition from GMime when trying to read a
  message toward the end of a stream.  (Joe)

* Say "Start Search Service" rather than "Start Daemon".  (Dan
* Don't clip the forward and back buttons if the text size is smaller
  than the height of the icons.  (Joe)
* Scale launcher icons to fit the requested size.  (Joe)
* Add the "Open" action back for Folders.  (Lukas Lipka)
* Use desktop-launch when possible, for KDE support.  (Dan)
* Escape URIs before passing them to apps.  (Daniel, Brandon Hale)

* Fix a crash in beagle-build-index when not using text caches.
  (Alexander Larsson)
* Be extra paraoid in beagle-manage-index so that we don't delete any
  user data.  (Joe)

Everything Else:
* Fix a compilation error on some 64-bit machines.  (Joe)
* Updated Beagle icons in the Firefox extension.  (Garrett LeSage)

* Updated Bulgarian translation.  (Alexander Shopov)
* Updated Czech translation.  (Jakub Friedl)
* Updated Finnish translation.  (Ilkka Tuohela)
* Updated Galician translation.  (Ignacio Casal Quinteiro)
* Updated Japanese translation.  (Takeshi AIHANA)
* Updated Vietnamese translation.  (Clytie Siddall)


Yes, we know we use too much memory.  We are working on it.

Certain extremely large documents can temporarily degrade your
system's performance while they are being indexed.

The file system is now much more robust than ever before.  However, there
are still race conditions that can occur with certain combinations of
file system operations.  In some cases it might be necessary to stop and
restart the daemon.

The CHM filter has been disabled because the HTML filter it is based
upon has changed, and it has not been updated.

The web services architecture has been deprecated and is no longer
built.  It has some design issues and is currently unmaintained.

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]