• v0.67.3 ddb113cb68

    v0.67.3 Stable

    joeyr released this 2026-10-04 23:02:46 -05:00 | 17 commits to main since this release

    Fixed

    • A real Canvas course id is out of the tree, and test_no_pii.py now refuses one.
      _course_of's docstring in canvas/client.py used a course id read off the account as
      its example of a context_code, and had since C2 on 2026-08-24, copied from that
      phase's measurement. It is course_101 now, the id the fixtures already use. Every
      rule in the PII guard checks a shape a real value has and an invented one does not, and
      an integer has none of them, so the file passed throughout.

      The new rule takes the one shape left, the digit count. It reads Canvas id shapes only,
      a context code (course_<n>) and a REST path segment (/courses/<n>, and the quiz
      sessions C8 will read), and refuses four or more significant digits. Measured across
      every tracked file before it was set: each invented id had three digits at most or was
      a zero-padded placeholder, and every real id read off the account had five to seven.
      It failed on exactly one line before the fix and passes after. It never prints a
      refused id, because this repo's CI logs are public. A bare integer is out of scope,
      since ESPN and NWS fixtures are full of large ones, and the test says that is the gap
      it leaves.

      The id is still in history: 65 commits, from f502822 up to this release. A rewrite
      would repoint 45 of 115 tags, this one included. Whether to rewrite is an open decision
      in docs/canvas-plan.md, with the numbers.

    Downloads