commit d5915a76d9404556d5d9e280c89ff8cf17153c51
Merge: 746455c db28d21
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 2 02:29:05 2026 -0400

    Merge remote-tracking branch 'org-ai-assisted/master'

commit 746455c8f7bef518ad2d7b04618d527d497090d7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 2 06:15:55 2026 +0000

    bumped changelog version

commit c18414108d904b21186c88fcba181faff9cd83e2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 2 02:12:55 2026 -0400

    .

commit db28d2141b00e8235636e954cf113a0ba9fa26bb
Author: claude (dist-encrypted2 29e015ca-8f98-4585-9a76-e5ba55b8b345) <noreply@anthropic.com>
Date:   Mon Jun 29 09:03:26 2026 -0400

    mw-wiki-restore-*-local: mark LEGACY (superseded by git-mediawiki for reproduction)

    The local reproduction stage now loads wiki content (text + media) via
    git-mediawiki -- "git-mediawiki all the way" (stage-clone-git-mediawiki /
    stage-refresh-git-mediawiki / reproduce-wiki-content-git-mediawiki-push; see
    dist-encrypted bootstrap-modes.md). The mediawiki-shell importDump/importImages
    restore is no longer called by the reproduction bootstrap. Add a LEGACY comment
    and a runtime log notice to both restore helpers; they remain for manual /
    non-reproduction use.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01KMF4JXWy2JtUaPLoVjFbW3

commit 367ef47cac16c63d10e09c5a910cbeb867ab08f8
Author: claude <noreply@anthropic.com>
Date:   Wed Jun 24 23:13:40 2026 -0400

    mw-wiki-restore-{backup,images}-local: forward MW_OLD_WIKI too

    The wiki-farm DB selector forwarding (across the env-scrubbing sudo to the web
    user) only carried MW_TARGET_WIKI, so a restore into the pre-migration old. wiki
    (MW_OLD_WIKI=1) silently routed to the DEFAULT DB -- the old. wiki stayed empty
    (the DOM-diff baseline never loaded). Forward MW_OLD_WIKI alongside MW_TARGET_WIKI
    (renamed the array mw_target_env -> mw_wiki_env). Both selectors mutually exclusive
    in practice; unset -> default DB, unchanged.

commit 3f73ce3e960a9e09223d04f7f69c09c258b24a41
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 24 18:05:06 2026 +0000

    bumped changelog version

commit 2412edb561a24aa481e4f6cf5a8b433001645a84
Merge: 8650c43 aefab84
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 24 13:04:15 2026 -0400

    Merge remote-tracking branch 'gitlab-adrelanos/master'

commit aefab8410efdff0da0c8c5081b1f36efc5bbdb06
Author: claude <noreply@anthropic.com>
Date:   Mon Jun 22 13:16:40 2026 -0400

    mw-wiki-restore-images-local: align usage with git-mediawiki media source

    The reproduction now sources File: media from the git-mediawiki clone
    (single source of truth) staged into /tmp, not a separate
    *-wiki-backup-media repo. This generic importer is source-agnostic, so
    describe BACKUP_DIR as a directory of media files (e.g. staged from a
    git-mediawiki clone) and point the example at the staged import dir.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01N9kZLX7JLijcYkWFcxLbrY

commit b97b2ffeed8ce75492af185ed5ceb219a00fc5ed
Author: claude <noreply@anthropic.com>
Date:   Mon Jun 22 11:46:24 2026 -0400

    restore helpers: forward MW_TARGET_WIKI inline through web-user sudo

    sudo scrubs the environment, so the wiki-farm target-DB selector never reached
    importDump/importImages/rebuildall. Forward it inline per web-user invocation
    (unset/empty -> default DB). Lets the reproduction populate the served target
    wiki, not just the default clone-source DB.

commit 5b44e901997606d713308e501eedebe11586a748
Author: claude <noreply@anthropic.com>
Date:   Mon Jun 22 11:00:21 2026 -0400

    mw-build-import-xml: declare Moved (500) namespace in import siteinfo

    The import XML siteinfo <namespaces> block omitted the custom Moved
    (500) namespace, so a restore of a wiki-backup containing Moved: pages
    declared no matching namespace in the export header. importDump.php
    still resolves the namespace from the live wiki config, so this was
    cosmetic for the actual import, but the siteinfo must enumerate every
    content namespace present in the backup for the dump to be
    self-describing and to match the wiki's namespace set.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01N9kZLX7JLijcYkWFcxLbrY

commit 737186806ba30128838e327b99645923962ff662
Author: claude <noreply@anthropic.com>
Date:   Thu Jun 18 14:34:42 2026 -0400

    mw-wiki-restore-images-local: restore svg media

    importImages.php filters candidate files by $wgFileExtensions, which
    omits svg on purpose (interactive svg uploads are disabled site-wide as
    a stored-XSS hardening). That filter was silently dropping every svg
    from the media backup on restore, so a rebuilt wiki served 404 for all
    svg files (logos, hero images) despite the backup containing them.

    A restore only replays already-vetted backup content, so pass
    --extensions=<configured>,svg to widen the restore-time filter only.
    $wgFileExtensions is untouched, so interactive uploads stay svg-free;
    importImages.php stores via recordUpload3() and performs no
    $wgFileExtensions re-check, so listing svg here is sufficient and
    confined to the restore path.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

commit 8650c4319e025cd26e9fc46bfc9918d9d8e36bea
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jun 18 13:55:43 2026 +0000

    bumped changelog version

commit 5524e02281f7131ded31ffe27a95fb7a55ba263d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jun 18 09:37:30 2026 -0400

    fix

commit 48b88b1ec61a1bffc0513061c3a2a7bfa87e6534
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 28 19:31:18 2026 +0000

    bumped changelog version

commit 698f8e2b386921c96a6d37b4d0b53416a09296e8
Merge: 21f2af8 767bc78
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 28 15:28:25 2026 -0400

    Merge remote-tracking branch 'refs/remotes/org-ai-assisted/master'

commit 767bc7866e2f5d36e87f2994f96ce346d1ca2507
Author: assisted-by-ai (Bot Account) <228987186+assisted-by-ai@users.noreply.github.com>
Date:   Thu May 28 14:15:12 2026 -0400

    common: fall back to XDG runtime / mktemp when $HOME is unwritable (#6)

    TMPFOLDER previously defaulted unconditionally to $HOME/mediawiki-shell-temp.
    Service accounts (where $HOME is set but root-owned and unwritable to EUID)
    and sandboxed environments (where $HOME may pre-exist with a foreign owner)
    both broke the subsequent mkdir.

    Cascade through writable candidates instead: $HOME first (typical case),
    then XDG_RUNTIME_DIR / /run/user/$EUID, finally an ephemeral mktemp -d.
    An explicitly-set TMPFOLDER continues to win -- the guard is unchanged.

    Co-authored-by: Claude <noreply@anthropic.com>

commit 21f2af87d98a5c766b4d19405420432e3e7d56f6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 24 19:09:32 2026 +0000

    bumped changelog version

commit c6908850a7cb1c2edcb8ff833d5b9100ab02f90a
Merge: ce987e3 bb43b0e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 24 14:50:24 2026 -0400

    Merge remote-tracking branch 'refs/remotes/ArrayBolt3/arraybolt3/trixie'

commit bb43b0e3365f6fd14bb874eb19b91aca7e35726c
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Sun May 24 12:05:21 2026 -0400

    Fixes, TODOs

commit 2f275dd505778758ef155140f84395ce0bb3ea74
Merge: 672e84b ce987e3
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Sun May 24 11:09:45 2026 -0400

    Merge branch 'master' into arraybolt3/trixie

commit ce987e3f7ce6c85293156ab932e3856c34f11e92
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 22:44:23 2026 +0000

    bumped changelog version

commit e886c205869c3cc8534a9f95c5ec7a81f22c9663
Merge: 95d3149 4af8c89
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 18:42:41 2026 -0400

    Merge remote-tracking branch 'org-ai-assisted/master'

commit 4af8c89197c6ff720a15b2afe58ecadf0c51291d
Merge: 78bf1c2 95d3149
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 18:41:41 2026 -0400

    Merge branch 'Kicksecure:master' into master

commit 95d3149636f94b7356a95e03dc095799617d639e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 22:13:33 2026 +0000

    bumped changelog version

commit 78bf1c2b8e7d03f3838b635ff70a522e1f18ec90
Merge: 763de15 70dad7f
Author: assisted-by-ai (Bot Account) <228987186+assisted-by-ai@users.noreply.github.com>
Date:   Thu May 21 16:11:02 2026 -0400

    Merge pull request #5 from org-ai-assisted/claude/sleepy-rubin-enHt4

    Add CI test suites: offline unit tests + live-wiki integration tests

commit 70dad7f4a25351ae04f5c7d90ecd597fe6dab198
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 20:07:11 2026 +0000

    ci: add consumer-pre-push-static.yml (was dropped from the prior commit)

    The previous commit removed local-shell-lint.yml but a multi-pathspec
    git-add aborted before staging the replacement, so consumer-pre-push-static.yml
    (the reusable pre-push static gate) was left untracked. Add it now so the
    repo actually has the lint gate.

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 5be14f0be4dfbf10b90be41543a2707ea9f40060
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 20:05:54 2026 +0000

    ci: use the reusable pre-push static gate instead of a custom shellcheck job

    Replace the hand-rolled local-shell-lint.yml (which called the shellcheck
    composite action directly) with consumer-pre-push-static.yml, the byte-identical
    org template that calls
    org-ai-assisted/developer-meta-files/.github/workflows/reusable-pre-push-static.yml@master.

    The reusable gate is a superset: shellcheck --external-sources plus bash -n,
    R-001 ASCII, the Tier-1 bash-style-guide rules (R-010/011/042/051/070/081/090/
    102/120/130), and the pre-commit-hooks set -- all in the same debian:trixie
    container CI uses elsewhere. local-unit-tests.yml stays (it runs this repo's own
    offline suite via the install-deps composite action; there is no reusable
    workflow for a repo's bespoke tests).

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 9269d5569591348007e3769a68d7ac7d253aabf5
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 19:27:20 2026 +0000

    unit-tests.bash: apply the bash-style-guide fixes (R-010/R-090/R-120)

    The prior commit only recorded the integration-tests.bash removal; the
    unit-tests.bash edits were left unstaged (git add aborted on the already-rm'd
    pathspec). This commits the actual style-guide compliance changes:

      * R-010: full strict-mode block; commands-under-test guarded with
        '|| var=...' / '|| rc=$?' so failures FAIL the assertion, not abort.
      * R-090: no 'command -v' (call mw-urlencode directly; xmllint is a
        guaranteed unit-tests workflow dependency).
      * R-120: safe-rm for temp-fixture cleanup.

    Passes agents/pre-push-static.sh and the unit suite (33/33).

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 0761e553846e4f58780288563586134f2aec2cfe
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 19:24:04 2026 +0000

    tests: comply with the bash style guide; drop integration-tests

    Brings tests/unit-tests.bash into line with developer-meta-files'
    agents/bash-style-guide.md (enforced by agents/pre-push-static.sh):
      * R-010: full strict-mode block (errexit/nounset/pipefail/errtrace +
        inherit_errexit/shift_verbose). Commands under test are guarded with
        '|| var=...' / '|| rc=$?' so a real failure surfaces as a FAIL assertion
        instead of aborting the suite under errexit.
      * R-090: drop 'command -v' -- call mw-urlencode directly and rely on xmllint
        (a guaranteed unit-tests workflow dependency) rather than probing for it.
      * R-120: safe-rm instead of rm for temp-fixture cleanup.

    Removes tests/integration-tests.bash: live-wiki coverage now lives in
    dist-encrypted's .github/scripts/wiki-mediawiki-shell-test.sh (driven by the
    wiki reproduction), which supersedes it.

    Unit suite still passes 33/33.

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 34dcf95bd31997cdd0c25585a5f1b63c9393593a
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 18:46:10 2026 +0000

    mw-multi-wiki: log into the actual target wiki, not the default

    The pre-mirror login check used the hardcoded default_wiki_url_target
    (www.whonix.org) instead of the resolved wiki_url_target ($2). With the
    default target it happened to coincide, but any explicit target argument made
    mw-multi-wiki authenticate against (and fail on) the wrong wiki before doing
    any work. Use "$wiki_url_target" so the login check matches the wiki actually
    being mirrored to.

    Found while testing mw-multi-wiki --delete against a local target wiki.

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 0b5c457b360bea6e4a0e4f7f4c87ebb4053a3bb6
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 18:13:53 2026 +0000

    Add CI test suites: offline unit tests + live-wiki integration tests

    Adds the first automated test coverage for mediawiki-shell, modelled on the
    sibling repos' pattern (msgcollector tests + the developer-meta-files
    install-deps / shellcheck composite actions).

    tests/unit-tests.bash (no wiki; runs in CI):
      - mw-urlencode filename<->title codec round-trips (incl. '/'->%2F subpage
        safety and space->underscore normalization).
      - mw-build-import-xml: XML construction, escaping, subpage decode, and
        unsafe-title (path-traversal) skipping.
      - common helpers: assert_path_within_dir traversal guard,
        should_start_processing (--continue-from), set/decode_backup_page_item.

    tests/integration-tests.bash (live wiki via WIKI_URL):
      - read-only: mw-all-pages, mw-fetch, mw-page-pending-check.
      - backup + fidelity: mw-wiki-fetch-backup and a full mw-process-all-pages
        namespace run, byte-compared against a source backup.

    Workflows:
      - local-shell-lint.yml  -- shellcheck (shebang-discovered) over usr/bin,
        usr/share/mediawiki-shell, tests.
      - local-unit-tests.yml  -- install-deps (genmkfile + helper-scripts +
        self) then run the offline unit suite.

    Validated locally: 33/33 unit assertions and 9/9 integration assertions pass
    against a reproduced Kicksecure wiki (2070 pages). The live-wiki integration
    workflow (which must stand up a wiki in CI) is intentionally not added yet.

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 763de15940cb986e56ba5c1d88916074967699a0
Merge: f0cdb64 9269ea5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 13:33:13 2026 -0400

    Merge remote-tracking branch 'org-ai-assisted/claude/sleepy-rubin-enHt4'

commit f0cdb64453dae1c2d0a88144f401b138b4ca0c30
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 17:24:00 2026 +0000

    bumped changelog version

