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: .. code:: python 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``): .. code:: python 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: .. code:: yaml filter: css:body,html2text:re,strip You can get the same results with a filter definition like this: .. code:: yaml 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: .. code:: yaml filter: - css: body - html2text: re - strip If you just have a single filter such as: .. code:: yaml filter: html2text You can change this filter to dict-based using: .. code:: yaml 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: .. code:: yaml 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``): .. code:: yaml report: email: smtp: host: localhost auth: false port: 25 starttls: true subject: '{count} changes: {jobs}'