• 1.2.2 74c0c2a486

    1.2.2
    All checks were successful
    Run Tests / test (pull_request) Successful in 1m9s
    Run Tests / test (push) Successful in 1m10s
    Publish Package to npmjs / build (release) Successful in 55s
    Stable

    mburchard released this 2026-02-26 11:31:56 +00:00 | 0 commits to main since this release

    Logging 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 Error object matching with robust message/object matching.
    • Deduplicated repeated SQLite log entry assertions.

    Other Changes

    • Update dependencies
    • Bump version to 1.2.2
    Downloads
  • 1.2.1 2c810116be

    1.2.1
    All checks were successful
    Run Tests / test (pull_request) Successful in 1m8s
    Run Tests / test (push) Successful in 1m7s
    Publish Package to npmjs / build (release) Successful in 52s
    Stable

    mburchard released this 2026-02-25 20:02:04 +00:00 | 9 commits to main since this release

    Source Map Resolution: Explicit Configuration

    Source map resolution now uses an explicit opt-in API instead of auto-detecting @jridgewell/trace-mapping via dynamic import(). 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
  • 1.2.0 96a793d01a

    1.2.0
    All checks were successful
    Run Tests / test (pull_request) Successful in 1m1s
    Run Tests / test (push) Successful in 59s
    Publish Package to npmjs / build (release) Successful in 54s
    Stable

    mburchard released this 2026-02-25 13:18:22 +00:00 | 11 commits to main since this release

    What's New

    SQLiteAppender

    New appender that stores log events in an SQLite database. Requires better-sqlite3 as optional peer dependency (loaded dynamically).
    Includes close() method for clean shutdown.

    Source Map Resolution

    Automatic call-site resolution for bundled environments (Vite, Webpack, esbuild). Uses @jridgewell/trace-mapping as optional peer dependency.
    Works in browsers, Electron, Tauri's WebView and Node.js.

    Call Site Offset

    New callSiteOffset option 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
  • 1.1.0 3eea91cddb

    1.1.0
    All checks were successful
    Run Tests / test (pull_request) Successful in 1m1s
    Run Tests / test (push) Successful in 1m2s
    Publish Package to npmjs / build (release) Successful in 53s
    Stable

    mburchard released this 2026-02-23 16:58:45 +00:00 | 21 commits to main since this release

    Version 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
  • 1.0.0 4d8d3e62f1

    1.0.0
    All checks were successful
    Run Tests / test (push) Successful in 59s
    Publish Package to npmjs / build (release) Successful in 53s
    Stable

    mburchard released this 2026-02-09 23:22:39 +00:00 | 22 commits to main since this release

    bit-log v1.0.0

    1.0 release of bit-log with 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.json introduced to include spec/test files in type-checking.
      • Test assertions were tightened where previous checks were weak/smoke-like.
    • 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.
    • Project metadata updates

      • Package metadata updated to the Forge host/repository paths.

    Validation

    Release candidate branch passed:

    • pnpm run typecheck
    • pnpm test -- --run
    • pnpm run coverage
    Downloads
  • 0.8.10 320fef8d96

    0.8.10
    All checks were successful
    Publish Package to npmjs / build (release) Successful in 1m0s
    Run Tests / test (pull_request) Successful in 1m18s
    Stable

    mburchard released this 2025-12-11 15:52:34 +00:00 | 36 commits to main since this release

    Migrate from GitHub to Forgejo and update some Dependencies

    Downloads
  • 0.8.8 2797fbb551

    0.8.8 Stable

    MBurchard released this 2025-11-17 12:48:04 +00:00 | 56 commits to main since this release

    Downloads
  • 0.8.7 0a1118f398

    0.8.7 Stable

    MBurchard released this 2025-11-06 23:19:29 +00:00 | 58 commits to main since this release

    Downloads
  • 0.8.6 fecb896bba

    0.8.6 Stable

    MBurchard released this 2025-10-21 11:53:14 +00:00 | 60 commits to main since this release

    Downloads
  • 0.8.5 5c3a030273

    0.8.5 Stable

    MBurchard released this 2025-09-10 06:39:13 +00:00 | 63 commits to main since this release

    Downloads