commit 9269ea5e3fb3c9f0d5c6477f46d6004469ffc944
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 17:19:40 2026 +0000

    mw-wiki-fetch-backup: do not treat pending-check failure as "pending"

    mw-page-pending-check exits 10 specifically for "page has pending edits";
    any other non-zero is a check failure (network error, a crash, or the
    exit-126 from a missing executable bit). The old `if ! mw-page-pending-check`
    conflated all of these with "pending" and exited 0, silently dropping the
    page from the backup -- a data-loss hazard in a backup tool.

    Capture the exit code and skip (exit 0) only on 10, mirroring the handling
    already used in mw-multi-wiki; on any other non-zero, retry within the
    existing loop and fail (exit 1) once retries are exhausted so the failure
    surfaces instead of being swallowed. Also `continue` the retry loop after a
    failed mw-fetch so the {1..5} attempts actually take effect (previously every
    path exited on the first iteration, making the retry loop dead code).

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit 6a7afd4987dabff537c5fdc62ee079a9e05300e2
Author: Claude <noreply@anthropic.com>
Date:   Thu May 21 17:19:33 2026 +0000

    Restore executable bit on mw-page-pending-check

    Commit 56c4325 accidentally dropped the executable bit (100755 -> 100644).
    It is the only script in usr/bin/ that is not executable. On a .deb install
    dh_fixperms masks this by forcing usr/bin/* to 0755, but running the scripts
    directly from the source tree -- development, CI checkouts that copy usr/bin/,
    local wiki reproduction -- fails with exit 126 "Permission denied". Worse,
    mw-wiki-fetch-backup then misreads that 126 as "page has pending edits" and
    silently skips the page from the backup.

    https://claude.ai/code/session_0137YSGyp94ohviiHtGwzgEA

commit f47efaa713a5a81fea20162bfe28c040c00866c0
Merge: 41c2c15 4e22292
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 21 12:27:09 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/multi-credentials-wiki-url-5KgcL'

commit 672e84b56559bb433a3a2fabda0fbcf4e6193557
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Wed May 20 22:52:16 2026 -0400

    fixes, TODO, FIXMEs

commit 41c2c151c925472ae414a77387507e7de7a6e5c4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 20 22:14:33 2026 +0000

    bumped changelog version

commit 4e22292407a6b63f1362e5a475bbad73d955596f
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 22:09:46 2026 +0000

    add --keep-going / --retry / --reset / --state-file resumable batch state

    Long batch runs over a wiki's page list previously aborted on the first
    per-item failure and had to restart from the top. Add an opt-in state
    layer in common, used by the batch scripts:

    - --keep-going       continue past a per-item failure (record it) instead
                         of aborting; exit non-zero at the end if any failed.
    - --retry            skip items already recorded done in a prior run and
                         retry the rest. Safe on a first run (empty state).
    - --reset            clear any prior state before starting.
    - --state-file=PATH  override the default state-file location.

    State is a TSV under TMPFOLDER (one '<status>\t<title>' record per line,
    appended; last record per title wins on load; compacted via sponge on
    load to bound growth). Parsing uses 'IFS=$'\t' read -r' only -- no
    eval/source/glob -- so a hostile page title in the file cannot lead to
    code execution. MediaWiki titles cannot contain a tab or newline, so the
    format is unambiguous. State is disabled under DRY_RUN so a preview never
    records items as done.

    Without any of these flags every state_* helper is a no-op and the prior
    fail-fast behaviour is unchanged.

    Wired into mw-process-all-pages, mw-wiki-push-backup,
    mw-flagged-revisions-approve-all, mw-multi-wiki (per-page; pending-edit
    skips stay unrecorded so --retry revisits them), and forwarded by
    mw-patch-modify-wiki-all.

    https://claude.ai/code/session_018oz8E5Ak6HDL1AwCHVzotZ

commit 8673de71387262e80a769599d3fd611618bb5989
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 20:54:14 2026 +0000

    bash-style-guide + shellcheck compliance for the --continue-from scripts

    These files entered the static gate's (agents/pre-push-static.sh)
    changed-file scope via the --continue-from work; bring them into
    compliance:
    - R-010: add the missing 'shopt -s inherit_errexit' / 'shopt -s
      shift_verbose' lines (mw-process-all-pages,
      mw-flagged-revisions-approve-all, mw-patch-modify-wiki-all,
      wiki-config).
    - R-070/R-071: expand the parse_opt and WIKI_URL case arms so ';;'
      sits on its own line and each statement is on its own line.
    - R-080: point the parse_opt.sh 'shellcheck source=' directive at the
      relative source-tree path, not the absolute install path.
    - shellcheck SC2034: silence the 'continue_state appears unused' false
      positive (it is mutated by should_start_processing through a
      nameref) and drop the genuinely unused 'f' local in wiki-config's
      source_credentials.

    https://claude.ai/code/session_018oz8E5Ak6HDL1AwCHVzotZ

commit 0d01914645535d7a4b62043730f45b6c74fcd98b
Merge: 7360609 e5eab01
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 20 17:47:19 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/multi-credentials-wiki-url-5KgcL'

commit 73606096f6b19fc6e00c14aba0bd0cf40908eaae
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 20 16:57:01 2026 -0400

    genmkfile uch

commit e5eab01a9d9b33318445495868869dd14ba4059c
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 20:42:02 2026 +0000

    restore 100755 executable bit on scripts touched by this branch

    These files were rewritten earlier in the branch via the GitHub contents
    API, which writes every blob as 100644 and cannot preserve the executable
    bit. master carries them as 100755, so the rebase surfaced a spurious
    mode-only change on each. Restore 755 to match master (usr/bin/* are
    executed directly; common/wiki-config match the repo's existing 755).

    https://claude.ai/code/session_018oz8E5Ak6HDL1AwCHVzotZ

commit fe6fc78487bae485c9a31815a5a699bcee71dc2f
Author: assisted-by-ai (Bot Account) <server@kicksecure.com>
Date:   Sun May 3 04:43:39 2026 -0400

    remove unfinished mw-wiki-restore-backup script

    mw-wiki-push-backup now covers the push-side workflow (git-diff
    driven re-push of modified .mw files) that this stub was intended
    to address. The script body was a `die 1 "UNFINISHED SCRIPT!"`
    placeholder, so removing it.

commit c32c3fec27de892972a22948a8ff1fb54ae3582d
Author: assisted-by-ai (Bot Account) <server@kicksecure.com>
Date:   Sun May 3 04:43:30 2026 -0400

    add --continue-from across page-processing scripts; extend error_output

    - introduce should_start_processing() helper in common; supports
      empty (run from start), integer index, or case-insensitive title
      match. callers manage their own state variable.
    - rename --continue-from-page _ --continue-from in mw-multi-wiki and
      mw-process-all-pages; replace ad-hoc skip logic with the helper.
    - add --continue-from option to mw-flagged-revisions-approve-all,
      mw-wiki-push-backup, and mw-patch-modify-wiki-all (passed through).
    - extend error_output() with WIKI_URL, counter_total, page_title,
      page, page_to_approve, item_from_all_pages, mw_file, file_path,
      new_file, output_file for richer per-iteration crash context.

commit 97eb6dd08dc9a4aa63046864d21ec66748b11764
Author: assisted-by-ai (Bot Account) <server@kicksecure.com>
Date:   Wed Apr 29 10:34:56 2026 -0400

    Revert default wiki and CLI alias changes; keep only credential arrays

    Per review, scope this branch to a single additive feature: support
    WIKI_USER_NAMES / WIKI_USER_PASSES associative arrays (keyed by full
    WIKI URL) in the credentials file as a structured alternative to the
    existing `case` block.

    Reverted:

    - DEFAULT_WIKI_URL fallback in wiki-config.
    - WIKI_URLS associative alias map (the existing kicksecure / whonix
      case block in wiki-config is restored unchanged).
    - mw-login, mw-logout, mw-login-test usage strings and required-WIKI
      argument behavior (WIKI is required again, examples show the URL
      form only).

    Direct WIKI_API_USER_NAME / WIKI_API_USER_PASS assignments in the
    credentials file still take precedence over the array lookup.

commit 4aab615dbed5be898a71f218ef7f896c4cd9d6e4
Author: assisted-by-ai (Bot Account) <server@kicksecure.com>
Date:   Tue Apr 28 16:43:26 2026 -0400

    Support multiple credentials and a default wiki URL

    Replace the single-wiki credentials format with associative arrays
    keyed by alias (or full URL), so a single credentials file can hold
    auth for multiple wikis without an ad-hoc `case` block.

    Add `DEFAULT_WIKI_URL` so the wiki URL/alias does not have to be passed
    on every invocation. Resolution order: positional arg > `WIKI_URL` env
    var > `DEFAULT_WIKI_URL` from credentials file.

    Make WIKI an optional positional in `mw-login`, `mw-logout`, and
    `mw-login-test` (the commands where it is the only argument and
    omitting it is unambiguous). Multi-arg commands like `mw-edit` still
    require WIKI as the first positional.

    This is a breaking change for the credentials file format.

commit 6264be14bc9db19ff89dfe17c76940644d7905ad
Merge: 0524914 9e3b209
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 20 15:42:23 2026 -0400

    Merge remote-tracking branch 'refs/remotes/org-ai-assisted/master'

commit 9e3b20913059904c9b6b192fe1d4076425fd8d65
Merge: 5ce49c7 7d13652
Author: assisted-by-ai (Bot Account) <228987186+assisted-by-ai@users.noreply.github.com>
Date:   Wed May 20 14:20:06 2026 -0400

    Merge pull request #3 from org-ai-assisted/claude/fix-tb-updater-bug-Txpdm

    mw-multi-wiki: clean up stale target pages (delete deleted/de-categorized pages)

commit 7d13652692ce77066a0bb666748878e9c359a895
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 18:16:31 2026 +0000

    common: trim dry_run_skip comment to a single line

    The function name and body are self-explanatory; drop the seven-line
    docstring in favour of one line noting the non-obvious bit (it exits
    before the API call).

commit 7c611ce947e1dd8b60c814e8544bfdaebeeeb16d
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 18:07:44 2026 +0000

    primitives: parse --dry-run with the standard while/case loop

    Replace the ad-hoc 'while [ "${1-}" = "--dry-run" ]' consumer in mw-edit,
    mw-delete, mw-protect, mw-file-upload and mw-protect-list with the
    idiomatic while/case option parser already used by mw-wiki-push-backup. It
    consumes --dry-run, handles -h/--help, honours a '--' terminator and
    rejects unknown options (die 2). The trailing arg-count check no longer
    needs the (-h|--help) special-case since help is handled in the loop.

commit 80cb476a5e05dab925003e22fe2e4fc56730d8f5
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 17:49:57 2026 +0000

    mw-copy-wiki-pages, mw-copy-wiki-file: bash-style-guide compliance

    These scripts entered the static gate's changed-file scope via the
    --dry-run flag addition, exposing two long-standing deviations:
    - R-070: expand the parse_opt case arms so ';;' sits on its own line
      instead of trailing the arm body.
    - R-080: point the 'shellcheck source=' directive at the relative
      source-tree path (matching mw-multi-wiki) instead of the absolute
      install path.

commit 232a94a00e561afba8b71bb921626c78b0aeed31
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 17:48:02 2026 +0000

    dry-run: expose a --dry-run flag on every write-capable script

    Make --dry-run the single, consistent interface for previews instead of
    asking callers to set the DRY_RUN environment variable by hand. Each flag
    handler just runs 'export DRY_RUN=true', so the internal env-var bus
    (honored by dry_run_skip in the write primitives) still propagates through
    nested calls with no per-call plumbing -- a forgotten pass-through can
    never cause an accidental real write.

    - mw-edit, mw-delete, mw-protect, mw-file-upload, mw-protect-list: consume
      a leading --dry-run.
    - mw-copy-wiki-pages, mw-copy-wiki-file: add a --dry-run parse_opt case.
    - mw-wiki-push-backup: drop its bespoke dry_run local and per-loop skip;
      --dry-run now exports the shared bus and the write is skipped inside
      mw-edit, so login/token/reads still run and only the write is skipped.

    Bring the touched files into bash-style-guide compliance, since these
    edits pull them into the static gate's changed-file scope:
    - R-010: add the two missing 'shopt -s inherit_errexit / shift_verbose'
      lines to common, mw-edit, mw-file-upload, mw-copy-wiki-pages,
      mw-copy-wiki-file and mw-wiki-push-backup (the sibling scripts already
      had them).
    - R-051: convert common's inline trap to the named-function form;
      exit_handler now captures the exit code at entry, matching error_handler.

commit 0524914dec2665603941c190a761d7510ab8fcee
Merge: b8b4fa2 5ce49c7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 20 12:57:45 2026 -0400

    Merge remote-tracking branch 'refs/remotes/org-ai-assisted/master'

commit decd61dfa23f2e184f1574919d52a2b2e4fd3e01
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 16:54:57 2026 +0000

    dry-run: centralize via DRY_RUN env var honored by the write primitives

    Add a dry_run_skip helper to common and call it in the four primitives
    that issue a mutating API request (mw-edit, mw-delete, mw-protect,
    mw-file-upload), immediately before the POST. When DRY_RUN=true the
    primitive logs the action it would perform and exits 0, so login, CSRF
    token fetch and all reads still run -- only the destructive server write
    is skipped.

    Because DRY_RUN is an exported environment variable it is inherited by
    child processes, so it propagates through nested calls
    (mw-multi-wiki -> mw-copy-wiki-pages -> mw-edit;
    mw-copy-wiki-file -> mw-file-upload) with no per-script plumbing. Every
    script that funnels writes through these primitives now supports a
    DRY_RUN=true preview for free.

    Simplify mw-multi-wiki accordingly: its --dry-run now just exports
    DRY_RUN instead of carrying a bespoke per-loop guard and the act_on_stale
    gate. The --delete-max cap is skipped under dry-run so a preview never
    aborts on a large stale set.

commit bff138f626f6a879ad4bf1d8d27551ee2f1dfbd6
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 16:37:54 2026 +0000

    mw-multi-wiki: add --dry-run to preview without writing to the target

    Matches the dry_run convention already used in mw-wiki-push-backup. When
    set, every target-wiki write is skipped: the mirror loop logs what it
    would copy instead of calling mw-copy-wiki-pages / mw-copy-wiki-file, and
    the cleanup pass is forced report-only via a new act_on_stale gate so it
    only logs "would DELETE / DE-TAG" even when --delete is also given (the
    --delete-max cap is likewise not enforced for a pure preview). Read-only
    steps (login test, category enumeration) still run so the preview is
    accurate.

commit 11cb9fc1d2c8ba27ed24142421407d8c4839adfd
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 16:33:50 2026 +0000

    add mw-list-vulnerable-templates (detect injection-bearing templates)

    mw-list-vulnerable-templates BACKUP_DIR [OUTFILE]
      Scans a mediawiki-shell page backup directory and emits the page-title
      list of Template: pages whose source carries a code-injection or active
      content construct - {{#css:}}, {{#widget:}}, {{#invoke:}}, {{#tag:}},
      <html>, <script>, javascript:, <templatestyles>, or inline on*=
      handlers. Plain content templates are skipped. Filenames are mapped back
      to page titles via mw-urlencode --decode-filename-to-page.

      Output is newline-separated titles (stdout when OUTFILE is omitted; logs
      go to stderr), ready to feed into mw-protect-list to apply per-page
      protection to just the high-risk templates rather than the whole
      namespace.

commit bf21dab292ee4a7afe0b3ea29b2aecd62651d117
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 16:32:58 2026 +0000

    mw-multi-wiki: lower default --delete-max from 50 to 10

    Tighten the stale-page safety cap so a larger-than-expected stale set
    (e.g. from a diff bug or truncated category listing) is more likely to
    trip the refusal and require an explicit, higher --delete-max to proceed.

commit 5ce49c7570bbb37c342a264f5d8c3672f5c91b54
Author: assisted-by-ai (Bot Account) <228987186+assisted-by-ai@users.noreply.github.com>
Date:   Wed May 20 12:20:51 2026 -0400

    Add local offline backup/restore tooling (plain-text pages + media)

    Local/offline counterpart of the API-based backup/restore commands, so a
    wiki can be rebuilt from the transparent, git-tracked plain-text backup
    plus a separate media backup -- no opaque binary database dump.

    - mw-wiki-restore-backup-local: import page text via importDump.php. The XML
      is built by the external helper usr/libexec/mediawiki-shell/mw-build-import-xml
      (no inline Python -- independently lintable/testable) and fed to
      importDump.php on stdin so the web user needs no access to the private
      TMPFOLDER.
    - mw-build-import-xml: builds the importDump XML from the *.mw files; reuses
      mw-urlencode's decoder; path-traversal hardened.
    - mw-wiki-fetch-images-backup: download current media via the action API
      (list=allimages); reuses strings.bsh validate_safe_filename via common.
    - mw-wiki-restore-images-local: import media via importImages.php.
    - mw-specific-backup-{kicksecure,whonix}-media: per-wiki media backup drivers.

    Bash style guide (R-001/R-002/R-010/R-012/R-020/R-084) + shellcheck
    --external-sources clean (source-path=SCRIPTDIR). Validated on a live
    MediaWiki 1.45.3 reproduction: 2069 pages import, media round-trips, 27
    widgets render error-free.

commit 79e840fe24f19478bd208c8f0400fd663036c88d
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 15:04:15 2026 +0000

    add mw-protect and mw-protect-list (admin-only edit+move protection)

    mw-protect WIKI PAGE [EXPIRY] [REASON]
      Single-page primitive. Sets 'edit=sysop|move=sysop' protection via the
      MediaWiki 'action=protect' API, structured exactly like mw-delete
      (mw-login-test -> fetch CSRF token -> POST). EXPIRY defaults to
      'infinite'. Re-applying the same protection is idempotent. On
      'permissiondenied' it exits 254 so batch callers can re-login and retry,
      matching the mw-flagged-revisions-approve-page convention.

    mw-protect-list WIKI LIST_FILE [EXPIRY] [REASON]
      Batch wrapper. Reads LIST_FILE (one page title per line, blank lines
      ignored), runs the whole-file unicode-show guard, then calls mw-protect
      per page with the login-expiry retry loop and error tally from
      mw-flagged-revisions-approve-all. Exits non-zero if any page failed.

    Both ship via the existing usr/* install glob; no man pages exist for any
    script in this package, so none are added here.

commit a50c6432f5116f69885471ad9073eeefd2116a6f
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 14:48:26 2026 +0000

    mw-multi-wiki, mw-delete: conform to bash-style-guide static gate

    Bring the two touched scripts up to the developer-meta-files
    agents/pre-push-static.sh gate:

      R-010  add the missing 'shopt -s inherit_errexit' and
             'shopt -s shift_verbose' to the strict-mode block.
      R-070  split the option-parsing case arms onto their own lines
             (matching the multi-line case style already used elsewhere
             in mw-multi-wiki).
      R-080  make the parse_opt.sh 'shellcheck source=' directive a
             relative source-tree path instead of an absolute one.

    Add a project .shellcheckrc disabling SC2154 and SC1091 (variables
    and sources that live in usr/share/mediawiki-shell/ and helper-scripts,
    outside this checkout), mirroring the developer-meta-files config.

    Restore the executable bit on mw-multi-wiki: it carries a shebang and
    is invoked directly, but was committed 100644 (dh_fixperms papered over
    this for packaged installs, but not for direct-from-checkout use).

    Note: mw-page-pending-check has the same 100644 latent issue but is
    left untouched here as it is outside this change.

    The gate now passes clean (shellcheck, R-010/R-070/R-080, R-001 ASCII,
    and the pre-commit-hooks set).

commit 4dea0d5f56d78cb3081ff43f45ed167b2fdece87
Author: Claude <noreply@anthropic.com>
Date:   Wed May 20 14:05:27 2026 +0000

    mw-multi-wiki: clean up stale target pages; add mw-delete primitive

    The mirror loop only enumerates the source wiki's category, so a page
    deleted or de-categorized on the source silently vanished from the list and
    its mirrored copy on the target was never removed.

    Add a cleanup pass that uses the target wiki's own category membership as the
    record of what was mirrored, and diffs it against the source keep-set
    (source category members plus any --multiwiki-extra-pages). For each target
    page no longer in that set:
      - source page missing -> delete the target copy (mw-delete)
      - source page exists   -> only the tag was removed; strip it on the target

    The pass is report-only by default; --delete performs the actions, bounded by
    --delete-max (default 50). An empty source list still aborts before the pass,
    target pending edits are skipped, and titles are unicode-checked, so the diff
    cannot degrade into a mass deletion.

    Add mw-delete as the single-page action=delete primitive, mirroring mw-edit's
    login + CSRF token flow; an already-missing page is treated as success.

commit b8b4fa24377d831fa84153bb2a128807472576d2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon May 18 10:04:22 2026 +0000

    bumped changelog version

commit e00007577dd2332bd8f26f36e832575545d211fa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat May 16 05:22:08 2026 -0400

    output

commit b0c45cfda4558e70b50ded587bb8f1ae40bfb986
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat May 16 05:21:23 2026 -0400

    output

commit 65d5a08972c33150bd49b7292ce0eb577eab6db4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 7 18:43:33 2026 +0000

    bumped changelog version

commit 8610fe7a0312e9ee0cb972cc3afea9ebb655e8c1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 7 14:43:08 2026 -0400

    chmod +x

commit 77c63d7b21e485e568eefe4d3475be5764edb8e4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 7 18:38:17 2026 +0000

    bumped changelog version

commit b7f02d13705a590d091678ca354835c60837c6bd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 7 13:44:21 2026 -0400

    refactoring

commit 56c432576038a655f1664d92be244de0f34b7b35
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu May 7 13:42:51 2026 -0400

    improve

commit a041221e40a2df039b189efcdc52debe6b8058fb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Apr 28 12:35:21 2026 +0000

    bumped changelog version

commit 96e16d9cbd085d4eaaebd9b9240047c3308578ee
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Apr 28 04:49:09 2026 -0400

    .

commit 88cfd989261bb217d67a5f61cea2b310799abc39
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 25 09:25:06 2026 +0000

    bumped changelog version

commit 91b0ee51528a524cbeb253ceff4360bd1f90ecd6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 25 05:08:24 2026 -0400

    refactoring

commit a7fa215b29ddbef309b1c78ad73bcd29d7b5d5d5
Merge: f312881 8d2a927
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 25 05:05:11 2026 -0400

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie'

commit 8d2a9279d060c6b2166523344ca91da8065e8ce6
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Fri Apr 24 20:00:02 2026 -0400

    Bash arithmetic hardening

commit f312881e33e73f65ae6118a293c5a705b12196bd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Apr 22 13:16:15 2026 +0000

    bumped changelog version

commit 6986fdf5c40e940150f084df37157f34868756e5
Merge: bc4a9f3 3a4cf4a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Apr 22 06:33:08 2026 -0400

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie'

commit 3a4cf4a0d1d45e7a7d5e171774c46df6743b36d7
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Mon Apr 20 22:25:06 2026 -0400

    Harden against command injection

commit bc4a9f3ab6389155c2cb5c331686de2483e688bc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 08:34:45 2026 +0000

    bumped changelog version

commit 0989a4d4f10c71c6cb96ffd39974b7b8dccd9361
Merge: 1c43cab 7cd81f6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 02:53:06 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/fix-filename-encoding-Ar3N3'

commit 1c43cabe71c9e04c5cca356490ae3601ccf9f450
Merge: 08b965a 89651ba
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 02:46:50 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/add-traversal-protection-3DkTX'

commit 7cd81f6d00eb7156f91fd435f36baa2ec93b39e0
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 06:43:37 2026 +0000

    fix: use --data-urlencode for user-provided values in all API URLs

    Same class of bug as the mw-fetch fix: user-provided values (page
    titles, edit summaries, continuation tokens, comments) were
    string-interpolated into URL query strings. An '&' in any value would
    split the query parameter, causing the server to receive a truncated
    value.

    Fix: use curl --data-urlencode for all parameters with user/API-provided
    values, keeping only static parameters in the URL string.

    Scripts fixed:
    - mw-page-pending-check: titles parameter
    - mw-edit: summary parameter (moved to POST body)
    - mw-file-to-url: titles parameter
    - mw-flagged-revisions-approve-page: titles, comment parameters;
      also fixed %7C double-encoding (use literal | instead)
    - mw-multi-wiki: cmtitle parameter
    - mw-all-pages: namespace and continuation token parameters

    https://claude.ai/code/session_016m6QUwiea8K33sG8uyALM5

commit 0cf0f108d54ff1b07287a26a3bb0d389e9a5613d
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 06:24:34 2026 +0000

    remove redundant str_replace '/' '%2F' from set_backup_filename_item

    set_backup_page_item already encodes '/' as '%2F' via
    mw-urlencode --encode-page-to-filename (Python urllib.parse.quote),
    so the str_replace was always a no-op. Now that a proper encoding tool
    exists, drop the leftover shell string replacement.

    https://claude.ai/code/session_016m6QUwiea8K33sG8uyALM5

commit 295ef9cd21f0087644d8bee4d918b9bece68a325
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 06:19:29 2026 +0000

    fix: use --data-urlencode for page title in mw-fetch to prevent query injection

    Page titles containing '&' were string-interpolated into the URL query,
    causing the '&' to act as a parameter separator. For example, a page
    named "Page & stuff" produced ?title=Page%20&%20stuff&action=raw, which
    the server parsed as title="Page " instead of the full title.

    Switch to curl --get --data-urlencode so each query parameter value is
    properly percent-encoded by curl itself, matching the approach already
    used (but commented out) for the POST variant on line 48-55.

    https://claude.ai/code/session_016m6QUwiea8K33sG8uyALM5

commit 89651ba4e35a6a479cc67183758d4bf049d23242
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 06:09:01 2026 +0000

    fix: add assert_path_within_dir guard in mw-wiki-push-backup

    The file_path constructed from git diff --name-only output was not
    validated against directory traversal. A malicious .mw filename in
    the git repo (e.g. ../../../etc/shadow.mw) could escape backup_dir.

    https://claude.ai/code/session_01TxoWHU6zPbn2d5CRpZgU4g

commit 08b965a80b80a27d9357e916ac254c737e8e8b70
Merge: 418e5b0 924c17a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 02:01:17 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/add-traversal-protection-NjFkh'

commit 924c17a68c7ba76af071375f6965c64b0309ef49
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:43:42 2026 +0000

    simplify mw-login: EXIT-only trap, use sponge for password write

    - Trap only EXIT (sufficient in bash for all exit paths).
    - Use sponge for atomic write of password to temp file.
    - Add sponge to collect_reqs in common.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit 453ec5c63b511c8e89448b6d920d474dfa422002
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:30:32 2026 +0000

    refactor: simplify pass_file cleanup with a single exit handler

    Define exit_handler_login at the top of the script that cleans up
    pass_file (if set) and chains into exit_handler. Set the trap once
    instead of swapping traps around the curl_run call.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit 8f200e917e71645450dad7500164177f71d311ca
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:22:34 2026 +0000

    fix: ensure pass_file cleanup on all exit paths in mw-login

    The previous ERR trap did not fire when curl_run failed (curl_run calls
    die which triggers EXIT, not ERR), leaving the password temp file on
    disk. Switch to an EXIT trap that chains with exit_handler, and restore
    both EXIT and ERR traps after cleanup.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit 92c01bb466f41c6b6cb4546fbf1879533dffb72d
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:12:47 2026 +0000

    fix: wrong page name in approve-all and missing password write in login

    mw-flagged-revisions-approve-all: passed filesystem-encoded
    $backup_page_item (e.g. Dev%2Fcompiler_hardening) to the MediaWiki API
    instead of the raw $item_from_all_pages. This broke approval for any
    page whose title contains /, &, #, ?, or %.

    mw-login: the comment said "Write password to a temp file" but the
    actual write was missing. mktemp created an empty file, so
    --data-urlencode "lgpassword@${pass_file}" always sent an empty
    password.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit a818031e64d5b15c437b8a84e06fd17bfc2dc07e
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 04:32:13 2026 +0000

    fix: use $new_file instead of hardcoded path in mw-patch-modify-wiki-page

    Line 49 hardcoded filename="$TMPFOLDER/fetched-wiki-page" instead of
    using $new_file (the actual output path from arg 3). When called from
    mw-process-all-pages, TMPFOLDER is overridden to a per-page subdirectory,
    so the hardcoded path pointed to a nonexistent file while the fetched
    content was at $new_file. This caused replace_all_except_first and
    mw-edit to operate on nothing.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit 6953c551643edbe6cf6c65de8e7d3d824a87884f
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 04:24:55 2026 +0000

    fix: use correct variable name in mw-copy-wiki-file

    $page_title_local was referenced but never defined in this script;
    the intended variable is $page_file_local (set on line 53). With
    set -o nounset this caused a runtime error when a 4th argument was
    provided.

    https://claude.ai/code/session_01VoqvCb26kwVhDmz9QiHRDz

commit 418e5b01035f14f10887b7c69c81f7eb412b7458
Merge: 1a28f46 a619f08
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 01:26:31 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/fix-filename-encoding-qFqW0'

commit a619f08c2067b36eaa709285dc4392a658c1cc1a
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:24:48 2026 +0000

    replace unicode em dash with ASCII hyphen in comment

    https://claude.ai/code/session_019HZFzBFAgxnsS5ZBaz9irT

commit 1a28f4643ec5a314c0711e7142e9cb7c280d39a5
Merge: 34f9e3b 7d9392f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 11 01:24:05 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/add-unicode-show-protection-sMYEN'

commit 500456565a39a3ef7861a8005a0ee46d3452df13
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:22:57 2026 +0000

    add comment explaining why raw page name is used in approve-all

    https://claude.ai/code/session_019HZFzBFAgxnsS5ZBaz9irT

commit 7d9392f2a17e1af41f034f911797ca63c9372666
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 05:17:17 2026 +0000

    use pipe instead of temp file for unicode-show checks

    Consistent with all other unicode-show calls in this changeset.

    https://claude.ai/code/session_01FdZ5dQNYAaXRWXpCMFR59p

commit 64a650aea28b7f4a54ac9c0ceebda24f6659853b
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 04:31:10 2026 +0000

    add unicode-show defense-in-depth checks to all scripts handling page titles

    Add unicode-show validation to every script that receives or processes
    page titles, filenames, or file references before they are interpolated
    into API URLs, sent as POST data, or used to construct file paths.

    Previously unicode-show was only called on the bulk allpages files
    and in error paths of set_backup_page_item / set_backup_filename_item.
    This left gaps in leaf scripts (mw-fetch, mw-edit, mw-page-pending-check,
    mw-flagged-revisions-approve-page, mw-file-upload, mw-file-to-url,
    mw-copy-wiki-pages, mw-copy-wiki-file) and in mw-wiki-push-backup
    (write path decoding git filenames to page titles) and mw-folder-to-weblinks
    (disk glob filenames).

    https://claude.ai/code/session_01FdZ5dQNYAaXRWXpCMFR59p

commit b93878bcef7bdc7396bd30ad49ce5840e0b4ccf0
Author: Claude <noreply@anthropic.com>
Date:   Sat Apr 11 04:30:37 2026 +0000

    fix: don't filesystem-encode page names for API calls in approve-all

    mw-flagged-revisions-approve-all was passing page names through
    set_backup_page_item() (filesystem encoding) before handing them to
    mw-flagged-revisions-approve-page, which uses them as raw page titles
    in MediaWiki API query strings.

    For pages with special characters (& % # ? etc.), the filesystem
    percent-encoding caused wrong page titles in the API requests.
    For example, 'Page & stuff' was encoded to 'Page_%26_stuff' then
    used in &titles=Page_%26_stuff where the server decodes %26 to &,
    splitting the query parameter.

    Pass the raw page name directly since no filesystem path is involved.

    https://claude.ai/code/session_019HZFzBFAgxnsS5ZBaz9irT

commit 8737983d4a009e5cac732142e034d18f63790f87
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 19:26:56 2026 +0000

    fix incomplete filename decoding in mw-wiki-push-backup

    The push script only decoded %2F back to /, silently leaving all other
    percent-encoded characters (%26, %25, %23, %3F, etc.) in the page title.
    Pages containing &, %, #, ? or other encoded characters would be pushed
    to the wrong wiki page.

    Replace the manual partial decode with decode_backup_filename_item(),
    which already exists in common and performs full urllib.parse.unquote.

    https://claude.ai/code/session_019HZFzBFAgxnsS5ZBaz9irT

commit 34f9e3bceb7eb325bc880f0733ce68eff73c12c5
Merge: 16e3b43 4c41a7b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Apr 10 15:21:26 2026 -0400

    Merge remote-tracking branch 'assisted-by-ai/claude/fix-filename-encoding-5u9Ae'

commit 4c41a7b59af616227d48ab6b83e17cbde77045c6
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 18:23:38 2026 +0000

    add validate_safe_filename to set_backup_filename_item

    Defense-in-depth: validate the final filename in set_backup_filename_item
    too, not just in set_backup_page_item. Both functions now validate their
    output.

    NOTE: validate_safe_filename in helper-scripts/strings.bsh does not
    currently allow '%' in its character whitelist. This must be fixed in
    the helper-scripts package by adding '%' to the allowed regex:
      re='^[][:alnum:]_.:@+=,(){}%\[ -]+$'
    Without that fix, percent-encoded filenames like 'Dev%2Fcompiler_hardening'
    will fail validation with "Invalid character!".

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit 989c6770ee0be68528a1ffca34360be92f3d45db
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 18:18:31 2026 +0000

    add realpath to collect_reqs

    assert_path_within_dir uses realpath but it was not declared in
    collect_reqs. realpath is from coreutils (Essential: yes in Debian,
    always installed), but adding the check is defensive best practice.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit 1790a1301eb2c145d7e27868c296e15f2ae5984f
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 18:10:38 2026 +0000

    fix params encoding: use safe="" and update docstring/usage text

    - urlencode_url: use quote(safe="") for params component so slashes
      inside params are properly encoded as component boundaries.
    - Update docstring and usage text: "path and query" -> "path, params,
      and query" to match what the implementation actually encodes.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit a5f0ada82603891124331bbd8d717da2900972d1
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:57:46 2026 +0000

    encode URL params component, catch ValueError for clean CLI errors

    - urlencode_url: encode parsed_url.params with urllib.parse.quote,
      fixing regression where params like ';b c' passed through unencoded.
    - main: wrap in try/except ValueError so empty page name input
      produces a clean error message instead of a Python traceback.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit fa53506739c463dcdcc088ffba5dbd866882ad87
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:51:33 2026 +0000

    fix option parsing, dot/dotdot safety, and URL params preservation

    - Option parsing: --encode-page-to-filename and --decode-filename-to-page
      without an argument now show usage instead of being treated as a URL.
      Add -h/--help support (exit 0).
    - Filename safety: encode '.' as '%2E' and '..' as '%2E%2E' to prevent
      path traversal. Reject empty page names with ValueError.
    - URL params: preserve parsed_url.params in urlencode_url() instead of
      dropping it (fixes URLs containing ';param' components).

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit a85826528f7f8d67a26cc3b44c01815c47837972
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:47:03 2026 +0000

    clarify usage text: decode keeps underscores as-is

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit 3e30c4383e8de6ea746ddc7398bb6f51648c5570
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:40:06 2026 +0000

    clarify colon safety and space/underscore round-trip in docstrings

    - Document why ':' is intentionally in _FILENAME_SAFE: Linux-only tool,
      colon is valid on Linux filesystems, and MediaWiki namespaces
      (Template:, Category:, File:) use it extensively.
    - Clarify that encode/decode round-trip is in the MediaWiki sense:
      spaces and underscores are identical in MediaWiki page titles, so
      'Page name' -> 'Page_name' -> 'Page_name' is a correct round-trip.
    - Note in decode docstring that underscores are left as-is intentionally.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit e8c5f3a02b23ff31413576e7c9ad60e04d2c57cc
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:32:20 2026 +0000

    split assert_path_within_dir empty checks, document realpath convention

    - Split combined base_dir/target_path emptiness test into two separate
      checks with distinct error messages.
    - Expand the function's header comment to explain the
      canonicalize-then-check-prefix convention and why -m is needed.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit a10e110069cc97b83ed96a97a24d0d01b51b074a
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 17:19:46 2026 +0000

    refactor: use Python urllib.parse for filename encoding/decoding

    Replace the hand-rolled bash str_replace chain in set_backup_page_item
    and decode_backup_page_item with Python's urllib.parse.quote/unquote
    (standard RFC 3986 percent-encoding).

    mw-urlencode gains two new modes:
      --encode-page-to-filename  encode page name to safe filename
      --decode-filename-to-page  decode filename back to page name

    The legacy mode (mw-urlencode <URL>) is unchanged.

    Benefits:
    - Standard percent-encoding instead of ad-hoc replacements
    - Handles all unsafe characters (not just /, &, space, %)
    - Properly handles unicode, double-encoding edge cases
    - Single source of truth in Python, no bash reimplementation
    - '&' now uses standard '%26' instead of '#ampersand#'

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit a2a3b4617d4cfd0c88688c9aa63918ae67ad88d4
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 14:59:25 2026 +0000

    harden mw-wiki-fetch-backup and add decode safety warning

    - mw-wiki-fetch-backup: pipe raw page name through set_backup_page_item
      before set_backup_filename_item, so '%' and '&' are also encoded for
      the temp file path (previously only '/' was encoded)
    - Add warning comment on decode_backup_page_item: decoded output
      restores '/' and must only be used as API parameters, never for
      file path construction

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit a3083e7e89f77e2bddfeb61164d3c229f747cf39
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 14:58:23 2026 +0000

    add defense-in-depth against directory traversal in file path construction

    Wiki page names from the API are used to construct local file paths.
    Although the encoding now replaces '/' with '%2F' and MediaWiki itself
    forbids '..' in page titles, add an explicit path containment check
    as defense-in-depth.

    - Add assert_path_within_dir() to common: uses realpath to verify
      the resolved target path is inside the expected base directory.
      Catches traversal via '..', symlinks, or any encoding bypass.
    - Add assertions in mw-process-all-pages, mw-wiki-fetch-backup,
      mw-copy-wiki-pages, and mw-copy-wiki-file at all points where
      wiki-derived names are joined into file paths.

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit 69f2a680fbd3042c46618dc67d249d829fb5652e
Author: Claude <noreply@anthropic.com>
Date:   Fri Apr 10 13:57:37 2026 +0000

    fix lossy filename encoding for subpages with '/' in page names

    set_backup_page_item replaced both ' ' and '/' with '_', making
    backup/restore round-trip impossible for subpages like
    'Dev/compiler_hardening' (became 'Dev_compiler_hardening.mw',
    indistinguishable from a page named 'Dev compiler_hardening').

    - Change '/' encoding from '_' to '%2F' (percent-encoding)
    - Add '%' -> '%25' escaping first to handle literal '%' in page names
    - Add decode_backup_page_item and decode_backup_filename_item functions
      for reversing the encoding during restore

    https://claude.ai/code/session_01W8Ge7qTXTEQjAYHqYaZ9bg

commit 16e3b437277f09fc06b2f43622702eb90a147092
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Apr 8 17:48:50 2026 +0000

    bumped changelog version

commit 9350fa2f082a12c5fee86b81ebc0a0a7bdf6f063
Merge: 00a5713 82c0d45
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Apr 8 09:57:01 2026 -0400

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie'

commit 00a571370db4c7f3819e341657bd46ec6bc1a850
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Apr 8 12:36:01 2026 +0000

    bumped changelog version

commit 82c0d45a613dd87cc3ceb6027db8830c271dbf18
Author: Aaron Rainbolt <arraybolt3@gmail.com>
Date:   Wed Apr 8 00:15:43 2026 -0400

    Protect the wiki password better, fix a typo (mostly from Claude Code)

commit 7843ac32943416d775257c36e2b0f5caa004f796
Merge: d806d91 f39c4cb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Apr 7 01:50:44 2026 -0400

    Merge remote-tracking branch 'github-kicksecure/master'

commit f39c4cb1ed7f8ded11cc7e77d27ccf32cee16b76
Merge: d806d91 64e95b0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Apr 7 01:45:29 2026 -0400

    Merge pull request #4 from assisted-by-ai/claude/wiki-backup-push-script-P1rkO

    Add mw-wiki-push-backup script for pushing wiki edits

commit 64e95b0cb69004d49a4353b7dd7dcf5ba2ba218f
Author: Claude <noreply@anthropic.com>
Date:   Tue Apr 7 05:37:52 2026 +0000

    Add mw-wiki-push-backup script to push git-modified wiki pages

    Provides a way to push locally modified wiki backup files back to the
    wiki using mw-edit. Uses git diff to detect which .mw files changed,
    converts filenames back to page titles, and pushes each one.

    Supports --dry-run, --edit-msg, and --git-diff-arg options.

    https://claude.ai/code/session_01SDVqu7FG7gUS4zScL4ZCKX

commit d806d91a56d2924b500086146fbff4f012e215e0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Apr 6 09:25:37 2026 +0000

    bumped changelog version

commit e782c3af897c3dca60b38bc5dedff41a13ad735c
Merge: 1f18964 b6c13bb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Apr 6 05:25:10 2026 -0400

    Merge remote-tracking branch 'github-kicksecure/master'

commit b6c13bb8cb3b57ebec8dc116abdfe49266672f45
Merge: 1f18964 ab32019
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Apr 6 05:23:34 2026 -0400

    Merge pull request #3 from assisted-by-ai/claude/fix-widget-namespace-backup-KDFCq

    Add namespace and sanity test options to mw-process-all-pages

commit ab32019fc0a395d7663b32c55678b726f6c26d19
Author: Claude <noreply@anthropic.com>
Date:   Mon Apr 6 08:29:06 2026 +0000

    simplify: remove unnecessary bash compatibility workaround for empty array

    Debian Trixie ships Bash 5.2+ which handles empty array expansion
    correctly with set -o nounset.

    https://claude.ai/code/session_011pjrpk19yJsa2Wyiq88Lp6

commit d9dd358dd07af06dc79e49377bb9b29e7c6aa9cb
Author: Claude <noreply@anthropic.com>
Date:   Mon Apr 6 08:21:12 2026 +0000

    fix: add article sanity test for Widget:CodeSelect in backup scripts

    Ensures backups verify that Widget:CodeSelect is present in the fetched
    page list, catching cases where Widget namespace pages are missing.

    https://claude.ai/code/session_011pjrpk19yJsa2Wyiq88Lp6

commit 6b992b87762f19870f0108ce31ec7c2b65ab8857
Author: Claude <noreply@anthropic.com>
Date:   Mon Apr 6 08:17:31 2026 +0000

    fix: pass Widget (274) and Moved (500) namespaces through backup pipeline

    The site-specific backup scripts now pass --namespace-extra-list="274 500"
    to mw-process-all-pages, which in turn forwards article-sanity-test,
    namespace-default-list, and namespace-extra-list options through to
    mw-all-pages. This ensures Widget namespace pages (e.g. Widget:Icon_Bullet_List)
    are included in backups.

    Reverts 274 from default_namespace_default_list in mw-all-pages since these
    are site-specific namespaces that belong in the specific backup scripts.

    https://claude.ai/code/session_011pjrpk19yJsa2Wyiq88Lp6

commit 37507512354a8d7e1c420ad41871d7353cc41eef
Author: Claude <noreply@anthropic.com>
Date:   Mon Apr 6 08:00:12 2026 +0000

    fix: add Widget namespace (274) to default backup namespace list

    Widget namespace pages (e.g. Widget:Icon_Bullet_List) were missing from
    backups because namespace 274 was not included in
    default_namespace_default_list. The namespace was acknowledged in a
    comment but never actually added to the list.

    https://claude.ai/code/session_011pjrpk19yJsa2Wyiq88Lp6

commit 1f1896487a15b4842f078db5aabb99220ae21906
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 23 13:33:33 2026 +0000

    bumped changelog version

commit 314360794af990fd11820feafe511e6f8f2b96ef
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 22 11:09:26 2026 -0500

    .

commit 58388492d33f0b6d1fdf65c06a8fdb4081c3ed13
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 22 11:08:56 2026 -0500

    .

commit bd85555cff5f4f9b1a75cc692dfa6affab70288d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Feb 19 07:57:14 2026 -0500

    output

commit 415d4404708994b26bed03bb6d05ece5ee7f601c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Feb 4 10:30:44 2026 +0000

    bumped changelog version

commit c4bee2cbabf24db6ef1ab216a76cd3e4c1e80ae7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:52:35 2026 -0500

    .

commit 21c582bedf80ce09fd7cf31ae2174d847bce1361
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:51:23 2026 -0500

    .

commit d9f840b508683fab26e188c401a801d780f5f558
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:50:22 2026 -0500

    .

commit c318dc6e8682ac4f38bcc0e1179f2b359312d06b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:45:44 2026 -0500

    .

commit fe9da44335b7568aaa242e0fb5c0851552c425d7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:38:03 2026 -0500

    .

commit cf18186fcf052f99b205cecf280c493826449ead
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:36:56 2026 -0500

    .

commit 2a71dbdd32acb24d3ada52c9be932c322c423417
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:35:12 2026 -0500

    .

commit 127f269825367fa0f8e00dcab1b6b446e4776003
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:29:38 2026 -0500

    .

commit 78bac78c621c47df16456888299a554f6e485009
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:22:21 2026 -0500

    .

commit f127ddb90af5f1107df7edb45e218a532356536b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:14:58 2026 -0500

    .

commit 7cf6c88c7ce35d425b41b765adbaae0d94400bdc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:14:30 2026 -0500

    .

commit 4a8d1dc7c5c73ab3a82ca06b153d87570e4ca1b7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:13:52 2026 -0500

    .

commit 4f6d4d4dae40ee5564a5f6688d8fe08e77c6b4f6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:09:31 2026 -0500

    fix

commit 848ba596ecb4222a5a0ecd3a81bee3b544f1b714
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 15:01:17 2026 -0500

    .

commit 3b4cc1e2508a73b3923847389ecfeb245de1c9d9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 14:52:14 2026 -0500

    .

commit 39f7307b111b987698fbf1ada5ab1140719f098f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Feb 1 14:01:43 2026 +0000

    bumped changelog version

commit 7b1a2d14de2a541abd912ee309e7ca8f28e9d41f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jan 31 02:37:23 2026 -0500

    .

commit 789c06056f2260f864ac76c1be9965a289ffa2b0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 18:49:53 2026 -0500

    .

commit 463c20a7191d9d0d5f25b7a7733f3372bbab01bd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 18:36:34 2026 -0500

    .

commit 31e0e5a645e12a2a2ac0279feca417b7a305f6aa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 14:47:02 2026 +0000

    bumped changelog version

commit 2eff2b4c7565f8928dd5c15bdfcc3777c1112365
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 09:29:31 2026 -0500

    .

commit 78f654df29850d80a921422dc3270249d519949a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 08:55:50 2026 -0500

    .

commit 95dc869b282c98d68999d0ac071d659fa74d59a3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 08:51:40 2026 -0500

    .

commit 567496ac13e5bbaad67d5be19327ec673a22eeb4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 12:53:29 2026 +0000

    bumped changelog version

commit 8c65da0799402046e91ad5f729c1371381efdd17
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:53:09 2026 -0500

    fix

commit aa09360bf3d776dcd841cc5a2740e8e7e57ae5e3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:44:39 2026 -0500

    fix

commit 7fd8fc263ddd81a0db58205137a794d05566a742
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:36:17 2026 -0500

    .

commit 79bf15253e1a41cea662f7ad9c4d22e36a9406f4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:19:35 2026 -0500

    .

commit f33e29fb7348aef3ace535e46e8525851ddc4f52
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:17:15 2026 -0500

    .

commit 0fe804d4966b840beacd3ef762a56a688d4c84d1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:07:20 2026 -0500

    .

commit 8475f7cad258707e3b9133a7e72001068b8d8074
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:00:38 2026 -0500

    .

commit e05e37cc073c78fc86370a4f2690b52a76f51780
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:47:51 2026 -0500

    fix

commit 3d59dd86698d23161410d91307ba24d94fe0efe7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:46:07 2026 -0500

    fix

commit 3d95281e4fd386a79285d3294ae80e8d35f4ac0d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:41:54 2026 -0500

    fix

commit 129a41f4db3cf441fcb96723dc76044563c9ac59
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:26:20 2026 -0500

    fix

commit 55f8f3c625106bc31fcbfa2b343730ecb63a56ad
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:18:45 2026 -0500

    fix

commit baae48d9cf32b0b2f7140b39a739e505fd46b560
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:16:43 2026 -0500

    fix

commit 2db9e4856909c73546888fbce99bf82abdf50a97
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 06:11:28 2026 -0500

    fix

commit 533e381ba4c12b9c5ba8f3b8d5a5833d82519ecc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 10:37:06 2026 +0000

    bumped changelog version

commit 40e4a2c95ac1a027b697c0f529077b06f7ee86dd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 05:36:02 2026 -0500

    .

commit cfe31280e0e98381b6bceed2d5878e0171c76456
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 05:05:36 2026 -0500

    .

commit b47e3738c22348640cd1067ac182bddd2118d17d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 04:14:38 2026 -0500

    .

commit e3e241e8ba3fdb4ece4da9153dedbeb3c714e7fe
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 04:10:47 2026 -0500

    fix

commit 32e6a4ea3e9d33b8fe028b803fd5844a7f56349b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 04:08:00 2026 -0500

    .

commit 640a6803bbfd0ca75785664b3cd98313295397f3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 04:05:16 2026 -0500

    .

commit 36ce358bad51cb9cd60c1c305942aaacaec3599b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 03:36:38 2026 -0500

    .

commit dea2960e5f7e02a279df1603b0d2fbf3466a50aa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 08:22:34 2026 +0000

    bumped changelog version

commit 13086b72f8630279dab7c423cf0e9ebf0005cac7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 03:21:04 2026 -0500

    .

commit d3bb358b33dd7c173b8267351acbb40351879602
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 03:14:41 2026 -0500

    .

commit d372bab24b11c91eafae6710c42be81b58761f2f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 07:56:50 2026 +0000

    bumped changelog version

commit 4de5e7e4c7a7614c63291fd96136b51ae1707b3c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 29 02:31:06 2026 -0500

    fix

commit 8353d1d186385cd5b2db35f69dbde2faf2bb53c1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Dec 23 03:08:22 2025 +0000

    bumped changelog version

commit 40e0d6b1a0bcab4b801dbac37cb51d3fbe9bc3d9
Merge: e92223e d9ab787
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Dec 22 22:05:59 2025 -0500

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie'

commit d9ab78716800dc1e027bdaa594ed78c0441534e8
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Dec 21 22:02:02 2025 -0600

    Avoid curl_run function clobbering output_file in mw-file-to-url

commit e92223ecd4fbfda68fa6f1b0cb1e58a265fdc475
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Oct 29 07:36:43 2025 +0000

    bumped changelog version

commit 95a5dde482cc1a04b26bad39b478c12590b4359b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Oct 29 03:20:32 2025 -0400

    minor

commit 0a1acdc84e5f5c96ab482a71b8fb2bd3cf65c654
Merge: 0fe1e8f 7f7f519
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Oct 29 02:09:17 2025 -0400

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie'

commit 7f7f5199beb7039482ae639824e5142a38dac01d
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Tue Oct 28 19:27:11 2025 -0500

    more fixes

commit e22d5a92e815173a1f1466662af528db40449235
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Tue Oct 28 00:04:57 2025 -0500

    Fix minor bugs and misc issues

commit d850424f8f93c7a26d5b4a6151ecabd5a1f545f2
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Oct 26 16:51:08 2025 -0500

    Adjust README contents, create README_generic.md

commit fb61714bae62e99f3257150d9099946ba7f5ca21
Merge: 0fe1e8f 2a040f8
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Oct 26 16:40:47 2025 -0500

    Merge remote-tracking branch 'ben-grande/refactor' into arraybolt3/trixie

commit 0fe1e8fea5cac09ee7d3fc3ebdabff9a92492db0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 19 16:15:18 2025 +0000

    bumped changelog version

commit 02ae8b8dd3d81ce45a3199b46d0e2e23de245790
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Sep 18 10:07:51 2025 -0400

    fix

commit b4e098bf404bc70f1d5beb6f8eea67ff9a308892
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Sep 2 15:21:43 2025 +0000

    bumped changelog version

commit 2760d1e95694f038962232c701278d01ebbc55f1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 26 09:12:29 2025 +0000

    bumped changelog version

commit 9192d93d2ca0583d374fee3b281f08a97e83bc7d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 20 06:57:27 2025 -0400

    bumped Standards-Version

commit a336ed44a83a56c25383ee39e2f188e4d129b339
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 20 06:25:34 2025 -0400

    readme

commit 2a040f8a7c16b91246ab895a7fd861b079130b5e
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 28 11:22:28 2025 +0200

    Add inline comments to TODO

commit d78a24e351b46fd9a57c358b09ea52c61bbfce3b
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:55:06 2025 +0200

    Print files with logging

commit aee31f07eb0c456e2a379f94765fdd2fee4541c8
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:50:57 2025 +0200

    Logging curl runs can leak secrets

commit 8dc85dbdb901b96f9e01e07ed579110b99071792
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:47:24 2025 +0200

    Bind names to URLs

commit 7d7080afc60295bc2f6d2565f9de3ee81e7c13d2
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:47:11 2025 +0200

    Fix unbound variable

commit 267d7e32845936bf7734eb982ed40b02f1dcecea
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:38:23 2025 +0200

    Add URL to curl failure logging

commit 28a8ff70e4ea6cbc39554c97d8073ae4d170998e
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:36:26 2025 +0200

    Log curl calls

commit 111bbd16becba2b2e450e35427bd47c27e5d76f2
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 10:33:05 2025 +0200

    Do not expand password

    Password generators normally don't do quotes, so less things to worry.
    But they may add special characters such as '$'. Use single quotes to
    avoid expansion.

commit 846aeb903190929a5117cd8ff3ca8a9010757745
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 09:55:19 2025 +0200

    Fix retry wrapper derivative argument parser

    Running in the background multiple jobs prevents killing them all at
    once without funny traps to kill the jobs.

commit 591d2685556b7545276945b2648f2e567cea719f
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 09:04:15 2025 +0200

    Fix log level warn

commit 908d43d11781afcb3d96e17cd310832760f80014
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 09:03:47 2025 +0200

    Minor corrections

commit 809bebb6a7d5486cf90f080e897c4b742968e168
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 08:56:44 2025 +0200

    Add missing log levels

commit 255f1f6540a8826d1de61e7f1c68931ff119a343
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 08:51:33 2025 +0200

    Remove option parser test file

commit e502819704ffa9b4dffc255d28b5fc210b4610d6
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 08:50:37 2025 +0200

    Add missing wiki URL

commit 33e0506f10d3973a5d5394187299d118d9c06706
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 08:12:53 2025 +0200

    Add missing wiki URL

commit 874126588322c91a10822059e768c99223645716
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 08:06:04 2025 +0200

    Download file with the same name as the page

commit cffc004f800a60c6196fdf0486fc7b81ee83ae63
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 07:52:03 2025 +0200

    Be verbose on login failure

    The login information is show with the 'info' loglevel because it would
    be too verbose otherwise, but on failure, it is important to see the
    host and username used.

commit e766071bb1825d75d6427f104f2e156c298b3e99
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 07:49:02 2025 +0200

    Prefer non-environment variable

commit e23831958dd21e8fcb23e31adf8ae1785f82e372
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 07:48:53 2025 +0200

    Rename mw-login-test

commit c6a485c84d23e09ef177ac46d7abe72152025b09
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Wed Jul 23 07:26:13 2025 +0200

    Minor cleanup

commit ecd912f429bc0900a08845edcc4fe420f3a5894a
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 15:43:09 2025 +0200

    Add more option parsing

commit 9fb899ebd295a35c227aa84b051c1d3eb40f0916
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 12:19:41 2025 +0200

    Allow edit message to be a positional parameter

commit 9a1864e6e50e261fac5f5b7387a5886d2127736b
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 12:07:09 2025 +0200

    Reference where a variable is set

commit 5f1151249f77fb22801af4230950b6bd991d6620
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 11:57:51 2025 +0200

    Pass argument array to retry wrapper

commit 51cdb9cd54ea31f97a113bd8291758fca0f26dad
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 11:24:45 2025 +0200

    Remove unused items

commit cab99faa8981361b1f6bed29844bea24729a8e20
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 21 11:22:18 2025 +0200

    Move credentials instruction to README

commit b2371be06eca43f2782e2e1e3f2281c488a3ebcd
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 18 12:09:41 2025 +0200

    Get wiki API from credentials

commit 4d9d3b438327434bb0fb9d024b5d6dff09398a01
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 18 11:33:18 2025 +0200

    Clear logout/login reason on failure

commit d7f5df4bfd76a07f89f4fd5461431346ea4279e5
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 18 10:38:47 2025 +0200

    Fix usage instructions

commit 4efa38393cabfc1dc2b33b761f34542b1bbaf519
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Thu Jul 17 18:14:41 2025 +0200

    Even more environment variable removal

commit 230c62d3a4e6d64a5fbf17cedded27cfc567a1e7
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Thu Jul 17 12:35:47 2025 +0200

    Another wave of removing environment variables

commit d612e8fcf466a3c88baddc3b13b82a647d9d7568
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Thu Jul 17 10:10:49 2025 +0200

    Fix instruction URL regex

commit 8ebdab143f80fa6af872a49461531b95931d2306
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 18:46:07 2025 +0200

    Remove unused code

commit 495fa529e233b0508088f964489c1c80703f0f16
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 18:44:18 2025 +0200

    Convert some scripts env vars to script arguments

commit d8870a8a1722054cad301f0d4db11142433a4921
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 16:14:51 2025 +0200

    Minor cleanup

commit 5c41de4439c6e591a0b3918e7743c4e5a53a91fe
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 15:15:33 2025 +0200

    Normal variable to array

commit 6769f81bb17b186d2415f62ea204b5aa620e3f57
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 14:59:29 2025 +0200

    Log only after source

commit 78e1344004f1bcb545e34dc83995d804b3eef167
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 14:44:41 2025 +0200

    Add end-of-options separator --

commit 8a040ddd35b42475e734c7bc1faa80d76dcfce54
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 14:29:37 2025 +0200

    Add missing log function

commit 8fbe34c25e243f05d2ea4e21b75ce69986d658a4
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 12:33:24 2025 +0200

    Clear redirects

commit 041a6d77688bed6593d016ba3ccf68a4f200c900
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 12:22:14 2025 +0200

    Substitute seq for {1..n}

    Except when the 'n' is a variable, as it does not perform both
    expansions and 'eval' would be necessary.

commit fc8764aa00a398b5ba9643b9b09a7f92d4a1ab8d
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 12:20:13 2025 +0200

    Add safe terminal utils

commit 9c6be0782dbdeb02b73b375e7d9ca913ed7b707f
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 12:05:15 2025 +0200

    Check for empty file with -s

commit e2db953422d735c9a926e9969164e444ae59d99f
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 11:40:19 2025 +0200

    Compare empty against -z

commit 6620c8b61cb7935aa5f40fe243053e940c1984ce
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Mon Jul 14 11:37:34 2025 +0200

    Stricter shell options

commit 67f83c9457ec92bd941efd352819f863e5d2b68b
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 11 17:53:54 2025 +0200

    Minor fixes

commit 6710c76d65c52d4804bede80b068982ee6a51c99
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 11 17:30:06 2025 +0200

    Shell formatting

    shfmt -w -s -i 2 -ci usr/

commit 8009f116628cb6c73265a7415579b9cc65ffa9a6
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 11 12:08:17 2025 +0200

    Add logging helper

commit 07aae4d5a0549b70a73bf52ab26c25aa4cc27386
Author: Ben Grande <ben.grande.b@gmail.com>
Date:   Fri Jul 11 11:07:51 2025 +0200

    Shellcheck and pylint

commit d593b98e3d6199db7e94790e20b3c794bce21064
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 28 12:11:17 2025 +0000

    bumped changelog version

commit ffbf7aa3fea199db3ce94b8e309cc133ac3fdbdd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 28 06:53:31 2025 -0400

    fix

commit 783af0d17f46faa0a48841d27f697f8d2728008f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 21 13:57:17 2025 +0000

    bumped changelog version

commit 6b3416bb39e07c98d8b6437641707f695e7f8e23
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 21 08:34:25 2025 -0400

    fix

commit 2688c38a7fc5f0e82d1b9b3443cd984fd6b861f3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue May 20 11:39:26 2025 +0000

    bumped changelog version

commit 4ac116aa11d9572d798ab4c1033e4cd9437808d7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 12:57:01 2025 -0400

    .

commit 86ba096a138bbab3c878bbfabcd5fcc44ce8493f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 12:56:38 2025 -0400

    .

commit 29a7c4d3ae467aea238f29721b93ba62baed8af1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 08:36:00 2025 -0400

    .

commit 085f9af4074a8b48d22adff3e5d1530cc47da932
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 07:54:33 2025 -0400

    .

commit 61fc3913567556822f988fd1841a80b72cc8abe5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 06:09:15 2025 -0400

    .

commit 0dd2be67a71dc771cc95d9c798cc342e5bd68e35
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 18 06:05:52 2025 -0400

    .

commit ca84bb4f51807551d5ab6555a2872c1d5181979a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 7 06:39:35 2025 +0000

    bumped changelog version

commit e1bda62d54eb08c905c11c34a17743aa7cdf2010
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed May 7 02:34:14 2025 -0400

    python -su

commit 47c1d8d83dedbafc6ccbfabae2775bb395c175ca
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 10:13:03 2025 +0000

    bumped changelog version

commit 892692bccace03a65716338380cebdd094f93b6e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 05:29:05 2025 -0400

    safe-rm

commit 6d9417e892de1ba079721db21b61f2acb275d80e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 05:28:38 2025 -0400

    refactoring

commit a90989676a90bd46bd8eb3c515c51e27c288ff6f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 05:21:40 2025 -0400

    refactoring

commit e8490c993a415f26229871285ff0382e2825594f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 05:10:21 2025 -0400

    fix

commit 31ab27c2ac5f80d8a7d4c6091c032b8c64d415e9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 05:00:54 2025 -0400

    fix

commit e144403433df19fa45d879bbf6d174e4ac3ce8b0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 08:06:33 2025 +0000

    bumped changelog version

commit 23910f15887917e45d12ed1f203a68877af7752e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 04:03:45 2025 -0400

    fix

commit f363fc3112477ac5541c66f1d12c3acd5e133440
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 26 03:55:04 2025 -0400

    fix

commit bcff2a791018d290079dfeb993ba976aaa7b95cd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 30 12:57:45 2025 +0000

    bumped changelog version

commit 393a3926296c2a75c61ceabac0e6b820f624e907
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 30 07:44:37 2025 -0500

    LANG=C str_replace: no longer requires LANG=C, therefore removed

commit 5224a6e924d062808c6b8bee742138b2f259866e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 23 16:25:24 2025 +0000

    bumped changelog version

commit 46b18e57965e21370c01926d3972a03698930255
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jan 23 11:11:58 2025 -0500

    copyright

commit de976582e9d62ea241d8ac8c615583ce2584622f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Dec 31 18:38:51 2024 +0000

    bumped changelog version

commit f706385b4fb9b11d7c3201c370f181801b07e827
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Dec 31 13:26:19 2024 -0500

    copyright

commit de4257e41882ed6b63a0ac2903525bc6167d30e7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Nov 18 14:56:31 2024 +0000

    bumped changelog version

commit d96bd08ea04fdc96243fbda56ed3d24bcf3d2edf
Merge: 72da52e 3559a3d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Nov 18 06:30:12 2024 -0500

    Merge remote-tracking branch 'ArrayBolt3/arraybolt3/wiki-link-archiver'

commit 3559a3db1eefd721de5fa74a0cbde5ec68d1b319
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Nov 17 13:30:41 2024 -0600

    Don't try to re-archive archive.today links in archiver script

commit 3d372da955ff9702f841f921d9436993692ca646
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Nov 17 12:19:58 2024 -0600

    Handle onion links properly in the archiver script

commit 9da26f63ee7a58e4112a4f2ed082560f0adf32e0
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Nov 17 11:13:49 2024 -0600

    Skip archive.org Wayback Machine links in link archiver

commit 40d83dbb68047f7b36fd95157461f2bc327ac724
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Nov 17 03:02:06 2024 -0600

    Add wiki link archiver tool

commit 47a8c3b61ffb044c78ee089203180a2dddb98820
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Date:   Sun Nov 17 01:04:58 2024 -0600

    Use Bash regex matching for filtering out links in mw-file-to-weblinks

commit 72da52efb175db53fc04465d9a92277439f92188
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Oct 23 09:55:45 2024 +0000

    bumped changelog version

commit 985f0426428977a11add344a60359c2eb470ac4b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 16:00:22 2024 -0400

    .

commit 29640e49cd8a8e91564d517ae897f8660c7c1979
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 15:55:46 2024 -0400

    .

commit c6c45c5af9d655fb1f820fe747a461a344a04082
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 15:53:03 2024 -0400

    .

commit 8e854131fdf647efc2bd994b2d2587a08b00a909
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 15:48:18 2024 -0400

    .

commit 30b8fd34da1331d2d31e15752fe7cd26521a6bb5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 11:13:01 2024 -0400

    .

commit e58435250ca6734597ab06137fded9681c274ed3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 20 11:12:02 2024 -0400

    .

commit acdd894d059ca490130a6673bdf1e6925ba9aeb1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Sep 25 01:03:23 2024 +0000

    bumped changelog version

commit c1fe75e1808baa148a80983b57a88533264cb2f2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Sep 24 21:01:20 2024 -0400

    Depends: python3

commit 84dc1a3cf805caecc94edc3df53b2e4fdb40692a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Sep 24 05:00:13 2024 +0000

    bumped changelog version

commit 30b7023cc352c75f7610ac2421b5ee3feb17b79c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Sep 21 07:45:26 2024 -0400

    .

commit 6c4efc7f7637bf51febd8721c7091640dc18811b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Sep 21 07:30:35 2024 -0400

    .

commit 26b9a6708fa8213920ac0e616e0b29d9936be935
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Sep 21 07:16:00 2024 -0400

    .

commit fce4d061e3a5ae288a17e9b2e2a8018e7e48116a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Sep 21 07:08:39 2024 -0400

    .

commit 7c666ee8872813ebca861f3efc9628054db087b9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Sep 21 07:01:03 2024 -0400

    output

commit 1756256bc0fa2b8a23bee7fc99e43f685d939a81
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 27 21:58:29 2024 +0000

    bumped changelog version

commit 0f0f8db5d621fb27cf9d42757726edb65d09800f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 27 17:55:22 2024 -0400

    .

commit 79befc107a7938ffd0f7cdede21551096ae63aad
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 25 14:33:08 2024 +0000

    bumped changelog version

commit ac454efe341869a6cc895204d82656ac85d63011
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 25 10:29:02 2024 -0400

    .

commit 0c9fd3d0aa9ba3c35f883498c0607e30ec65d91b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 24 12:18:39 2024 +0000

    bumped changelog version

commit e419c57e0e6205a791430bab49e523b5ebcde34f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 24 08:14:55 2024 -0400

    .

commit 3e37cca89b8bd94e0e0770939b72172642068ad2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jul 26 17:14:38 2024 +0000

    bumped changelog version

commit 74872ae407620bf54b861ecadd93cbd41b15e18c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jul 26 13:14:22 2024 -0400

    .

commit bdf4953003742bec6dcb384199552a072cdb71eb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jul 26 12:11:19 2024 -0400

    comment

commit 80813a3d3ad26bcf5bd92f68b76b03e45edeebd8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jan 24 11:46:15 2024 +0000

    bumped changelog version

commit 585bc1c2b29bd36292cd73d768b7ac71ad94f52b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jan 24 06:46:02 2024 -0500

    .

commit f2c97f8dd8d2b8f6b1532f353c1829470c2c7f24
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 22 12:42:54 2024 +0000

    bumped changelog version

commit 71d2b8e42540779aa12415562fdd9277f730b818
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jan 19 10:12:43 2024 -0500

    .

commit ceabf7c43adb46a28473951b67b5574f607272e4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Nov 11 20:19:51 2023 +0000

    bumped changelog version

commit 0dc613aa8cc6d16b212d4235854d1455d83af961
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Nov 11 13:41:30 2023 -0500

    change license to AGPL-3+

    https://forums.whonix.org/t/license-change-to-agplv3/17455

commit b39e30abea4c4e5cf5a8acd6b90d9788dfb6a90a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Oct 2 21:33:14 2023 -0400

    bumped changelog version

commit f8b35d6a50bbb9f80a2b169223ed2e7cf0458e01
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 17:32:25 2023 -0400

    .

commit bec88908473f1f14904b3578ab855692ae4aac4b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 17:32:19 2023 -0400

    .

commit a33eeefcba8908dfa34051d6b055759f89fab1ec
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 15:18:06 2023 -0400

    .

commit 75b3fcdcf0cd82fe35d53ebbf225a4e48ab833ba
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 14:36:57 2023 -0400

    .

commit cf798286b1b6585197e11cc08e9d8cddeb9f4e8a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 14:28:19 2023 -0400

    .

commit aa545bf69acb788049d8da5b3310a6fe9af2c806
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 14:18:15 2023 -0400

    .

commit 6043fcb80821ce4117598a3a8c4b0d673c532504
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 14:14:22 2023 -0400

    .

commit 4123a4a5da291ea3e12ca269dfc6003a6abbeb3c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 14:06:03 2023 -0400

    .

commit 0de151c53077bdd33c889c5ce3621f240f5ff777
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 13:51:25 2023 -0400

    .

commit ac4d918ba458a7b080d130bcc5db28759c4b8b9e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 13:45:54 2023 -0400

    .

commit 66c662981ba0112bb47813fe9e2effa598a8be50
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 13:37:05 2023 -0400

    .

commit 5148fc7cec344fe6ae3ec543b30f6902e67d2e48
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 13:30:12 2023 -0400

    .

commit 418faf8f982338e288b7c768ded4d2560baba083
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 13:21:36 2023 -0400

    .

commit c621d02854b5f7e6e70b5a0ef5f879b94137a562
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 12:57:40 2023 -0400

    .

commit 28dd1da87d86e210f7b73bfbd20ebf7ee579d2ec
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 12:49:55 2023 -0400

    .

commit 1e355e8092003c440430412268a5b823640c827c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 12:39:53 2023 -0400

    .

commit 7545a94621b0215ed11e0879ffedd3d7cf37ee64
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 10:50:39 2023 -0400

    .

commit df83fbb8bfdf8c2dcc71a32a79d2c95c0c2d82a4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 10:38:19 2023 -0400

    bumped changelog version

commit 56d72d8efa97c8d0b34e5eefdd6591ab13a81837
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 10:37:26 2023 -0400

    .

commit e078d124f5f5be94e21a081cb4914818ad8c1a4c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 08:23:25 2023 -0400

    bumped changelog version

commit 1d506479086d081bf994c7562f17ea2a04709e38
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 08:22:42 2023 -0400

    .

commit 28a9091445fcfd6bb4c0968cabf4ea51377a9eda
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Oct 1 08:22:30 2023 -0400

    .

commit e21a9a68118a3c78d1d6e4a8984fc3e08c126e23
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 29 17:21:06 2023 -0400

    .

commit fe62909950211c1a9a7b683bd9ef1bb172d68fad
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 29 16:56:32 2023 -0400

    .

commit aa5fbecd1854ff42ab63de131ca469cd8d324a1c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 29 16:53:19 2023 -0400

    .

commit 738a7dbfa5845e62eff3a4e6f63f278e5f17975a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 1 08:11:17 2023 -0400

    bumped changelog version

commit 4033e0ee12129da80fe690f1096c3eb111bffb48
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Sep 1 08:11:02 2023 -0400

    fix exit code

commit 07f833c021916dd9f8f14d2ffddede6d6ca14744
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 17 11:46:35 2023 -0400

    bumped changelog version

commit 5c60fa35580a4401c619dcba2d572dc9187a20e3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 17 11:18:40 2023 -0400

    Kicksecure

commit e177ae104e1de24d6eba97fccf9c01e4410453d9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 21 09:34:12 2023 +0000

    bumped changelog version

commit db59efd7684e44b3e986b8fb36c6b7c86ab3a3bf
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 21 09:11:29 2023 +0000

    bookworm

commit a83eecd5cb733c4e8b1572712554e21890f0e927
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 21 08:36:45 2023 +0000

    .

commit f0ac759ffba904b03398cebfc6f7e3b1c50b6f2a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 16 13:26:08 2023 +0000

    bumped changelog version

commit 5175448e38bc7fdb8bc07a0fcf04f0153d83f0db
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 16 13:22:58 2023 +0000

    .

commit 3b2955294d0450f51761508d261ab3bf89bca6a1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 16 11:07:13 2023 +0000

    bumped changelog version

commit 6fa97751713562aeed83afdb527b240c86fb7079
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 16 10:49:03 2023 +0000

    readme

commit cae70d8b808dba01d69dd9f4a4a2b016cc322d38
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jun 15 17:03:16 2023 +0000

    bumped changelog version

commit 058c97373371d9cef8ff3ecf23e5a4fcacac11fa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 14 13:14:46 2023 +0000

    copyright

commit ede66c74e7371d987b393f79d8f3ed7d21c663f2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jun 12 17:58:56 2023 +0000

    bumped changelog version

commit ca23cfdd2ce6337fef78ad752cd441f5b2e60778
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jun 12 16:22:30 2023 +0000

    Standards-Version: 4.6.1.0

commit 5148a119360823dcca4c40239c0bbe142fd769d2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jun 12 15:23:02 2023 +0000

    bumped changelog version

commit f6597b55f14d16b1c7c44d48b23e709b4efaba25
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jun 12 14:51:59 2023 +0000

    update copyright year

commit df10f8d04818ae9836b6a316bd05b1a7c7dbf5a9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Feb 16 05:51:59 2023 -0500

    bumped changelog version

commit aa948117fab5ef376ac4933d37f738ca75cbb987
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 13 06:50:16 2023 -0500

    .

commit f3c2de14b21bb48fe596fe0ca9b3c843db69cb9b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 12:08:38 2023 -0500

    bumped changelog version

commit 9f9df1c4de44686dbaab6e58534f3bc4eab3d275
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 09:52:24 2023 -0500

    .

commit 7da7aa07d3945936a6f092297c631bb6be972747
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 09:51:31 2023 -0500

    .

commit 4eca1265d810720fe89017e30f76849d5551443a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 09:13:38 2023 -0500

    .

commit 6f30c7764766b257f8432dde348582c85ab5d332
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 09:10:14 2023 -0500

    .

commit bd51eede6b04048fd52ed6e498264790fc314745
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 09:00:50 2023 -0500

    .

commit 2103d59a13ed32930e2be78c6349d8b46ad9bfb1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:57:55 2023 -0500

    .

commit 38067be846c1177388b5b275f0b5e7b0369bf867
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:56:06 2023 -0500

    .

commit 606eb26d3f3879812f2bf79a4fd0dc754933bd20
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:55:33 2023 -0500

    .

commit 6ad1a8f54564210e4ba49a2cad2791a24e99ebda
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:54:37 2023 -0500

    .

commit 3db44af0376c0445fcb7a850c7651ae34356d9ec
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:54:22 2023 -0500

    .

commit 4daf9aa33b918ea692efad2a9e1abcec4f88e020
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 08:32:43 2023 -0500

    .

commit 94d3f345a39e9fd5faffe6a1019dd07d2474e005
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 07:55:34 2023 -0500

    .

commit a0d61b85fb6bec78cebbd284fefde8934f488415
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Feb 6 07:53:40 2023 -0500

    .

commit 76873d58160431b9fce06081359a10faff16d6d3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jan 13 12:16:47 2023 -0500

    bumped changelog version

commit 765b620bdae1508b37266dcc3d02b44d14671726
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 09:26:35 2023 -0500

    .

commit 6d59d56b70113b0faf58a8b602cf4caa5953161d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 09:25:35 2023 -0500

    .

commit e3664f09621da2bd381fdefa76d91212801279ce
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 08:19:40 2023 -0500

    .

commit 3140156bb53783a2c20c9910d02250334acfa717
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:59:34 2023 -0500

    .

commit c5e3cc72c8d5b2fd6d02eb3fce24f586486ce57c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:30:35 2023 -0500

    bumped changelog version

commit 82c06a63e1d4d1ad17ebdba2a1f6a72b990520dc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:30:31 2023 -0500

    .

commit c83a12513af37e09fe4791d7fe66b4c0701a6c49
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:26:40 2023 -0500

    bumped changelog version

commit 039d9f517667d084c566a077efcf95731fbb4cb6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:23:17 2023 -0500

    .

commit 58ea306fd353996ed0bbeb945aab518a5c9f488a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:17:45 2023 -0500

    .

commit b376f22b8b56f094dd750b46b1684149fa63d5ef
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:15:40 2023 -0500

    .

commit 0416b1a09430602f52da4d353381721112191e42
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:09:04 2023 -0500

    bumped changelog version

commit 33fa93630d8a3b61b8ec4353a318d43a141af5e1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:03:18 2023 -0500

    .

commit af2ef08e24de668c4266f52d8e8de6c1c08ffd8f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 07:01:59 2023 -0500

    .

commit d65689dd7344f3fa6e6c855dae2445d3ca8679d3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jan 10 06:53:53 2023 -0500

    .

commit 0ef7016c9f573223c723380bfa6f89603691969a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 9 06:02:12 2023 -0500

    bumped changelog version

commit c41447a9974db3d79007e85f9ae1c9639dfcc570
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 9 05:55:45 2023 -0500

    refactoring

commit 06b934ceebd4f7d29e02cca84fd82df89b676324
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 9 05:53:45 2023 -0500

    bumped changelog version

commit 9d89be315d02b92f5d6677df843cb84cae6c8e11
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 9 05:53:31 2023 -0500

    fix

commit 869c799bd88ea6cc95c18b180285dbe82948ead8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jan 9 05:39:25 2023 -0500

    bumped changelog version

commit c58bdde330a5ccc6216ccb92167c19a3d2dfa554
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 16 06:44:43 2022 -0400

    .

commit 814763637cda51a4787aa7b766bc35dc750f85bf
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 16 06:01:30 2022 -0400

    .

commit b1aaac9bf084f8013da38d361ae1922063f1e390
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 18:02:06 2022 -0400

    .

commit 4b5e1add7c3d3c2ddbae5a926d37e06f7967a842
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 17:59:23 2022 -0400

    .

commit d0250482bdebc90b6e22f6def1fcba3a9e065031
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 17:53:24 2022 -0400

    .

commit e20ac91e3cbfb7780eb9d73d0cdf3706a0e7a2ba
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 17:49:47 2022 -0400

    .

commit acecc476e447c1e48addcca9dae7a17773465dae
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 17:33:49 2022 -0400

    .

commit ce7fab16e241e5a5315fd44af1b36f86fc8f378d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 15:10:15 2022 -0400

    .

commit 2c5535cf8c26f7d1e4d137dac71549b3c1d0cea7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 15:10:07 2022 -0400

    .

commit 17f947d2ba4d6133b1d5e927e274612c7f8bd127
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 15:01:58 2022 -0400

    .

commit 38073ab9ecd5c371e58c59a04c78952fe7d30792
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 15:00:49 2022 -0400

    .

commit c525c5b465136c3317819184dbf63d907db71656
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Aug 15 14:20:05 2022 -0400

    .

commit 2e20e856928827cdbb7e5a95b60d5dc3c48e7f99
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 18:10:47 2022 -0400

    .

commit 2e139904073407c3283041d6144683e778ce4e79
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 18:01:58 2022 -0400

    .

commit 086dfd4f8df93477d0b93726a686df71cfb9f4f9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 17:52:20 2022 -0400

    .

commit 5d41333136c97f2782377659eb519cd986d6eafd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 17:43:59 2022 -0400

    .

commit eb4859ee1a72c3096f69b6d1b91c4b939972dd76
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 17:43:43 2022 -0400

    .

commit e1b247a27c770fc430d4e09a372457b8f581aabf
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 17:17:48 2022 -0400

    .

commit 5bb28567234c6ad63aecbfe78cdae4eea994d96d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 14:27:57 2022 -0400

    .

commit 6ea14213dbf5808cd0256771bc3c65a9e00c0946
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 14:20:50 2022 -0400

    .

commit 49ef4fd4d97bf3274970e417cfdc1689fc741981
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 14:05:27 2022 -0400

    .

commit 4f678340b0b7ec357dd93b15c1891194d951f57d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 14:01:11 2022 -0400

    .

commit 7dc1f7afb549a22bdbf09a4df9395aec708451ee
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 13:58:36 2022 -0400

    .

commit a626e61f914fb3894432b8ca4018389fbcdd3878
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 12:01:47 2022 -0400

    .

commit cef7952c331d59cb4e2e8909087fedbbe57d856a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 12:00:48 2022 -0400

    .

commit 37d6a7115157563af1589e101917d8284a50788e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:59:43 2022 -0400

    .

commit b7d59b7bac78fd14be1805109635b1f4d81af72c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:59:16 2022 -0400

    .

commit d9c1fe4751dc69ab218d9e51d9c2a24aa085a4d7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:57:27 2022 -0400

    .

commit a8e08dc31b03877c228a1eaae7672b6846bb9fcb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:56:44 2022 -0400

    .

commit fc6208a0e20db68b8e2b351f7490472c45d2c775
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:54:44 2022 -0400

    .

commit 4dc07066fdeebabe4651987127e4cc4e2da3fadb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 11:49:19 2022 -0400

    .

commit 56da0d054310f304688dc67e639cb652d1da6137
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Aug 13 04:57:51 2022 -0400

    .

commit 066b459ae79b9551cc7de88af0ae6184eed83662
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 18:57:04 2022 -0400

    .

commit 782288931ac18d32f86b8f404f3e2f4008b12a73
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 18:19:53 2022 -0400

    .

commit 2404e310e8723172e52f4f141eaff7c827bf38c6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 18:17:48 2022 -0400

    .

commit 5d3fe462bc677df47c37fce796d5cdf4c34f0ca3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 17:43:56 2022 -0400

    .

commit 0c2bbb91f6ece23d9ba13fd1080f9cd456bac6df
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 17:38:24 2022 -0400

    .

commit 1055c17567cfb1a4d13b4fa864b28b2fc5838b6d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 17:37:31 2022 -0400

    .

commit 382a952781173db84882e6438c3fa1fa35273952
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 17:27:47 2022 -0400

    .

commit d206645905200632915ec668ada74cd1e2635474
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 16:14:02 2022 -0400

    .

commit f74a2b684efee2dc0c3ccc03f0b2c41601cd9686
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 16:05:21 2022 -0400

    .

commit cbce17da17f74ec252915100702db27d926f34f3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:25:42 2022 -0400

    .

commit a6abfc2ff6abdaddc3788b7e845984e400a6c1ff
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:25:06 2022 -0400

    .

commit ba27b059b2ebecb475be7aa584287dfe028a43ce
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:21:51 2022 -0400

    .

commit 679e85694c42a1f726ade8bc56727900a70b1d6d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:21:20 2022 -0400

    .

commit 3123f599dd2049f64de7916e5890b7009e49f1ff
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:19:20 2022 -0400

    .

commit fb8c4d6d17b586ae26ff6254d3926f9cbf780ffc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:04:21 2022 -0400

    .

commit e66c886944595c35c32c199d06f712f6f8dfdbcf
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 14:02:25 2022 -0400

    .

commit 73c9d34f2dc81e6da966d8b7f6589e50f151b7de
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 13:55:41 2022 -0400

    .

commit 2b00d3da09c7bdb2265995d776a851bf323b3cf6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 13:52:19 2022 -0400

    .

commit 89fe3399939baf6d217fb4242c99c09a42cc19d8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 13:43:40 2022 -0400

    .

commit 82ea2e077ab2ff2eb11c8a4a5b8f9642046352a9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 12:51:00 2022 -0400

    .

commit 211a0bad6d062e163c23e2dd3e05c424b5522a1a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 12:48:56 2022 -0400

    .

commit e1e651f00f8c1e10a697844b2af63a862849296c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 10:39:09 2022 -0400

    .

commit ec9896b124d0a78578279b7106c7828ec7185191
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 10:34:58 2022 -0400

    .

commit f9b90d046c44e68fa714bf619d7a2f263bee7969
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Aug 12 10:33:45 2022 -0400

    .

commit 2baeaeeecfce89dcacbbfa7cf52869eeb4e62222
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 08:45:32 2022 -0400

    .

commit e218e0400760e0a4ea426da1acd26a4c344dfc4f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 08:37:09 2022 -0400

    .

commit 53bedf0bf3f7c8028ffc9125f249450fe81194ea
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 08:32:10 2022 -0400

    .

commit 46fb5cbdfb5b8114df58d0b7220d04b9ac6690b7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 08:25:25 2022 -0400

    .

commit 7bf7a8871489d5b74fdc62e7073186edb09d4096
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 07:16:08 2022 -0400

    .

commit 2f2efdc36d4e90848fa40b1884347d9d2749d2e3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 07:01:06 2022 -0400

    .

commit 4337d224f3dac3bb1ee348b4e99c4a48cdf034b3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:55:12 2022 -0400

    .

commit c90577298de2a49a4e49e60e9b6a161bac9e69e2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:53:27 2022 -0400

    .

commit 641422ecda82dc5c11cb5451c0fef6f4089c4d68
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:50:29 2022 -0400

    .

commit b27148a230695c4cfca794858c6aefae8b1576eb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:42:00 2022 -0400

    .

commit 73e494a3b6146ecdbd487616eeef93e44b84af4a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:37:28 2022 -0400

    .

commit 9e2298a02c23b5bd80035ce0fb8a4d62b681a857
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 06:30:11 2022 -0400

    .

commit 082d0aabb178a29e75639aaae99217c63797d3e8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 05:44:02 2022 -0400

    .

commit 71c90536cbf9a92ea76cc78eb86c27252da8b9a1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 04:47:02 2022 -0400

    .

commit f52753e816c0779c74efa2b58b87337f8401b666
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 04:37:41 2022 -0400

    .

commit 65fe1fde53bc72374679e10a84908a2458386877
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 04:35:00 2022 -0400

    .

commit 0b9659f4e48a30b4963c0bef6485012d035a09f8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 04:10:42 2022 -0400

    .

commit 7f92eb2c99baeb08800c89ad64102c739472ad70
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 10 04:10:13 2022 -0400

    .

commit 507d8ff6036c59e915cf74b32c24d6993da47c73
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 9 16:40:16 2022 -0400

    .

commit e05f79893a1d62c1d421f482bf837ec440d5b846
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Aug 9 15:59:40 2022 -0400

    .

commit 723429153c784bd8d5fc8e154598c9bdcba5295c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 7 18:13:01 2022 -0400

    .

commit e8739334374afc801a674a82853f0ee3749d8e07
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 7 18:12:15 2022 -0400

    .

commit 24d24e4b45ee83329cf68d9ea4f533a9f3f4f6f7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 7 18:12:00 2022 -0400

    .

commit feb53cad63d95c4a369918c0c5624d5096e1f597
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 7 17:37:54 2022 -0400

    .

commit 91a84fcbac59579b261ed8fbd74751115282df08
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun Aug 7 17:31:51 2022 -0400

    .

commit 60df226dc231a17a7fa508a11a2ad854cac44770
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Aug 3 05:30:52 2022 -0400

    .

commit 1661e2a5380f32a06c27f4074af89b63d8714b67
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 26 09:06:36 2022 -0400

    .

commit a7d5f9d6d78c4aa4297692f9a0bc9c7042f14487
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 26 05:40:46 2022 -0400

    .

commit b227afb417efabe86ad20d214d49987f2517bb64
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 13:34:24 2022 -0400

    .

commit 1cd0744603534957476ec680dbde98ae611f0891
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 12:40:29 2022 -0400

    .

commit d90c7a3e2f25517983d2206824f83f18542413bc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 09:04:26 2022 -0400

    .

commit ed567843f690d4e90b7b4517223f37bfd72d933b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 08:58:22 2022 -0400

    .

commit 9d6cc8635d9137c26c738ec7f9e7bf9a11286529
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 08:55:15 2022 -0400

    .

commit 6705ba14ab455fb77883e54f86728b350e8dc7ab
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 05:25:32 2022 -0400

    .

commit 51818d109237f03fc237956a80d947d20c40cf7a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 05:21:10 2022 -0400

    .

commit 4448878b435f2153911ed0ccfc4b31c0c147f62a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 05:18:58 2022 -0400

    .

commit 13e17566ab87d14534f7278157c0880cac8a5ec6
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 05:16:40 2022 -0400

    .

commit 3dd8f83f81e9f33da81adf46e8d82570651736d4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Thu Jul 21 05:15:18 2022 -0400

    .

commit 4ac55e2156f310d2ae753cfc68aa5d959571178b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 15:16:52 2022 -0400

    .

commit 091d8ed3f36799e317578252d482b3192ca38d2b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 15:16:27 2022 -0400

    .

commit 26262bdb79d7cc8b02669088f834c864147cb03d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 14:00:22 2022 -0400

    .

commit a4d9421c9a1cbc1607c8e3923a1899eb21bb4c63
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 13:57:46 2022 -0400

    .

commit 102871585926cab9b43b73a7e111f9dcbc416e69
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 13:53:54 2022 -0400

    .

commit 46c27a5b7979be85e8633dcd461072a85cc47cd8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 13:43:02 2022 -0400

    .

commit 7f313bd21952c6052c07dd89ed705248570f0a42
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 13:23:58 2022 -0400

    .

commit e2a4ff8c2b4e1e3f24535120201159dbdce88c24
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jul 20 13:01:42 2022 -0400

    .

commit 49a9b2fa67fe00643d19450c1554ad99212a70e4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:31:41 2022 -0400

    .

commit cb567aac3be2467b4a09d062c6ae70e496548592
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:19:47 2022 -0400

    .

commit 4dd2799b017a87a9dd3144cdddb60373a4c97455
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:18:55 2022 -0400

    .

commit d991e77e1b7094239da0309500109810f02cad95
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:18:07 2022 -0400

    .

commit 7da8976507275177caf78394f3d078a884005760
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:09:17 2022 -0400

    .

commit 78dbf03107eff57a1d5fed4358558ec73e2ea603
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:04:13 2022 -0400

    .

commit b740f7f94938a373eb6a415966f11c44f764058e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jul 19 18:01:41 2022 -0400

    .

commit 13ccf4d5b42b467c4f9765cf93af1d9ecd69f965
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 18:43:04 2022 -0400

    .

commit 11c0a4ef46fe9b13565ce15e02f3ee3065cf7f77
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 18:39:25 2022 -0400

    .

commit 05a16c31b0c55cff33bedbb6402c3996c8bfb3fe
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 18:36:33 2022 -0400

    .

commit 2a2cea332150f1cddc3ff315dd535a31225c17f8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 18:34:57 2022 -0400

    .

commit 3a4a11b1f31aa6beb21ab4e521515929f563bfd3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 18:08:41 2022 -0400

    .

commit dc9fabb2f86c5837788449f5733d6b59f9314c8c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 17:56:39 2022 -0400

    .

commit df5d92900b7be4d8647269aab6c80a73b69c00ef
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 16:55:31 2022 -0400

    .

commit a2b4abba03ff6eabe83f1f25fd1715c640a42af5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 16:51:59 2022 -0400

    .

commit 857f0087018398ef4f46d7349b92414749175412
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 18 16:45:30 2022 -0400

    .

commit 45aa589a08d77472609c264da47db1245660eece
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jul 15 05:47:00 2022 -0400

    .

commit 75ecb1471e18910ac6a38287cce450c6658a8bfa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:59:06 2022 -0400

    .

commit 8544445e6454a786cf66e0b5b4cd9de7be421616
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:57:59 2022 -0400

    .

commit 10cdd06eacb6153cf16ccb87e2005a0ecebd86df
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:57:04 2022 -0400

    .

commit 3f7303155f84d13c5da8928b6fad9bd84e03de48
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:55:44 2022 -0400

    .

commit 61eb3cbd1474d9cbaa1e992a3912c691637a1fed
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:52:37 2022 -0400

    .

commit 84db3425949a5e9694e130977c04bf172e5891e7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:50:14 2022 -0400

    .

commit f28f872c94cccde9f36a11a752567cca4cd2a3fe
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:47:38 2022 -0400

    .

commit 1ee7664d2755d5d559c44b86f5522528a7d0c2c8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Jul 11 18:36:17 2022 -0400

    .

commit 7ed1d0210d9638b6d63c1992da943f2f2686deed
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jun 21 06:36:52 2022 -0400

    .

commit a68f5f3c81c0caa5909bd2ca399f63695218ce5b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 10:39:29 2022 -0400

    .

commit c27f14543939a9a65449500e9f393d5e1cda9ca7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 10:38:01 2022 -0400

    genmkfile uch

commit a565d166b5417dc9ed4665436eb5ea4306e6bd20
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 05:25:22 2022 -0400

    .

commit 741eab5ad5db53f6aa94d27711f794490415e7ce
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:32:09 2022 -0400

    .

commit 63b26420303f9eec69ddfd824036a66308957416
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:29:05 2022 -0400

    .

commit 9e32edb6f8843769a02888894ca90e574c0b2421
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:27:02 2022 -0400

    .

commit 0cd851d8390d697593f19d195d76fa1bd54dedd3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:26:20 2022 -0400

    .

commit 8c50b1715aed016ecbe5285ddb3366bee98e97aa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:25:03 2022 -0400

    .

commit 7400ea2c1f4d7d931044cf0ac1643c82387d05fa
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:24:04 2022 -0400

    .

commit 64b6c617e1aa16ad6a7f6e014ec5a56ea5b640f0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:22:49 2022 -0400

    .

commit 153f8ad9186872c897dc08aedc3796f59fd7ac93
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Jun 18 04:19:46 2022 -0400

    .

commit b3e1f413d4ad5ad96abeb947ca9a2294e9828cdb
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 09:42:32 2022 -0400

    .

commit 0a42a3f248177ec64d38af0bf7133fc6dc495c5c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 09:39:01 2022 -0400

    .

commit 360b4eabedd836bd39146b29fc016b199d52b86b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 09:27:04 2022 -0400

    .

commit cb794cad660e43db9f888e37f39e2c17e6682dea
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 09:24:54 2022 -0400

    .

commit c15448941119ff09dfaa038729e9894ebae44b4c
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 08:43:13 2022 -0400

    .

commit 13de3bac13fd5ee3f41b0f414ea14f49b9560755
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 08:36:40 2022 -0400

    .

commit 70e3a2a1e0447565a970600055c72eb35496d663
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 08:19:48 2022 -0400

    .

commit 31013f438a5bff16891ca4b3ea5417d228858d8d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:53:58 2022 -0400

    .

commit 7d5fdbf1e1a04b1c46c237c3c13f096b9366c07b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:28:07 2022 -0400

    .

commit 736d4fd90e4d46cf637500f87e7e8319283ffc6f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:22:09 2022 -0400

    .

commit 515aa86dc56b3a224cbd2cf5029bcd322ab737a7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:17:58 2022 -0400

    .

commit 0bea920ede6a9db7c3445b30cf5c9af77cbbb494
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:13:23 2022 -0400

    .

commit ed69b796c3532c3bed113a40f6e2327ff7ce7f7b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Jun 17 07:13:11 2022 -0400

    .

commit e8ce94f2245c707f85aac747b1caa2b551c3b46e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 08:03:11 2022 -0400

    .

commit 80c84a424f4a2ec787ae073c62f7ad431003a4ae
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 08:02:50 2022 -0400

    .

commit e8f74fe5c4bb924f4b4fcf2fec83e73249ee04f2
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:55:55 2022 -0400

    .

commit d2eb9884d638f03f98171ffed2cf2dc2a4a86d90
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:43:52 2022 -0400

    .

commit b9203cd6a43b33b8e5ac828c642e3e0cc29b24c1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:41:45 2022 -0400

    .

commit de1fffd68ca7d57f74f4892e11a8255177b4074f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:30:02 2022 -0400

    .

commit 1f82f621b8c1ea432aba1f5b19cf6e99fdb2a9d7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:29:11 2022 -0400

    .

commit e4291bb8c22b285c55feb7eb1d7f07ae99caa6a8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:28:33 2022 -0400

    .

commit 9e6fb3cad4442cf1a7b262bb963beb22404c1521
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Wed Jun 15 07:27:53 2022 -0400

    .

commit c9fbaa2c3cae851493c32833e05a4c2da99a9261
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue Jun 14 13:13:12 2022 -0400

    .

commit 7091e2e4bc8b7aed3c7e5d9636c351a5c6ca0b35
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:44:21 2022 -0400

    .

commit 38180dbbd8eb894ac4b42834326ea14a7fd4f431
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:40:15 2022 -0400

    .

commit 6208e090e1e49369996d5ccfae68cc25aaabf5b4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:38:53 2022 -0400

    .

commit 0e16261f60c28aee21ef086e9401a46f837043ce
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:37:46 2022 -0400

    .

commit 24abdd88ab6162bc3d33618bfaac467a6caa7a9d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:36:13 2022 -0400

    .

commit 50ea7c69d4801aac3331bfe92addf477ddbfa41d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:33:06 2022 -0400

    .

commit 4b4586dca105c6f00cb7f1c21b9e5582e86077e0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:30:30 2022 -0400

    .

commit 5a657bcbb58bdda09f415b75aa4556ec2199f892
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sun May 22 12:28:13 2022 -0400

    .

commit 71b3ef9b1a013fdceebde81132684f647692c226
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri May 20 07:44:06 2022 -0400

    .

commit 38c6f3e1d82ae35de9c0c8efbf81398fdc7adcf8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri May 20 07:29:24 2022 -0400

    .

commit 183c28e6461e1edb20ea3795cc1b8a808cd57e5e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri May 20 07:23:23 2022 -0400

    .

commit d0e60d7c38e6f924f7dcffb16dec6a265e6240f1
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri May 20 07:18:54 2022 -0400

    .

commit 25d1c861c62136f2c3c2967477b2f209d3d417e7
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue May 17 08:12:09 2022 -0400

    .

commit 94334e6335cb94a4c81de1635cbf11e0d66e3ac5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Tue May 17 08:09:45 2022 -0400

    .

commit f13ff3ab1e4c97ba64cf66888ca8b8a9174f433d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 09:47:38 2022 -0400

    .

commit 18f115310559564920a97e6a7bbf98c4aeca6a76
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 09:22:47 2022 -0400

    .

commit a06611fb825b7a90c773dd52573f68aa2cde4e31
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:59:18 2022 -0400

    .

commit 6e019a560da037849c6a2e938e1a09ce69998cb5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:49:44 2022 -0400

    .

commit e58e40e89563afe005f72c660b9e6044bfd3dd2f
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:48:48 2022 -0400

    .

commit 60eec5abf7e66656fd2c927ae37a1480de0c136a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:47:32 2022 -0400

    .

commit 85ca2643998224bf6a6016e5d88a0c957456a22e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:44:40 2022 -0400

    .

commit 2dd6e8b94d1d0db73d32115bf83c82d3843660ab
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:40:18 2022 -0400

    .

commit 1cb57ca16ec7042a4450db4efc08117bf0a6afa9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:29:09 2022 -0400

    .

commit 35c718e2fe0a92a20c9175d5610f31263954127d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:28:42 2022 -0400

    .

commit a416689f84e36e2ee6eca519cbb90fa863a6899a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:27:52 2022 -0400

    .

commit 4333826ab5b7e45b2c8dc1df59b390e17057cad3
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:23:03 2022 -0400

    .

commit df6d66acf1e31e0bd95fec187f039bd7aacd533b
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:09:35 2022 -0400

    .

commit c8494f5e4a2a71460e04d527003480e164173541
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 08:07:00 2022 -0400

    .

commit 5ca592520076c715f0f63a2a275be4d94d039a3a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:49:21 2022 -0400

    .

commit 5b9c83fcfe5362ba580abc0ed7f667143430bb37
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:40:49 2022 -0400

    .

commit 5e8cbf729cb508b9500da462d9c3da80e7fef13d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:22:48 2022 -0400

    .

commit 48848051bfd2bdce6d9a4025700eda9a8eb83e16
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:20:47 2022 -0400

    .

commit 04758102c0028bd2630d890fafff7f2e845f61fd
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:18:52 2022 -0400

    .

commit ea4712abced65c5e232dd5a57c6ef26f38ef2d9a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:17:53 2022 -0400

    .

commit 1dcf8b5a28cf35fe97fa595bfb8bc68d197fd9ba
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:16:45 2022 -0400

    .

commit 61fb858dbd0de7e3fd1f55a10bbcba6ff6e3f6ef
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 07:09:05 2022 -0400

    .

commit 28bbbda2a7e5b5632bcae0a5a6edd2458499a25d
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 06:47:27 2022 -0400

    .

commit f78f8622856b7611ee8a3bcf3812e780e0570277
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 06:39:17 2022 -0400

    .

commit 2452aca087024dffb449d4c6b7427b66c9d9e2be
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 06:21:44 2022 -0400

    .

commit 4b53bf8309f485797234d70500993e1f2e5c1361
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 06:17:37 2022 -0400

    .

commit d77495b0ac9a927818a16132c2ef94ff89b97c3e
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 06:12:13 2022 -0400

    .

commit 10efa00ef1826f811152ba79a7895b619efb0cc4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 05:59:32 2022 -0400

    .

commit 1e147568448f658e86ea25aa9e5b84237ef4b1d4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 05:58:07 2022 -0400

    .

commit 16470be0beac5b9a6fb600543d4632e82a3a9b16
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 05:53:15 2022 -0400

    .

commit e352b5517ed2382abd87442483206f9042fd18d0
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 05:20:48 2022 -0400

    .

commit 23483dcfb4be607d0d0c91f73f686280665bac32
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 05:19:13 2022 -0400

    .

commit 0b7adc0d668d807c1c3f3da66db21d7bb16a0fd9
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 04:59:26 2022 -0400

    .

commit b61f82d6aecccf8c74b1367569c3a522a332ba72
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Sat Apr 2 04:59:08 2022 -0400

    .

commit 3eb5ba3e20fd0a1c8519ce109bef1556218e9ec4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Apr 1 13:01:45 2022 -0400

    .

commit 81a693049b0ffbbf429b0de5b5b14e6f91805bb4
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Apr 1 12:38:24 2022 -0400

    .

commit d912df82b47f5f53b78ddd5dabdd1c0c4ce9d5f8
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Fri Apr 1 12:37:40 2022 -0400

    .

commit 32ceda388d13390f36bb29779fb3f1b4dc3400d5
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Mar 28 17:14:30 2022 -0400

    improvements

commit d749bc39e748d429a4bdf7208c20b1819104bbbe
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Mar 28 16:48:45 2022 -0400

    improvements

commit 7cf7ba88fa069a5e87c22647a56cab3f86fa252a
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Mar 28 16:45:03 2022 -0400

    improvements

commit c437efe8642d01779ff4fb810ac368bb1d8c6cbc
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Mar 28 16:42:32 2022 -0400

    improvements

commit f1ca25992b8b12d67d1ceb21c6659851895865ff
Author: Patrick Schleizer <adrelanos@whonix.org>
Date:   Mon Mar 28 15:38:57 2022 -0400

    major revision

commit 27e6d05596f0c4953487900fb5c5961c709a9752
Author: Matthew Newton <mcn4@leicester.ac.uk>
Date:   Thu Oct 9 15:53:40 2014 +0100

    Initial commit
