• v0.10.5 2cbd89bcf6

    v0.10.5 Stable

    Fletcher released this 2026-03-09 16:53:50 +00:00 | 124 commits to main since this release

    Added

    • Forms: Add custom form framework
    • Slack forms shortcut: Added a /form slash command that opens a modal linking to Member Portal forms (Replacing functionality from previous form app)
  • v0.10.4 1ca3e0e15c

    v0.10.4 Stable

    Fletcher released this 2026-03-08 20:59:40 +00:00 | 126 commits to main since this release

    Added

    • Carpool Optimiser: Added a route optimiser for group pickup/dropoffs
    • Event name badges: Event managers can print name badges for event attendees
    • Material statistics: Added material statistics page showing material distribution, ownership, and usage over time
    • Material lists: Add system explainer
    • Trainer availability: Added explainers for system
    • Food orders pickup: Volunteers can generate a shareable link with order details to allow non-volunteers to pick up food
    • Others personal volunteering stats: Committee can now view volunteering stat pages as other users rather than relying on the data on the overall page

    Changed

    • Minification configuration: Asset minification is now configurable 🖥️
    • Material lists: Added creation date/last seen to tables, make columns sortable, add pagination
    • Material lists: Added confirmation before printing bulk labels
    • Non member interaction with material system: Disable creation and claiming for non members
    • Trainer availability: Dismissal of available slots is now stored server side. Prompt cards are now rendered regardless of presented options 🖥️

    Fixed

    • Training availability: Improved error handling for adding availability to ensure success messages are properly displayed 🖥️
    • Training availability: Fixed bookmarked events collapse state being lost when confirming availability
  • v0.10.3 6e68cb0b20

    v0.10.3 Stable

    Fletcher released this 2026-03-05 12:44:12 +00:00 | 145 commits to main since this release

    Added

    • Label printer support: Added the backend functionality to send text and images to a label printer
    • Material labels: Added material label printing
    • Total individual hours chart: Added a graph showing total individual hours over time to volunteering stats
    • Organisation locker assignments: Added the ability to assign lockers to the organisation as a whole, in addition to individual users

    Changed

    • Request logging: Request logs now include user display names alongside truncated user IDs 🖥️
    • App home logging: Slack app home render logs now include portal display name if set 🖥️
    • Trainer endorsements table: Table formatting cleaned up
    • Event restrictions table: Support wider screens

    Fixed

    • Failure to delete material: Database conflict caused materials to not delete
    • Material bulk operations selector: Material selections weren't cleared after a bulk operation
    • Material browser prompts: Browser prompts on the material pages have been replaced with modals
    • Event managers past events visibility: Event managers can now see all past events, not just events they created or hosted
    • Member type mapping: Correctly map community memberships
  • v0.10.2 83460d8879

    v0.10.2 Stable

    Fletcher released this 2026-03-03 21:24:28 +00:00 | 158 commits to main since this release

    Added

  • v0.10.1 7b089e7746

    v0.10.1 Stable

    Fletcher released this 2026-03-03 05:51:50 +00:00 | 160 commits to main since this release

    Added

    • Training bookings in calendar feeds: Training bookings now appear in personalised ICS calendar feeds for both trainers and trainees.
    • Configuration option base_url_short: Added base_url_short configuration option in config.json for generating shorter URLs for QR codes.

    Changed

    • Logging filters: Excluded anonymous requests to site root /, all requests to /pages, and WordPress scanning patterns (wp-login, wp-admin, .php) from access logs 🖥️
    • Manual training booking UI: Induction selector now includes the induction level, pending bookings no longer require a trainer, booking end time field now feeds off of start time and selected induction length
    • Personal token submission page: Added warning info box for users with volunteer access directing them to the full volunteer tool
    • QR code generation: Centralised QR code generation in util/qr.py and added endpoint for front end rendering 🖥️
  • v0.10.0 7f4621a0f8

    v0.10.0 Stable

    Fletcher released this 2026-02-27 18:42:39 +00:00 | 168 commits to main since this release

    Added

    Changed

  • v0.9.8 618eb375b2

    v0.9.8 Stable

    Fletcher released this 2026-02-25 16:23:45 +00:00 | 170 commits to main since this release

    Added

    • HTTP GET cameras: Add support for external cameras that retrieve snapshots via HTTP GET requests
    • Test suite: Add user test/timing script for all endpoints listed in navigation menus 🖥️
    • Training QR code: Add QR code to personal training page to direct trainers to the add induction modal and keyholders to a page that allows them to grant a visitor induction if the corresponding workflow is complete
    • Dark Reader auto disable: Add meta tag to disable Dark Reader extension when site is in dark mode 🖥️
    • Probationary trainer endorsements: Added a third state for trainer endorsements (endorsed, probationary, or not endorsed). Probationary trainers are displayed with a 🅿️ symbol in the overall view and cannot sign people off on inductions

    Changed

    • Active users: Add IP addresses to active users, may not be accurate depending on networking
    • Camera performance: Increase front/backend camera performance
    • PWA install button: Move app install button to the top of the homepage
    • API documentation: Hide "Manage API keys" link on API docs page for users without admin group

    Fixed

    • Contribution graph mobile overflow: Github style heat map on personal token page no longer overflows horizontally on mobile
  • v0.9.7 ac0c687414

    v0.9.7 Stable

    Fletcher released this 2026-02-22 21:05:50 +00:00 | 183 commits to main since this release

    Added

    • Training Docs: Document management system for training information. Uses Wiki.js as a backend and tracks the current state of individual induction docs (lead, sign offs, status)
    • External Notification API: Added /api/notifications/send endpoint for external systems to send notifications to users. Supports all existing notification features 🖥️
    • Training link from admin contacts: Added "Training" button on admin contacts page that links to /committee/training#contact-{user_uuid}. The training page automatically expands the contact entry when accessed via hash fragment
    • API documentation: Move api docs to swagger-ui 🖥️

    Changed

    • Creation button theming: Updated more buttons to correctly use green theming when the action involved creating something
    • Template variables cleanup: Remove legacy variables from templates (slack_info, tidyhq_info)

    Fixed

    • Training hash segments: Training hash segments updated to work with UUIDs
    • Accordion chevron colours: Fixed accordion button focus border colour and chevron icon colours not using custom primary colour.
    • Announcement category pages navbar: Fixed login button appearing on announcement category page
  • v0.9.6 e8b3151256

    v0.9.6 Stable

    Fletcher released this 2026-02-20 09:21:36 +00:00 | 198 commits to main since this release

    Added

    • Custom Pages: Management committee can create custom markdown pages that are viewable via URL or added to navigation
    • Food Orders System: Collect food orders from volunteers to make catering for org projects easier

    Changed

    • Second-level navigation children: Navigation items can now have nested children (children of children) for more complex menu structures. Desktop uses dropdown submenus, mobile uses nested collapse menus.
    • Trainer Endorsements: Trainers can only add/remove inductions they are endorsed for.

    Fixed

    • Training modal selections: Fixed issue where selected inductions were lost when filtered out by search in the add/remove training modal

    Security

    • OAuth rate limiting: Added rate limiting to OAuth authorize endpoint to reduce abuse
    • OAuth PKCE: Implemented PKCE support for OAuth 2.0 authorization flow to prevent authorization code interception attacks
  • v0.9.5 7276997655

    v0.9.5 Stable

    Fletcher released this 2026-02-16 18:42:57 +00:00 | 206 commits to main since this release

    Added

    • SSH key sync from GitHub: SSH public keys are now automatically synced from linked GitHub accounts and made available via OIDC claims for services like Forgejo

    Changed

    • Navbar: Parent nav items with only one visible child are now replaced with that child item, avoiding unnecessary dropdown menus
    • README: Rewritten with a focus on general feature descriptions
    • Slack app home login: Management committee members can no longer use the Slack app home login button to reduce the risk presented by Slack sessions being left logged in.
    • Nav items on mobile: Added a box around child nav items to make them visually distinct from the next parent item.

    Fixed

    • Locker rows scrolling on mobile: Fixed issue where multiple rows of lockers in a section would scroll independently on mobile devices. All rows within a section now scroll together horizontally.