-
1.2.2
Stablereleased this
2026-02-26 11:31:56 +00:00 | 0 commits to main since this releaseLogging Stability and Test Hardening
This patch release improves runtime robustness in log level handling and lazy payload evaluation, and hardens the test suite to reduce brittle assertions and timing-related flakiness.
Runtime Behavior
- Log levels are now normalized consistently across logger and appender entry points.
- Invalid log levels now emit a warning instead of being silently accepted.
- Lazy-evaluated log payloads are wrapped as a single payload element to avoid runtime errors in appenders.
Documentation
- Added explicit README documentation for lazy evaluation behavior.
- Clarified stack-trace/source-map comments with time-bound assumptions and cleaner wording.
Test and Quality Improvements
- Replaced fragile file-size assertions with semantic content checks.
- Replaced fixed-delay synchronization (
setTimeout) with robust async waiting. - Replaced brittle exact
Errorobject matching with robust message/object matching. - Deduplicated repeated SQLite log entry assertions.
Other Changes
- Update dependencies
- Bump version to
1.2.2
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.2.1
Stablereleased this
2026-02-25 20:02:04 +00:00 | 9 commits to main since this releaseSource Map Resolution: Explicit Configuration
Source map resolution now uses an explicit opt-in API instead of auto-detecting
@jridgewell/trace-mappingvia dynamicimport(). This prevents bundlers (Vite, Rollup, Webpack) from pulling trace-mapping into the production bundle when source map resolution is not needed.Setup
import {originalPositionFor, TraceMap} from '@jridgewell/trace-mapping'; import {configureSourceMapResolver} from '@mburchard/bit-log'; configureSourceMapResolver(TraceMap, originalPositionFor);Call configureSourceMapResolver() before configureLogging() so the resolver is active from the first log event. Without this call, call sites still work but show compiled positions.
Other Changes
- Upgrade ESLint to v10
- Update dev dependencies
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.2.0
Stablereleased this
2026-02-25 13:18:22 +00:00 | 11 commits to main since this releaseWhat's New
SQLiteAppender
New appender that stores log events in an SQLite database. Requires
better-sqlite3as optional peer dependency (loaded dynamically).
Includesclose()method for clean shutdown.Source Map Resolution
Automatic call-site resolution for bundled environments (Vite, Webpack, esbuild). Uses
@jridgewell/trace-mappingas optional peer dependency.
Works in browsers, Electron, Tauri's WebView and Node.js.Call Site Offset
New
callSiteOffsetoption for logger wrappers. Skips additional stack frames so the call site points to the actual caller instead of the wrapper.
Configurable per logger, inherited from parents.Other Changes
- Upgrade to Node 22
- Extract stack-trace parsing into dedicated module
- Refactor logger.ts for better maintainability
- Add Handling Secrets recipe to README
- Add Reporting Issues section to README
- Update trace-mapping link to active monorepo
Stats
- 261 tests, 100% line and branch coverage
- 21 files changed, ~2300 lines added
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.1.0
Stablereleased this
2026-02-23 16:58:45 +00:00 | 21 commits to main since this releaseVersion 1.1.0
- feat(logger): three-tier call-site resolution — real Error stack, Error.captureStackTrace (V8),
synthetic Error fallback (Safari/WebKit) - fix(logger): prevent @-sign in scoped package paths from being misinterpreted as Safari
stack frame separator - refactor(console-appender): emit single formatted string instead of prefix + spread args
- refactor(base-appender): drop column from call-site display, show file:line only
- test(logger): comprehensive call-site tests covering all three tiers, edge cases and fallbacks
- test(console-appender): adapt assertions to single-string output format
- chore: pin Node.js to 22.22.0 via .npmrc, reorder package.json scripts to workflow order,
update devDependencies
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(logger): three-tier call-site resolution — real Error stack, Error.captureStackTrace (V8),
-
1.0.0
Stablereleased this
2026-02-09 23:22:39 +00:00 | 22 commits to main since this releasebit-log v1.0.0
1.0 release of
bit-logwith improved reliability, stronger test guarantees, and hardened CI/publish flow.Highlights
-
Stable 1.0 baseline
- Core logging behaviour is now validated with stronger branch and edge-case coverage.
-
Call-site handling improved
- Call-site resolution in the logger was reworked to use a more robust stack-frame parsing strategy.
- Better handling of malformed/partial stack data.
- Additional edge-case tests added around call-site extraction.
-
Appender configuration cleanup
- Dynamic appender property application was refactored for clarity and maintainability.
- Reserved config keys are now handled explicitly.
- Root-level comparison logic was normalised to avoid redundant level-change behaviour.
-
FileAppender queue robustness
- Added async/concurrency-focused tests for queued writes.
- Added deterministic failure-path tests (including continued processing after one queued failure).
- Replaced environment-dependent permission test behaviour with deterministic mocked coverage.
-
Typecheck and quality gates hardened
- Dedicated
tsconfig.typecheck.jsonintroduced to include spec/test files in type-checking. - Test assertions were tightened where previous checks were weak/smoke-like.
- Dedicated
-
Forgejo workflow improvements
- CI and publish workflows now support manual triggering (
workflow_dispatch). - Publish workflow performs early npm token validation and fails fast on missing/invalid auth.
- CI and publish workflows now support manual triggering (
-
Project metadata updates
- Package metadata updated to the Forge host/repository paths.
Validation
Release candidate branch passed:
pnpm run typecheckpnpm test -- --runpnpm run coverage
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
0.8.10
Stablereleased this
2025-12-11 15:52:34 +00:00 | 36 commits to main since this releaseMigrate from GitHub to Forgejo and update some Dependencies
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
2 downloads
-
Source code (ZIP)
-
0.8.8 Stable
released this
2025-11-17 12:48:04 +00:00 | 56 commits to main since this releaseWhat's Changed
- chore: Update Dependencies by @MBurchard in https://github.com/MBurchard/bit-log/pull/55
Full Changelog: https://github.com/MBurchard/bit-log/compare/0.8.7...0.8.8
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
0.8.7 Stable
released this
2025-11-06 23:19:29 +00:00 | 58 commits to main since this releaseWhat's Changed
- chore: Update Dependencies by @MBurchard in https://github.com/MBurchard/bit-log/pull/53
Full Changelog: https://github.com/MBurchard/bit-log/compare/0.8.6...0.8.7
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
3 downloads
-
0.8.6 Stable
released this
2025-10-21 11:53:14 +00:00 | 60 commits to main since this releaseWhat's Changed
- Update dependencies by @MBurchard in https://github.com/MBurchard/bit-log/pull/52
Full Changelog: https://github.com/MBurchard/bit-log/compare/0.8.5...0.8.6
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
0 downloads
-
0.8.5 Stable
released this
2025-09-10 06:39:13 +00:00 | 63 commits to main since this releaseWhat's Changed
- Update Dependencies by @MBurchard in https://github.com/MBurchard/bit-log/pull/50
Full Changelog: https://github.com/MBurchard/bit-log/compare/0.8.4...0.8.5
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads