pyjson5 is a Python implementation of the JSON5 data format, providing a reader and writer similar to Python’s standard `json` API. It’s useful when you need JSON5 features like JavaScript-style comments, unquoted identifier keys, trailing commas, and single-quoted or multi-line strings (with the project noting it can be very slow).
Project status
- Actively maintained: Yes, based on very recent updates (last upstream push on 2026-10-14) and multiple versioned updates in October 2026, including v0.17.2 and v0.17.3.
- Cadence: The source shows short-interval activity, with updates clustered around 2026-10-08 to 2026-10-09, and the prior notable update series in mid-to-late 2026 (e.g., v0.15.0 on 2026-06-19, then v0.16.0 on 2026-10-08). This suggests an evolving cadence rather than a long quiet period.
AI summary generated
Recent updates
v0.17.3
v0.17.3 updates the package version metadata and makes a dependency-related change focused on pulling in a security update. The only code-diff substantive change is bumping the indirect dev dependency urllib3 from 2.7.0 to 2.8.0, along with corresponding lockfile and tooling configuration updates.
Securityv0.17.2
v0.17.2 has no published release notes. The code diff indicates this version primarily updates developer tooling and project infrastructure (CI workflow, packaging metadata, uv-based tooling, and the ./run wrapper script), with only a minimal library-level change visible (version bump).
Breakingv0.16.0
v0.16.0 contains multiple JSON5 parsing and compliance fixes, plus adjustments around string literal handling and how the `start` parameter is treated by `load()`. The publisher release notes were not provided in the release metadata, so the changes appear primarily in the README version history and in the code diff.
BreakingFeaturesv0.15.0
Version v0.15.0 was published on 2026-06-19. The publisher did not provide release notes, so there is no documented information about new functionality, bug fixes, breaking changes, or dependency updates.
list
This release updates json5 to version 0.15.0 and includes a functional change to numeric parsing, specifically adding support for signed hexadecimal literals (for example, -0x1f, +0xff). The code also updates type annotations and refreshes the lockfile (uv.lock), but no public API parameter changes are visible in the diff.
v0.14.0
Release v0.14.0 primarily updates packaging metadata and development tooling configuration, along with a dependency lockfile refresh. The only user-facing code touch visible in the diff is minor CLI help text formatting, while a larger portion of the diff is build configuration and dev tooling (including a reworked `format` command).
v0.13.0
v0.13.0 primarily updates project configuration and development tooling to add Python 3.14 support and broaden the CI test matrix. The actual runtime library code changes are very small (mostly typing and version metadata), but developer tooling behavior and packaging configuration were modified.
SecurityFeaturesv0.12.1
Release v0.12.1 was published on 2025-08-12, but the publisher did not provide any release notes or change log details. Without documented changes, it is not possible to identify new features, breaking changes, bug fixes, or security/performance updates from the provided information alone.
v0.12.0
v0.12.0 primarily updates developer tooling and build configuration (CI, linting configuration, and dev dependency versions) while keeping the json5 runtime target at Python 3.8+. The only runtime-code change is a refactor of the internal object-dictification path in json5/lib.py related to how duplicate keys are handled when parsing objects.
v0.11.0
v0.11.0 adds a new top-level `json5.parse()` API and extends parsing controls with new `consume_trailing` and `start` parameters on `load`, `loads`, and `parse`. It also fixes number parsing to reject invalid repeated-sign inputs like `--4` and updates development tooling and dev dependency versions.
Featuresv0.10.0
The publisher release notes for v0.10.0 are empty, but the code diff shows a significant refactor of the encoding pipeline and several CLI and API surface changes. In particular, the project introduces a new JSON5Encoder/QuoteStyle-based encoding model, updates the command-line interface, and changes Host/tool internals.
Breakingv0.9.28
No publisher release notes were provided for v0.9.28. The code diff shows this release primarily updates CI configuration (adds Python 3.13), bumps the package version to 0.9.28, and refreshes development tool dependencies in pyproject.toml.
v0.9.27
v0.9.27 primarily contains housekeeping changes. The code diff shows a version string bump and a small README typo fix, with no functional library logic changes.
v0.9.26
v0.9.26 adds a new `strict` parameter to JSON5 parsing, wiring it through the grammar to control whether control characters (\x00-\x1f, such as literal newlines inside strings) are permitted. The release also regenerates the parser with a newer glop version and significantly updates the repository tooling (README, `run` script, and dev dependency configuration).
Featuresv0.9.25
Release v0.9.25 was published on 2024-04-12, but the publisher provided no release notes. No specific new features, fixes, or breaking changes are documented in the provided material, so upgrade impact cannot be determined from these notes alone.