Changelog
Read Versioning and support before you update.
0.3.2 - 2026-09-24
Fixed:
FoodPortion.selectionsent the portion's amount in the serving's unit as the number of servings, so a portion of a serving whose quantity isn't 1 (such as 6 oz or 100 g) was logged that many times over. It now sends the number of servings
0.3.1 - 2026-09-23
Food, water, and weight logs send and read the API's
created_at; the Swift namestimestampUTC,consumedAtUTC, andmeasuredAtUTCare unchanged. Food, water, and weight logs in 0.3.0 don't work with the current API, so upgrade to 0.3.1Water logs accept 0.1–101.4 cups (was 0.125–101.4), matching the API
0.3.0 - 2026-09-23
Water and weight logs:
waterLogs.create/list/deleteandweightLogs.create/list, with daily values over a date rangeServingSummary.weightGramson detected and alternative foodsfoodAnalysis.correctsends the API's correction shape and validates hand-built detections;foodLogs.updaterejects an empty update;glucose.predictrequires a finite, whole-numberageA non-retryable
JanuaryTokenProviderErrorfails the request as an authentication error (client_token_provider_failed) with the provider's message, instead of a transport failureBreaking:
ServingOption.id,AlternativeFood.id, andLoggedFood.idare no longer optional; the API always returns themA photo analysis without
reasoningEffortuses the API's default, now the reasoning-based analyzer; pass.nonefor the standard analyzerA
409conflictresponse is avalidationerror with the codeconflict, and every API error keeps the API'scodeandmessage
0.2.0 - 2026-09-16
Breaking:
DetectedFoodexposesservingandquantityinstead ofservings, matching the January API; 0.1.0 fails to decode photo analysesSearchFoodsRequestgainsoffsetfor paging and acceptslimitup to 50Food-log summaries per day or week with
foodLogs.getSummaryOptional reasoning-based photo analysis with
ScanFoodPhotoRequest.reasoningEffort
0.1.0 - 2026-09-03
Native Swift 5.9 package for iOS 15 and later, distributed through Swift Package Manager and CocoaPods, with no third-party runtime dependencies
One configured client with typed
async/awaitAPIs for foods, restaurants, food analysis, food logs, and glucose predictionShort-lived client-token providers with in-memory caching and single-flight refresh
Nine-attempt bounded exponential backoff with jitter for retryable provider failures
Stable
JanuaryErrorcategoriesFood autocomplete, full food details, and local portion calculations
Restaurant menu-item search, and paginated restaurant-menu lookup by restaurant ID (
getMenuItems)Single food-log retrieval, and deletion with no response body
Typed imperial and metric height and weight values
Native photo and barcode food scanner, and image-preparation helpers
Microphone capture, live audio metering, and Apple Speech transcription
SwiftUI example app
Last updated
Was this helpful?