Releases: charlesnicholson/nanoprintf
v0.4.0
nanoprintf v0.4.0:
Feature: Floating point rounding. Costs ~100 bytes but space well spent.
Bugfix / Safety: npf_[v]snprintf
truncates identically to snprintf
. Removes the NANOPRINTF_SNPRINTF_SAFE_TRIM_STRING_ON_OVERFLOW
flag and performs string-trim by default.
Bugfix: Don't dereference a string pointer if the precision is zero.
v0.3.4
v0.3.3
v0.3.2
nanoprintf v0.3.2:
Feature: Parse %e
/%E
, %g
/%G
, %a
/%A
. They don't format yet, but they're handy for parsing.
Cleanup: Reformat some code for readability, update the header comment to better explain the licensing.
v0.3.1
nanoprintf v0.3.1:
Bugfix: float fractional components were prematurely truncated on some architectures.
Compatibility: fix warnings on the latest MSVC.
Cleanup: Better README.md
v0.3.0
nanoprintf v0.3.0:
License update: nanoprintf is now dual-licensed under 0BSD and Unlicense to minimize encumberance.
Cleanup: One codepath for both GCC and Clang for the printf attribute stuff.
v0.2.2
nanoprintf v0.2.2:
Maintenance release, no new functionality.
Bugfix: Compile cleanly with clang's new -Wdeclaration-after-statement
warning.
Bugfix: Explicitly require C99 in CMake
v0.2.1
nanoprintf v0.2.1:
- Optimization: Reduced compiled object size by ~20-100 bytes.
- Optimization: Removed compile-time dependency on math.h, evaluate inf/nan bits directly.
v0.2.0
nanoprintf v0.2.0:
- Features: "Safe" compile flags for npf_[v]snprintf that force null-terminators into buffer upon exhaustion.
- Bugfix: npf_[v]snprintf wasn't writing to the final byte in the user-supplied buffer.
- Optimization: Reduced compiled binary size by ~100+ bytes across all configurations + targets.
- Optimization: Shortened nanoprintf.h by 65 lines.
- Infrastructure: Upgraded to doctest 2.4.6, tests only output when they fail.
v0.1.4
nanoprintf v0.1.4:
- Optimization: Reduce compiled binary size by ~100+ bytes across all configurations + targets
- Strictness: Windows VS2022 build enables all warnings and warnings-as-errors.
- Strictness: Clang builds use ASAN + UBSAN analyzers.