Releases: sa6mwa/libpslog
Releases · sa6mwa/libpslog
v0.3.1
v0.3.0 Lua binding and release package fix
Full Changelog: v0.2.0...v0.3.0
Single-file header file
This release adds a singe-file pslog header file which you can include directly inside a C source file. Beside improved build and packaging, this is not a feature release.
Full Changelog: v0.1.0...v0.2.0
v0.1.0: feat(libpslog): ship cross-tested logging library and benchmark suite
Pre-release
feat(core): bootstrap libpslog and add env parity chore(repo): ignore local clangd config chore(cmake): export compile commands for clangd chore(repo): add clangd project config feat(runtime): improve emitter parity and typed fields feat(output): add close semantics and tee env outputs feat(output): add observed write failure hooks feat(env): add output file mode and diagnostics feat(runtime): add nolevel and trusted string support feat(runtime): align trusted string validation test(parity): cover logger variants across emitters feat(env): align env parsing and coverage feat(runtime): add float policy and termination tests feat(runtime): add configurable line buffer capacity feat(runtime): stream oversized log lines in chunks test(parity): lower default chunk size and port remaining fixtures test(parity): add final escaping and duration fixtures feat(gobencher): add Go and C comparison harness feat(gobencher): match upstream elevatorpitch layout feat(gobencher): tighten elevatorpitch bar spacing feat(gobencher): add raw C benchmark path fix(gobencher): let raw benchmarks calibrate correctly perf(gobencher): prepare native C fields for benchmark runs chore(bench): add profiling preset and variant filters perf(core): batch escaped string appends perf(core): cache palette lengths and trusted internals perf(core): inline hot append and color paths perf(json): add length-aware trusted string appends perf(bench): split api and prepared field runs perf(core): cache field key lengths perf(json): specialize emit paths and cache string values perf(format): replace integer sprintf conversions perf(format): add fast finite float formatting fix(format): restore float formatting parity perf(console): cache simple string fields perf(format): avoid strlen after formatting perf(format): use pairwise integer conversion perf(console): streamline level label emission perf(json): inline static field literals test(bench): verify benchmark fixture equivalence fix(gobencher): build prepared native data in C feat(gobencher): pair elevatorpitch bar colors test(gobencher): verify production benchmark output feat(gobencher): add public C comparison path feat(gobencher): add raw c benchmark semantics feat(bench): add pure c production benchmark modes fix(gobencher): use prebuilt c path for go comparison chore(repo): add clang-format and ignore .out files fix(bench): align production benchmark semantics feat(bench): add explicit production benchmark families perf(kvfmt): cache layouts and collapse console scans perf(fields): trim constructor trust scans perf(bench): precompute production field metadata perf(kvfmt): emit formatted fields directly perf(with): cache rendered field prefixes fix(gobencher): use single-call prepared compare path feat(examples): add single-file example app fix(examples): use adaptive color by default refactor(examples): use direct pslog api in sample app docs(api): add comprehensive public header comments feat(runtime): make shared logging thread-safe perf(console): cache repeated field prefixes perf(console): cut redundant color resets perf(core): cache double formatting results test(bench): add rebaseline workflow and regressions feat(bench): add optional liblogger comparisons fix(bench): fetch jansson for optional liblogger chore(bench): drop obsolete liblogger patch feat(gobencher): auto-detect liblogger helper perf(jsoncolor): cache colored json fragments perf(console): cache formatted kv prefixes refactor(runtime): split output locking and fix json timestamp zones feat(time): cache per-second logger timestamps refactor(runtime): stream chunked writes under lazy output lock build(cmake): add clang-format target build(cmake): add format target alias chore(repo): apply formatting and refresh benchmark assets test(c89): restore snprintf declaration for tests build(cmake): add linux cross-build presets build(scripts): add linux release matrix runner docs(readme): rewrite project documentation feat(api): export built-in palette symbols feat(api): add withf derived logger support docs(api): expand with and withf header comments build(package): include license and readme in archives build(release): generate dist checksums fix(docs): correct verbose_fields scope docs(api): tighten verbose_fields wording fix(json): validate emitted lines in tests build(bench): add performance gate script chore(repo): commit pending demo and docs updates chore(docs): update readme artifacts fix(runtime): address reviewed p1 issues fix(output): address reviewed p2 issues test(runtime): add pure c allocation gate build(packaging): normalize release tarball docs layout fix(console): align ansi boundaries with go parity feat(logging): add errno rendering and c89 tooling fix(bench): restore real timestamp generation perf(console): cache value color in prepared prefixes test(coverage): add coverage workflow and broaden c coverage fix(api): make free fatalf and panicf terminate fix(core): harden kvfmt and output invariants perf(core): recover hot-path benchmark margins fix(kvfmt): guard pointer cache against shorter buffers perf(core): rebalance kvfmt and console caches docs(bench): track benchmark logs in performance-logs feat(gobencher): add c kvfmt compare path perf(gobencher): optimize c kvfmt benchmark path fix(core): harden output callbacks and restore perf gate fix(packaging): verify cross-target runtime archives