August 2026
August 19, 2026
Surveys
- Stricter rules on survey responses — Responses are now accepted only for published surveys that are available, not deleted, and assigned to you, and only from members of the course. Editing a submitted response is refused when the survey does not allow response editing. Late responses are still accepted, as before
August 12, 2026
Bug fixes
- Preview as student stays on its own assignment — On the Test Assignment page, Preview as student no longer shows submissions from other assignments (#918)
- Discord role sync scoped to active courses — Role synchronization now runs only for active courses and stops retrying failures that cannot succeed (#924)
- Long-idle tabs no longer crash — Returning to a Pawtograder tab left open for a long time no longer errors out when you come back to it (#902)
August 11, 2026
Grading and gradebook
- Safeguards on scores and completion — Rubric point values are rejected if they are negative, grading completion is computed from each student’s own reviews rather than an assignment-wide summary, and an out-of-date gradebook recalculation can no longer overwrite newer grades (#922)
August 6, 2026
Assignments
- Repo-only assignments with no autograder — An assignment can now be configured with no autograder at all. Every push to the default branch is collected as a submission for hand grading, and pushes to other branches are recorded in the commit history without becoming submissions (#898)
- Suggested due dates shown prominently — When the Suggested due dates course flag is on, an assignment’s advisory date is now surfaced clearly to students. Also fixed a timezone shift that could move dates by a day when creating an assignment (#896)
August 4, 2026
Command line
- Pawtograder CLI published to npm — The
pawtogradercommand-line tool is now installable from npm, with the previously stubbed command groups implemented. See CLI (#885)
August 3, 2026
Accessibility
- Major accessibility work on student pages — Student-facing pages were reworked for keyboard operation, focus handling, labelling, and contrast, measured against WCAG 2.1 AA, and an automated accessibility suite now runs against them on every change. This closed out the large structural barriers; a punchlist of smaller items remains open, so the student pages are not yet fully AA conformant (#862)
Bug fixes
- Preview as student on unreleased assignments — The student preview on the Test Assignment page no longer closes itself when the assignment has not been released (#887)
- Renamed GitHub accounts re-linked — Students and staff who rename their GitHub account are now re-matched automatically, and a course URL must be unique within its GitHub organization (#888)
July 2026
July 17, 2026
Grading
- Graded non-submitters flagged in the roster — The grader roster now marks students who have been graded without ever submitting, so a stub submission created for grading is not mistaken for real work (#865)
July 16, 2026
Assignments
- Unreleased assignments hidden from students — Assignments that have not been released no longer appear on the student dashboard (#866)
GitHub
- Membership and repositories heal themselves — GitHub organization membership and team assignment are reconciled the first time a student logs in, and a student repository that failed to be created is retried instead of needing staff intervention. Template repositories can also be set per deployment (#866, #861)
July 6, 2026
Grading
- Grade students without a submission — Every enrolled student appears on the assignment roster. Students with no active submission show Not submitted and a Grade anyway button that creates an empty submission and opens it for grading; the progress panel counts them separately. Bulk Assign Grading gained an Assign grading for all students toggle that does the same in bulk. See Grading assignments (#855)
Bug fixes
- Non-submitter roster scoped per assignment — Students who had submitted some other assignment in the course are no longer left off the non-submitter list for an assignment they skipped (#859)
- Grader names in bulk assign — The assignee selector no longer shows blank entries while names are still loading (#856)
June 2026
June 30, 2026
Integrations
- LMS (LTI) Sync — Courses can connect to Canvas or another LTI 1.3 platform to pull the roster and push assignment grades back to the LMS gradebook. Site admins register platforms, and each course maps its LTI contexts to Pawtograder sections from Course Settings → LMS (LTI) Sync (#789)
June 23, 2026
Grading
- Release checks that grading is finished — Releasing grades now verifies that the reviews it covers are complete, and judges completeness according to each reviewer’s role (#844)
Administration
- Class creation requires a GitHub organization — The admin Create Class form now offers a required dropdown of configured GitHub organizations and accepts a list of instructor email addresses to invite. Admins can also run team synchronization for courses they do not teach (#846, #834)
June 22, 2026
Groups
- Group management tidied up — Copying groups from another assignment is now done from the assignment’s group management page, and students receive write access to their group’s repository however they join the group, including by invitation and by staff assignment (#839, #850)
Branding
- Per-deployment branding — A Pawtograder deployment can set its own product name, logo, favicon, and accent color, so an institution running its own instance sees its own branding on the login and course pages (#840)
June 19, 2026
GitHub
- GitHub organization defaults and an in-browser file editor — Site admins can set default template repositories per GitHub organization from the GitHub Orgs dashboard, admins can enter a course as an instructor, and
pawtograder.ymland workflow files can be edited in the browser with schema validation that blocks an invalid save (#831)
June 18, 2026
Assignments
- Per-assignment repository configuration — Assignment setup now covers how students get and hand in code in one place: a repository per student, a fork of the student’s own repository from an earlier assignment, or no repository at all with students uploading their submission files directly. Assignments can also require a pull request, with settings for the upstream base branch, how the submission pull request is identified, and whether an open pull request is itself a graded condition. Pull-request assignments add Checks and Deployments tabs to the submission view, and instructors can create a submission on a student’s behalf. See Assignment configuration (#781)
June 14, 2026
Assignments
- Preview a test submission as a student — On the Test Assignment page, Preview as student shows your own test submission under student rules, so you can check what students will see before releasing (#835)
June 8, 2026
Grades
- Correct grades on the dashboard and in rollups — The student dashboard shows the grade for the active submission, hand-grading totals roll up correctly, and a review score is never displayed below zero (#824, #812)
June 5, 2026
Submissions
- New submission file viewer — The submission Files view now uses the same code editor as the rest of the platform in read-only mode, with syntax highlighting and steadier handling of large files and long grading sessions (#565, #820)
June 4, 2026
Reporting
- Assignment dashboard and rubric report — Each assignment has a dashboard summarizing submissions, scores, and grading progress, and instructors can build a rubric report that shows how often each rubric check was applied, filtered by section, lab, or cohort. See Assignment dashboard and Rubric report (#806)
Bug fixes
- Lab sections can be deleted — Deleting a lab section now removes it instead of leaving it in place (#811)
- No more error page without a course role — Opening a course you have no role in sends you back to your course list instead of showing an error (#830)
May 2026
May 30, 2026
Assignments
- Advisory suggested due date — An assignment can carry an optional suggested date on or before the real due date, as guidance for students working through a multi-part assignment. It is advisory only and enforces nothing (#791)
Exports
- Assessment export and hint feedback in exports — The CLI’s
assessment exportwrites a whole term of course data — assignments, rubrics, submissions, scores, tests, hints, engagement, and gradebook cells — with optional pseudonymization of who each row is about. Student feedback on autograder hints is now included in exports. See CLI (#746, #780)
Bug fixes
- Group repositories preserved — Dissolving an empty group no longer removes a repository that already has submissions (#800)
May 29, 2026
Instructor tools
- View as student — A View as student button on the course home page lets an instructor pick any enrolled student and see that student’s whole course, read-only. Nothing you open in this mode is recorded against the student. See Staff overview (#779)
May 23, 2026
Grading
- Confirm review and advance — The rubric sidebar has a confirm button that records the review as complete and moves you to the next submission in your queue (#695)
May 21, 2026
Regrade requests
- Course-wide regrade request management — Instructors get a course-level regrade requests dashboard, students can request a regrade on a specific rubric check from the grade breakdown, and requests that no longer match a mark on the submission can now be found and resolved instead of sitting unnoticed (#733, #772)
Enrollment
- Invitations no longer expire on their own — Bulk invitations stay valid until they are accepted or withdrawn, and duplicate profiles for the same person are merged. A person invited as an instructor to two courses is now added to both (#777, #747)
May 20, 2026
Rubrics
- Rubric editor with a visual tree — The rubric editor gained a drag-and-drop outline of parts, criteria, and checks alongside the YAML view, and YAML rubrics can reuse shared definitions by reference. Copying and pasting rubric YAML saves correctly, and a preview no longer drops checks that share an identifier (#766, #775, #773)
May 19, 2026
Instructor tools
- Commit history, on-demand grading, and GitHub diagnostics — Instructors can open a student repository’s commit list, start a grading run on any commit from it, and use a diagnostics page that reports the state of a course’s GitHub organization, repositories, and permissions (#764, #750)
- Faster instructor pages — Large instructor tables stream in and render only the rows in view, so pages with thousands of rows stay responsive. Batch group updates and large assignment deletions were also moved off the request path (#708, #765)
Bug fixes
- Handout sync, gradebook refresh, and live updates — Handouts sync files over 5 MB and propagate deletions to the repositories they sync to, gradebook cells recalculate when a student’s active submission changes, the submission history panel updates as reviews change, and the code viewer follows the Pawtograder theme rather than your operating system’s (#749, #783, #763, #769, #770)
May 18, 2026
Discussion
- Mark a thread as duplicate — Staff can mark a discussion thread as a duplicate of another, pointing readers at the answered thread (#727)
May 17, 2026
Accessibility
- Accessibility and usability pass — A broad round of fixes to labelling, focus handling, contrast, and keyboard operation across the platform, plus a Keyboard shortcuts entry in the support menu that lists the shortcuts available on the page you are on (#753, #744)
May 16, 2026
Security
- Hardened chat attachments and page content policy — Attachments in office-hours help request chats are sanitized before display, and the platform now sends a strict content security policy (#752)
May 15, 2026
Assignments
- Automatic late tokens — A course can let students push after the deadline and have a late token spent for them. Where it is enabled, the assignment page says so, and submitting late applies a token if the student has one left. See Late tokens and extensions (#692)
April 2026
April 28, 2026
Gradebook
- Expression Builder editor — The full-screen Expression Builder now has syntax highlighting, autocomplete for built-in functions and column names, hover tooltips showing the value of any sub-expression, and per-line results shown inline. Column and section filter dropdowns gained Select all and Select none buttons. See Gradebook (#735)
Autograding
- Clear error when no files match — If no repository files match an assignment’s configured submission file patterns, the submission is rejected with a message naming the patterns that matched nothing, instead of grading an empty submission (#739)
Performance
- Faster discussion and submission pages — Long discussion threads and submission pages load noticeably faster (#740)
April 23, 2026
Grading
- Bulk release and unrelease — The instructor submissions table supports row selection with checkboxes and an All in view option, so Release and Unrelease act on exactly the rows you picked (#730)
- Group mentor column — The instructor submissions table shows a Group mentor column, with a multi-select filter, when the assignment’s groups have mentors (#731)
- Clear message when feedback is released — A grader who tries to change marks on a released review now sees an explanation and is directed to ask an instructor to unrelease it (#724)