Beagle 0.0.9

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

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

Beagle 0.0.9 is the first version to be internationalized.  We currently
have translations for German, Canadian and British English, Japanese,
Dutch, Brazilian Portuguese, Swedish, Norwegian and Chinese.

Please note that Beagle 0.0.9 uses inotify 0.21 when available.  Earlier
versions of inotify will only bring you grief and heartache.


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

There is lots of useful information about compiling and using Beagle on the

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:

Spread-spectrum wireless technology was invented by a Hollywood actress:

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.)
* D-BUS 0.23.4
* Evolution-sharp 0.6
* Gecko-sharp
* Gsf-sharp
* Gmime 2.1.13
* Libexif 0.5 or better

For the best possible Beagle experience, you should also have:
* An inotify 0.21-enabled kernel
* A piece of chocolate cake and a big glass of milk


* Basic support for internationalization (Fredrik Hedberg)
* Properly delete Indexable content when asked (Joe Shaw)
* If watching or ignoring a directory with inotify fails, throw
  the correct exception (Joe)
* Tweaked the types of characters permitted in the snippet code,
  so that certain symbols that were ignored before are allowed (Joe)
* Updated inotify glue to support the latest inotify code (Robert Love)
* Added --list-backends option to beagled (Daniel Drake)
* Merged Exif compatibility code from F-Spot to be compatible with
  mono 1.1.5 (Daniel)
* Do the right thing if Beagle is passed a directory in an environment
  variable that ends with / (Daniel)
* Noise filter fixes (Jon Trowbridge)

* Updated beagle-index-url to use FilteredIndexables (Joe)
* Have beagle-index-url delete content that it is unable to pass
  to the daemon (Joe)
* Fixed up the firefox extension to pass --title into beagle-index-url (Joe)
* Create temporary files in .beagle/firefox, not /tmp (Joe)
* Display snippets in web history tiles (Joe)
* Fixed a bug in the IMAP backend where mails would be indexed twice
  for two separate accounts if the URIs were similar (Joe)
* Do the right thing if we try to scan an unreadable directory (Joe)
* Added support for the IMAP4rev1 backend in Evolution 2.2 (Joe)
* Gracefully handle null queries that we get back from evolution-sharp
  when dealing with invalid email addresses (Joe)
* Display snippets in Blam hits (Joe)
* Ignore Gaim logs which don't follow the standard filename format (Daniel)
* Fixed bugs in the file system backend related to copying and moving
  files (Jon)
* In the file system backend, work around a mono bug by ignoring files
  whose name contain '\' (Varadhan, Jon)
* Work around a mono bug which causes dates in the stat structure to
  not reflect daylight savings time (Jon)

* Abiword filter fixes (Veerapuram Varadhan)
* MS Word filter optimizations and enhancements (Varadhan)
* Fixed the RTF filter to not extract unwanted strings like font names
* Handle '\n' in a sane way in the filte case class (Varadhan)
* Extract information from meta tags in the Html filter (Saravana)

* Catch exceptions when starting the daemon from Best (Joe)
* Add an "Open" action to the launcher tile (Chris Schneider, Joe)
* When opening a folder, run nautilus with the --no-desktop argument
  (Joshua Nichols, Joe)
* Display more information about OO.o 2.0 files in the document tile
* Handle URI escaping when dealing with GNOME Thumbnails (Daniel)
* Better commandline parsing for beagle-query (Daniel)
* Folder tile improvements (Fredrik)

Web Services:
* Build fixes (Jon, Vijay)
* Return a searchToken whenever we return results (Vijay)
* Added support for Firefox search bar (Vijay)
* Updated TokenGenerator to use System.Guid (Vijay)
* Removed hard-wired paths (Vijay, Jon)
* Code reorganization and rationalization (Vijay)
* Allow beagled to run in-place when web services are enabled (Jon)

Everything else:
* Web services build fixes (Jon, Vijay)
* New configure option: --disable-evolution-sharp (Daniel)
* Merciless bugzilla rampage (Joe)
* i18n tips (Christian Rose)
* German translation (Frank Arnold)
* Canadian English translation (Adam Weinberger)
* British English translation (Christopher Orr)
* Japanese translation (Takeshi Aihana)
* Dutch translation (Wouter Bolsterlee)
* Brazilian Portuguese translation (Raphael Higino)
* Swedish translation (Fredrik)
* Simplified Chinese translation (Funda Wang)
* Norwegian bokmal translation (Terance Edward Sola)
* All the stuff I forgot (All 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.

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]