2013-03-05 Maciej Piechotka Release 0.9.92 2013-03-04 Maciej Piechotka Fix memory leak in TreeSet and TreeMap 2013-02-17 Maciej Piechotka Release 0.9.91 Fix the valadoc documentation Add missing gee/readonlymultimap.vala 2013-02-16 Maciej Piechotka Add read_only_view to Gee.MultiMap, fixes bug #687158 Add read_only_view to Gee.MultiSet Allow creation of ArrayList from array Add add/contains/remove_all working on array, partial fix of bug #685175 Full fix which would allow overloading methods by subclasses requires fixing bug #693455. 2013-02-07 Maciej Piechotka Add generic type arguments to HashMultiMap, TreeMultiSet constructor 2012-12-26 Maciej Piechotka Fix compilation error, fixes bug #690723 2012-12-25 Maciej Piechotka Make ConcurrentSet implement SortedSet 2012-12-03 Maciej Piechotka Release 0.9.0 Add missing fixes for ConcurrentSet from feature local branch 2012-12-02 Maciej Piechotka Fix warnings and bump requirements to GLib 2.32 Remove unused lookup of function from AbstractMultiMap Small improvements to PriorityQueue Fix starting of HazardPointer policy Fix missing http:// in link to paper Initial implementation of ConcurrentSet Small improvement to ConcurrentList.Iterator Various small fixes to ConcurrentList Fix releasing NULL pointers during atomic exchange Making PriorityQueue.NodePair a compact class 2012-11-25 Maciej Piechotka Refactor testing - do more with less Tests had a lot of repetitive code. It was factored out and this allowed to test much more cases per run. Fix Gee.List.Iterator.next PriorityQueue: fix segfault discovered during stress-testing If node P is removed then set P to R, as described in paper, instead of NULL. 2012-11-11 Jasper Lievisse Adriaanse Use a portable sed(1) construct to retrieve $libgee_dlname, fixes bug #688106 2012-11-04 Evan Nemerson Add generic type arguments to HashSet constructor delegate parameters. 2012-11-04 Maciej Piechotka Add .mailmap file 2012-10-20 Daniel Espinosa Fixed commit 9e2e24f4. GObject Introspection support improved. * Added shared library for g-ir-compiler. * See bug #67987, Bug #658002 and Bug #585116 2012-10-14 Maciej Piechotka Release 0.8.1 2012-10-06 Maciej Piechotka Use the highier-level functions in the default methods of Collection Fix Iterator.remove in PriorityQueue 2012-09-30 Maciej Piechotka Remove use of explicit iterators Specialize foreach functions for ArrayList and LinkedList 2012-09-27 Maciej Piechotka Pass slice in ReadOnlyList, fixes bug 684915 2012-09-24 Maciej Piechotka Release 0.8.0 Update README Move everything to GenericAccessors Add tests for Traversable methods implemented by Collections 2012-09-21 Maciej Piechotka Remove unnecessary stream override in AbstractCollection Fix Traversable.chop method, fixes bug #684348 2012-08-28 Maciej Piechotka Release 0.7.90 Allow early termination of iteration Use views instead of copies inside MultiMap and don't cache Set.empty 2012-08-27 Maciej Piechotka Remove outdated method from AbstractSortedMap 2012-08-27 Philip Withnall Don’t notify on changes to hash/equal functions 2012-08-26 Maciej Piechotka Update copyright and whitespaces 2012-08-23 Maciej Piechotka Release 0.7.4.1 2012-08-23 Alban Browaeys tests: implement read_only in testmap Entry 2012-08-21 Maciej Piechotka Release 0.7.4 Bump vala requirements Fix warnings about lack of new keyword 2012-08-20 Maciej Piechotka Add read_only to Map.Entry Move *_type to interfaces and remove the ones from classes Move key_type/value_type implementation to multimap interface Add map_iterator to MultiMap, partial fix for bug #675067 Add reserved methods to allow future-proof ABI 2012-08-19 Maciej Piechotka Move stream_impl to Traversable Move virtual methods to List interface Move virtual methods to Map interface Move virtual methods to Queue interface Move virtual methods to Collection interface 2012-08-09 Maciej Piechotka Add GenericAccessors attributes to interfaces and remove _impl methods. 2012-08-06 Maciej Piechotka Release 0.7.3 Disable introspection during distcheck Fixes to ConcurrentList - Fix using of freed memory in hazard pointers - Remove memory leak on freeing node in debug build - Set release policy to main loop by default - Re-enable the ConcurrentList tests 2012-08-06 Evan Nemerson Use generics for HashDataFunc and EqualDataFunc, fixes bug 680491 Add missing CompareDataFunc type arguments, fixes bug 624005 2012-07-30 Maciej Piechotka Temporary disable broken test. 2012-03-28 Maciej Piechotka Small typo in file header Split SortedMap/SortedSet into bi-directional and uni-directional parts 2012-03-06 Maciej Piechotka Don't resize after deletion from hashtable in iterator, fixes #671327 Depending on sizes of array and hash function resize might alter the iteration order. It meant that some elements might not be visited and some might be visited twice. 2012-02-19 Maciej Piechotka Refactor benchmarks Convert the documentations to valadoc new Note syntax 2012-01-23 Florian Brosch Fix valadoc documentation 2012-01-22 Maciej Piechotka Release 0.7.2 Remove --shared-library from .typelib, see bug #667529 for details Remove unneeded duplication of NULL definition 2012-01-20 Maciej Piechotka Fix problem of partially releasing hp context Fix compilation with vala master Extend Gee.Deque tests Add ArrayQueue Add default implementation of AbstractQueue.drain Fix warnings 2012-01-11 Daniel Espinosa Fixed documentation typo in gee/traversable.vala 2011-12-19 Maciej Piechotka Add *_type property for all collections, fixes bug #663337 Fix compilation of priorityqueue.vala on vala from git Add gir_namespace and gir_version attributes, fixes bug #666208 Currently they are specified in assemblyinfo.vala which needs to be first file passed to vala. See bug # 666478 for details. 2011-10-08 Diego Escalante Urrelo PriorityQueue: build fix for wrong variable name Bug #661153 2011-09-29 Hisao Suzuki PriorityQueue: Fix underflow while updating degree, fixes bug #647162 2011-09-29 Maciej Piechotka Require more realistic version of Vala 2011-09-25 Maciej Piechotka Post-release version bump Release 0.7.1 Implement ConcurrentList - After porting to volatile the freeing of data does not work Split List interface into List and BidirList Add Gee.HazardPointer Remove compilation warnings from tests 2011-09-23 Maciej Piechotka Use VALAFLAGS during building tests 2011-09-20 Maciej Piechotka Move to new syntax of out parameters Add check-news to AM_INIT_AUTOMAKE 2011-09-14 Maciej Piechotka Revert "hazardpointer - work in progress" This reverts commit f39a9175b63f9f6f58a019621e9d8c41c801ff73. hazardpointer - work in progress 2011-08-19 Maciej Piechotka Post-release version bump Release 0.7.0 2011-08-17 Maciej Piechotka Fix standard functions for nullable types Add Traversable.chop function Fix default Traversable.stream implementation for Iterator The implementation assumed in unfolding function that the stream some value - however it might not be the case. Add filter tests 2011-08-15 Maciej Piechotka Allow to install libgee 0.6 and 0.8 in parallel 2011-08-09 Maciej Piechotka Fix ordering of prerequests Update documentation 2011-08-01 Maciej Piechotka Add Traversable.filter method Fix Traversable.stream in ReadOnlyCollection 2011-07-25 Maciej Piechotka Preserve laziness in Stream 2011-07-23 Maciej Piechotka Add Gee.Traversable requirement to Gee.Iterable 2011-07-22 Maciej Piechotka Export the function part of interface into Traversable 2011-06-25 Maciej Piechotka Add Iterator.scan method Add Iterator.map method Add Iterator.stream method based on stream fusion Add Iterator.concat function Add Iterator.unfold function Add Gee.Lazy class (call-by-need) 2011-05-02 Maciej Piechotka Add read_only_view to SortedMap Add read_only_view to SortedSet Add SortedMap interface Fix wrong copyright information Preparation for new Map.set method 2011-04-30 Maciej Piechotka Fix memory leak in default implementation of foreach and fold 2011-04-29 Maciej Piechotka Change Gee.TreeSet.Range to class It fixes problem that may occured when key used as boundary is freed 2011-04-26 Maciej Piechotka Change default implementation of fold 2011-04-20 Maciej Piechotka Add custom foreach function 2011-04-08 Maciej Piechotka Fix adding second element to priority queue, fixes bug #647162 2011-02-16 Maciej Piechotka Read fix bold text valadoc markup 2011-02-12 Maciej Piechotka Fix monospace text valadoc markup (replace ` by ``) Fix bold text valadoc markup (replace ++ by ") 2011-01-28 Jürg Billeter Fix memory leak in LinkedList.clear Based on patch by Travis Reitter, fixes bug 639254. 2011-01-04 Maciej Piechotka Add read_only method to Collection, Map and MultiMap Add highier-order functions to MapIterator Update copyright notices Add read_only property to Iterator and MapIterator 2010-12-27 Maciej Piechotka Remove depending on order of iteration in read-only collections' test 2010-11-20 Maciej Piechotka Fix memory leak on freeing LinkedList If fixes issue described in bug #635224 2010-11-07 Maciej Piechotka Add Gee.Iterator.foreach method Fix several spelling mistakes and leftover debug code 2010-10-17 Maciej Piechotka Rename Iterator.at_element to Iterator.valid Add Iterator.fold aggregative function Add Iterator.at_element property to check when other calls are legal Move first from Iterator to BidirIterator and remove from MapIterator 2010-09-18 Maciej Piechotka Change return_if_fail into assert in remove_at of LinkedList. It fixes build issue described in bug #629933 and make the behavior compatible with ArrayList. 2010-08-31 Maciej Piechotka Version bump to avoid confusion 2010-08-26 Maciej Piechotka Fix memory leak in TimSort This patch converts using of pointers into proper use of weak and normal references and adds the destructor to Gee.TimSort.Slice. 2010-08-24 Maciej Piechotka Correct naming of variables Add Gee.Hashable interface 2010-08-21 Maciej Piechotka Small typo in tests (it might cuased some false passes but it didn't) Remove ComparableTests as they have been integrated in functions tests Reintroduce tests Assure get_equal_func_for behavies correctly for Comparable 2010-08-17 Alban Browaeys gee: move the delegates into the Gee namespace. Fix for the gir generation breakage where callbacks where out of the namespace. 2010-08-17 Maciej Piechotka Move to non-static delegates 2010-08-03 Maciej Piechotka Fix memory leak in Gee.LinkedList Fix typos in TreeMap and TreeSet fix and other embarrasing mistakes Fix the unfreeing on clear in TreeMap/TreeSet 2010-08-02 Maciej Piechotka Use automake 1.11 vala support + cleaning of the Makefile.am: - Checks the vala version - All flags are 'local' (i.e. taget_name_(VALA|C|LD)FLAGS) - Target variables are next to each other - All lists are one-item-per-line with $(NULL) at the end - No newline at the end of file 2010-08-02 Didier 'Ptitjes Post-release version bump Release 0.5.2 Implement typed variants for Collection.to_array Fixes bug 597737. Make [Deprecated] all Map methods previously marked as such in documentation Fix doc comment and make sort_with_data deprecated in documentation 2010-08-01 Maciej Piechotka Increase stamp on Map.set in Gee.TreeMap 2010-07-30 Zeeshan Ali (Khattak) Add ArrayList.sort_with_data Add a variant of List.sort that takes CompareDataFunc rather than CompareFunc so compare func could be a method or closure. We are adding this to ArrayList rather than List to not break the API/ABI. In 0.7.x, this method will be removed as List.sort will then do exactly the same. 2010-07-27 Maciej Piechotka Fix lack of unsetting _first and _last in TreeSet on Set.clear() 2010-07-15 Maciej Piechotka Clean configure.ac Various small fixes for build system. Fixes bug 624389 * Add rules for Gee-1.0.gir and gee-internals-1.0.vapi * Clean all vala-generated files in maintainer mode * Clean typelib 2010-07-13 Colin Walters [autogen.sh] Support parameters to configure 2010-07-12 Maciej Piechotka [autogen.sh] Don't run configure twice 2010-07-12 Rob Taylor Build typelib for gobject-introspection 2010-07-11 Maciej Piechotka Change build system Fixes bug 617356 Add myself to libgee.doap 2010-06-29 Colin Walters [autogen.sh] Support NOCONFIGURE, like gnome-common 2010-06-15 Jürg Billeter Post-release version bump Release 0.5.1 2010-04-02 Yaakov Selkowitz Fix shared library build on Windows Fixes bug 601629. 2010-04-02 Maciej Piechotka Fix count equal in *MultiSet Fixes bug 596869. Fix remove in MapIterator Fixes bug 596851. Tests are not terminated when they fail in trap When code in trap succeeds subprocess should be terminated - not only test case. Fixes bug 596703. Fixes checking for emptiness of subsets when master set is empty Fixes bug 596671. 2010-04-02 Florian Brosch Fix documentation comments 2010-03-21 Jürg Billeter Fix build with vala master 2009-10-24 Didier 'Ptitjes Post-release version bump TimSort: Fix sort of reference counted items 2009-09-28 Didier 'Ptitjes Release 0.5.0 Update library's interface to 2:0:0 Fix the documentation of all implementations' constructor Fixes bug 592817. Update .gitignore Some more documentation enhancements Make some style consistence enhancements 2009-09-28 Maciej Piechotka Replace old-style asserts in tests Add tests for Map.entries 2009-09-28 Didier 'Ptitjes Implement TreeMultiMap Enhance multimap's tests Extract AbstractMultiMap from HashMultiMap Various documentation enhancements Fix {@inheritDoc} tags Fix filenames in file headers 2009-09-28 Maciej Piechotka Introduce the SortedSet interface and implement it in TreeSet Add missing DEBUG section 2009-09-27 Didier 'Ptitjes Make the coverage analysis on Vala code insteead of C code 2009-09-26 Didier 'Ptitjes Fix TestCase against Vala master Fix PriorityQueue implementation The implementation was broken. The unused code, because we do not provide a queue merge operation, was put inside #if false directives and left in case we want to support that in the future. The debug code was enhanced too. 2009-09-26 Maciej Piechotka Fix move_red_right and move_red_left in the Tree implementations Fixes bug 595703. Also: - For simplification move to 2-3 LLRB tree. - Add CONSTSTENCY_CHECK and DEBUG options Add more add and remove tests 2009-09-25 Didier 'Ptitjes Fix a bug in PriorityQueue's iterator Fix warnings due to comparison to strcmp Use silent rules for users of automake 1.11 Fix some missing pointer casts 2009-09-24 Didier 'Ptitjes Fix item count decrementation on removal in AbstractMultiSet Introduce Map.key_type and Map.value_type Introduce immutable empty collection, list, set and map 2009-09-23 Didier 'Ptitjes Make Map be an Iterable> Implement TreeMultiSet Fixes bug 594940. Extract AbstractMultiSet from HashMultiSet Introduce MapIterator and implement it in HashMap and TreeMap 2009-09-23 Maciej Piechotka Fix the iterators of the TreeMap and TreeSet implementations 2009-09-21 Didier 'Ptitjes Enhance the tests for the ReadOnly* implementations 2009-09-20 Didier 'Ptitjes Reuse the keys, values and entries view instances where possible We use the same mechanism as for the read-only views. Introduce the Map.Entry class and the Map.entries property We also use Map.entries to optimize the implementations of set_all, has_all and HashMultiMap by avoiding the common pattern: iterate on keys and for each key get the associated value. Introduce the Map.has (K key, V value) method Also we use Map.has to fix the implementation of has_all. Modify the Map interface API We do apply the following renaming: - remove to unset - contains to has_key - remove_all to unset_all - contains_all to has_all Old methods are documented as deprecated. Also get_keys() and get_values() are transformed into properties. 2009-09-20 Maciej Piechotka Fix fix_up method in the TreeSet and TreeMap implementations Fixes bug 595703. 2009-09-20 Didier 'Ptitjes Add a dependency to gee's vapi in tests' Makefile Introduce the Comparable interface and provide a CompareFunc for it 2009-09-19 Didier 'Ptitjes Remove unusefull private setter only and construct only properties Fix first() and last() signatures in AbstractList 2009-09-16 Didier 'Ptitjes Refactor the Set implementations' tests Fixes bug 594241. Fix some bugs in TreeSet implementation Fixes part of bug 594868. The access to child nodes two level deeper does not check that the child at the intermediate level is not null. Also has_next was incorrectly handled in case of an empty set. Remove construct block in HashSet Removing construct block enables the use of Vala's constructor chain up. Make Functions class a namespace and fix copyright and authorship 2009-09-15 Didier 'Ptitjes Introduce the ListIterator interface and make lists implement it 2009-09-15 Maciej Piechotka Introduce the BidirIterator interface 2009-09-15 Didier 'Ptitjes Introduce remove method to the Iterator interface Add has_next and first methods to the Iterator interface 2009-09-15 Maciej Piechotka Fix and improve the TreeMap and TreeSet implementations 2009-09-14 Didier 'Ptitjes Fix read-only view unique instance test Fix benchmark's build with vala master 2009-09-14 Jürg Billeter Fix build with vala master 2009-09-14 Didier 'Ptitjes Add some tests for List.slice Fix List.get API contract and fix implementations accordingly Add tests for GObject properties Introduce PriorityQueue implementation of the Queue interface Use non-nullable capacities and a constant to specify unbounded Make Slice a private inner class of TimSort Inline methods are now inlined correctly by gcc. 2009-09-11 Julien Peeters Refactor the Map implementations' tests Fixes part of bug 594241. Fix a bug in TreeMap implementation Fixes part of bug 594868. The access to child nodes two level deeper does not check that the child at the intermediate level is not null. Change the Iterator.get method signature and fix implementations Fixes part of bug 594868. Change the return type of the Iterator.get method from G? to G and apply those changes to implementations: ArrayList, HashMap, HashMultiSet, HashSet, LinkedList, TreeMap, TreeSet. Improve the access to first and last elements in LinkedList Fixes part of bug 594868. The signature of first and last properties in List did not take in account the fact that lists permit null elements. Their type has been changed from G? to G to reflect this. Also we optimized the access to first and last elements in LinkedList, which can be made through head and tail pointers directly. Improve the read-only view property by using weak pointers Fixes bug 594758. By using weak pointers the read-only view is destroyed when there is no references to it anymore. 2009-09-11 Didier 'Ptitjes Introduce Queue and Deque interfaces, and implement them in LinkedList Make List.remove_at return the removed element DÃefinitiely remove trailing whitespaces 2009-09-10 Didier 'Ptitjes Make TimSort a GObject Setup test code coverage with lcov Code coverage analysis is enabled with --enable-coverage. Add missing --library in addition to --vapi in gee/Makefile The --gir option is not activated is --library is missing. 2009-09-09 Julien Peeters Hide read-only views and make them accessible through a property Fixes bug 594578. A new read_only_view property is introduced in the Collection, List, Set and Map interfaces. The AbstractSet class is introduced to put the common code for the read_only_view property. 2009-09-09 Didier 'Ptitjes Introduce benchmarks Introduce TimSort and the public sorting API 2009-09-07 Maciej Piechotka Remove possibility of passing null to constructors of ReadOnly* classes Fixes bug 590305. 2009-09-07 Tomaž Vajngerl Change ReadOnlySet to inherit from ReadOnlyCollection. Fixes part of bug 590677. Change ReadOnlyList to inherit from ReadOnlyCollection. Fixes part of bug 590677. 2009-09-07 Didier 'Ptitjes Fix ReadOnlyCollection and ReadOnlyMap encapsulation failure 2009-09-07 Tomaž Vajngerl Add tests for ReadOnlyCollection and ReadOnlyList Fixes part of bug 590677. Contains missing tests for ReadOnlyCollection and ReadOnlyList following the new tests implementation. 2009-09-06 Ali Sabil Introduce the MultiMap interface and its hash based implementation Introduce the MultiSet interface and its hash based implementation 2009-09-06 Julien Peeters Reuse generic Collection and List tests for LinkedList LinkedList tests now follow the same way of testing than ArrayList ones. LinkedList tests inherit from the ListTests. Fix misunderstanding about ArrayList.{retain,remove}_all semantics These methods did not match the semantic of the Collection interface ones. Then they are deleted in order to use the implementation in AbstractCollection. By the way, few optimization could probably be found for these methods in the case of ArrayList. Add generic tests for collections and lists and refactor ArrayListTests Fixes part of bug 594241. Some more enhancements to the test infrastructure TestCase is a more appropriate name, and so are set_up and tear_down. Adding a short descriptive introduction for each implementation class. Generally this introduction consists of a implementation description and few word about comparison with other structures. Adding a first very basic documentation to data types implementations. When a data type method is already documented in a super class or in an interface the '@inheritDoc' parameter is set. 2009-09-04 Didier 'Ptitjes Initial documentation infrastructure import Fixing generics typo in HashMap's Value collection 2009-09-03 Didier 'Ptitjes Change inner classes' properties from construct to private set Removing construct properties enables the use of Vala's constructor chain up. 2009-09-02 Didier 'Ptitjes Provide sane defaults for equal, hash and compare functions Change *_func properties from construct to private set Removing construct properties enables to use Vala's constructor chain up. 2009-08-05 Didier 'Ptitjes Post-release version bump Release 0.3.0 Enhanced Map removal to optionally retrieve removed value Fixes bug 587134. Remove invalid to_array implementation and re-enable test 2009-08-03 Didier 'Ptitjes Bump library's version info 2009-07-31 Didier 'Ptitjes Temporarily disable to_array test 2009-07-31 Tomaž Vajngerl Add Map.is_empty|set_all|remove_all|contains_all and AbstractMap implementations Fixes bug 589902. Add List.first|last|insert_all methods and AbstractList implementations Fixes bug 589894. Added Collection.is_empty|add_all|contains_all|remove_all|retain_all Fixes bug 589690. 2009-07-31 Maciej Piechotka Make Iterable.get_element_type a property Fixes bug 589551. 2009-07-31 Didier 'Ptitjes Remove unused inherited interface declarations Fix list of maintainers 2009-07-27 Didier 'Ptitjes Fix invalid test commit 2009-07-27 Julien Peeters Make TestFixture's setup and teardown methods virtual 2009-07-27 Didier 'Ptitjes Initial rework for tests Fix AbstractCollection.to_array method 2009-07-27 Julien Peeters Add test fixture helper 2009-07-24 Didier 'Ptitjes Introduce Collection.to_array() method A default naive implementation is provided in AbstractCollection. This implementation is overriden in ArrayList in order to take benefit of its array nature. Introduce AbstractCollection base class All collection implementations now have a common AbstractCollection base class and now share the implementation of the get_element_type() method. 2009-07-23 Didier 'Ptitjes Remove unused variable in tests Fix generic parameter typo 2009-07-23 Mark Lee Add doubly linked list implementation Fixes bug 584032. 2009-07-22 Maciej Piechotka Make func and wrappee properties non-updatable Fixes bug 583723. Add left-leaning red-black tree based set and map Fixes bug 583728. 2009-07-22 Didier 'Ptitjes Post-release version bump Release 0.2.0 Hardcode gir repository path Use of pkg-config make distcheck fail. 2009-07-20 Didier 'Ptitjes Match vala-0.7.4's required GLib version Generate, install and distribute GIR file Post-release version bump Release 0.1.6 2009-07-19 Julien Fontanet Make ArrayList.Iterator._stamp private Split asserts in ArrayList 2009-07-19 Didier 'Ptitjes Hide inherited get and set methods from GLib.Object Add missing method documentation comment 2009-07-16 Didier 'Ptitjes Initialize 'next' variables Fixes bug 588758. 2009-06-26 Jaap A. Haitsma Add .gitignore Fixes bug #583729 Add .doap file 2009-06-01 Jürg Billeter gee: Fix memory leak in HashMap.remove and HashSet.remove Fixes bug 584440. 2009-04-30 Jürg Billeter Update code using deprecated # modifier or operator Fix build with Vala 0.7 Based on patch by Thijs Vermeir, fixes bug 579182. Generate ChangeLog from git log Add gitlog-to-changelog script from gnulib and a dist-hook to generate ChangeLog file when creating tarballs.