Releases: SSARCandy/ini-cpp
Releases · SSARCandy/ini-cpp
v2.0.0 - Rewrite in modern C++17 to get better performance
Sorry, something went wrong.
No results found
v2.0.0
Highlights
- Complete rewrite in modern C++17 — still a single header, same public API
- Removed the legacy C parser (malloc/fgets/char buffers) and C API (ini_parse*, ini_handler, INI_* macros)
- Zero-copy parsing with std::string_view; numeric conversion via std::from_chars (auto-fallback on older compilers)
Performance (GCC 13, -O2)
- Parse: 2.2× faster
- Get<int> / Get<std::string>: ~100× faster (old version copied the whole section map on every call)
- GetVector<double>: ~20× faster
- Peak memory: +8%
Changes
- No more 2000-char line limit or 49-char section name truncation
- Breaking: C API removed; duplicate keys with empty first value now throw
- Fixed: uninitialized _error on default construction; UpdateEntry no longer creates empty entries on failure
- Tests: 13 → 27 (BOM, CRLF, comment rules, error messages, numeric edge cases, FILE* ctor, writer overwrite)
- Verified on GCC 7.5–13, Clang 17, MSVC 2019+
- Docs: API reference added to README; doxygen docs regenerated warning-free; CI bumped to checkout@v4
Full Changelog: v1.2.0...v2.0.0
v1.2.0
Sorry, something went wrong.
No results found
What's Changed
New Contributors
Full Changelog: v1.1.0...v1.2.0
Implement INIWriter
Sorry, something went wrong.
No results found
- With the new INIReader::InsertEntry() and INIReader::UpdateEntry(), it is easy to modify the content of a reader.
- Introduce to new INIWriter, which can dump reader's content to an .ini file.
v1.0.1
Sorry, something went wrong.
No results found
- feat: make key case sensitive.
- fix: header guard bug.
v1.0.0 - First release
Sorry, something went wrong.
No results found
doc: update example