• v0.9.7 ac0c687414

    v0.9.7 Stable

    Fletcher released this 2026-02-22 21:05:50 +00:00 | 276 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 | 291 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 | 299 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.
  • v0.9.4 5e8c8e2209

    v0.9.4 Stable

    Fletcher released this 2026-02-13 08:22:37 +00:00 | 308 commits to main since this release

    Added

    Fixed

    • Dynamic groups in user cache: In some circumstances the list of groups a user is in didn't include dynamic groups
    • Concession proof document reveal: Fixed issue where clicking "Reveal Document" button would duplicate the button text instead of revealing the document
  • v0.9.3 9599d7d115

    v0.9.3 Stable

    Fletcher released this 2026-02-10 16:38:56 +00:00 | 314 commits to main since this release

    Added

    • Image upload gallery: Upload and manage images through a dedicated gallery interface.
    • Announcement image attachments: Announcements can now have multiple images attached.
    • Services Australia direct verification: Users can now authorise direct verification with Services Australia for concession requests, providing their CRN and verified personal information.
    • Concession request audit log: Access to information provided during a concession request is now separately audited. (CRN, documents)
    • Remove inductions from announcement acknowledgments: Announcements that relate to induction changes (announcement requires ACK and announcement is restricted to induction group) now have quick buttons to revoke inductions

    Changed

    • Event selection in Slack management: The event selection dropdown in the Slack post tool now shows all upcoming events (matching /events), not just events with RSVP options. Events without RSVP options are still disabled as they cannot be posted.
    • Announcement acknowledgement supplementary info: The time since the announcement was posted has been added to the acknowledgement list

    Fixed

    • Notification email links: Clicking "View Details" links in notification emails now marks the notification as read
    • Manual Slack event posting: The list of events that can be posted to Slack has been expanded to include everything with an RSVP option
    • Announcement edit removed acknowledgement: Editing an announcement no longer disables the "acknowledgement required" option
  • v0.9.2 11083f814f

    v0.9.2 Stable

    Fletcher released this 2026-02-09 05:22:43 +00:00 | 322 commits to main since this release

    Changed

    • Collapse old announcements: Announcements older than 7 days are collapsed by default

    Fixed

    • Announcement rendering: Announcement text is rendered as markdown on /announcements and the homepage
    • Resolved incident button: The "View incident anyway" button on resolved incidents now wraps properly on mobile devices
    • Notification view details: Clicking "View details" on a notification now reliably marks the notification as read before navigating
    • Announcement authentication: Unauthenticated users are redirected to the login page to view announcements (rather than seeing an error)
  • v0.9.1 8e474a4275

    v0.9.1 Stable

    Fletcher released this 2026-02-08 07:31:28 +00:00 | 327 commits to main since this release

    Added

    • Announcement training induction restrictions: Announcements can now be limited to specific training inductions in addition to groups
    • Announcement acknowledgment: Announcements can now require users to acknowledge they have read them.
    • Notify all viewers option: When creating an announcement, you can now choose to notify all users who can view the announcement (not just subscribers). A modal shows the list of users who will be notified before sending

    Changed

    • Announcement update: Add count of updates to [homepage](https://members.artifactory.org.au/]
    • Announcement category badges: Category badges are now displayed next to announcement titles on the user homepage
    • Notification markdown rendering: Notification titles and messages are now rendered as markdown in both the notifications page and the dropdown menu

    Fixed

    • Committee homepage link: The volunteer token approvals link on the committee homepage now points to the correct page
    • View announcement button ACK: Button presses for the view announcement button are now acknowledged when pressed in Slack
    • Account merge document signatures: Fixed error when merging duplicate accounts that had document signatures. Document signatures, agreements, and assignments are now properly transferred to the primary account before deletion
    • Training notification trainee name: Training notifications now use the trainee's display name from the UserProfile table instead of OAuth account data
    • Announcement create/edit template context: Fixed missing user groups context in announcement create and edit templates that caused the login button to appear instead of user profile information
  • v0.9.0 5b7ce6f281

    v0.9.0 Stable

    Fletcher released this 2026-02-06 18:13:12 +00:00 | 336 commits to main since this release

    Added

    • Announcement system: An announcement system that lets the committee manage events and event categories and allows users to subscribe to those categories
    • Embeddable calendar: An embeddable version of the events calendar that can be used on other sites
    • Event subtitles: Events (in particular event series) now support a subtitle that can be used to indicate the focus of an event in a series
    • Training logs: The view by tool interface now lists who signed off on specific inductions

    Changed

    • Event RSVP deadlines: Deadlines are now expressed as X hours before the event starts. This was the easiest way of handling RSVP deadlines for recurring events 🖥️

    Fixed

    • Token filtering: Fixed a regression introduced in 0.8.2 that prevented token filtering from working
    • Fun fact pricing: A fact function incorrectly assumed that 1 hour = 1 Mars bar
  • v0.8.3 e00eb597c8

    v0.8.3 Stable

    Fletcher released this 2026-02-02 20:43:58 +00:00 | 351 commits to main since this release

    Added

    Changed

    Fixed

  • v0.8.2 9293acb526

    v0.8.2 Stable

    Fletcher released this 2026-01-30 15:36:09 +00:00 | 357 commits to main since this release

    Added

    Changed

    • Time debt in reward calculations: Time debt is now included in reward calculations
    • Event timezones: As part of the generalisation project events are stored independent of the server timezone
    • Event list loading: The public event list now lazy loads 5 new events rather than 20 and creates 5 skeleton cards rather than 3 when loading. This should reduce disorientating repaints

    Fixed

    • Google auth
    • Reward notification route: Reward notifications were sent via Slack, regardless of user preferences
    • Login redirect status code: Redirects to login pages correctly send HTTP/401 instead of serving the page as 200
    • Event RSVPs: Committee management of event RSVPs now correctly handles recurring events
    • RSVPs on event edit: Event managers now have the option of discarding RSVPs when changing the event date