Changelog

Get the latest updates and improvements to our platform.

Version 1.9.0
8 July 2026

NRAI 2026 Age Category Cutoffs

Registration eligibility now matches the NRAI Rule 11 age brackets for 2026 — Sub Youth through Senior categories use the correct 31 December reference ages, so shooters at boundary years (16, 19, and 21) are placed in the right group and see the correct eligible categories.

  • Young-category brackets corrected to NRAI 2026 thresholds: Sub Youth ≤16, Youth 17–19, Junior 20–21, Senior 22+ (age as of 31 December of the competition year)
  • Shooters completing age 16, 19, or 21 in the competition year are no longer bumped into the next bracket — fixing cases where the wrong categories were shown or the correct ones were blocked
  • Age calculation now uses calendar birthday arithmetic for reference dates, so eligibility is accurate on birthday edge cases (31 December and day-before-competition-end)
  • Bulk category-create presets and demo seed data updated to the same NRAI 2026 ranges (Sub Youth 10–16, Youth 17–19, Junior 20–21, Senior 22–44, Senior Masters 60–69)
Version 1.8.1
5 July 2026

Live Score Entry & Sub-Category Results Repair

Score entry now tracks each shooter's current registered events and categories in real time, and corrected sub-categories no longer cause verified scores to vanish from results tables and reports.

  • Score entry resolves event name, series count, max score, and score step from the shooter's live registration — not the snapshot from when they were placed on a relay lane
  • Stale lanes stay visible with clear flags: a red "Event changed" badge when the lane's event type is no longer on the registration, and an amber "Category updated" badge showing the old → new sub-category
  • Verified scores are automatically re-linked to a shooter's current registered sub-categories when an admin corrects events after verification — fixing scores that had silently dropped out of results, medal tallies, and final reports
  • The repair runs when registrations are edited and defensively whenever competition reports or shooter results are generated, so existing affected scores reappear under the correct category on the next view
Version 1.8.0
15 June 2026

Email Verification & Automatic Account Approval

New members now verify their email with a one-time code right after signing up, and a verified account is approved automatically once onboarding is complete — so most shooters no longer wait on a manual review.

  • A 6-digit verification code is emailed at signup and must be entered before you can sign in (5-minute expiry, 3 attempts, resend after 60 seconds)
  • Verified accounts are approved automatically once onboarding is completed — manual approval is no longer needed for the typical signup
  • The sign-in screen detects an unverified account, resends a code, and takes you straight to the verification page
  • Accounts awaiting approval that have not verified their email can no longer sign in; existing approved users and admin-created or invited accounts are unaffected
  • Staff now see a "joined (auto-approved)" notice for members who self-approve via email verification, instead of an "awaiting approval" alert
  • Administrators keep full control: accounts can still be rejected or revoked, and a previously-rejected account always needs a manual approval
  • Admin-created and invited accounts skip the email-verification step
Version 1.7.0
8 June 2026

25M Pistol Scoring Fix, Instant Verification & Release Controls

This release corrects 25M Pistol scoring to use 5-shot series instead of 10, adds instant score verification for midboss users, restricts lane and score release to Midboss and Superadmin only, and gives midbosses per-release control over shooter email notifications.

  • 25M Pistol now correctly uses 5-shot series — the shots-per-series field is editable in the event-category form and auto-derives the series count; the bulk-create wizard also accepts it manually
  • Decimal scoring (10.9 per shot) is now only applied to ISSF disciplines with 10-shot series; 25M Pistol with 5-shot series scores as integers
  • Midboss score entry now auto-verifies after every save — no separate Verify step; a toast confirms or prompts manual verification if the call fails
  • Per-series max score is now derived server-side from the event category (max score ÷ series count) instead of a client-side hardcoded helper
  • Lane assignment and score release / re-release is now restricted to Midboss and Superadmin; Admin and Coach roles no longer see the release buttons
  • Each release dialog now includes a checkbox to send or skip shooter email notifications for that specific release
