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}'