Compatibility
* `freezeyt` is now tested on Python 3.11 and 3.12.
* `freezeyt` is now compatible with Werkzeug 3.0.
Added
* The `Freezeyt-Action` HTTP header can now specify whether (and how) to freeze
a page.
* The `Freezeyt-URL-Finder` HTTP header can now specify whether (and how)
URLs to follow are found on a page.
* `Link` HTTP headers are now followed.
* `--fail-fast` option (`-x`, or `fail_fast` in config): stop freezing after
the first error
* `gh_pages` plugin to simplify publishing to GitHub Pages
* `freezeyt.Middleware`: WSGI middleware that allows using some `freezeyt`
features in dynamic web apps (even when not freezing)
* The application can be specified in configuration, not only as a CLI
argument.
* `freezeyt.VersionMismatch`, the exception raised when the config format
doesn't match the current `freezeyt` version
Changed
* "Status_handlers" were renamed to "actions".
The old name is still available and there are no plans to remove it.
* Backslashes in URL paths of extra files are now converted to forward slashes.
A backslash can be inserted using the `%5c` escape sequence.
Fixed
* The status handler configured for `2xx` now applies to `200 OK` statuses.
* Fixed handling edge cases in paths for extra files.
Deprecated
* Multiple consecutive slashed in `prefix` are merged. `freezeyt` prints a
warning when this happens.
* `freezeyt` now warns when multiple different URLs would be saved to a single
file. There are no guarantees about which of the URLs is saved.