Version 1.6.0
5 June 2026

Midboss & Club Admin Roles, Team Events, Help Centers & More

Our biggest update yet. We introduced two new roles (Midboss and Club Admin), shooter-created team events, lane-assignment release, in-app help centers, and a redesigned dashboard — alongside tighter organisation-scoped access control and a fix that gets shooter notification emails actually delivering.

  • New Midboss role with a full management workspace mirroring the admin tools (registrations, relays, teams, scores, finals, competitions, clubs, categories, venues, finances and reports)
  • New Club Admin role with a dedicated dashboard for approving, rejecting and managing their club's members
  • Team events — shooters can now create team entries from the dashboard, formed per sub-category with same-club eligibility; organisers approve, reject and verify team payments. Team creation is enabled per organisation
  • Lane assignment release — organisers publish lane assignments per relay; shooters see them only once released
  • Shooter and admin Help Centers for in-app guidance
  • Redesigned dashboards with a clean navigation card grid for shooters, admins and midbosses
  • Light/dark theme toggle, refreshed menu styling, and a role badge so elevated logins are clear at a glance
  • Clubs management with full control for super admins and view/create/edit for midbosses; bulk lane creation and discipline-to-lane mapping
  • Organisation-scoped access — admins and midbosses now see only their own organisation's competitions and data; competition and user editing restricted to the appropriate roles
  • Shooter notification emails (registration approved/rejected, payment verified, scores released, lane assignments, team updates) now actually send when an organisation has email enabled
  • Fixes: UPI QR payment verification, age-range handling for open categories, duplicate registration notifications, document upload for shooters, and several PDF report logo/sponsor issues
Version 1.5.0
26 May 2026

Notifications, Score Visibility Gate & Admin Fixes

This release fixes the dashboard notification bell (which was rendering as an inert placeholder), tightens score visibility so shooters only see released scores across every endpoint, and resolves a series of admin-panel issues around cross-organisation registrants.

  • Notification bell in the dashboard header is now fully wired — shows unread count, opens a dropdown panel, and supports Mark as Read / Mark All as Read / Delete
  • Clicking a notification auto-marks it as read; action buttons no longer accidentally trigger link navigation
  • All shooter-facing score queries (dashboard, statistics, submissions API) now require releaseStatus = released — unreleased scores no longer leak
  • Score entry page updates in real time after Save All Scores — shooter list re-fetches and form repopulates without losing the active selection
  • Cross-organisation registrants now appear in /admin/users and their profile/view pages no longer return 404
  • Admin registrations list and export now filter by competition.organizationId, fixing the empty list caused by null registration.organizationId
  • Complete Payment button is suppressed on the dashboard, competition page, and registration pages when the user already has a pending payment awaiting verification
Version 1.4.0
25 May 2026

Score Release Module, Shooter Profile Sidebar & Registration Improvements

A major workflow update giving organisers control over when scores become visible to shooters, plus several registration quality-of-life improvements and eligibility rule fixes.

  • Score Release Module — scores stay hidden until an admin explicitly releases them per relay; shooters receive a 'Score Verified — Pending Release' notification on verification and a 'Scores Released' notification on release
  • Shooter Profile card moved to the persistent right sidebar on the competition page, visible regardless of registration state
  • Cross-organisation registration unblocked — shooters from any organisation can now register for any competition
  • NOC document upload is remembered across page abandonment via localStorage and restored on return
  • Sight-type eligibility rule scoped to the same event type — Open Sight Rifle + Peep Sight Pistol is now allowed; Open Sight Rifle + Peep Sight Rifle remains blocked
  • Dashboard landing page shows the user's active registrations with competition details, competitor number, registration and payment status, and event category badges
  • Fixed foreign-key violations on registration and payment creation for users without an assigned organisation
Version 1.3.5
22 May 2026

