Back to Explore

pinojs/pino

GitHub
1 updates · last 90 daysOpen source

Last release:

Pino is a very low-overhead JavaScript JSON logger built for Node.js, designed to log quickly with minimal impact on application performance. It supports features like child loggers, log redaction, pretty printing for development, and transport-based log processing (such as running log processors in a separate worker). It is useful for developers who want structured JSON logs from Node.js apps and web frameworks.

Project status

  • Actively maintained: The repo shows very recent activity (upstream push on 2026-10-06, with the latest tagged update v10.4.0 on 2026-10-02), indicating ongoing maintenance rather than dormancy.
  • Update cadence: Updates are appearing on the order of weeks to months in 2025-2026 (for example, v10.4.0 on 2026-10-02, then prior transport-related patches around Jan-Feb 2026, and earlier minor releases in Oct 2025).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v10.4.0

    v10.4.0 focuses on improving logging correctness across transports, and adds browser-side capabilities. It introduces browser redaction support plus browser bindings APIs, while also tightening multistream and per-target level handling (including resolving string level labels) and several robustness fixes.

    SecurityFeatures
  • v10.3.1

    v10.3.1 makes a targeted transport fix to sanitize invalid NODE_OPTIONS preloads when pino runs transports in worker threads. It also includes small documentation clarifications around transport level filtering behavior and bumps a couple of development/build dependencies.

  • v10.3.0

    v10.3.0 adds two documented improvements: it refines the TypeScript return type of `multistream().clone()` and it assigns a worker thread name to transport worker threads for easier identification. The code changes also reveal additional type-inference mechanics and specific worker thread naming behavior not fully spelled out in the release notes.

    Features
  • v10.2.1

    v10.2.1 is a targeted patch release for pino's worker transport preload behavior. It aims to prevent ERR_WORKER_INVALID_EXEC_ARGV when monitoring tools or preload mechanisms supply incompatible Node execArgv flags.

  • v10.2.0

    v10.2.0 includes a small TypeScript linting chore and a fix for transport usage when pino is loaded via Node preload flags (for example, node --import ...). The code changes focus on preventing repeated preload execution in transport worker threads, which was causing a memory leak scenario.

  • v10.1.1

    v10.1.1 includes a browser-only feature to optionally attach the user callsite to log output via a new `browser.reportCaller` option, plus multiple TypeScript typing corrections and performance tweaks for newer Node.js versions. It also hardens transport loading against prototype pollution and bumps several build and library dependencies.

    SecurityFeatures
  • v10.1.0

    Release v10.1.0 updates pino to version 10.1.0 and focuses on redaction improvements (switching to @pinojs/redact), TypeScript type safety around censoring, and a small internal symbol cleanup. The release notes also cover lint and packaging tweaks, plus an added isoTimeNano typing in the nested namespace.

    Breaking
  • v9.14.0

    v9.14.0 updates type definitions (LogFnFields), switches the redaction implementation to use @pinojs/redact, and adjusts child logger level initialization to address issues when wrapping log methods (for example, with Sinon). The diff also adds a targeted test to prevent child method reference coupling to its parent.

    Features
  • v10.0.0

    v10.0.0 primarily drops support for Node 18, and includes a TypeScript typing enhancement introducing LogFnFields for module augmentation. The release also modernizes the test suite to use node:test and removes an unused .taprc.yaml.

    BreakingFeatures
  • v9.13.1

    This release is a patch version bump to v9.13.1 with changes focused on TypeScript type definitions for pino logging. The only functional change reflected in the diff is improved generic handling for the LogFn type, plus corresponding type tests, while runtime code remains effectively unchanged.

  • v9.13.0

    v9.13.0 primarily contains build and workflow dependency bumps plus a performance-focused change to child logger creation (Pino .child). The release notes also mention an ecosystem docs update (adding eslint-plugin-pino) and several GitHub Actions version bumps.