All Versions
Latest Version
Avg Release Cycle
158 days
Latest Release
1524 days ago

Changelog History
Page 1

  • v3.9.0 Changes

    April 17, 2020
    • πŸ‘Œ Improved SolrCloud support
    • πŸ‘Œ Support for
    • ⬇️ Dropped support for Python 3.4
    • βž• Added JSON interface which can be significantly faster
  • v3.8.1 Changes

    December 13, 2018
    • extract() handles spaces and special characters in filenames
    • Python set() instances are handled automatically just like lists
    • ⚑️ Updates no longer commit by default
  • v3.8.0

    June 05, 2018
  • v3.7.0

    December 15, 2017
  • v3.6.0

    November 01, 2016
  • v3.5.0 Changes

    May 24, 2016

    πŸ†• New

    - πŸ”¦ Expose the full Solr response in `Results` [Chris Adams]
      This makes life easier for anyone using custom extensions by
      removing the need to create a `Results` subclass just to get
      access to an extra dictionary key.
    - More flexible control of request handlers. [nuarhu]
      This allows configuring the default search handler and overriding it for every query method
      Thanks to @nuarhu for the patch
    - Start maintaining a changelog from gitchangelog. [Chris Adams]
    - Overwrite flag for Solr.add (closes #182) [Chris Adams]
      Thanks to @robinsonkwame for the patch
    - πŸ‘€ SolrCloud support (see #138) [Chris Adams]
      This optionally adds support for SolrCloud using the Kazoo client
      Thanks to @upayavira
    • V3.5.0. [Chris Adams]

    • Merge pull request #192 from dhruvpathak/optimize_commit_flag. [Chris Adams]

    chg: optimize() also accepts commit flag

    • ⚑️ Included commit flag in optimize() to let optimize call run with or without commit. [dhruv.pathak]

    • πŸ”€ Merge pull request #188 from TigorC/master. [Chris Adams]

    Removed py26 from tox.ini

    • βœ‚ Removed py26 from tox.ini. [Igor Tokarev]

    • πŸ‘· Tests: avoid timeout-based CI failures. [Chris Adams]

    These caused sporadic CI build failures and weren’t otherwise testing actual functionality since we don’t have a test which does something like SIGSTOP the test Solr server long enough to confirm a timeout.

    We’ll confirm that the timeout is passed through but otherwise use the defaults.

    • ⚑️ Update Travis CI badge in the README. [Chris Adams]

    • πŸ”€ Merge pull request #184 from atuljangra/master. [Chris Adams]

    Correct documentation for _update

    Thanks to @atuljangra for the patch!

    • πŸ”€ Merge branch 'master' of [atuljangra]

    • Misleading comments. [atuljangra]

    • πŸ— Travis: use build matrix for regular and SolrCloud tests. [Chris Adams]

    • 🚚 Test_cloud: remove dead code. [Chris Adams]

    The first instance of test_custom_results_class was broken because it used the wrong port but this wasn’t failing because the same method name was redefined further down in the file and that used the updated port config.

    • PEP-8. [Chris Adams]

    • 🌲 ZooKeeper: log unexpected format changes to watched aliases. [Chris Adams]

    • βͺ ZooKeeper: restore JSON blob decoding. [Chris Adams]

    • PEP-8. [Chris Adams]

    • PEP-8 unused imports. [Chris Adams]

    • PEP-8. [Chris Adams]

    • PEP-8. [Chris Adams]

    • PEP-8. [Chris Adams]

    • Setup.cfg: add pep8 and isort config. [Chris Adams]

    • Tear down requests.Session instance at close. [Chris Adams]

    This avoids log-spew on modern unittest implementations which report unclosed file handles at the end of a run.

    • βœ‚ Remove Python 2.6 from Travis test matrix. [Chris Adams]

    • Add future absolute_import. [Chris Adams]

    This is currently moot but avoids any chance of regression between Python 2.x and 3.x.

    • PEP-8. [Chris Adams]

    • ⬇️ Drop support for Python 2.6. [Chris Adams]

    We have some old import dances and other overhead for Python 2.6 support, which the CPython developers dropped support for in 2013:

    • πŸ‘ Allow queries to be directed to different search handlers. [Chris Adams]

    The search method now allows you override the default select handler when your Solr instance has multiple search handlers.

    Thanks to @k-patel for the patch.

    Closes #174 Closes #175

  • v3.4.0 Changes

    February 02, 2016
    • ⚑️ Update version numbers for v3.4.0. [Chris Adams]

    • 🌲 Logging: better message for HTTP status != 200. [Chris Adams]

    We already extract error message from Solr responses and that is great. Unfortunately it can contain the data that may change with every request (like document id).

    This creates an issue when user uses Sentry or other solution that captures logging or exceptions. Previous implementation causes many duplicated events in Sentry if message extracted using self._extract_error(resp) contained such variable data.

    This change uses 'non-mutable' message that is complemented with extracted data that using string formatting option supplied by Python logging. Thanks to this, Sentry and other solutions can perform better grouping of loging messages (by status code).

    This is approach that is already used in handling other errors.

    • πŸ›  Fix response error handling on Python 3 (closes #162) [Chris Adams]

    Previously the error handling did not work correctly on Python 3 because a byte-string response wasn't decoded before processing.

    Thanks to Emmanuel Leblond (@touilleMan) for the patch.

    • πŸ”€ Merge pull request #167 from swistakm/master. [Chris Adams]

    Refactor common response processing to Results class

    • 🚚 Move response manipulation responsibility to Results class and allow custom results classes. [mjaworski]

    • βž• Add Python 3.5 to automated test matrix. [Chris Adams]

  • v3.3.3 Changes

    October 24, 2015
    • V3.3.3. [Chris Adams]

    • πŸ›  Fix response error handling on Python 3 (closes #162) [Chris Adams]

    Previously the error handling did not work correctly on Python 3 because a byte-string response wasn't decoded before processing.

    Thanks to Emmanuel Leblond (@touilleMan) for the patch.

    • ⬆️ Tests: upgrade Solr to 4.10.4. [Chris Adams]

      • Resync test Solar script with django-haystack These are still not quite the same; at some point it would be nice to look into a common tool which both projects could use
      • Update Solr configuration script to set correct libpath for solr-cell to avoid lazy-load failures during testing as was reported on e.g. #162
    • ⚑️ Tests: update Solr download script for recent API change. [Chris Adams]

    • πŸ”€ Merge pull request #142 from yspanchal/master. [Chris Adams]

    Add support for cursormark pagination

    • βž• Added cursormark deep pagination support. [Yogesh Panchal]
  • v3.3.2 Changes

    May 26, 2015
    • πŸ”– Version 3.3.2. [Chris Adams]

    • Python 2.6 backwards compatibility. [Chris Adams]

    Python 2.6 shipped with ElementTree 1.2.x. Among other differences, it lacks support for the attribute selectors used to process valid XML error messages, which was added in ElementTree 1.3.

    • πŸ”€ Merge pull request #155 from domenkozar/solr4/exceptions. [Chris Adams]

    Support Solr 4 XML error format parsing

    Thanks @domenkozar for the patch

    • Overhaul Travis config. [Chris Adams]

      • Sidestep use of Tox in favor of Travis-managed Python versions
      • Enable container-based builds
      • Enable caching for Solr server downloads
    • βœ… Use builtin unittest2 runner on Python 2.7 as well. [Chris Adams]

    • Simple error extraction. [Chris Adams]

    Previously pysolr depended on lxml and cssselect to extract text from Tomcat’s error messages, which was unreliable.

    This change uses regular expressions to deal with invalid XML rather than lxml’s salvaging parser and avoids having to maintain the code which attempted to find the main error message in tag soup

    Closes #149

    • ⚑️ Update test Solr download script to work with default Python 3. [Chris Adams]
  • v3.3.1 Changes

    May 12, 2015
    • πŸ”– Version 3.3.1. [Chris Adams]

    • πŸš€ Prepare for 3.3.1 release. [Chris Adams]

    • Convert all HTTP client errors to SolrError. [Chris Adams]

    This commit ensures that an outside caller can handle all HTTP-related errors by catching SolrError without knowing whether the exception class is owned by requests, urllib3, or httplib.

    • Merge pull request #146 from gryphius/fix_doc_typo. [Chris Adams]

    Fix typo in ExtractingRequestHandler documentation

    Thanks @gryphius

    • Doc fix: a very simply model -> a very simple model. [Oli]

    • ⚑️ Merge pull request #139 from upayavira/feature/no-optimize. [Daniel Lindsley]

    Optimize is no longer recommended

    • ⚑️ Optimize is no longer recommended. [Upayavira]

    Since Solr 3.6, Solr has used the TieredMergePolicy which makes, in most scenarios, optimization a harmful rather than beneficial step.