Since version 2.28, execution of browser jobs uses Playwright
instead of pyppetteer.
The previously-supported wait_until values of
networkidle0 and networkidle2 are not supported anymore.
Playwright supports the values load, domcontentloaded,
networkidle (discouraged) or commit instead.
Existing settings of networkidle0 and networkidle2
will be mapped to networkidle, and a warning will be issued. To
silence the warning and continue to use networkidle, specify
wait_until: networkidle explicitly.
In older urlwatch versions, it was possible to write custom
filters that do not take a subfilter as argument.
If you have written your own filter code like this:
class CustomFilter(filters.FilterBase):
"""My old custom filter"""
__kind__ = 'foo'
def filter(self, data):
...
You have to update your filter to take an optional subfilter
argument (if the filter configuration does not have a subfilter defined, the
value of subfilter will be None):
class CustomFilter(filters.FilterBase):
"""My new custom filter"""
__kind__ = 'foo'
def filter(self, data, subfilter):
...
With urlwatch 2.19, string-based filter lists are deprecated,
because they are not as flexible as dict-based filter lists and had some
problems (e.g. : and , are treated in a special way and cannot
be used in subfilters easily). If you have a filter definition like
this:
filter: css:body,html2text:re,strip
You can get the same results with a filter definition like
this:
filter:
- css:
selector: body
- html2text:
method: re
- strip
Since selector is the default subfilter for css, and
method is the default subfilter for html2text, this can also
be written as:
filter:
- css: body
- html2text: re
- strip
If you just have a single filter such as:
You can change this filter to dict-based using:
Since version 2.18, the SMTP reporter configuration now uses
auth to decide if SMTP authentication should be done or not.
Previously, this setting was called keyring. If you have an old
configuration like this:
report:
email:
smtp:
host: localhost
keyring: false
port: 25
starttls: true
subject: '{count} changes: {jobs}'
You can change the setting to this (replace keyring with
auth):
report:
email:
smtp:
host: localhost
auth: false
port: 25
starttls: true
subject: '{count} changes: {jobs}'