NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #977 most downloaded on PyPI
pytest plugin for generating HTML reports
Last release 8 months ago
19 Jan 2026
Ships unpredictably
gaps range from 9 days to 2.2 years
Nearly every release is documented
notes for 49 of 50 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
59 releases · first in 2015
fix: Extras from setup/teardown missing in report by @BeyondEvil in #784
Note truncated.
One column per quarter.
fix: Latest eslint is broken ( #769 ) @BeyondEvil
Fix original initial sort INI-setting.
Thanks to @sturmf for reporting.
Release v4.1.0 ( #761 ) @BeyondEvil
Fix typo (“ge” instead of “get”) in green Reload button in report file.
Fix results table modification documentation.
Thanks to @michalkaptur for the reporting and PR.
Fix broken duration.
Revert report generation to full run.
Add collections errors to report.
Fix escaping HTML in the log.
fix: Revert report generation to full run
fix: Revert report generation to full run
fix: Remove the unserializable cleanup
Fix: Use absolute path for the report (#735) @adrien-berchet
Use absolute path to the report file.
Thanks to @adrien-berchet for reporting and for the PR.
fix: Incorrect label for xfailed (#733) @BeyondEvil
Fix incorrectly labeled outcome.
Thanks to @lodagro for reporting
Docs: Fix deprecations page title [skip ci] (#645) @BeyondEvil
This release is the result of more than two years of rewrites.
We’ve tried our best to keep this release backwards-compatible with v3.
If you find something that seems to be a regression, please consult the documentation first, before filing an issue.
Thanks to all the users who have contributed with ideas, solutions and beta-testing. You’re too many to name, but you know who you are.
A special thanks to @drRedflint and @jeffwright13 for all the javascript and testing respectively.
Co-authored-by: Viktor Gustafsson vgustafsson@planview.com
Co-authored-by: Viktor Gustafsson vgustafsson@planview.com
Co-authored-by: Viktor Gustafsson vgustafsson@planview.com
Co-authored-by: Viktor Gustafsson vgustafsson@planview.com
Feature: Update json-data-blob
Feature: Update json-data-blob (#704)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Revert "Rename master branch to main" (#562) @BeyondEvil
Explicitly add py.xml dependency.
Thanks to @smartEBL for the PR
Implement the visible URL query parameter to control visibility of test results on page load. ( #399 )
Thanks to @TheCorp for reporting and @gnikonorov for the fix
Make the report tab title reflect the report name. ( #412 )
Thanks to @gnikonorov for the PR
Implement environment_table_redact_list to allow for redaction of environment table values. ( #233 )
Thanks to @fenchu for reporting and @gnikonorov for the PR
Fix issue with reporting of missing CSS files.
Fix issue with reporting of missing CSS files. ( #388 )
Thanks to @prakhargurunani for reporting and fixing!
Stop attaching test reruns to final test report entries
Stop attaching test reruns to final test report entries ( #374 )
Thanks to @VladimirPodolyan for reporting and @gnikonorov for the fix
Allow for report duration formatting ( #376 )
Thanks to @brettnolan for reporting and @gnikonorov for the fix
Respect --capture=no, --show-capture=no, and -s pytest flags
Respect --capture=no , --show-capture=no , and -s pytest flags ( #171 )
Thanks to @bigunyak for reporting and @gnikonorov for the fix
Make the Results table Links column sortable ( #242 )
Thanks to @vashirov for reporting and @gnikonorov for the fix
Fix issue with missing image or video in extras. ( #265 and pytest-selenium#237 )
Thanks to @p00j4 and @anothermattbrown for reporting and @christiansandberg and @superdodd and @dhalperi for the fix
Fix attribute name for compatibility with pytest-xdist 2. ( #305 )
Thanks to @Zac-HD for the fix
Post process HTML generation to allow teardown to appear in the HTML output. ( #131 )
Thanks to @iwanb for reporting and @csm10495 for the fix
- Fix issue with funcargs causing failures.
Fix issue with funcargs causing failures. ( #282 )
Thanks to @ssbarnea for reporting and @christiansandberg for the fix
- Added support for MP4 video format.
Added support for MP4 video format. ( #260 )
Thanks to @ExaltedBagel for the PR
Added support for sorting metadata by key. ( #245 )
Thanks to @ssbarnea for reporting and @ExaltedBagel for the fix
Added support for rendering reports collapsed ( #239 )
Thanks to @Wramberg for suggesting this enhancement
Added extra fixture ( #269 )
Thanks to @christiansandberg for the PR
Added ability to change report title using hook ( #270 )
Thanks to @werdeil for the PR
- Properly check for presence of CSS file.
Properly check for presence of CSS file. ( #246 )
Thanks to @wanam for reporting, and @krzysztof-pawlik-gat for the fix
Added support for UTF-8 display. ( #244 )
Thanks to @Izhu666 for the PR
Fix initial sort on column. ( #247 )
Thanks to @wanam for reporting and fixing
- Drop support for Python 2.7. We will continue to accept patches to 1.22.x for the time being.
Drop support for Python 2.7. We will continue to accept patches to 1.22.x for the time being.
Thanks to @hugovk for the PR
Nothing published for this version
- Refactor assets naming to be more readable and OS safe.
Refactor assets naming to be more readable and OS safe.
This solves multiple reported issues, mainly from Windows users.
Thanks to @franz-95 and @Uil2Liv for reporting and testing fixes.
Add line break to log section of the report.
Thanks to @borntyping for reporting and fixing!
- Fix issue with assets filenames being too long.
Fix issue with assets filenames being too long.
Thanks to @D3X for reporting and providing a fix
- Allow opening generated html report in browser ( @ssbarnea )
Allow opening generated html report in browser ( @ssbarnea )
Handle when report title is stored as an environment variable ( @BeyondEvil )
Change assets naming method ( @SunInJuly )
- Tests running with Pytest 4.0 and Python 3.7
Tests running with Pytest 4.0 and Python 3.7
Stop filtering out falsy environment values ( #175 )
Thanks to @jknotts for reporting the issue and to @crazymerlyn for providing a fix
Removed extraneous space from anchor tag ( @chardbury )
Always define version even if get_distribution() fails ( @nicoddemus )
Refactor css config code ( @crazymerlyn )
- Allow collapsed outcomes to be configured by using a query parameter
Allow collapsed outcomes to be configured by using a query parameter
Thanks to @Formartha for suggesting this enhancement and to @jacebrowning for providing a patch
- Preserve the order if metadata is OrderedDict
Preserve the order if metadata is OrderedDict
Thanks to @jacebrowning for suggesting this enhancement and providing a patch
- Thanks to @APshenkin for reporting the issue and to @i-am-david-fernandez for providing a fix
Add support for custom CSS ( #116 )
Thanks to @APshenkin for reporting the issue and to @i-am-david-fernandez for providing a fix
Report collection errors ( #148 )
Thanks to @Formartha for reporting the issue
Add hook for modifying summary section ( #109 )
Thanks to @shreyashah for reporting the issue and to @j19sch for providing a fix
Add filename to report as heading
Thanks to @j19sch for the PR
- Fix for including screenshots on Windows
Fix for including screenshots on Windows ( #124 )
Thanks to @ngavrish for reporting the issue and to @pinkie1378 for providing a fix
- Improve rendering of collections in metadata ( @rasmuspeders1 )
Improve rendering of collections in metadata ( @rasmuspeders1 )
- Always decode byte string in extra text
Always decode byte string in extra text
Thanks to @ch-t for reporting the issue and providing a fix
- Fix pytest dependency to 3.0 or later
Fix pytest dependency to 3.0 or later
Thanks to @silvana-i for reporting the issue and to @nicoddemus for providing a fix
- Fix encoding issue in longrepr values
Fix encoding issue in longrepr values
Thanks to @tomga for reporting the issue and providing a fix
Add ability to specify images as file or URL
Thanks to @BeyondEvil for the PR
- Always encode content for data URI
Always encode content for data URI
Thanks to @micheletest and @BeyondEvil for reporting the issue and confirming the fix
- Present metadata without additional formatting to avoid issues due to unpredictable content types
Present metadata without additional formatting to avoid issues due to unpredictable content types
- Add hooks for modifying the test results table
Add hooks for modifying the test results table
Replace environment section with values from pytest-metadata
Fix encoding for asset files
Escape contents of log sections
- Disable ANSI codes support by default due to dependency on ansi2html package with less permissive licensing
Disable ANSI codes support by default due to dependency on ansi2html package with less permissive licensing
- Add support for JPG and SVG images ( @bhzunami )
Add support for JPG and SVG images ( @bhzunami )
Add version number and PyPI link to report header ( @denisra )
- Fix title of checkbox disappearing when unchecked ( @vashirov )
Fix title of checkbox disappearing when unchecked ( @vashirov )
- Add support for ANSI codes in logs ( @premkarat )
Add support for ANSI codes in logs ( @premkarat )
- Fix corrupt image asset files
Fix corrupt image asset files
Remove image links from self-contained report
Fix issue with unexpected passes not being reported in pytest 3.0
Nothing published for this version
- Hide filter checkboxes when JavaScript is disabled ( @RibeiroAna )
Hide filter checkboxes when JavaScript is disabled ( @RibeiroAna )
Removed rerun outcome unless the plugin is active ( @RibeiroAna )
Introduce --self-contained-html option to store CSS and assets inline ( @RibeiroAna )
Save images, text, and JSON extras as files in an assets directory ( @RibeiroAna )
Use an external CSS file ( @RibeiroAna )
Set initial sort order in the HTML ( @RibeiroAna )
Allow visibility of extra details to be toggled ( @leitzler )
- Split pytest_sessionfinish into generate and save methods ( @karandesai-96 )
Split pytest_sessionfinish into generate and save methods ( @karandesai-96 )
Show tests rerun by pytest-rerunfailures plugin ( @RibeiroAna )
Added a feature to filter tests by outcome ( @RibeiroAna )
- Include captured output for passing tests
Include captured output for passing tests
- Remove duplication from the environment section
Remove duplication from the environment section
Dropped support for Python 3.2
Indicated setup and teardown in report
Fixed colour of errors in report
- Fixed INTERNALERROR when an xdist worker crashes ( @The-Compiler )
Fixed INTERNALERROR when an xdist worker crashes ( @The-Compiler )
Added report sections including stdout and stderr to log
- Fixed environment details when using pytest-xdist
Fixed environment details when using pytest-xdist
- Made environment fixture session scoped to avoid repeating content
Made environment fixture session scoped to avoid repeating content
- Replaced custom hook for setting environemnt section with a fixture
Replaced custom hook for setting environemnt section with a fixture
- Dropped support for pytest 2.6
Dropped support for pytest 2.6
Fixed unencodable strings for Python 3 ( @The-Compiler )
- Prevented additional row if log has no content or there is no extra HTML
Prevented additional row if log has no content or there is no extra HTML
- Fixed encoding issue in Python 3
Fixed encoding issue in Python 3
- Show extra content regardless of test result
Show extra content regardless of test result
Added support for extra content in JSON format
- Changed default sort order to test result ( @The-Compiler )
Changed default sort order to test result ( @The-Compiler )
- Added Python 3 support
Added Python 3 support
- Initial release # pytest-html
Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →