All notable changes to pytest-html-plus are documented here.
Format follows Keep a Changelog. Versions follow Semantic Versioning.
Changes merged to main but not yet released.
1.1.0 — 2026-06-10
- Universal search now indexes error messages and trace snippets in addition to test names and linked references.
- Users can quickly locate related failures by searching for exception names, assertion text, or custom error messages.
- Updated README and documentation examples for universal search and traceability.
- Addressed security and reliability issues identified by CodeQL analysis.
- Improved report generation robustness and resolved minor quality issues highlighted during static analysis.
- Bumped version to
1.1.0inpyproject.tomlanddocs/conf.py.
1.0.1 — 2026-05-07
- Merged
pytest-htmland Allure comparison tables into a single three-way table inREADME.md, placed early for maximum visibility. Removed the redundantvs Alluresection at the bottom. CONTRIBUTING.mdnow referencesmaketargets throughout instead of duplicating rawpoetry runcommands. Ad-hoc commands (single file, single test by name) use a{{placeholder}}template pattern.
test-with-xdistMakefile target had a doublepoetry runthat caused it to fail.cleanMakefile target referenced an undefined$(REPORTS_DIR)variable.install-formatterMakefile target used barepip install pre-commitinstead ofpoetry run pre-commit install.
distMakefile target (poetry build) for building the distribution package.- GitHub Actions publish workflow (
publish.yml) — manually triggered viaworkflow_dispatch, builds withmake dist, and publishes to PyPI using Twine withTWINE_PASSWORDsecret.
- Bumped version to
1.0.1inpyproject.tomlanddocs/conf.py.
1.0.0 — 2026-04-12
- Reusable configuration profiles — define named profiles (e.g.
ci,ci-warnings) inpyproject.tomlunder[tool.pytest-html-plus.profiles.*]and activate them with--profile=<name>. Eliminates the need to repeat flags across CI jobs.
- Marked as Production/Stable (
Development Status :: 5 - Production/Stable) in PyPI classifiers.
0.5.2 — 2026-04-04
- Multiple code quality improvements across the codebase (unused variables, import cleanup, lint violations).
- Applied Copilot Autofix suggestion to
json_merge.py.
- Updated CI workflows for Windows and Linux unit tests.
- Bumped
requests,black, andcryptographydependencies.
0.5.1 — 2026-03-29
- Tech debt: resolved all outstanding lint issues flagged by ruff.
- OSS best practices: standardized GitHub Actions workflow structure.
- Updated ReadTheDocs documentation.
0.5.0 — 2026-02-06
- VSCode Extension —
pytest-html-plus-vscodepublished to the VS Code Marketplace. Run tests and view rich HTML reports directly inside VS Code.
0.4.9 — 2026-01-16
- Reverted v0.4.8 regression; re-applied stable fix.
0.4.7 — 2026-01-04
- Dependency and compatibility updates.
0.4.6 — 2025-12-29
- Dependency and compatibility updates.
0.4.5 — 2025-12-03
- Documented and improved automatic screenshot attachment flow — screenshots are now captured and embedded without any hook code.
0.4.4 — 2025-11-22
- Stability and dependency updates.
0.4.3 — 2025-11-12
- Stability and dependency updates.
0.4.2 — 2025-10-30
- Documentation and version metadata updates.
0.4.1 — 2025-09-18
- Full usage documentation published to ReadTheDocs.
0.4.0 — 2025-08-23
- GitHub Actions Marketplace —
pytest-html-plus-actionpublished. Generate rich reports in CI without manually managing dependencies.
0.3.9 — 2025-08-15
- Documentation updates and link fixes.
0.3.7 — 2025-07-27
- ReadTheDocs documentation site set up at
pytest-html-plus.readthedocs.io.
- Screenshot filename mismatch — screenshots were not being attached to the correct test in the report when test names differed from screenshot filenames (#121).
- Screenshot not attached when sending reports via email.
0.3.4 — 2025-07-16
- Package renamed to
pytest-html-plus(previously published under a different name). Update yourpip installcommand accordingly.
0.3.3 — 2025-07-12
- Email report screenshots attachment bug.
0.3.2 — 2025-07-09
- Stability improvements.
0.3.1 — 2025-07-07
- Unlinked test detection — filter and highlight tests that have no associated issue or documentation link.
- Auto-driver detection — Selenium/Playwright driver properties are detected automatically; no need to pass the automation tool name manually.
- Error messages now highlighted in red within the report cell for faster scanning.
- Responsive screenshot alignment with fixed dimensions.
OPEN_REPORTenvironment variable — automatically open the HTML report after a test run.
0.2.9 — 2025-06-21
- Universal test search — filter tests in real time by test name, linked issue ID, or any URL keyword.
- Flaky test filter — show only flaky tests with one click.
0.2.8 — 2025-06-18
- Removed
--verbosedependency; package footprint reduced.
0.2.7 — 2025-06-18
- Report layout alignment — all metadata and result columns consistently aligned.
0.2.6 — 2025-06-12
- Code coverage reporting integrated with Codecov; coverage badge added to README.
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdadded.
0.2.5 — 2025-06-06
- Expanded unit test suite with broader coverage.
0.2.3 — 2025-06-05
- Dynamic markers — tag tests at runtime using standard
pytest.mark.*(e.g.api,critical,slow) without predefining markers. Tags are rendered and filterable in the report. - Traceability links — attach Jira, Testmo, Notion, or any URL to a test; links are rendered in the report and searchable.
0.2.1 — 2025-06-04
- Slow test highlighting — the slowest tests in a run are automatically identified and flagged.
- Copy-to-clipboard — copy test path, logs, traces, and errors with a single click for fast sharing.
- Run metadata — branch, commit SHA, environment, and custom metadata embedded in report header.
- Single-file self-contained HTML report generated from pytest JSON output.
- Flaky test detection — tests that fail then pass on retry are marked as flaky with full retry history.
- Screenshot support — Selenium and Playwright screenshots automatically captured and embedded; no conftest hooks required.
- Email reports — send reports via SendGrid integration using
--send-email. - xdist support — parallel test runs with
pytest-xdistproduce a single merged report. - Comprehensive log capture —
print(), logger output, stdout/stderr all embedded per test. - JUnit XML export — merged XML output compatible with TestRail, Xray, and Zephyr; one flag, no extra plugins.