Recent updates, improvements and new features. Newest first.
May 2026
LatestAPI enum validation
Three endpoints (manual workout logging, food log, and habit creation) now return a clear 400 error instead of crashing when an unrecognised activity type, meal type, or habit frequency is submitted. The valid values are listed in the error message.
Nutrition target validation
Calorie, protein, carb, fat, and water targets in Nutrition Settings now reject negative values and unrealistically high numbers (above 100,000) rather than silently storing them.
Dashboard tab navigation fix
Opening the dashboard with a ?tab= URL (e.g. from a notification link) no longer causes a brief page freeze. The tab was being read during server-side rendering and causing a React hydration mismatch. It is now read after the page loads.
Workout duration cannot be negative
Manually logged workouts now reject a negative duration (e.g. β30 minutes). The field previously accepted any number including negative values. It now returns a clear error if duration is below zero.
Workout field upper bounds
Manual workout entries now enforce sensible upper limits: duration cannot exceed 1,440 minutes (24 hours), calories cannot exceed 10,000 kcal, and heart rate fields cannot exceed 250 bpm. Values above these limits return a clear error.
Habit target values cannot be negative
Habit numeric targets (floor value, target value, stretch value, and times target) now reject negative numbers with a clear error. Previously, a negative target could be saved silently.
Food quantity cannot be negative
Food log entries now reject a negative quantity (e.g. β50g) with a clear 400 error. The how-to guide stated that negative values were rejected, but the server-side check was missing β this has been corrected.
Exercise set reps and weight bounds
Manually logged strength workouts now validate individual set data. Reps cannot exceed 9,999 and weight cannot exceed 2,000 kg per set. Non-numeric or negative values in either field now return a clear error rather than being stored silently.
May 2026
Fitbit connected
Fitbit is now a live integration. Connect from the Integrations tab and sync your workouts, daily steps, sleep stages, and weight log entries. Fitbit uses OAuth β you will be redirected to approve access.
Per-source sync
The sync button next to each integration now syncs only that source rather than triggering a full re-sync of everything. Faster, uses less API quota, and feels more responsive.
Smarter deduplication
The dedup engine now re-processes recent unconfirmed workouts on each sync. If a Strava run and a Hevy session for the same workout arrived at different times, they will now correctly merge into one entry rather than staying as separate events.
May 2026
Consistent click language
The how-to guide previously used "tap" in a few steps (barcode scanning, favourites) while the rest of the page used "click". All instructions now consistently use "click" throughout.
Logo filename fix
The FitMesh logo files had a typo in their filename (FtiMesh instead of FitMesh) across all pages. The files and all references have been corrected sitewide.
April 2026
Personal food library
Every food you log via AI (Describe, Photo, or PDF import) is automatically saved to your personal library with the correct macros per 100g. Go to Library β Foods to see everything, organised into Favourites, Recent, and All.
Favourite foods & meals
Tap the β star on any logged food row to save it as a favourite. Or use the "β Save as meal" button at the bottom of any meal edit sheet to save an entire meal in one tap. Favourites appear at the top of the Favourites tab whenever you add food.
Quick-log from favourites
The β Favourites tab in the add food modal now shows both your starred individual foods and saved meals. Starred foods show the default serving β tap to adjust quantity, then log in one tap. Saved meals log all items at once.
Recipe builder
Go to Library β Recipes β + Create recipe. Describe the dish in plain text and AI parses it into a full ingredient list with macros. Adjust quantities per ingredient β macros rescale automatically. Set the number of servings and see per-serving totals before saving.
Edit logged food entries
Tap any logged meal card to open it, then tap βοΈ on an individual item to edit it inline. Change the name, quantity or any macro. Changing the quantity automatically rescales protein, carbs, fat and calories using the original per-gram ratio.
April 2026
Photo food logging
Tap π· Photo in the add food modal to take or upload a photo of your meal. AI identifies every item on the plate and estimates portions and macros. Tick what to keep and log in one tap. Uses 1 AI credit per photo (free: 3/day, PRO: 15/day).
Keyboard mic & Wispr support
The Describe tab now works seamlessly with your phone keyboard's built-in microphone and dictation tools like Wispr. Just tap the mic icon on your keyboard and speak β no in-app microphone permission needed.
Photo accuracy warning
When using photo logging, a note reminds you that visual estimates can vary and suggests switching to the Describe tab for more precise logging when accuracy matters.
MarchβApril 2026
Polar integration
Connect your Polar device or Flow account to sync workouts automatically. Go to the Integrations tab and connect Polar to get started.
Recovery tab
A new Recovery section in the Training tab shows sleep, HRV, and readiness data from supported devices. Helps you track how well you are recovering between sessions.
March 2026
14-day deletion grace period
When you request account deletion, your account is scheduled for deletion in 14 days rather than deleted immediately. You can cancel from Account β Delete account at any point during that window. A notification is sent with a link to download your data first.
Data export before deletion
The deletion notification includes a direct link to export your data so you can keep a copy before anything is removed.
Billing portal fix
The Manage Billing button in Account now correctly detects whether you have a Stripe subscription. Gifted PRO accounts (no card on file) no longer see a broken button.
March 2026
Tiered compliance targets
Habits now support three tiers: a minimum floor (non-negotiable), a target (the actual goal) and a stretch goal. The weekly view shows which tier you hit each week rather than a simple pass/fail streak.
Multiple completions per day
Habits like "take medication 3Γ daily" or "drink water 8Γ daily" now track count per day rather than a binary yes/no. Set a daily target and log each completion separately.
Compliance percentage view
Each habit now shows a rolling 7-day and 30-day compliance percentage alongside the streak. Useful for seeing whether you are consistently hitting a target, not just whether you're on a current run.
February 2026
Describe food with AI
Type what you ate in plain English and AI breaks it into items with estimated macros. Works for complex meals, cooking from memory, or anything that isn't in a database.
Import from MyFitnessPal
Upload a PDF export from MyFitnessPal (or similar) and FitMesh reads every entry and previews it before import. Brings your history across without needing CSV access.
Water tracking
Track daily water intake with a tap counter (250ml per tap). Syncs with water-based habits β hitting your daily target auto-completes any water habit you have set up.
Nutrition trends & charts
The Log tab shows daily calorie bars for the last 30 days, 7-day rolling macro averages, and a weekly summary card.