Name: Cube C++ Library
Version: 4.9.1
    - Various bug fixes in library.
    - Adds an advanced internal cache, which capacity is controled via env variable CUBE_CACHE_CAPACITY=<n elements> and variable CUBE_CACHE_MAX_MEMORY=<size>.
      CUBE_CACHE_CAPACITY controls number of elements kept in cache. CUBE_CACHE_MAX_MEMORY controls maximal memory footprint. Does content of cache reaches CUBE_CACHE_MAX_MEMORY,
      a warning is issued and cache is emptied, which leads to future recalculation of values. Fine control of memory footprint of CubeLib is combination of both settings.
    - Adds an additional data loading strategy, "paranoid", where only the data is kept in memory, which is currentely required for the calculation. Otherwise it gets removed
      from the memory. Might lead to the I/O related overhead as CubeLib will read the data from the filesystem more often.
    - Adds a command line option for cube_part to partition threads.
    - Adds a command line option for cube_part to create stripped cubex file
      instead of VOIDing the locations.
    - Fixes Tau2Cube tool to produce more Cube-like output.
    - improved cube_server:
      - allow a disconnected connection to be reestablished;
      - added support for unix domain sockets.
    - added cmake options for webassembly build.
    - fixes the calculation of POP GPU Efficiency metrics.
    - Calculates the POP GPU efficiencies for measurements involving the 'omp target' regions.
    - improved performance of the cube_pop_metrics tool.
    - FileServer plugin of cube_server is disabled.

Version: 4.9
    - Various bug fixes in library.
    - CubeLib assigns proper role and paradigm to the regions for the old fashioned cube3 profiles.
    - CubeLib can be build to be used with Qt+android projects.
    - Support of server side plugins.
    - Fixed issues with the usage of tools in case of a measurement inclusing GPUs.
    - CubeLib can generate topologies based on systemtree data; automatically via cube_remap2 and interactively via
      cube_topoassist.
    - Adds cube_popx_metrics tool to calculate POPx metrics.
    - cubelib-config replaces the command line option --common-/--cubelib-revision by the option --revision.
    - cubelib-config adds the command line option --ltldflags, which prints the required linker flags for libtool consumption.
    - Configure option --disable-tests disables the testsuite during make check.
    - Adds optional cmake build system.
    - Improves performance of cube_remap2 tool (and other tools) by using asynchronous computation via c++11 tasks.
    - Adds GPU efficiencies in set of POP metrics, calculated by cube_popx_metrics tool.
    - Improves performance of the library by using asynchronous computation via c++11 tasks.
    - Adds alternative output format to cube_dump, that includes region names in a csv format.
    - Extended CubePL calls with "cube::metric::get::", "cube::callpath::get", "cube::region::get", "cube::stn::get", "cube::locationgroup::get" and "cube::location::get"
      to allow evaluation of the attributes.
    - Extended CubePL calls with "cube::metric::set::", "cube::callpath::set", "cube::region::set", "cube::stn::set", "cube::locationgroup::set" and "cube::location::set"
      to allow to set the attributes.
    - Extended CubePL engine with the call "print" for printing out the results into the standars output.
    - Version of CubePL syntax is 1.2 now.

Version: 4.8.2
    - Improvements in cube_server.
    - cubelib-config reports its git revision properly.
    - Fixes bug in the calculation if metric type is not trivial.
    - Various bug fixes in library.

Version: 4.8.1
    - cube_remap2 stops early if no .spec file found, neither as a file nor inside of the .cubex.
    - Various bug fixes in library.
    - Fixed usage of depricated calls std::binary_function and
    std::unary_function.
    - Fixed performance regression during the cube structure reading.

Version: 4.8
    - Reimplemented cube_server using c++11 tasks instead of fork.
    - Improved performance of cube_remap2 tool and other parts of library.
    - cube_test accepts value "all" for command line options "-e" and "-s".
    - cube_test returns error code.
    - Support of Intel oneAPI, NVIDIA HPC SDK and AMD ROCm compilers.
    - Library doesn't use real user/group names and UIs.
    - Various bug fixes in library.
    - Small tweaks in tools guide.

