Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@

7.1.1 / 2026-09-23
==================

* fix: include the JSON decoder's line and column in ``JSONReadError``, ``StringReadError``, and ``URLReadError`` messages, so the CLI reports where the input breaks instead of only that it is invalid
* fix: accept a UTF-8 byte order mark in file, URL, string, and stdin JSON input
* chore: fix the diagnostics ty 0.0.83 reports in tests and make the list-omission test compare its result

7.1.0 / 2026-09-03
==================

Expand Down
26 changes: 26 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
# json2xml 7.1.1

Released 2026-09-23.

## Highlights

- Reader errors now carry the JSON decoder's line and column, so `json2xml-py` says where a document breaks: `Invalid JSON File: Expecting ',' delimiter: line 372 column 3 (char 8920)`.
- A UTF-8 byte order mark, as written by PowerShell and Notepad, no longer makes file, URL, string, or stdin input fail as invalid JSON.
- The test suite type-checks cleanly under ty 0.0.83.

## Behaviour changes and migration guidance

- `JSONReadError`, `StringReadError`, and `URLReadError` messages keep their existing prefixes and append the decoder message after a colon. Callers matching on the prefix are unaffected; callers comparing whole messages should match on the prefix.
- A leading U+FEFF in string input is dropped before parsing. No other input handling changed.

## Package Versions

- Python package: `json2xml==7.1.1`
- Rust accelerator: `json2xml-rs==0.6.0` (unchanged)
- Fast install: `pip install "json2xml[fast]==7.1.1"`

## Verification

The release passed Ruff, ty 0.0.83, and 658 Python tests with 100% statement coverage on CPython and PyPy 3.10. No Rust sources changed.


# json2xml 7.1.0

Released 2026-09-03.
Expand Down
2 changes: 1 addition & 1 deletion json2xml/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

__author__ = """Vinit Kumar"""
__email__ = "mail@vinitkumar.me"
__version__ = "7.1.0"
__version__ = "7.1.1"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "json2xml"
version = "7.1.0"
version = "7.1.1"
description = "Simple Python Library to convert JSON to XML"
readme = "README.rst"
requires-python = ">=3.10"
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading