| 01/15/1999 | Start of the project. | 
       
        | 06/01/1999 | First version of the library under Windows (with Cygwin and Borland C++ 5.02) and AIX. Only the standard layer and the graph structure. | 
       
        | 09/01/1999 | Basic algorithms for the minimum cost tension problem with linear costs. | 
       
        | 11/01/1999 | - Tools to manage files (Cut File, Dos Unix, Remove Files and Show Dir). - Full portability under AIX, Linux and Windows (with Cygwin, Borland C++ 5.02 and C++ Builder 4).
 | 
       
        | 12/01/1999 | - First release of the library on the Web. - Tools for the semi automatic generation of the documentation (Make Doc) and the makefile of the library (Build Makefile).
 | 
       
        | 01/15/2000 | An algorithm for the minimum cost tension problem with convex costs. | 
       
        | 03/01/2000 | Basic algorithms to solve classical problems: connectivity, minimum spanning tree, shortest path, maximum flow... | 
       
        | 05/01/2000 | - A tool to generate random graphs and problems (Build Graph). - Tools to solve these problems (Solve Graph and Solve Tension).
 | 
       
        | 08/01/2000 | A tool to build the layout of a graph in the EPS format (Graph Layout). | 
       
        | 09/01/2000 | A tool to analyze and extract series of tests on algorithms that solve graph problems (Analyze Result). | 
       
        | 11/01/2000 | - Imperceptible changes in many modules that increase the speed of some algorithms. - A new section in the documentation that explains how to use the library.
 | 
       
        | 02/01/2001 | - A new algorithm for the minimum cost tension problem with linear costs in serial-parallel graphs. - Modification of the Graph Layout tool: an algorithm to build the layout of a binary tree.
 | 
       
        | 03/01/2001 | Basic algorithms to generate and solve the minimum cost flow problem. | 
       
        | 04/04/2001 | - A cost-scaling algorithm for the minimum cost flow problem. - Another basic algorithm for shortest path problems.
 | 
       
        | 04/27/2001 | A new algorithm for the minimum cost tension problem with linear costs based on the cost-scaling algorithm for the minimum cost flow problem. | 
       
        | 05/15/2001 | - A tool to encrypt files (Encrypt). - A tool to rename files (Renum Files).
 | 
       
        | 06/02/2001 | A new initialization and termination mechanism for the modules of the library. It makes the DLL version of the library fully operational. Warning: there are major changes in the way of compiling and using the library. | 
       
        | 06/25/2001 | - End of the testing with Borland C++ 5.02 and C++ Builder 4. They are replaced by Borland C++ 5.5 freely available here. - A new algorithm to find a compatible tension in a graph that must significantly increase the speed of several algorithms.
 | 
       
        | 08/29/2001 | - A new display mechanism: instead of non implemented functions, there is an abstract class. Warning: there are changes in the way of initializing the library. - A module to load a dynamic library at run time.
 - A module to use the Java Native Interface (JNI). For the moment it only provides the load of a Java Virtual Machine.
 | 
       
        | 11/24/2001 | - Encapsulation of the library in a namespace and a folder, add of a prefix to the library names. This should avoid the clash of names. Warning: there are minor changes in the way of using the library. - A module to manipulate threads.
 - Modification of the makefile and the documentation generation to deal with Java modules in the library.
 - Jirk++ mechanism to manipulate Java classes directly in C++. Documentation available .
 | 
       
        | 01/04/2002 | - Correction in the random generation of serial-parallel graphs with disruption. - A new algorithm to decompose a graph into serial-parallel components.
 | 
       
        | 01/26/2002 | A new linear solver wrapper to use the GNU Linear Programming Kit. | 
       
        | 03/11/2002 | - Improvement of the accuracy of the error and debugging reports. - A new algorithm for the minimum cost tension problem.
 - An algorithm to find a topological ordering of the nodes of a graph.
 | 
       
        | 06/09/2002 | - Mutex mechanism in the thread module. - First release of the library with thread-safety.
 | 
       
        | 11/10/2002 | - Improvement of the serial-parallel decomposition algorithms for graphs. - Correction in the aggregation/reconstruction algorithm for the minimum cost tension problem.
 - Move of the B++ Library official site to Nawouak.net.
 | 
       
        | 05/30/2003 | - Full compatibility with GCC 3 compilers. - Improvement in the search of independent cycles, so they can be shorter.
 - Data structure and random generation for the minimum cost discrete tension problem.
 - CGI interface to use Build Graph online, available .
 | 
       
        | 08/15/2003 | - Modification of the GNU Linear Programming Kit wrapper to use the last 4.0 version. - Basic heuristics to solve the minimum binary cost tension problem.
 - New facilities in the decomposition of serial-parallel graphs.
 - Improvement of the reconstruction method for the minimum cost tension problem.
 
 | 
       
        | 11/05/2003 | Full compatibility with Microsoft Visual C++ 7 compiler. Thanks to Toni Rönkkö for porting the POSIX "dirent" interface to this compiler. | 
       
        | 03/02/2004 | - Minor changes in the Environment module: any object with an output stream operator can be displayed now. - An exact algorithm to solve the minimum binary cost tension problem on serial-parallel graphs.
 | 
       
        | 05/08/2004 | - Full compatibility with GCC 3.2 compiler. - Improvement of the cutting algorithm to solve the minimum binary cost tension problem (aggregation used to solve the subproblem on a cycle).
 - A wrapper for the CPLEX Callable Library (version 8.0).
 | 
       
        | 11/27/2004 | - A module for basic statistics. - Pool facilities to speed up the allocation and deallocation of bunches of objects.
 - New keywords for code generation (especially to design patterns for methods or functions with variable arguments).
 - Mechanism and new keywords to provide identification for classes and methods. Introduction of the notion of method slot.
 - Demangling for symbol and type strings provided by the RTTI mechanism (for GCC compilers only). Thanks to Carlo Wood for the source code.
 - A framework called B++ Simulator for discrete-event visual simulation.
 | 
       
        | 12/14/2004 | - A module to make extendable data structures in Java. - An extendable graph structure for Java.
 | 
       
        | 01/17/2005 | - Rewriting of the generic make_pairfunction of the STL (for efficiency reasons). A specific version dedicated to the STL map structure is proposed.- A Java wrapper to use Solve Tension in the HyperProp software.
 | 
       
        | 02/16/2005 | - Documentation on the B++ Simulator framework, available . - A standalone package for Solve Tension, its name is B++ Tension Solver.
 | 
       
        | 10/02/2005 | - Full compatibility with GCC 3.4 compiler. - Best portability of the method slot mechanism.
 | 
       
        | 12/29/2005 | - Full compatibility with Borland C++ 5.6.4 compiler. - Changes in the Jirk++ mechanism to support Java 1.5.
 | 
       
        | 02/23/2006 | - The library is now fully deterministic: the execution only depends on the seed of the random generator (which is portable). - Performance improvement of the graph and linear system structures.
 - Modification of the GNU Linear Programming Kit wrapper to use the last 4.9 version.
 | 
       
        | 09/08/2007 | - With late Cygwin versions, JNI and Cygwin are incompatible: impossible to load into Java a DLL that is linked against cygwin1.dll. Warning: the MinGW compiler must be used instead of the Cygwin compiler until this issue is corrected. The binary code of the B++ Tools, provided , is now built with the MinGW compiler. It is advised to update if you use them through JNI.- A contribution module to replace low-level string functions such as
 sprintfandsscanf.- A module to manage the B++ Library environment in Java. Warning: there are minor changes in the way of loading the library into Java. Check the documentation on  for details (section "Native Methods").
 - Modification of the GNU Linear Programming Kit wrapper to use the last 4.18 version.
 | 
       
        | 08/12/2009 | - Full compatibility with GCC 4.1.2 compiler. - Full compatibility with Borland/CodeGear 6.10 compiler.
 - Full compatibility with Microsoft Visual C++ 9 compiler.
 - A module to serialize objects.
 - A multijob version of the makefile.
 - Modification of the CPLEX Callable Library wrapper to use the 11.0 version.
 | 
       
        | 07/12/2016 | - Full compatibility with GCC 4.8.3 compiler. - Full compatibility with Borland/Embarcadero 7.20 compiler.
 - Full compatibility with Microsoft Visual C++ 14 compiler.
 - Minor changes to support Java 1.8.
 - Modification of the GNU Linear Programming Kit wrapper to use the 4.54 version.
 |