- FEATURES/IMPROVEMENTS:
- Added INISection::GetNameSTL, a C++ string equivalent of INISection::GetName.
- Added a custom assert macro that emits a MiniINI error with a message.
- Rewrote tutorials to make them more readable and informative. Added links
to API docs to the tutorials.
- Rewrote the API documentation to make it more readable.
- Regression testing code was completely rewritten with a more maintainable
system.
- Removed most of benchmarking functionality from library code and moved it to
the benchmark program which was completely rewritten. Removed the (now
redunant) iteration benchmark.
- Added extra benchmarking functionality, which can be enabled on compile time
by defining macro MINIINI_BENCH_EXTRA. This allows high precision measurement
of run time, time spent on file I/O, allocation and file processing. This
functionality is Linux-only, but not required for MiniINI to work. The
benchmark program can use this functionality with the --extra option.
- Added specific benchmark cases for very small INI files that fit to the L1
cache and one case with an extremely large INI file.
- All testing and benchmarking scripts were rewritten in Python 3.1 .
- Rewrote testutil.py from scratch for more detailed statistics. Also, it's
not dependent on MiniINI anymore - it can be used to measure other programs.
The --no-summary option was removed, and the default number of runs to
measure run time was doubled to minimize errors.
- Rewrote testgen.py to buffer contents of generated file and write them out in
one call - this improves speed.
- Removed testutil-merge.py, testutil-merge-compare.py and added new scripts
testutil-compare.py and testutil-compare-merge.py that allow comparison of
more than two benchmarks.
- Rewrote test.py from scratch, adding support for MINIINI_BENCH_EXTRA and
comparing more than two benchmark runs at once. Interface of test.py was
also rewritten. Tests to run (like callgrind, memcheck etc.) are now set
through the command line instead of benchmark case INI files.
- Added version-compare.py, a script that can compare multiple MiniINI
packages. Mostly useful for version benchmarks.
- Added commit.py, a commit script that looks for errors and prevents a commit
if any errors are found. It also writes out code statistics of commits to a
new file, code-stats.txt .
- Moved static INIFile methods to a new file, inifileutil.h .
- Allocator code was refactored.
- Refactored logging, warning and error functionality.
- BUGFIXES:
- Fixed a bug that disabled empty file warning completely.