Release 1.4.1.post3
===================

This is a "house-keeping" commit. No new features or fixes are introduced.

* Update CI test rules to include amd64 and ppc (santosh653)


Release 1.4.1.post2
===================

This is a "house-keeping" commit. No new features or fixes are introduced.

* Update changelog.
* Removed the ``Pipfile`` which was introduced in ``1.4.1.post1``. The file
  caused false positives on security checks. Additionally, having a ``Pipfile``
  is mainly useful in applications, and not in libraries like this one.

Release 1.4.1.post1
===================

This is a "house-keeping" commit. No new features or fixes are introduced.

* Update changelog.
* Switch doc-building to use ``pipenv`` & update ``Pipfile`` accordingly.

Release 1.4.1
=============

* Fix clustering of dictionaries. See GitHub issue #28 (Tim Littlefair).

Release 1.4.0
=============

* Added a "display" method to hierarchical clusters (by 1kastner).

Release 1.3.2 & 1.3.3
=====================

* Fix regression introduced in 1.3.1 related to package version metadata.

Release 1.3.1
=============

* Don't break if the cluster is initiated with iterable elements (GitHub Issue
  #20).
* Fix package version metadata in setup.py

Release 1.3.0
=============

* Performance improvments for hierarchical clustering (at the cost of memory)
* Cluster instances are now iterable. It will iterate over each element,
  resulting in a flat list of items.
* New option to specify a progress callback to hierarchical clustring. This
  method will be called on each iteration for hierarchical clusters. It gets
  two numeric values as argument: The total count of elements, and the number
  of processed elements. It gives users a way to present to progress on screen.
* The library now also has a ``__version__`` member.


Release 1.2.2
=============

* Package metadata fixed.

Release 1.2.1
=============

* Fixed an issue in multiprocessing code.

Release 1.2.0
=============

* Multiprocessing (by loisaidasam)
* Python 3 support
* Split up one big file into smaller more logical sub-modules
* Fixed https://github.com/exhuma/python-cluster/issues/11
* Documentation update.
* Migrated to GitHub

Release 1.1.1b3
===============

* Fixed bug #1727558
* Some more unit-tests
* ValueError changed to ClusteringError where appropriate

Release 1.1.1b2
===============

* Fixed bug #1604859 (thanks to Willi Richert for reporting it)

Release 1.1.1b1
===============

* Applied SVN patch [1535137] (thanks ajaksu)

  * Topology output supported
  * ``data`` and ``raw_data`` are now properties.

Release 1.1.0b1
===============

* KMeans Clustering implemented for simple numeric tuples.

  Data in the form ``[(1,1), (2,1), (5,3), ...]`` can be clustered.

  Usage::

    >>> from cluster import KMeansClustering
    >>> cl = KMeansClustering([(1,1), (2,1), (5,3), ...])
    >>> clusters = cl.getclusters(2)

  The method ``getclusters`` takes the amount of clusters you would like to
  have as parameter.

  Only numeric values are supported in the tuples. The reason for this is
  that the "centroid" method which I use, essentially returns a tuple of
  floats. So you will lose any other kind of metadata. Once I figure out a
  way how to recode that method, other types should be possible.

Release 1.0.1b2
===============

* Optimized calculation of the hierarchical clustering by using the fact, that
  the generated matrix is symmetrical.

Release 1.0.1b1
===============

* Implemented complete-, average-, and uclus-linkage methods. You can select
  one by specifying it in the constructor, for example::

      cl = HierarchicalClustering(data, distfunc, linkage='uclus')

  or by setting it before starting the clustering process::

      cl = HierarchicalClustering(data, distfunc)
      cl.setLinkageMethod('uclus')
      cl.cluster()

* Clustering is not executed on object creation, but on the first call of
  ``getlevel``. You can force the creation of the clusters by calling the
  ``cluster`` method as shown above.

.. vim: filetype=rst :
