What's new
940 releases over 85 days of shipping, newest first. Now on v5.147.1.
WEDNESDAY, MAY 20, 2026 ยท 2 RELEASES
Infrastructure Overhaul: Postgres, S3 & Kubernetes
v3.0.0- ๐ Migrated database from SQLite to PostgreSQL โ all 20 schema files converted to pg-core, 5,280 rows migrated with zero data loss
- ๐ชฃ Photo storage moved from local disk to S3-compatible object store (SeaweedFS) โ container is now fully stateless
- ๐ณ Production Docker image: multi-stage build, health checks, auto schema push on startup
- โธ๏ธ Kubernetes manifests: Deployment, Service, ConfigMap, Secret with readiness/liveness probes and rolling updates
- ๐ CI/CD: GitHub Actions workflow auto-builds and pushes Docker image to GHCR on every push to main
- ๐ Fixed auth cookie handling behind Nginx Proxy Manager reverse proxy โ no more redirect loops on HTTPS
- ๐ Fixed timestamp columns: converted from bigint to native Postgres timestamp type, removed stale to_timestamp() wrappers
- ๐ข Fixed Withings grp_id overflow: integer to bigint for values exceeding 2^31
- ๐๏ธ Removed SQLite dependencies, stale migration files, and backup utility
Goal Achievement & Celebration
v2.3.0- ๐ Goals are now automatically detected as achieved when weight or body fat hits the target
- ๐ Confetti celebration and toast notifications fire the first time you see an achieved goal
- ๐ฅ Goal badges are automatically awarded on achievement โ no manual action needed
- ๐ก Withings scale sync now checks goals โ weigh in on your smart scale and goals resolve automatically
- ๐ Catch-all goal check runs on every page load so achievements are never missed regardless of data source
- ๐งญ Direction detection fixed: cut vs bulk is now determined from your weight when the goal was created, not your all-time earliest weight
- ๐ฏ Celebration state tracked per goal โ confetti plays once and won't repeat on refresh
- ๐ฃ Awards page revalidates when goals are achieved so new badges appear immediately
MONDAY, MAY 4, 2026 ยท 2 RELEASES
Onboarding Goals & Nutrition Fixes
v2.2.2- ๐ฅ /nutrition no longer crashes when macroOverrides are partial โ missing fields fall back to the TDEE-based auto-calculator instead of feeding undefined into the macro cards
- ๐ Cycle macroOverrides now read both `fat` and `fats` keys, fixing a silent mismatch between the onboarding writer (`fat`) and the coach-action writer (`fats`)
- ๐๏ธ Onboarding strength goals now persist which lift they're for โ `exerciseName` is captured by the extraction prompt, resolved to a real `exerciseId`, and stored on the goal
- ๐ Onboarding goal targets are now converted lbโkg deterministically in code instead of relying on the LLM โ fixes the 'I said 315, page rendered 694 lb' bug end to end
- ๐ก๏ธ Defensive fallback: when the LLM omits `targetUnit`, the seed infers it from the user's preferred unit system instead of silently treating lb as kg
- ๐ท๏ธ Goal cards and the goal detail page now show the actual lift name (e.g., 'Bench Press 1RM') instead of the bare 'Strength (1RM)' label
- ๐ง Atlas's goal context now includes the lift name so coach advice can reference the right exercise
- ๐ Onboarding setup-summary card now renders lift name and explicit unit (e.g., 'Bench Press: 315 lb'), and surfaces `[MISSING LIFT]` if the AI dropped the exercise โ the gap is loud, not silent
- ๐ซ Onboarding system prompt now forbids the model from narrating tool calls โ kills the 'calling import_data...' hallucinations during the conversational interview
- ๐ฏ Onboarding Step 4 now requires the AI to ask which lift each strength target is for, with explicit canonical-name mapping (bench โ Bench Press, dead โ Deadlift, etc.)
- ๐ Onboarding extraction prompt scoped its kg-conversion rule to profile fields only โ goals now travel with an explicit `targetUnit` instead of ambiguous 'just convert it'
- ๐ Onboarding extract endpoint logs the extracted goals payload for diagnostic visibility while the new contract beds in
- ๐งฎ Standardized lbโkg constant in the onboarding summary card from 2.205 to 2.20462 to match the rest of the app
Challenges, Groups & Notifications Fixes
v2.2.1- ๐ Notification bell no longer crashes the page โ replaced the base-ui menu with a plain popover
- ๐ Stale browser bundle now shows a 'Reload' prompt in the bell instead of failing silently
- ๐ฏ Clicking a notification now jumps to the specific challenge, not the listing
- ๐ช Challenge scores display in your preferred unit (kg/lbs) across cards, detail, create form, and the public accept page
- ๐ Beat-Workout creator now starts at the captured target โ challenger must actually beat it, not just score above zero
- ๐ฃ Completion notifications fire whether the challenge ends via cron, page-load resolution, or workout-completion
- ๐ Winner badge is awarded from every resolution path, not just the nightly cron
- ๐ Gym Streak counts days in your timezone instead of UTC โ late-night sessions no longer skip a day
- ๐ Two friends accepting the same challenge link at the same time can't produce a 3-participant challenge
- โป๏ธ Resolving a challenge twice no longer duplicates notifications or scores
- โ Double-clicking 'Complete Workout' no longer double-counts Most-Volume scores or re-detects PRs
- ๐ฅ Fixed an infinite recursion in challenge resolution that crashed the server when an expired challenge resolved
- ๐ฅ Group leaderboard 'Last 7 / 30 Days' is now a rolling window instead of a UTC calendar week/month โ your actual training shows up
- ๐ Group leaderboard volume displays in your preferred unit (kg/lbs)
- ๐ Group cards show your real role from the membership table, not 'creator = admin' guesswork
- ๐ก๏ธ Leaderboard volume sum explicitly excludes cardio sets so future-format cardio entries can't pollute totals
- ๐ช /api/challenges/resolve-stale unblocked from auth middleware so the cron actually runs
FRIDAY, MAR 27, 2026 ยท 1 RELEASE
Atlas Coach Fix
v2.2.0- ๐ Atlas receives the current date, day-of-week, and local time in every conversation
- ๐ Cycle 'Week X of Y' calculation uses your timezone instead of server UTC
- ๐ Today's scheduled workout is annotated with a 'TODAY' marker in coach context
- ๐ Atlas acknowledges when you train on a scheduled rest day and factors it into advice
- ๐ Pre-computed cycle progress: week number, days elapsed, weeks remaining, total days
- ๐ซ Anti-hallucination rules: Atlas uses only date and data provided โ never guesses
- โ When Atlas lacks data to answer, it says so instead of confabulating
- ๐ก๏ธ Anti-hallucination tested against empty-data users so onboarding doesn't break
- ๐ค Mutating tools fire only when you explicitly request a change
- ๐ง Ambiguous inputs (e.g., 'I weighed in at 182') trigger a confirmation question first
- ๐ฌ General questions and check-ins get conversational replies โ no surprise tool calls
- ๐งฑ System prompt rewritten: date โ data โ grounding rules โ personality โ style โ tools
- ๐ฏ Explicit tool_choice='auto' in the AI streaming request
- โ๏ธ DST-safe date math using noon (T12:00:00) reference timestamps
THURSDAY, MAR 26, 2026 ยท 1 RELEASE
Social Features
v2.0.0- ๐ Shareable workout & template links with public pages and crypto-secure tokens
- ๐ผ๏ธ 1200ร630 OG image previews for iMessage, Discord, and Slack unfurls
- โ๏ธ 4-type 1v1 challenge system: beat workout, single-exercise 1RM, most volume, gym streak
- ๐ฏ Link-based challenge acceptance โ no friend system required
- ๐ Auto-scoring on workout completion with lazy deadline resolution
- ๐ In-app notification bell with 30s polling and challenge event types
- ๐ฅ Named group leaderboards with invite links and multi-metric rankings
- ๐ Period toggles for leaderboards (week / month / all time)
- โ 87 new tests across 3 phases with zero regressions
WEDNESDAY, MAR 25, 2026 ยท 1 RELEASE
Coach Actions & Body Insights
v1.17.0- ๐ค 3 new Atlas coach tools: log_weight, create_goal, manage_cycle (10 action tools total)
- ๐ฌ System prompt updated across all user modes with conversational triggers and unit conversion
- ๐ Body Fat % summary card with 30-day delta and directional color coding
- ๐ข Green for fat loss, ๐ฉท pink for fat gain โ at a glance
- ๐ท๏ธ Conditional DEXA-calibrated label when offset is applied
- ๐ธ Photo timeline view with Gallery/Timeline toggle and chronological strip
- ๐ Pose-type filtering with date labels and lightbox integration
TUESDAY, MAR 24, 2026 ยท 2 RELEASES
DEXA Calibration
v1.16.0- ๐ฏ DEXA-based auto-calibration: enter your DEXA BF%, click Calibrate, offset is computed
- ๐ฅ Pulls latest Withings reading automatically
- โ Range validation, rounding, and immediate UI feedback
- โก Independent useTransition hooks keep Calibrate and Save buttons usable in parallel
Withings Deep Integration
v1.15.0- ๐ฉบ Body Smart now captures visceral fat (type 170) and BMR (type 226)
- ๐๏ธ Schema migration + sync pipeline expansion for new metrics
- ๐ Sync History button backfills the last 90 days
- ๐๏ธ Body fat % offset calibration in Settings (Withings-only, read-time application)
- ๐ Unique differentiator โ no competitor offers this
- ๐ Visceral fat trend widget with health zone bands
- ๐ 4-segment body composition ring chart
- โณ Metabolic age delta widget
- ๐ง Atlas coach context enriched with visceral fat zone label and BMR
MONDAY, MAR 23, 2026 ยท 1 RELEASE
Schedule Management
v1.14.0- ๐ Compound Schedules tab on /compounds with full CRUD
- โ๏ธ Inline edit dose, frequency; add new schedule; deactivate
- ๐ Supplement Schedules tab on /supplements mirroring the compound pattern
- ๐ Custom days picker support for non-standard schedules
- ๐๏ธ Delete schedule buttons on compound and supplement detail pages
- โ All 10 requirements (CSCHED-01โ04, SSCHED-01โ04, DETAIL-01โ02) shipped
SUNDAY, MAR 22, 2026 ยท 1 RELEASE
Compound & Supplement Enrichment
v1.13.0- ๐งฌ Compounds table extended with effects, mechanism, anabolic/androgenic ratios, side effects
- ๐งช 121+ peptides imported from pepti.wiki (Solvent category excluded)
- ๐ท๏ธ Peptides categorized: Anabolic, Anti-inflammatory, Regeneration, Metabolic, Hormonal
- ๐ช ~40โ50 new AAS compounds: Halotestin, Superdrol, Parabolan, SARMs, Proviron and more
- ๐ Anabolic:androgenic ratios normalized to testosterone=100
- ๐ฌ Derivative class tags: Testosterone, DHT, 19-nor / Nandrolone
- ๐ Rich detail pages with chemistry, effects, and routes of administration
- โป๏ธ Idempotent seed: enrichment upserts without overwriting user-modified fields
SATURDAY, MAR 21, 2026 ยท 3 RELEASES
Theme System
v1.11.0- ๐จ Multi-theme support via CSS variable swapping
- ๐พ Selected theme persisted per user โ applies on load with no flash
- ๐ Cyberpunk Green (default neon green)
- ๐ Cyberpunk Colorful (rainbow gradient palette)
- โค๏ธ Cyberpunk Red (crimson / hot pink)
- ๐ Cyberpunk Blue (ice / electric blue)
- ๐ Cyberpunk Gold (amber / gold)
- ๐ Cyberpunk Purple (violet / magenta)
- ๐ Synthwave (pink-purple gradient)
- โ๏ธ Light Mode for daytime use
- ๐ Visual preview of each theme in Settings, instant switch โ no reload
Coach Tool Feedback
v1.10.0- ๐ฝ๏ธ adjust_macros now reads back protein, carbs, fats, calories from DB
- ๐๏ธ create_workout_template returns template name and exercise count
- โ๏ธ update_workout_template returns updated name and final exercise list
- ๐ set_weekly_schedule returns final day-to-template mapping
- ๐ update_cycle returns updated cycle type and end date
- ๐ update_compound_schedule returns updated dose, unit, and frequency
- โ Every Atlas tool call now confirms exactly what changed
Cyberpunk Redesign & Rename
v1.9.0- ๐ Full design system overhaul to dark-only cyberpunk aesthetic
- ๐ Toxic green, hot pink, electric blue accents across the app
- ๐ค JetBrains Mono for data, Orbitron for headings
- ๐๏ธ All UI primitives restyled with neon glow, HUD borders, scan-line texture
- ๐งญ Sidebar redesigned with neon active states and HUD section dividers
- ๐ช Landing, login, and register pages fully restyled
- ๐ Dashboard, Today, Coach, Workouts, Body, Photos, Nutrition, Supplements, Compounds, Goals, Awards, Labs, Cycles, Calendar all redesigned
- ๐ Bug sweep across affected surfaces
- ๐ท๏ธ Project renamed to AnabolicAdvisor
FRIDAY, MAR 20, 2026 ยท 1 RELEASE
Editing, Awards & Quality of Life
v1.7.0- โ๏ธ Edit set values (weight, reps, set type) on completed or in-progress workouts
- โ Add or delete exercises and sets on any workout
- ๐ PR records auto-recalculate after every workout edit
- ๐ Paste a Muscle & Strength URL to auto-fill new exercises
- ๐ Pre-filled form for confirmation before saving; source URL stored on exercise
- ๐ Retroactive dose logging: weekly view of scheduled supplement & compound doses
- โ Toggle past doses as taken; log custom (unscheduled) doses with date and details
- โ ๏ธ Duplicate-dose warnings before insert
- ๐๏ธ Award system: PR milestone badges (1, 10, 25, 50, 100 PRs)
- ๐ฅ Goal-achievement badges (weight, strength, body fat, FFMI)
- ๐ฅ Consistency streak badges (7 / 30 / 90 days)
- ๐ Awards page with name, description, icon, and date earned
- ๐ Toast notifications when a badge is earned
- ๐ค Atlas references earned badges in coaching context
- โฌ ๏ธ Atlas thread back-button navigation on desktop
- ๐ Lab OCR: upload PDF or image of a lab report
- ๐ง AI extracts marker names, values, units, and reference ranges
- ๐ Editable confirmation table before saving
WEDNESDAY, MAR 18, 2026 ยท 1 RELEASE
Analytics, Labs & Fixes
v1.6.0- ๐ Coach mobile overflow fixed with dvh + overflow constraints
- ๐ Blank workout detail fixed via force-dynamic
- ๐ Thread hydration fixed with suppressHydrationWarning
- ๐ Auto-detect PRs via Epley 1RM on every workout completion
- ๐ฅ Trophy badges on workout detail
- ๐ /workouts/analytics page with weekly volume-by-muscle-group bar chart
- ๐ช Per-exercise strength curves
- ๐ฉธ Lab/bloodwork tracking with 29 preset markers
- ๐ Date-grouped lab history with per-marker trend charts
- ๐ฏ Reference range bands on every chart
- โฐ Compound-aware lab reminder (60-day threshold for users on cycle)
- ๐ค Atlas references PRs and lab results with mode-gated framing and clinical guardrails
TUESDAY, MAR 17, 2026 ยท 1 RELEASE
Workout Detail & Scheduling
v1.5.0- ๐ Workout detail page at /workouts/[id] with strength + cardio layouts
- ๐ Clickable completed workout cards in history
- ๐พ 'Save as Template' from any completed session
- ๐ Preserves exercise order, set count, cardio duration/type in notes
- ๐ Multi-template-per-day scheduling with pill UI
- โ Add-select dropdown and per-template remove
MONDAY, MAR 16, 2026 ยท 1 RELEASE
Today Screen
v1.3.0- โ๏ธ Daily command center at /today
- ๐ฆ Single getTodayData() aggregator across 5 data sources
- ๐ isScheduledForToday() covers all 6 frequency codes
- ๐ One-tap toggle for supplement and compound dose logging
- ๐ Optimistic checklists with instant feedback
- โ Withings activity stats and weight display
- ๐งญ Today nav item in sidebar for all users
- ๐ Timezone-aware date handling using user's IANA timezone
SATURDAY, MAR 14, 2026 ยท 1 RELEASE
Onboarding Interview
v1.1.0- ๐ช Onboarding gate intercepts first-time logins
- ๐ค Full conversational AI interview: profile, goals, macros, supplements, compounds, routines
- ๐ฃ๏ธ Coach tone personalization: gym bro / science / clinical
- ๐ก๏ธ Layered on top of mode guardrails across all Atlas interactions
- โ๏ธ Atomic seedFromInterview transaction seeds 9 entity types
- ๐งช 23 TDD tests covering the seed pipeline
- ๐ Confetti celebration with tone-aware messaging
- โ๏ธ Re-runnable interview from Settings with edit-mode context awareness
FRIDAY, MAR 13, 2026 ยท 1 RELEASE
Core Platform
v1.0.0- ๐ Authentication with invite codes and three user modes (natty / natty+ / enhanced)
- ๐ Dashboard with widgets and weight trends
- ๐ช Workout system: templates, logging, scheduling, exercise library
- โ๏ธ Body composition: weight tracking, measurements, progress photos with comparison
- ๐ Nutrition and macro tracking
- ๐ Supplement library, logging, and scheduling
- ๐ Compound library, logging, scheduling, and cycle management
- ๐ฏ Goal tracking (weight, body fat, strength, FFMI) with streaks and badges
- ๐ Calendar with event views
- ๐ค AI Coach (Atlas): streaming chat, thread management, tool-calling for program changes
- ๐ค Profile, settings, and theme support
- ๐๏ธ SQLite + Drizzle ORM, better-auth for authentication