Deprecated Features¶
As features are deprecated and cleaned up, they are documented here with steps to update your configuration for replacements.
networkidle0 and networkidle2 for wait_until in browser jobs (since 2.28)¶
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.
Filters without subfilters (since 2.22)¶
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):
...
string-based filter definitions (since 2.19)¶
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:
filter: html2text
You can change this filter to dict-based using:
filter:
- html2text
keyring setting in SMTP reporter configuration (since 2.18)¶
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}'