Placeholder Release
This is a placeholder entry for future dashboard updates.What to expect
- New features — Detailed announcements of new capabilities as they ship
- Improvements — Enhancements to existing functionality
- Bug fixes — Notable fixes that improve your experience
v2.1.5
- DTT & Lockbox API implementation — Added server-side route handlers for all DTT templates, DTT sessions, Lockbox templates, and Lockbox sessions endpoints
- OpenAPI schema expansion — Extended OpenAPI specification with complete request/response schemas, pagination parameters, and detailed examples for all v1 API endpoints
v2.1.4
- DTT Sessions API — New endpoints to list, retrieve, and fetch the latest DTT training sessions with full segment details via the public API
- DTT Template Activation API — Activate DTT training templates programmatically via
POST /dtt/templates/{id} - Active Template endpoints — New
/dtt/templates/activeand/lkbx/templates/activeendpoints return the currently active template - Lock Sessions API — New endpoints to list, retrieve, and fetch the latest lock sessions with segment history
- API naming consistency — Renamed “Settings” to “Templates” across DTT and Lockbox API endpoints for clearer terminology
v2.1.3
- Lockbox pairing status API — Lockbox devices can now check their pairing status via a new API endpoint, enabling firmware to verify device registration
v2.1.2
- Calibration input feedback — OSSM toy calibration now displays helpful messages when min/max values are automatically adjusted, explaining why the value changed (e.g., exceeds toy length, negative values, or insufficient gap between min and max)
v2.1.1
- Sent invitations visibility — Partners settings now displays invitations you’ve sent to others alongside invitations you’ve received
- Cancel sent invitations — You can now cancel pending partner invitations before the recipient accepts or declines
v2.0.8
- Template name display — Trainer activity now shows the template name separately from the session name, making it easier to identify which template was used for each session
- Improved session card layout — Points badge is now larger and more prominent on recent trainer session cards
v2.0.7
- Test stability improvements — Re-enabled Chaster integration tests and standardized test ID generation across all integration tests, improving CI reliability and reducing flaky test failures
v2.0.6
- Integration test infrastructure — Converted API key and DTT training completion tests from mocked to real database integration tests for improved reliability and confidence in code changes
v2.0.5
- Active lock handling on partner removal — Removing a partner now detects active lock sessions and prompts you to end the lock or keep it active before completing the removal
v2.0.4
- DTT release timeline event — Lock timeline now displays a “Deepthroat release condition met” event when a session auto-completes via DTT training goal
v2.0.3
- Give Up Control tooltip — Disabled settings sections now display a tooltip explaining why they are locked when Give Up Control is enabled
v2.0.2
- DTT condition release — Lock sessions can now be configured to auto-complete when the lockee reaches a cumulative Deepthroat Training goal, allowing early release through training effort
v2.0.1
- Configurable DTT time reduction ratio — Lock settings now support customizable XP thresholds for time reduction (e.g., “5 XP = 10 minutes removed”) instead of the previous fixed 1-point-per-minute formula
v1.16.11
- Onboarding security improvement — Username setup during onboarding now uses proper user session permissions instead of elevated privileges
- Onboarding error logging — Added detailed error logging for user verification status updates to improve debugging
v1.16.10
- Users API response improvements — The
/api/v1/usersendpoint now returns enhanced profile data (username, subscriptionTier, profileImage, profileDescription, profileTitle) in a flat structure - Lock session access validation — The lock/unlock API now validates that target users and keyholders are accessible to the caller before performing operations
- Test lock override — Added
isTestLockparameter to the lock API allowing override of the template’s test lock setting
v1.16.9
- API access control hardening — All v1 API endpoints now explicitly verify user access permissions in addition to row-level security policies
- Database query performance — Added indexes on owner columns across all major tables for faster query execution
- Shared access query optimization — Optimized permission checks for shared user access with short-circuit evaluation
v1.16.8
- API token schema cleanup — Removed redundant
jtifield from API tokens, completing the simplified UUID token format migration - User registration fix — Fixed issue where existing users were not properly linked during device registration tasks
v1.16.7
- API pagination support — All list endpoints now support
limitandoffsetquery parameters for paginated responses (default 50, max 100) - OpenAPI specification — Added public OpenAPI 3.1.0 spec at
/openapi.yamldocumenting all v1 API endpoints - API route timeout increase — Extended API route timeouts to 30 seconds for improved reliability
- Lock activation performance — Improved lock session activation speed by running device lookups in parallel
v1.16.6
- API token error logging — Added error logging for API token lookups to improve debugging when authentication issues occur
v1.16.5
- API performance improvements — Optimized Supabase admin client initialization across device and session endpoints for faster response times
v1.16.4
- Chaster SDK migration — Migrated Chaster API integration to use a generated OpenAPI SDK for improved type safety and maintainability
- Automatic token refresh — Chaster access tokens now refresh automatically when expired, preventing authentication errors during sync operations
- Webhook error handling — Improved Chaster webhook processing to gracefully handle edge cases where session data is incomplete
v1.16.3
- Integrations settings page — Chaster integration has moved to a new dedicated Integrations page under Settings for a cleaner experience
- Chaster integration for all users — Chaster integration is now available to all users with a paired Lockbox (previously limited to beta testers)
- In-line Chaster sign-in — Link your R&D account directly within the Chaster extension configuration without leaving the page
- API token format simplified — API tokens are now simple UUIDs for improved reliability and easier debugging
v1.16.2
- Hygiene break penalties — Exceeding your allowed break time now automatically extends lock duration by the configured penalty amount
- Break settings consolidation — Break penalty configuration moved into the Hygiene Break Settings dialog for easier setup
- Break penalty default — New locks now default to no break penalty (previously 12 hours)
- Timeline improvements — Break penalty events now appear in your lock timeline with a dedicated timer icon
v1.16.1
- Duration display fix — Fixed edge case where countdown timers could display negative values near month boundaries and DST transitions
v1.15.12
- Unlimited training segments for all users — All users can now create up to 100 training segments per template, removing the previous 3-segment limit for free users
v1.15.11
- Public voting duration limits — Keyholders can now configure minimum and maximum lock durations for public voting, preventing votes from extending or reducing lock time beyond specified bounds
- Duration limit UI feedback — Public voting page now displays warning messages and disables buttons when duration limits are reached
- Vote rejection cleanup fix — Votes rejected due to duration limits no longer create orphan database records
v1.15.10
- OSSM pairing codes — OSSM devices now display a 6-character pairing code on screen for easier setup, replacing the previous MAC address entry method
- Pairing code matching fix — Pairing codes are now matched case-insensitively, preventing issues when entering codes in different letter cases
v1.15.9
- Dependency updates — Updated dotenv package to v17.3.1 for improved environment variable handling
v1.15.8
- Partner email notifications — Keyholders and partners now receive personalized email notifications that reference the lockee by name (e.g., “Your partner, username, has started a break period”)
v1.15.7
- Database seed modularization — Split monolithic seed file into organized modules for improved maintainability and faster local development setup
- Environment-based storage paths — Storage asset paths now use environment variables, enabling consistent configuration across local, preview, and production environments
v1.15.5
- CI workflow optimization — Database linting now only runs when supabase files are changed, speeding up pull request checks
- Database schema configuration — Added chaster and ossm schemas to search path for improved query resolution
v1.15.4
- Code quality CI workflow — Added automated linting, code quality checks, and unused code detection for pull requests
- TypeScript type safety — Improved component type definitions across the codebase for better reliability
- OSSM web flasher cleanup — Removed deprecated development mode flasher code; production flasher remains available
v1.15.3
- OSSM/RADR web flasher redirect — Web flashers for OSSM and RADR devices have moved to the documentation site for an improved experience
- User account recovery — Added automatic recovery for accounts with missing user records, preventing sign-in issues
- Auth error handling — Authentication flows now handle registration failures gracefully without blocking sign-in
v1.15.2
- Admin user impersonation — Fixed impersonation feature to properly log in as users from the admin panel
- Admin search improvements — Search now supports finding users by Lockbox MAC address and legacy email
- Onboarding consent fix — Continue button now properly enables when age verification checkbox is checked
v1.15.1
- User data integrity — Enforced required authentication user IDs for improved account data consistency
v1.14.13
- Tailwind CSS v4 upgrade — Migrated to Tailwind CSS v4 with improved styling engine and CSS-based configuration for better performance
v1.14.12
- OSSM statistics cards — OSSM dashboard and activity pages now display total strokes and total distance alongside existing session stats
- Enhanced duration formatting — Duration display now supports days (e.g., “2d 3h 15m”) and omits seconds for long durations for better readability
- Home page OSSM tile improvements — OSSM tile on home page now shows total time, total strokes, and total distance stats
v1.14.11
- Completed session display — Lock countdown now shows “Completed” text when a session has ended instead of displaying zeroed timers
- Hide modify controls for ended sessions — Add/remove time and modify buttons are now hidden once a lock session has completed
- Improved device state labels — “Session in progress” replaces generic “Locked” status; “On a break” wording improved for clarity
v1.14.10
- Lockbox device state labels — Device status now displays user-friendly labels based on actual firmware state (e.g., “Locking in progress”, “WiFi setup in progress”, “On break”) instead of generic session states
v1.14.9
- Lockbox Quick Actions redesign — Lock/unlock buttons moved from a separate card to inline placement with context-aware visibility
- Button tooltips — Buttons now support an optional tooltip prop for displaying helpful hints on hover
- Lock session button improvements — Start and end session buttons now have clearer labels and tooltips explaining their effects
- Session management icons — Add/remove time, modify settings, and abandon buttons now display icons for better visual clarity
v1.14.8
- Changelog workflow — Changelog updates are now generated directly in the main repository instead of a separate docs repo, improving release automation

