Skip to content

Version 1.4

Choose a tag to compare

@lahwaacz lahwaacz released this 02 Jan 09:28
· 79 commits to master since this release
  • Replaced the third-party modules ConfigArgParse and configfile with
    their built-in alternatives. See the merge request for details: #69

  • As a result, the configuration file format has changed. See Configuration for details on migrating your configuration.

  • The default value of the --cookie-file option was removed, so it has to be
    set explicitly in the configuration file for persistent authenticated session.

  • The --site and --cache-dir options were removed.

  • ws.checkers.ExtlinkReplacements: fixed tests, fixed replacement of
    Arch bug tracker links, added more replacements for Arch projects and other
    cases.

  • ws.checkers.ExtlinkStatusChecker:

    • refactored to take the URLs from the database and save the results there
    • skip links to invalid or blacklisted domains, detect sites behind
      CloudFlare protection
  • ws.checkers.ExtlinkStatusUpdater: new module which was split from
    ws.checkers.ExtlinkStatusChecker and contains the (updated) code
    for updating the status of extlinks on wiki pages.

  • ws.checkers.WikilinkChecker: fixed urldecoding of section anchors,
    fixed race condition between the "Archive page" and "Broken section link"
    flags, removed some old and unnecessary workarounds.

  • Simplified ws.utils.TLSAdapter using ssl_version instead of
    ssl_options.

  • Many bug fixes for the ws.db module and the checkdb.py script.

  • Migrated to SQLAlchemy 2.0:
    https://docs.sqlalchemy.org/en/20/changelog/migration_20.html

  • The ws.db module now requires SQLAlchemy with asyncio support
    and the asyncpg driver for PostgreSQL. The synchronous interface with the
    psycopg2 driver is still used as well.

  • ws.db.schema: added new tables ws_domain and ws_url_check
    for tracking the results of status checks for domains and URLs.

  • New scripts:

    • delete-unused-categories.py
    • localize-templates.py
    • mark-archived-links.py
    • race.py
    • report-problems.py (previously list-problematic-pages.py, now it
      also has an automatic report page)
    • update-page-language.py
  • Refactored scripts:

    • extlink-checker.py has a new required parameter --mode with two
      choices:

      1. check uses ws.checkers.ExtlinkStatusChecker which takes
        URLs from the database and checks their status, and
      2. update uses ws.checkers.ExtlinkStatusUpdater which takes
        the check results from the database and applies them on the wiki.