NOC Upload, Payment Proof & Registration Enhancements

A batch of registration and payment improvements — NOC document upload, live UPI QR codes, payment proof screenshots, profile photos, and a bulk event-category wizard — alongside several competition and relay form fixes.

  • Registration form supports NOC document upload with mandatory gating per competition settings
  • Nationally Qualified toggle added to shooter profile and admin user form, controlling access to ISSF categories
  • Shooters can upload a profile photo and shooting-stance photo from the dashboard profile page
  • NOC affiliation field added to the registration form and shooter profile header
  • Competition form supports bulk entry for event category fees; organisation settings page added at /admin/settings
  • Payment page shows a live UPI QR code and app deep links; payment form and admin payment review support confirmation screenshot upload
  • All admin and dashboard tables use a dual-render card/table pattern for mobile
  • Admin bulk-create wizard for event categories
  • Fixes: competition form clubId crash, relay form default end time (now 1 hour after start, was 4), relay name minimum length reduced to 2 characters, and platform-domain email enforcement on admin user creation
Version 1.3.0
18 Feb 2026

Auth Hardening, Safer Admin Flows, and Reliability Fixes

This release focuses on stability and security across the platform. We resolved onboarding and signup dead ends, tightened user creation and invitation handling, and fixed a number of broken navigation targets that could send users to non-existent pages. We also improved internal tooling reliability so linting can run non-interactively in CI and local automation.

  • Signup now reliably provisions and uses a canonical default organization to prevent first-run failures
  • Superadmin user creation now enforces password requirements and stores hashed credentials correctly
  • Sentinel form values for organization and gender are normalized safely before persistence
  • Contact form email delivery is now server-controlled to prevent recipient override abuse
  • Invitation token generation now uses cryptographically secure randomness
  • Multiple dead-end links and action URLs were updated to valid in-app destinations
  • OTP verification endpoints were temporarily disabled with explicit responses while password auth remains the supported path
Version 1.2.0
26 Apr 2025

Enhanced User Management & Image Controls

This update significantly improves the TenDotNine admin experience by introducing comprehensive user profile management capabilities. Administrators can now view detailed user information through an intuitive interface and gain complete control over user-uploaded images. The new image management system integrates directly with AWS S3 storage, ensuring proper resource handling while maintaining data integrity across the platform.

  • Detailed user profile view with tabbed interface for better information organization
  • Complete AWS S3 integration for user image management (profile, photo, pose photo)
  • Secure image deletion functionality with confirmation dialogs to prevent accidental removal
  • Improved navigation between user listing, editing and detailed view pages
  • Proper cleanup of S3 resources when user images are changed or removed
Version 1.1.0
29 Mar 2025

Reservation System Launch

Introducing a comprehensive reservation system for TenDotNine, enabling shooting clubs to manage lane reservation, schedule training sessions, and optimize venue utilization. This update brings powerful scheduling capabilities to organizations of all sizes while maintaining the platform's intuitive user experience.

  • Multi-venue reservation support with customizable lane configurations
  • Flexible time slot management with configurable reservation
  • Shooter-friendly reservation dashboard for managing bookings
  • Admin reservation management portal with oversight capabilities
  • Smart capacity controls to prevent overbooking
  • Visual calendar interface for availability visualization
Version 1.1.0 visual
Version 1.0.0
25 Mar 2025

First version of our platform

Introducing TenDotNine, the comprehensive platform designed specifically for shooting sports club management. We're excited to launch this first version that brings digital transformation to shooting clubs of all sizes. From competition management to shooter tracking, TenDotNine streamlines operations while enhancing the experience for administrators, coaches, and competitors alike.

  • Multi-tenant SaaS architecture supporting isolated organization data
  • Hierarchical structure with Organizations → Clubs → Teams
  • Role-based access control (ADMIN, COACH, SHOOTER)
  • Organization-specific branding and customization
Version 1.0.0 visual