-
v0.10.5 Stable
released this
2026-03-09 16:53:50 +00:00 | 124 commits to main since this releaseAdded
- Forms: Add custom form framework
- Slack forms shortcut: Added a
/formslash command that opens a modal linking to Member Portal forms (Replacing functionality from previous form app)
-
v0.10.4 Stable
released this
2026-03-08 20:59:40 +00:00 | 126 commits to main since this releaseAdded
- 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 Stable
released this
2026-03-05 12:44:12 +00:00 | 145 commits to main since this releaseAdded
- 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 Stable
released this
2026-03-03 21:24:28 +00:00 | 158 commits to main since this releaseAdded
- Material management: Add system to track material storage of users/org
-
v0.10.1 Stable
released this
2026-03-03 05:51:50 +00:00 | 160 commits to main since this releaseAdded
- Training bookings in calendar feeds: Training bookings now appear in personalised ICS calendar feeds for both trainers and trainees.
- Configuration option
base_url_short: Addedbase_url_shortconfiguration option inconfig.jsonfor 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.pyand added endpoint for front end rendering 🖥️
-
v0.10.0 Stable
released this
2026-02-27 18:42:39 +00:00 | 168 commits to main since this releaseAdded
- Training Booking System: Rough training system that allows for "parametric" training bookings. Possible inductions are added by open training slots and trainer availability. Inductions are excluded based on trainer endorsements, event restrictions, and location conflicts
Changed
- Induction metadata: Extra induction metadata has been added including: how long inductions take (+competency checks), induction restrictions, induction precursors
-
v0.9.8 Stable
released this
2026-02-25 16:23:45 +00:00 | 170 commits to main since this releaseAdded
- 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 Stable
released this
2026-02-22 21:05:50 +00:00 | 183 commits to main since this releaseAdded
- 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/sendendpoint 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 Stable
released this
2026-02-20 09:21:36 +00:00 | 198 commits to main since this releaseAdded
- 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 Stable
released this
2026-02-16 18:42:57 +00:00 | 206 commits to main since this releaseAdded
- 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.