Version: 4.7
    - Voiding one metric voids its whole subtree. Important for remapping .spec files.
    - cube_dump also prints CUBE file meta data by section.
    - cube_remap2 uses only CPU threads to calculate SCALASCA metrics.
    - cube_cut accepts multiple regions for reroot and prune operations.
    - Fixed handling of cube files containing GPU locations.
    - CubePL operator "defined" can be used to test if metric is defined.
    - Support for location type CUBE_LOCATION_TYPE_ACCELERATOR_STREAM and location group type CUBE_LOCATION_GROUP_TYPE_ACCELERATOR.
      CUBE_LOCATION_TYPE_ACCELERATOR_STREAM is an alias for CUBE_LOCATION_TYPE_GPU and has the same numerical value.
    - Added a call  "bool cube_make_unique_name ( const string&, string& )" to perform the metric unique name correction to
      ensure one can use this metric in CubePL expression.
    - Various bug fixes in library.

Version: 4.6
    - cube_server lists only CUBE files.
    - Removed cube_score as EPIK traces are depricated.
    - Support for region names with non-latin symbols.
    - Added memory dump for CubePL engine.
    - cube_dump prints our CubePL memory if configured with --enable-debug.
    - Various bug fixes in library.

Version: 4.5
    - Use mangeled region names in option -r for the tool cube_stat.
    - Using <regex> of C++11 instead of POSIX regex.h. Requires gcc >=4.9 or another compiler with working support of C++11.
    - Library is thread-safe and reentrant. Require C++11 mutexes.
    - Removed custom memory management for non-trivial data types as it led to segfault while finalization.
    - Various bug fixes in library.

Version: 4.4.4
    - Fixed handling of attributes and parameters by the library and tools.
    - Require C++11 standard for the build.
    - Extended CubePL with the support of a custom aggregation operator for the postderived metrics.
    - Do not loose attributes during remapping anymore.
    - Fixed generation of PDF documentation.
    - Improved rerooting.
    - Various bug fixes in library.

Version: 4.4.3
    - Support for >8Gb files via PAX headers.
    - Extended cube_stat output.
    - Removed creation of the topology "Process x Thread [ x GPU ]" in cube_remap2.
    - Extended CubePL postderived metrics calculation.
    - Various bug fixes in library.

Version: 4.4.2
    - Fixed bug in declustering algorithm leading sometimes to the wrong results.
    - Improved generation of the temporary directory.
    - cube_dump tool prints out the call path parameters.
    - cube_remap2 tool creates topology "Process x Thread [ x GPU ] and adds it to the result file.

Version: 4.4.1
    - Improvements of the tools guide:
      - elaborate purpose and details of missing tools;
      - describe details of the remapping tool;
      - describe syntax of .spec file.
    - Split "tau2cube" into library and an application.
    - Keep order of parameters and attributes.
    - Set metric inactive if VOID.
    - Fixed performance issues in CubeIoProxy.
    - Various bug fixes in library.

Version: 4.4
    - One can mark derived metrics as "non convertible" to prevend convertion into data and as "non cacheable" if their value is runtime dependent.
    - Build system improvements.
    - Documentation infrastructure refactoring.
    - Improvements in Cube Tools:
      -- cube_stat only shows all call-tree root nodes;
      -- cube_stat supports 'unlimited' as argument for '-t' option;
      -- improved memory footprint of cube_dump and cube_remap2;
      -- cube_calltree annotated its output properly;
      -- split cube_remap2 into a library and an application to allow its usage in another tools;
      -- cube_remap2 copies ghost metrics into target cube as well.
    - CUBELIB_DEBUG and CUBEPL_VERBOSE_METRICS set CubePL engine into verbose mode..
    - Cube tools do not append wrongly .cubex extension.
    - Fixes in CubePL engine:
      -- support for metric::call::<uniq_name>;
      -- fixed seg fault if the metric "rowwise=false";
      -- fixed seg fault while metric::set of unknown metric;
      -- reference to a metric in CubePL Init section doesn't crash anymore;
      -- added an automatic variable to refer to global sysres id;
      -- "?" within a regex is not ignored anymore.
    - Remapper doesn't unhide "omp" metrics, if no OpenMp region detected, but -s option.
    is provided.
    - Fixed a seg fault if Cube tries to read a non-Cube file, like .txt.
    - Provide examples of typical cube files.
    - Various bug fixes in library.
    - Using ScoreP for Library instrumentation for the automatic performance benchmarking.
    - Extended list of the environment (CUBE_TMPDIR, CUBE_TEMP, CUBE_TMP) variables for storing the temporary data.
    - Improved performance of the multiplication in CubePL engine (short evaluation).
    - Bug fixes in CubePL engine related to the assignment "=".
    - Fixed support of "if - elseif (x) - else " construction in CubePL.
    - Added support for comments in CubePL.
    - Fixed bug in "lowercase" and "uppercase" handling in CubePL.
    - Use rowwise calls in cube_cmp, cube_diff and other tools.
    - Various bug fixes in library.
