1 2006-10-27  Version 0.6 Released
 
     7   *UGraphExtender -> UndirectGraphExtender
 
     8     -UGraphExtenders with changed meaning
 
     9   *GridGraph -> GridUGraph
 
    10   *UNDIRGRAPH_TYPEDEFS -> UGRAPH_TYPEDEFS
 
    11   *LinearHeap -> BucketHeap
 
    12   *UGraphBaseExtender -> UndirGraphExtender
 
    13   *BpUGraphBaseExtender merged into BpUGraphExtender
 
    18   *concept -> concepts (namespace & directory)
 
    21   *bootstrap: quiet option
 
    22   *utility, invalid and traits moved to bits
 
    23   *section readers moved to own group
 
    24   *separate group for matrices
 
    26   *glemon is moved to own repository
 
    27   *graph_component.h -> graph_components.h
 
    28   *reference to modules added
 
    29   *disable assertions in default behaviour
 
    30   *BiVariant moved to lemon/bits/variant.h
 
    31   *using abort() instead of exit(1)
 
    34   *SplitGraph is temporarly deleted
 
    36   *obsolote "id" map handling
 
    37   *concepts for extendable and erasable graphs
 
    40   *functional interfaces
 
    43 #Rewritten, modificated, improved
 
    44   *UnionFindEnum revision
 
    47   *IncEdgeIt goes through on loop edges twice.
 
    48   *mining of the clear in heaps
 
    50   *item sets are written in the order sorted by the labels
 
    51   *make explicit constructors
 
    54     -implemented for SmartUGraph an SmartBpUGraph
 
    55   *Node/Edge::operator<() is required by the concept
 
    56   *Graph Component concepts
 
    57   *disabled the copy constructor and operator- of {List|Smart}[U]Graph.
 
    58   *modificated interface: colType() functions
 
    59   *made public what() in NodeSetError
 
    60   *improvment in exception handling
 
    61     -exception safe erase and clear handler
 
    62     -proper exception handling in the SmartEdgeSet
 
    63     -rethrow of exception missing 
 
    64   *signaling alterations in BpUGraphs
 
    69   *updated the Path concept
 
    70   *item readers and writers
 
    73   *functor usage for writeable map adaptors
 
    75     -interface to the cplex MIP solver
 
    79     -RefPtr: a reference counted pointer class
 
    81     -Polinomial template class
 
    83       -even a smaller version
 
    85       -Tolerance<unsigned int> and Tolerance<unsigned long long int> added
 
    87       -some UGraphExtender /SubUGraphExtenders, DirectUGraphExtender/
 
    89       -ResGraphAdaptor with Tolerance
 
    90       -SwapBpUGraphAdaptor which swaps the two nodeset of the bipartite graph
 
    92       -SimpleMap and SimpleWriteMap
 
    93       -new map type based on array map for debugging purpose
 
    97     -optimality test on random graph
 
    98     -implementation of the drand48 functions
 
    99     -negative cycle to path converter
 
   100     -reserveNode function
 
   101     -Mersenne Twister random number generator
 
   102     -EdgeLookUp and AllEdgeLookUp
 
   104     -script that lists all the header files included directly or indirectly by a certain header file
 
   105     -script creates/updates the copyright header of a source file
 
   107     -algorithm group for matchings
 
   108       -Bipartite Graph Max Cardinality Matching (Hopcroft-Karp)
 
   109       -MaxWeightedBipartiteMatching
 
   110       -MinCostMaxBipartiteMatching
 
   111     -MaxCardinalitySearch
 
   112     -MinimalCut in UGraph
 
   114     -Minimum Cost Arborescence algorithm 
 
   115       -dual solution computation and interface for algorithm
 
   116       -Edmonds-Karp MaxFlow
 
   119 #Progress in already existing objects:
 
   120   *radix sort to ansi compatible
 
   121   *map creation based on virtual base class is possible
 
   122   *default constructor which allocates empty graphs
 
   123   *defaultMap is introdouced, graph maps should not be inherited from the ObserverBase.
 
   124   *clarifing alteration observing system
 
   125   *resize for static size graph
 
   126   *an additional simplier interface for static size graphs.
 
   127   *Node operator()(int) for getting node by index
 
   128   *int index(Node node) for getting index by node
 
   129   *traits for alteration notifiers
 
   130   *graph adadptors can be alteration observed
 
   131   *count ANodes-BNodes in bipartite graphs
 
   132   *the template assign operators and map iterators can be used for adaptors also
 
   133   *writeable extension of some maps
 
   134   *rot180() added to xy.h
 
   135   *change source and target for the bipartite list graph
 
   136   *findEdge extension also for the BpUGraphs
 
   137   *proper handling of loop edges in the UGraph::findUEdge
 
   138   *exported interface to the Graph class
 
   139   *new random interface
 
   140   *graph imlementations actually provide ReferenceMaps
 
   142     -RGB color related stuff is in color.h now
 
   143     -simple class to create .eps figures (eps.h)
 
   145     -some color constants added (BLACK, WHITE, RED etc)
 
   146     -absolute/relative node size/link width scaling
 
   148 #Compatibility issues:
 
   149   *compilation with G++ -ansi
 
   151   *NaN checking to be conform to MinGW32
 
   153   *long long just for gnu compilers
 
   155   *turned off 32bit specific tests.
 
   157 #Beyond the aboves several bugfix and documentation improvement is made, new demos, benchmarks are implemented.
 
   159 2006-02-03  Version 0.5 Released
 
   162 	    + query functions for the next node/edge to be processed
 
   163 	    + visitor interface for dfs
 
   164 	  - topology.h: small functions for discovering graph topology
 
   165 	    + connected components, strongly connected components
 
   166 	    + bipartiteness testing
 
   167 	  - Shortest paths algorithms:
 
   168 	    bellman_ford.h, floyd_warshall.h, johnson.h
 
   169 	  - Euler tour iterator for directed and undirected graphs
 
   171 	    + dag_shortest_path.h
 
   172 	    + fredman_tarjan.h and prim.h for min cost trees
 
   173 	  - Bipartite graph concept and implementations
 
   175 	    + template assign operator
 
   176 	    + specialized iterable bool map
 
   177 	    + potential difference map
 
   178 	    + NodeMatrixMap -- Matrix over the nodes
 
   182 	    + NewMap window in MapSelector
 
   183 	    + Algorithm window and some algorithms (eg. Kruskal) added
 
   185 	    + exception on non-existent files
 
   187 	    + (Dual)Expr::simplify(double tolerance) added
 
   191 	    + male/female node shapes :)
 
   192 	    + correct %%BoundingBox handling
 
   194 	    + Timer can be stop()ed and (re)start()ed
 
   195 	    + radix sort algorithm
 
   196 	    + tolerance.h for working with imprecise numbers
 
   197 	* Backward incompatibilities/changed namings:
 
   198 	  - Access functions of TimeStamp/Timer
 
   199 	  - Undir graph interface: findUEdge, ConUEdgeIt
 
   200 	  - pred -> predEdge renaming in search algorithms
 
   201 	  - SnapShot -> Snapshot in {List,Smart}Graph
 
   202 	  - NewEdgeSetAdaptor -> ListEdgeSet
 
   203 	  - LP: set{Obj,Row,Col}() -> {obj,row,col}()
 
   204 	  - "label" instead of "id" inside the LGF files
 
   205 	  - UndirGraph -> UGraph, UndirEdge* -> UEdge*
 
   206 	  - BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode*
 
   210 	  - x86_64 connected bugfixes (lemon_reader.h)
 
   212 	* New demos, benchmarks and tools:
 
   213 	  - graph_orientation.cc: A thoroughly documented demo application
 
   214 	  - runningTimeTest(): a tool to measure running times more precisely
 
   216 	  - counter.h: a tool to measure the number of steps of algorithms
 
   217 	  - Some useful scripts: check-compiler, check-integrity
 
   219 	  - Demos and benchmarks are not built by default now. They can be
 
   220 	    enabled with the --enable-demo and --enable-benchmark
 
   222 	  - GCC 4.0.3 and ICC 9.0 compatibility
 
   224 2005-08-27  Version 0.4 Released
 
   225 	* List of new features and changes	
 
   228 	    kruskalEdgeMap() -> kruskal()
 
   229 	    kruskalEdgeMap_IteratorOut() -> kruskal()
 
   231 	    * operator+=() -> add()
 
   233 	  + More and better graph I/O functionalities
 
   234 	  + High level uniform LP solver interface to CPLEX and GLKP
 
   236 	    + Automatic node size and edge width scaling
 
   237 	    + Simple color palette tool (ColorSet)
 
   239 	    + Step-by-step execution
 
   240 	    + Run from multiple sources
 
   241 	    + Used define stop condition
 
   242 	    + Improved "named parameters"
 
   244 	    + Function type interface
 
   246 	  * ListGraph/SmarGraph
 
   247 	    + split() splits a node
 
   250 	  + New convenience maps
 
   251 	    + IdMap, DescriptorMap
 
   252 	    + InDegMap, OutDegMap
 
   254 	  + Default graph maps are iterable
 
   255 	  + glemon: a graph editor
 
   256 	  + Some new demo codes added, the old ones got polished.
 
   257 	  * Better documentation
 
   258 	  * Several important bugfixes
 
   259 	  * Now lemon should compile without warnings with
 
   261 	    * Intel C++ Compiler v9.0 
 
   263 2005-03-19  Version 0.3.1 Released
 
   264 	* This release fixes a compilation failure bug under cygwin. 
 
   266 2005-02-21  Version 0.3 released
 
   267 	* List of new features and changes	
 
   268 	  * Redesigned Graph infrastructures
 
   269 	  + Standardized LEMON exceptions
 
   271 	  + Standard graph file format, input and output classes for it.
 
   272 	  * head() -> target(), tail() -> source()
 
   273 	  * Some standard namings have changes:
 
   276 	    ReferenceType ->Reference,
 
   277 	    PointerType -> Pointer
 
   278 	  + GraphToEps: A simple graph drawer
 
   279 	  * Better documentation
 
   281 2004-09-30  Version 0.2 released