Skip to content

v2026.3

Latest

Choose a tag to compare

@applewebbo applewebbo released this 19 Sep 14:33
· 2 commits to main since this release

What's New in v2026.3

✨ Features

  • Association logo in HTML mail (#73): Booking and application confirmation emails now embed the association's logo inline, and the intake mails (receipt, resume link, second-parent request) get a proper HTML alternative alongside their plain-text body.
  • Plain-language "What's new" page (#75): The footer's version number now links to a public, non-technical changelog instead of the raw GitHub commit list.
  • Typeable date fields (#69): Birth-date and event-date fields across the site's own forms now use a typeable dd/mm/yyyy mask instead of the native mobile date picker, with a calendar button kept as a fallback.
  • Minor's address autofill in check-in (#74): Adding a minor's booking by hand at check-in now copies the address from whoever signs the request, the same way the public application form already does.
  • Privacy notice read-to-the-end gate: The application wizard now holds the "Continue" button until the privacy notice has actually been scrolled to its end.
  • Reworded check-in and application choices (for #70): Subject-type choices in the check-in add-booking modal and the application wizard's opening step now read in third/first person consistently.
  • Disaster-recovery restore drill (for #1): A new ENVIRONMENT=restore management command restores the latest backup into a disposable local database, to prove backups are actually restorable.

🐛 Bug Fixes

  • Booking inline delete crash (#77): Deleting a booking from an event's inline formset in the admin no longer crashes with AttributeError — deleted_objects is now read after the formset is saved, not before.
  • Editor-added bookings lost contact info (#72): A booking added by hand from the event's admin page now keeps its contact name/email/phone, sends the same confirmation mail as a public booking, and refreshes a re-booked member's contact details instead of keeping a stale address.
  • Association logo in dark mode (#71): The logo now sits on a white backing so it stays visible against a dark background, and a demo logo is seeded for fresh installs.
  • Dark-mode contrast on wizard summary pages: Several intake templates used a fixed light background color that washed out in dark mode; they now use theme-aware surface tokens.

🚨 Tests

  • Silenced two django-import-export deprecation warnings coming from its own internals (#76).
  • Stopped pinning the "recent backup" fixture to a fixed calendar date.
  • Added the regression test that restores 100% coverage on the age-resolution branch introduced by #72.

🛠️ Maintenance

  • Updated Python dependencies, pre-commit hooks and Alpine.js to their latest versions.
  • Named backup files after the project and aligned dbbackup's own cleanup count with BACKUP_RETENTION_DAYS (for #1).
  • Generated the migration for the reworded choice labels (for #70).
  • Aligned the Dockerfile's Tailwind CLI version with what django-tailwind-cli expects, avoiding a ~120MB download at container boot.

📖 Full Changelog

v2026.2...v2026.3