------------------------
bzr-search Release Notes
------------------------

.. contents::

IN DEVELOPMENT
--------------

  NOTES WHEN UPGRADING:
  
  CHANGES:

    * Hits were returning overly large summaries due to behaviour tweaks in 
      bzrlib. (Robert Collins, #461957)

    * Selftest compatibility with bzr 2.0.0 (Robert Collins, #461951, #461952)

    * 'StaticTuple' is no longer shown in search suggestion descriptions.
      (Robert Collins)

    * Requires bzr.dev with the log filtering patch for full functionality.
      users not using bzr 1.6b3 or later. (Robert Collins)

    * New index format '2' used by default, which uses BTree indices. This
      adds a dependency on bzrlib 1.7 for the BTree support code. To upgrade
      a search index, remove the .bzr/bzr-search folder and reindex.
      (Robert Collins)

  FEATURES:

    * ``bzr log -m`` will now use a search index for message searches that
      can be converted into a bzr search. While not yet optimised it is
      about three times faster than normal log with a message regex.
      Currently only ``\bword\b`` searches can be accelerated this way - 
      which is a word matching regex search. (Robert Collins)

    * Access to an index over a Bazaar smart server connection will now
      use HPSS custom commands, for better performance. (Jelmer Vernooij)

  IMPROVEMENTS:

    * Compatibility with python 2.6 (as long as bzrlib is also compatible.)
      (Matt Nordhoff, Robert Collins)

    * Compatibility with split-inventory repositories (requires a bzrlib that
      supports them). (Robert Collins)

    * Avoiding triggering loading of unused bzrlib xml serializers.
      (Jelmer Vernooij)

    * Will now index revision committers, authors and bugs.
      (#320236, Gary van der Merwe)

  BUGFIXES:

    * Bug 293906 caused by changes in bzrlib has been fixed. This bug caused
      suggestions to fail in some circumstances. (Robert Collins)

    * Does not break when bzr-svn is present and incompatible with bzr.
      (Gary van der Merwe)

    * Fix compatibility with newer versions of bzr which support searching
      on specific properties in `bzr log`. (Jelmer Vernooij, #844806)

    * When a 0 revision pack is added and the existing repo is empty, do not
      crash. This is probably a stacked branch situation but we don't actually
      know how to reproduce. (Martin Pool, #627202)

    * Works on bzr 2.2 (temporarily broken due to CombinedGraphIndex API
      changes) (Robert Collins).

  API BREAKS:

  TESTING:

  INTERNALS:


1.6
---

  NOTES WHEN UPGRADING:
  
  CHANGES:

    * Requires bzr 1.6b3. There is a new pre-1.6 branch of bzr-search for
      users not using bzr 1.6b3 or later. (Robert Collins)

  FEATURES:

    * New command ``index`` to create a search index for a branch. This
      indexes the revisions (commit message only) and file texts.
      (Robert Collins)

    * New command ``search`` to search a search index from within bzr.
      When given -s this will perform a suggestion search, looking for
      possible search terms starting with the current search.
      (Robert Collins)

  IMPROVEMENTS:

    * Giving ``-`` as the first letter of a search term will exclude hits for
      it from the search results. e.g. ``bzr search -- foo -bar``.
      (Robert Collins)

  BUGFIXES:

    * Handles file ids and paths containing any of '"&<> - characters that were
      xml escaped to place in the xml atttributes of serialised inventories.
      (Robert Collins)

  API BREAKS:

  TESTING:

  INTERNALS:

    * Added ``index.open_index_url`` and ``index.index_url`` convenience
      functions for obtaining an index and creating/updating an index.
      (Robert Collins)

    * Added ``index.init_index`` to create new indices. (Robert Collins)

    * Added ``Index.index_revisions`` to request indexing of revisions.
      (Robert Collins)

    * Added ``Index.indexed_revisions`` to report on indexed revisions.
      (Robert Collins)

    * Added ``Index.search`` to perform simple set based searches for terms.
      (Robert Collins)

    * New modules: ``commands``, ``errors``, ``index``. These contain the
      console ui, exceptions, and the search index core respectively.
      (Robert Collins)

    * New module ``inventory`` containing ``paths_from_ids``, a helper
      for efficient extraction of paths from inventory xml files without
      creating a full Inventory object. This is approximately 5 times
      faster than creating the full object. (Robert Collins)

    * New module ``transport`` containing ``FileView`` to map a packs contents
      as a transport object, allowing bzr indices to be stored in a pack.
      (Robert Collins)

    * New subclass of ``GraphIndex``, ``SuggestableGraphIndex`` used for
      generating search suggestions/recommendations. (Robert Collins)
