Changelog¶
This document records all notable changes to Xul.
3.1.0 (2025-10-12)¶
Added
--countoption to xp: only print the number of selected nodes.Last Python 3.9 release.
3.0.0 (2025-01-27)¶
Drop support for Python < 3.9.
xp: fix boolean result (Python >= 3.12).
xp: fix string result representation (Python 3).
xp: improved printing of namespaces.
transform: syntax highlighting for terminal output.
transform: added
--no-syntaxoption for terminal output.transform: removed
--xsl-outputoption (always for--file).Fixed encoding issues.
Clearer error messages.
Improved documentation; grouped CLI options.
Code checks: ruff, black, isort, mypy (GitHub Action).
Test script for local testing with Docker Compose.
Removed legacy code.
Typing.
Updated Sphinx configuration; Furo theme.
Output formatting (f-strings).
2.5.1 (2024-12-26)¶
Catch UnicodeDecodeError (Python 3).
2.5.0 (2024-12-25)¶
Documentation updates.
Tested on Python 3.11, 3.12, 3.13.
transform: honor
--filewith a non-XML result.
2.4.2 (2024-12-15)¶
Moved to GitHub.
Read the Docs configuration.
Migrated to pyproject.toml.
2.4.1 (2022-02-14)¶
Fixed Changelog URL.
2.4.0 (2022-02-14)¶
2.3.0 (2021-01-28)¶
Added
--invalidated-filesoption to validate: only print names of invalidated files.Added
--validated-filesoption to validate: only print names of validated XML files.xp:
--files-with-hitsand--files-without-hitsoptions are mutually exclusive.Consistent broken pipes
errno.EPIPEexit status (Python 2).
2.2.1 (2021-01-14)¶
xp
--pretty-elementfix: output multiple results to a pipe (Python 2).
2.2.0 (2020-10-07)¶
xp: handle NaN [1] result as a false result (
--files-with|without-hits).Renamed xp
--files-without-resultsoption to--files-without-hits: only print names of files with a false or NaN [1] result, or without any results.Renamed xp
--files-with-resultsoption to--files-with-hits: only print names of files with a non-false and non-NaN [1] result.Added
--relaxngoption to validate: validate an XML source with RELAX NG.Refactored validate script.
README: documentation is on Read The Docs.
2.1.0 (2020-09-09)¶
2.0.3 (2020-06-10)¶
Fix output encoding when piping output to a pager like less (Python 2).
2.0.2 (2020-05-31)¶
Fix: removed encoding from Pygments formatter so highlight returns Unicode strings.
2.0.1 (2020-03-08)¶
Added “syntax” install extra (Pygments):
pip install Xul[syntax]
2.0.0 (2020-03-07)¶
Open sourced Xul.
Footnotes