Skip to content

Releases: sa6mwa/libpslog

v0.3.1

01 Apr 00:53
eca9bc8

Choose a tag to compare

v0.3.0 Lua binding and release package fix

31 Mar 23:34
51b666f

Choose a tag to compare

Single-file header file

25 Mar 01:02

Choose a tag to compare

Pre-release

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

19 Mar 14:54

Choose a tag to compare

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