URLWATCH-DEPRECATED(7)

πŸ“¦
version 2.29 Β· 3 versions
, in arch rolling, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– URLWATCH-DEPRECATED(7) πŸ’–

okay bestie, welcome to the urlwatch-deprecated page β€” it's the manual page (section 7, if you're keeping score ✨) from the urlwatch docs, and it's basically the receipts drawer for everything urlwatch used to let you do and then said "no ma'am" to.

Here's the whole vibe: as features get deprecated and cleaned up, they get written down right here, with the exact steps to update your config to whatever replaced them. So if urlwatch is yelling at you about something old and crusty in your YAML, this is where you find your glow-up instructions. πŸ¦‹


🌸 NAME 🌸

urlwatch-deprecated β€” documentation of feature deprecation in urlwatch, fr fr.

As features are deprecated and cleaned up, they are documented here with steps to update your configuration for replacements. No gatekeeping, only migration guides. πŸ’…


😭 NETWORKIDLE0 AND NETWORKIDLE2 FOR WAIT_UNTIL IN BROWSER JOBS (SINCE 2.28) 😭

So since version 2.28, running browser jobs uses Playwright instead of pyppetteer. New era, new engine, new rules. ✨

Which means the previously-supported wait_until values of networkidle0 and networkidle2 are not supported anymore. Playwright supports these values instead:

  • load
  • domcontentloaded
  • networkidle (discouraged ⚠️)
  • commit
Heads up: networkidle is literally marked discouraged in the list. It's giving "technically allowed, emotionally unsupported." 😭

Existing settings of networkidle0 and networkidle2 will be mapped to networkidle, and a warning will be issued. If you want that warning to shut up and you still wanna roll with networkidle, just say it explicitly, like:

wait_until: networkidle

Specify it on purpose and the warning goes away. Periodt. πŸ’…


🧚 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. Cute, but that era is over, bestie.

If you have written your own filter code like this:

class CustomFilter(filters.FilterBase):
    """My old custom filter"""

    __kind__ = 'foo'

    def filter(self, data):
        ...

Then you have to update your filter to take an optional subfilter argument β€” and just so you know, 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):
        ...

That's it, that's the glow-up. Add the arg, embrace the None. πŸ’–


πŸŽ€ 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 β€” for example, : and , are treated in a special way and cannot be used in subfilters easily. πŸ’€ Rude of them, honestly.

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

And here's the fun part β€” 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

And if you just have a single filter such as:

filter: html2text

You can change this filter to dict-based using:

filter:
  - html2text

Same energy, dict-based outfit. Iconic. πŸ‘‘


🌈 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. So yeah, it got a rename and honestly it ate. ✨

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

One word swap, zero drama. 🫢


2024 Thomas Perl


okay and that's the whole page, bestie!! πŸŽ€ this was urlwatch documentation, dated Oct 28, 2024, and you've been reading URLWATCH-DEPRECATED(7). go fix your config, you got this, mwah πŸ’…πŸ’–

πŸ“¦ where this page comes from