May-16-2026
Clean up Users functionality, fixing regressions, and adding names to bulk registration. Make the login email template more attractive. Update Tutorial and DynamoDB documentation. Create Flask API documentation. Support local testing of mailer functionality using MailPit and MAILER_DRY_RUN environment variable. Improve and document release creation process when using Claude.
- #714 Bulk register: accept Name values in addition to email addresses
- #930 Documentation: Update UserTutorial to current prod functionality
- #955 Users: doesn't list all the users in the course
- #956 Users: users table formatting
- #957 Users: take a list of email-addresses and names
- #958 Users: refresh users list after registering users
- #959 Require Claude to require that a GitHub Issue is referenced in every commit message
- #960 Users: First Seen / Last Seen columns in users table always shows n/a
- #961 Users: inaccurate description text for non-admin users
- #962 Users: Test: verify admin with two courses sees all users from both
- #963 Users: duplicate course sections and 'Primary course' label shown for all courses
- #964 Test fixture: always generate a fresh DynamoDB table prefix for local runs
- #966 Fix ESLint no-undef error: list_users called bare in users.js
- #967 Fix list_users_courses crash on stale course_users enrollment records
- #969 Update and complete DynamoDB.rst schema documentation
- #970 Create Flask API endpoint reference documentation
- #972 Add PostToolUse hook to auto-check Sphinx docs build after editing docs/
- #973 Add bin/make-targets script
- #974 Add MAILER_DRY_RUN env variable to log emails instead of sending them locally
- #975 Add Mailpit local SMTP catcher for local email testing
- #976 Improve email template HTML for better email client compatibility
- #979 Tag main branch as ver-0.9.7.5
- #980 Document release process (milestone prep, tagging, release notes) in CLAUDE.md