1 Version 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 12 Version 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 19 Version 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 33 Version 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 41 Version 0.3.1 10.09.2010 42 43 * runs with Python 2.7 44 45 Version 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 51 Version 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 63 Version 0.2.0 - 03.05.2010 64 65 * TreeMixin Class as base for Python-Trees and as Mixin for Cython-Trees 66 67 Version 0.1.0 - 27.04.2010 68 69 * Alpha status 70 * Initial release 71