ANNOUNCE: Beagle 0.1.4


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

The focus of this release has been bug fixing.  A number of bugs
related to limiting searches by source, getting snippets for results,
searching for files by extension, ID3 tags within audio files, among
many others have been fixed.


This version of Beagle will not build unpatched against Mono 1.1.12 as
currently released.  This is because of an incompatible API change in
one of the assemblies Beagle uses.  The Mono developers will be fixing
this issue soon.  In the meantime, you can apply the following patch
to your beagle source tree:


To download the 0.1.4 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:

Mercury is a liquid at room temperature because its valence electrons
are not easily shared, weakening mercury-mercury bonding:

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 also provides Firefox and Epiphany extensions that allow web pages
to be indexed as the user visits them.

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:
* Mono 1.1.10 or better, along with the full Mono stack
* Gecko-sharp 2.0
* gtk-sharp 2.3.90 or better
* Gmime 2.1.16
* Libexif 0.5.7 or better

For the best possible Beagle experience, you should also have:
* 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 0.24-enabled kernel.  Inotify is in the mainline Linux
  kernel as of 2.6.13.


* Clean up snippet requesting API to be much simpler for clients.
  (Joe Shaw, Jon Trowbridge)
* Fix libbeagle to allow snippets to be requested.  (Joe)
* Fix date range queries in libbeagle.  (D Bera, Joe)
* Fix filtering by source in libbeagle.  (Joe)
* Fix file extension queries.  ie, "ext:jpg".  (Bera)
* Pre-initialize the serializer in connection handler.  Removes the slight
  lag in the first response.  (Bera)
* Added beagle:NoPunctFilename property to files.  (Jon)
* Clean up error handling in the message passing code to aid
  debugging.  (Joe)
* Add unstored properties, so that indexables can send "hints" to
  filters.  (Bera)
* Fix properties to be both searched and stored by default in
  libbeagle.  (Joe)
* Wait up to a minute for the index helper process to start, as it may
  take longer than the previous 4 seconds to respond to messages.
  (Bera, Joe)
* Fix an unlikely race in the messaging server which would throw an
  exception if the daemon was shut down before it had finished
  starting.  (Joe)
* Remove the unused "cancelled" query response.  (Joe)

* Enable the Konqueror history backend by default.  (Bera)
* Use indexable hints in KonqQueryable to pass charset information to the 
  filter.  (Bera)
* Check for additional inotify events when indexing Gaim logs, so that
  they are indexed whenever a message is received and not only when the
  conversation is closed.  (Joe)
* Add progress percentages to the Evolution mail backend.  (Joe)

* Fix a bug which caused the daemon to hang when indexing certain 
  Powerpoint files.  (Veerapuram Varadhan)
* Entagged-sharp tree update.  (Daniel Drake)
* Id3v2.4 tag parsing.  (Raphael Slinckx)
* ASF/WMA file support.  (Christian Laireiter)
* Extract and index keyword fields from OpenOffice documents.  (Daniel
* Handle multipart/alternative correctly in the mail filter, only
  indexing the richest alternative we can support.  (Joe)
* Don't set the hasAttachment flag based on multipart/alternative parts.

* Lots of improvements to Bludgeon.  (Jon)
* Set the source in beagle-build-index, and allow it to be
  configurable.  Fixes a bug where snippets were not returned from
  static queryables that had text caches.  (Joe)
* Fix a cut-and-paste error beagle-crawl-system to correctly pass in
  deny patterns to --deny-pattern.  (Joe)

* Added Lithuanian translation.  (Žygimantas Beručka)
* Updated Japanese translation.  (Takeshi AIHANA)
* Updated Traditional Chinese translation.  (Chao-Hsiung Liao)
* Updated German translation.  (Hendrik Brandt)

Everything Else:
* Look for Firefox 1.5 headers in a few different places for best
  compatibility.  (Joe)
* Get the Evolution library directory from evolution-sharp, and pass
  it into the beagled script.  (Joe, Ryan Skadberg)


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

Extreme spikes in memory usage have been observed in some cases.  Certain
extremely large documents (particularly large HTML files) can temporarily
degrade your system's performance while they are being indexed.  In most
of these cases, the memory is reclaimed by the system relatively quickly after
the document is indexed.  There are other still-unexplained cases of excessive
memory use, particularly on SMP systems.

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 for this release because the HTML
filter it is based upon has changed, and it has not been updated.

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]