[Mono-announce-list] ANNOUNCE: Beagle 0.2.13

Joe Shaw joeshaw at novell.com
Mon Nov 20 15:36:25 EST 2006


Hi,

I'm happy to announce the release of Beagle 0.2.13.  This is a bug
fix release.  0.2.12 did not correctly filter Word, PowerPoint, or
CHM files due to an uncaught bug, and in some cases not all search
results were being displayed.  Everyone is recommended to update
to 0.2.13.


OUR MANY URLS
-------------

To download the 0.2.13 tarball or learn more, visit the Beagle wiki at:
http://www.beagle-project.org

The latest gossip is available at:
http://www.planetbeagle.org

Nat Friedman made some cool movies that demonstrate Beagle in action:
http://nat.org/demos

We still talk about Beagle on the dashboard-hackers mailing list:
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

You could call this a "brown paper bag" release:
http://catb.org/jargon/html/B/brown-paper-bag-bug.html


WHAT IS BEAGLE?
---------------
 
Beagle is a desktop-independent service for indexing and searching
your data.

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,
audio and video formats.  Beagle can extract information from your
file system; Evolution, Thunderbird, and KMail emails; Evolution,
Thunderbird, and KAddressbook addressbooks; Evolution calendars; Gaim
and Kopete instant messenger conversations; feeds from several RSS
aggregators; Tomboy, KNotes, and Labyrinth notes; Konqueror browsing
history; system documentation; and more.  Beagle also indexes tags on
your photos from F-Spot and Digikam.

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
Cutting.

Beagle includes an optional GNOME-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.


DEPENDENCY HECK
---------------

Beagle requires:
* Mono 1.1.13.5 or better, along with the full Mono stack
* glib-sharp 2.4.0 or better (for the daemon and tools)
* gtk-sharp 2.4.0 or better (for the UI and some backends)
* GMime 2.2.0
* Libexif 0.5.7 or better
* shared-mime-info

For the best possible Beagle experience, you should also have:
* Mono 1.1.16 or better, note that Mono 1.2 has a bug with extended
  attributes.  For now we recommend against using Mono 1.2.0.
* Evolution-sharp 0.11.1 for Evoltuion Data Server 1.6.x or older, or
  0.12.0 for Evolution Data Server 1.8.x.
* libgsf 1.14.1 and gsf-sharp 0.8.1 from
  http://primates.ximian.com/~joe/gsf-sharp-0.8.1.tar.gz
* Galago 0.5.x
* Either wv 1.2.0, or a *patched* wv 1.0.3 --- the patch is available from
  http://users.avafan.com/~fredrik/beagle/wv-libole2-readonly.patch
* An inotify-enabled kernel.  Inotify is in the mainline Linux
  kernel as of 2.6.13.

And other optional dependencies:
http://beagle-project.org/Optional_Prerequisites


CHANGES SINCE 0.2.12
--------------------

Daemon/Infrastructure:
* Nice +15 the helper process on startup, since filtering certain
  files can take a while and we don't want to affect other apps.  (Joe
  Shaw)
* Change the IO priority code to automatically fallback from trying to
  set idle priority to lowering the best effort level.  (Joe)
* Fix a bug in which the short circuiting code would cause not all
  results to be found.  (Debajyoti Bera)
* Fix a bug in remote filesystem index synchronization when home is on
  a remote filesystem but BEAGLE_STORAGE is set to something local.
  (Joe)
* Add means to get the total number of Lucene matches that are found.
* Fix broken UTC/local time mismatches in C clients.  (Bera)
* Join threads together when shutting down so that all the outstanding
  work is processed before the final cleanup and exit.  (Joe)
* Further improve output logging in the daemon and index helper.
  (Joe)

Backends:
* Add "email" keyword mapping to KAddressbook backend.  (Bera)
* Fix a bug in which the extension keyword mapping wasn't working with
  the static backends.  (Bera)
* Fix a bug in which directories weren't being returned in results
  from static backends.  (Bera)
* Reduce memory usage slightly in Thunderbird backend by avoiding
  string allocations.  (Kevin Kubasik)
* Handle null indexables in the indexing service backend.  (Joe)
* Fix a file descriptor leak in the Konqueror history backend.  (Joe)
* Fix a file descriptor leak in the KNotes backend.  (Bera)

Filters:
* Fix conditional defines, to fix Word, PowerPoint, and CHM filters.
  (Joe)
* Index cell phone numbers in KAddressbook filter.  (Bera)
* Fix Digikam tag parsing to add all tags, not just the first one.
  (Bera)

UI:
* Make the automatic search after a timeout in the text entry
  optional.  (Lukas Lipka)
* Fix various i18n issues in the code.  (Gabor Kelemen)

Tools:
* Use the watch command for beagle-status instead of our own loop in
  the shell script.  (José Carlos García Sogo, Joe)
* Don't quote the query string in beagle-query, it breaks advanced
  query syntax.  (Bera)

Translations:
* Added Arabic translation.  (Djihed Afifi)
* Updated German translation.  (Hendrik Richter)
* Updated Hungarian translation.  (Gabor)
* Updated Norwegian bokmål translation.  (Kjartan Maraas)
* Updated Spanish translation.  (Francisco Javier F. Serrador)
* Updated Swedish translation.  (Daniel Nylander)

Everything else:
* Fix many warnings brought on by more strict Mono compilers.  (Lukas)
* Fix compilation issue when Thunderbird support is disabled.  (Priit
  Laes)
* Add support for new heap-shot profiler to the scripts.  (Joe)
* Work around gettext's check for functions named GetString() in the
  Contact viewer and Thunderbird backend so that strings that aren't
  for translation aren't marked as such.  (Joe)


KNOWN ISSUES
------------

Memory usage is in decline, but we still use more than we'd like.
We continue to work on this.

In particular, the Thunderbird backend can take very large amounts of
memory if you have large mailboxes.  This issue is being addressed.

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

There are some race conditions that can occur with certain combinations of
file system operations.  In very rare cases it might be necessary to stop
and restart the daemon.

Certain files can crash the underlying libraries Beagle uses to
extract metadata.  This has been observed in MS Word and JPG files.
If you encounter such a crash, please report it to the upstream
developer of those libraries (wv1 and libexif for the above, respectively).

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.




More information about the Mono-announce-list mailing list