v3.21
Added
-
Job selectable differs: The differ, i.e. the method by which changes are detected and summarized, can now be
selected job by job. Also gone is the restriction to have only unified diffs, HTML table diff, or calling an outside
executable, as differs have become modular.- Python programmers can write their own custom differs using the
hooks.py
file. - Backward-compatibility is preserved, so your current jobs will continue to work.
- Python programmers can write their own custom differs using the
-
New differs:
difflib
to report element-by-element changes in JSON or XML structured data.imagediff
(BETA) to report an image showing changes in an image being tracked.ai_google
(BETA) to use a Generative AI provide a summary of changes (free API key required). We use
Google's Gemini Pro 1.5 since it is the first model that can ingest 1M tokens, allowing to analyze changes in
long documents (up to 350,000 words, or about 700 pages single-spaced) such as terms and conditions, privacy
policies, etc. where summarization adds the most value and which other models can't handle. The differ can call
the Gen AI model to summarize a unified diff or to find and summarize the differences itself. Also supported is
Gemini 1.0, but it can handle a lower number of tokens.
Changed
- Filter
absolute_links
now converts URLs of theaction
,href
andsrc
attributes in any HTML tag, as
well as thedata
attribute of the<object>
tag; it previously converted only thehref
attribute of
<a>
tags. - Updated explanatory text and error messages for increased clarity.
- You can now select jobs to run by using its url/command instead of its number, e.g.
webchanges https://test.com
is
just as valid aswebchanges 1
.
Deprecated
- Job directive
diff_tool
. Replaced with thecommand
differ (seehere <https://webchanges.readthedocs.io/en/stable/differs.html#command_diff>
__.
Fixed
webchanges --errors
will no longer check jobs who havedisabled: true
(thanks toyubiuser <https://github.com/yubiuser>
__ for reporting this in issue# 73 <https://github.com/mborsetti/webchanges/issues/73>
__).- Markdown links with no text were not clickable when converted to HTML; conversion now adds a 'Link without text'
label.
Internals
- Improved speed of creating a unified diff for an HTML report.
- Reduced excessive logging from
httpx
's sub-moduleshpack
andhttpcore
when running with-vv
.