Fixed doc, ``query`` is context variable and not in request.
Silly little change, I know.. but I actually ran into a case where I accidentally passed a list of models in without *ing them. When that happens, we get a string formatting exception (not all arguments were formatted) instead of the useful "that ain't a model, kid" business.
Fixed a bug with index inheritance.
    
Fields would seem to not obey the MRO while method did. Thanks to ironfroggy for the report!
Fixed errant ``self.log``.

Thanks to terryh for the report!
Solr backend support for rich-content extraction

This allows indexes to use text extracted from binary files as well
as normal database content.

Note: requires a very recent pysolr - see https://github.com/acdha/pysolr/tree/rich-content-extraction
Added a long description for PyPI.
Bumped reqs in docs for content extraction bits.
Added a couple more uses.
Made ``SearchIndex`` classes thread-safe. Thanks to craigds for the report & original patch.
I hate Python packaging.
Added ``--start/--end`` flags to ``update_index`` to allow finer-grained control over date ranges. Thanks to CMGdigital for funding this development!
Added the ability to specify apps or individual models to ``update_index``. Thanks to CMGdigital for funding this development!
Added a basic DjDT panel for Haystack. Thanks to robhudson for planting the seed that Haystack should bundle this!
Updated ``setup.py`` for the new panel bits.
Fixed compatibility with Django pre-1.4 trunk.
* The MAX_SHOW_ALL_ALLOWED variable is no longer available, and hence causes an ImportError with Django versions higher 1.3.
* The "list_max_show_all" attribute on the ChangeList object is used instead.
* This patch maintains compatibility with Django 1.3 and lower by trying to import the MAX_SHOW_ALL_ALLOWED variable first.
Spruced up the layout on the new DjDT panel.
Reduced the number of queries Haystack has to perform in many cases (pagination/facet_counts/spelling_suggestions). Thanks to acdha for the improvements!
Added .values() / .values_list() methods, for fetching less data. Thanks to acdha for the original implementation!
Added geospatial search support!

I have anxiously waited to add this feature for almost 3 years now.
Support is finally present in more than one backend & I was
generously given some paid time to work on implementing this.

Thanks go out to:

  * CMGdigital, who paid for ~50% of the development of this feature
    & were awesomely supportive.
  * Jannis Leidel (jezdez), who did the original version of this
    patch & was an excellent sounding board.
  * Adam Fast, for patiently holding my hand through some of the
    geospatial confusions & for helping me verify GeoDjango
    functionality.
  * Justin Bronn, for the great work he originally did on
    GeoDjango, which served as a point of reference/inspiration
    on the API.

And thanks to all others who have submitted a variety of
patches/pull requests/interest throughout the years trying to get
this feature in place.
Added input types, which enables advanced querying support. Thanks to CMGdigital for funding the development!