diff --git a/.changeset/tidy-pugs-repeat.md b/.changeset/tidy-pugs-repeat.md deleted file mode 100644 index 796e3ea4..00000000 --- a/.changeset/tidy-pugs-repeat.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -"@smooai/logger": minor ---- - -Fix Python log-level wire parity with the TS/Go/Rust/.NET ports, and add a golden-vector parity corpus. - -**BREAKING for Python consumers that read the `level` field.** The Python port -was the sole outlier across the five implementations: it emitted a lowercase -string in `level` (`"info"`) and never emitted `LogLevel` at all. Every other -port emits both fields. Python now matches: - -| field | value | -| ---------- | -------------------------------------- | -| `level` | pino-compatible **numeric** (info = 30) | -| `LogLevel` | canonical lowercase **string** (`"info"`) | - -Migration for Python consumers: anything asserting `record["level"] == "info"` -should read `record["LogLevel"] == "info"` instead. The numeric codes were -already defined in `level_to_code()` (trace=10 … fatal=60) and are unchanged; -they were simply never written to the record. - -Also adds `parity-corpus.json` — a committed golden-vector corpus pinning the -exact `level`/`LogLevel` pair every port must emit for all six levels, asserted -by the TypeScript (`src/parity-corpus.spec.ts`) and Python -(`python/tests/test_parity_corpus.py`) suites so drift fails the build. -Follows the ADR-089 pattern used by `@smooai/audit`. diff --git a/CHANGELOG.md b/CHANGELOG.md index 37fc7793..d95f2cbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # @smooai/logger +## 4.2.0 + +### Minor Changes + +- ddf9461: Fix Python log-level wire parity with the TS/Go/Rust/.NET ports, and add a golden-vector parity corpus. + + **BREAKING for Python consumers that read the `level` field.** The Python port + was the sole outlier across the five implementations: it emitted a lowercase + string in `level` (`"info"`) and never emitted `LogLevel` at all. Every other + port emits both fields. Python now matches: + + | field | value | + | ---------- | ----------------------------------------- | + | `level` | pino-compatible **numeric** (info = 30) | + | `LogLevel` | canonical lowercase **string** (`"info"`) | + + Migration for Python consumers: anything asserting `record["level"] == "info"` + should read `record["LogLevel"] == "info"` instead. The numeric codes were + already defined in `level_to_code()` (trace=10 … fatal=60) and are unchanged; + they were simply never written to the record. + + Also adds `parity-corpus.json` — a committed golden-vector corpus pinning the + exact `level`/`LogLevel` pair every port must emit for all six levels, asserted + by the TypeScript (`src/parity-corpus.spec.ts`) and Python + (`python/tests/test_parity_corpus.py`) suites so drift fails the build. + Follows the ADR-089 pattern used by `@smooai/audit`. + ## 4.1.11 ### Patch Changes @@ -175,22 +202,26 @@ This release transforms `@smooai/logger` into a comprehensive multi-language logging ecosystem: ### 🐍 Python Package (`smooai-logger`) + - Available on PyPI as `smooai-logger` - Full Python implementation with identical API to TypeScript version - Synchronized versioning with npm package ### 🦀 Rust Crate (`smooai-logger`) + - Available on crates.io as `smooai-logger` - Native Rust logging implementation - Synchronized versioning with npm package ### 📊 Log Viewer CLI (`smooai-log-viewer`) + - Interactive GUI application for viewing `.smooai-logs` files - Available as CLI command when installing npm package: `smooai-log-viewer` - Cross-platform native binaries bundled with package - Features filtering, searching, JSON expansion, and context viewing ### 🔄 Automated Publishing Pipeline + - Single changesets release now publishes to npm, PyPI, and crates.io - Automatic version synchronization across all packages - Enhanced CI/CD workflow for multi-language support diff --git a/package.json b/package.json index 069ab2cf..4245054d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@smooai/logger", - "version": "4.1.11", + "version": "4.2.0", "description": "A powerful contextual logging system designed for AWS Lambda and Browser environments, with built-in support for structured logging, correlation tracking, and automatic context gathering.", "homepage": "https://github.com/SmooAI/logger#readme", "bugs": {