- Optimized searching models with UUID primary keys (@thiagoferreiraw).
- Optimized searching models with text primary keys (@syphar).
- Documentation fixes (@timgates42, @danihodovic).
- Django 4.0 compatibility.
- Fix handling for
RelatedField
pk types (@CristopherH95).
- Remove deleted objects when rebuilding index using
buildwatson
(@CristopherH95). - Added Add AppConfig with default_auto_field set (@CristopherH95).
- Migrated to GitHub actions from Travis CI (@Hopiu, @etianen, @amureki).
- Fixed a number of deprecation warnings in Django 3.0. (@henrikhorluck).
- Django 3.0 tests and compatibility (@biozz, @ephes).
- Removed Python 2.7 and 3.5 support (@biozz).
- Removed Django 1.8, 1.9 and 1.10 support (@biozz).
- Fixed
buildwatson
error whendjango.contrib.admin
not installed (@krukas). - Bugfixes (@moggers87, @krukas).
- Django 2.0 compatibility improvements (@zandeez, @etianen).
- Added
app_name
towatson.urls
to improve Django 2.0 compatibility (@ryokamiya).
- Added
--slim
option tobuildwatson
command. This only includes objects which satisfy the filter specified during model registration (Dustin Broderick). - Added
--batch-size
option tobuildwatson
command. This controls the batch size for bulk-inserting search entries (Dustin Broderick). - Added
--non-atomic
option tobuildwatson
command. This removes the transaction wrapper frombuildwatson
, which can prevent timeouts on huge datasets for some server setups.
- Fixed stringifying objects in Python 3 (@danielquinn).
- Fixed escaping of '<' and '>' characters in PostgreSQL backend.
- Fixed caching of default search backend.
- Allowing joins to UUID columns in
search()
(@etianen). - Django 1.11 compatibility (@alorence).
- Multiple database support (@sorokins).
- Minor tweaks and bugfixes (@unaizalakain, @moggers87).
- Fixed
SearchContextMiddleware
for Django 1.10.0 (@blodone).
- Added
WATSON_POSTGRES_SEACH_CONFIG
setting (@devxplorer). - Modernised codebase (@amureki).
- Improved escaping of queries on different backends (@amureki).
- Django 1.10 compatibility (@SimonGreenhill).
- Minor tweaks and bugfixes (@johnfraney).
- Fixing
filter()
to work with text-based primary keys in postgres (Jeppe Vesterbæk). - Improvements to query escaping (@amureki).
- Disabling prefetch-related optimization in built-in views to avoid buggy Django behavior (@etianen).
- Fixing AppNotReady errors when registering django-watson (@etianen).
- Minor tweaks and bugfixes (@SimonGreenhill, @etianen).
-
Breaking: Updated the location of search and registration methods. Prior to this change, you could access the these methjods using the following import:
# Old-style import for accessing the search and registration methods. import watson # Use register and search methods from the watson namespace. watson.register(YourModel) watson.search("foo")
In order to support Django 1.9, the search and registration methods have been moved to the following import:
# New-style import for accesssing the search and registration methods. from watson import search as watson # Use register and search methods from the watson namespace. watson.register(YourModel) watson.search("foo")
-
Breaking: Updated the location of admin classes.
Prior to this change, you could access the
SearchAdmin
class using the following import:# Old-style import for accessing the admin class. import watson # Access admin class from the watson namespace. class YourModelAdmin(watson.SearchAdmin): ...
In order to support Django 1.9, the admin class has been moved to the following import:
# New-style import for accesssing admin class. from watson.admin import SearchAdmin # Use the admin class directly. class YourModelAdmin(SearchAdmin): ...
-
Django 1.9 compatibility (@etianen).
- Customization meta serialization (@samuelcolvin).
- Minor bugfixes (@etianen, @Fitblip).
- Minor bugfixes.
- Included south_migrations in the source distribution.
- Added listwatson management command (@philippeowagner)
- Added _format_query() hook to MySQL search backend (@alexey-grom)
- Adding in Django 1.7 migrations.
- Ability to specify a search backend name for the filter() and search() methods (@amin-pylot)
- Bugfixes and tweaks (@thedrow, @dessibelle, @carltongibson, @philippeowagner)
- Fixing issue with indexing nullable ForeignKey fields.
- skip_index_update() context manager (@moggers87)
- Improved Travis CI integration (@thedrow)
- Minor bug fixes (@bdauvergne, @moggers87, @Gzing)
- Ability to search for terms with apostrophes.
- Ability to rebuild watson indices for specific models.
- More memory-efficient buildwatson command using data chunking.
- Python 3.3 compatibility (new and experimental!).
- Various minor bugfixes.
- Ability to use a custom search adapter class in SearchAdmin.
- Template tag helpers for search results.
- Ability to specify search configuration for PostgreSQL backend.
- Django 1.4 admin compatibility.
- Improved efficiency of large search index updates using update and bulk_create (when available).
- Added in SearchContextMiddleware.
- Removed potentially unreliable automatic wrapping of entire request in a search context.
- Improved escaping of PostgreSQL query characters.
- Support for prefix matching in search queries.
- Removing hacky searchentry_set generic relation being applied to registered models, which was causing spurious deletion warnings in the admin interface.
- First production release.