1Version 1.0.1 February 2013
2
3  * bug fixes
4  * refactorings by graingert
5  * skip useless tests for pypy
6  * new license: MIT License
7  * tested with CPython2.7, CPython3.2, CPython3.3, pypy-1.9, pypy-2.0-beta1
8  * unified line endings to LF
9  * PEP8 refactorings
10  * added floor_item/key, ceiling_item/key methods, thanks to Dai Mikurube
11
12Version 1.0.0 29.12.2011
13
14  * bug fixes
15  * status: 5 - Production/Stable
16  * removed useless TreeIterator() class and T.treeiter() method.
17  * patch from Max Motovilov to use Visual Studio 2008 for building C-extensions
18
19Version 0.4.0 14.04.2011
20
21  * API change!!!
22  * full Python 3 support, also for Cython implementations
23  * removed user defined compare() function - keys have to be comparable!
24  * removed T.has_key(), use 'key in T'
25  * keys(), items(), values() generating 'views'
26  * removed iterkeys(), itervalues(), iteritems() methods
27  * replaced index slicing by key slicing
28  * removed index() and item_at()
29  * repr() produces a correct representation
30  * installs on systems without cython (tested with pypy)
31  * new license: GNU Library or Lesser General Public License (LGPL)
32
33Version 0.3.2 09.04.2011
34
35  * added itemslice(startkey, endkey), keyslice(startkey, endkey),
36    valueslice(startkey, endkey) - slicing by keys
37  * tested with pypy 1.4.1, damn fast
38  * Pure Python trees are working with Python 3
39  * No Cython implementation for Python 3
40
41Version 0.3.1 10.09.2010
42
43  * runs with Python 2.7
44
45Version 0.3.0 11.05.2010
46
47  * low level functions written as c-module only interface to python is a cython
48    module
49  * support for the pickle protocol
50
51Version 0.2.1 06.05.2010
52
53  * added delslice del T[0:3] -> remove treenodes 0, 1, 2
54  * added discard -> remove key without KeyError if not found
55  * added heap methods: min, max, nlarges, nsmallest ...
56  * added Set methods -> intersection, differnce, union, ...
57  * added slicing: T[5:10] get items with position (not key!)  5, 6, 7, 8, 9
58          T[5] get item with key! 5
59  * added index: T.index(key) -> get position of item <key>
60  * added item_at: T.item_at(0) -> get item at position (not key!) 0
61          T.item_at(0) O(n)! <==> T.min_item() O(log(n))
62
63Version 0.2.0 - 03.05.2010
64
65  * TreeMixin Class as base for Python-Trees and as Mixin for Cython-Trees
66
67Version 0.1.0 - 27.04.2010
68
69  * Alpha status
70  * Initial release
71