What's Changed
- Add Sources & References for medical calculations (App Store 1.4.1) by @jordan-lee-code in #380
- feat(a11y): add Semantics identifiers for ADB-driven UI testing by @jordan-lee-code in #384
- docs(a11y): codify the Semantics(identifier:) convention in CLAUDE.md by @jordan-lee-code in #385
- feat(testing): add ADB UI driver and branch smoke-test scripts by @jordan-lee-code in #386
- docs(release): document SHA256 signing fingerprint by @jordan-lee-code in #388
- docs(site): re-establish the project landing page by @jordan-lee-code in #387
- feat(edit-meal): allow one-off meals without saving to custom list by @jordan-lee-code in #389
- feat(fdc): drop obviously-corrupt food entries at import time by @jordan-lee-code in #390
- feat(meal-detail): default scan to 1 serving when OFF provides it by @jordan-lee-code in #391
- feat(i18n): add Slovak (sk) locale by @jordan-lee-code in #392
- docs(self-hosting): document the Supabase FDC schema and refresh process by @jordan-lee-code in #393
- feat(settings): import meals from a pasted JSON blob by @jordan-lee-code in #395
- fix(edit-meal): warn on Atwater-inconsistent nutrition entries by @jordan-lee-code in #396
- fix(layout): wrap sticky bottom buttons in SafeArea by @jordan-lee-code in #394
- feat(diary): mirror Home's macro progress circles into the day view by @jordan-lee-code in #397
- feat(settings): export to CSV alongside the existing JSON zip by @jordan-lee-code in #398
- feat(diary): daily/weekly micronutrient panel with visibility settings by @jordan-lee-code in #404
- fix(diary): remove redundant macro text row under the progress circles by @jordan-lee-code in #411
- feat(diary): plan goals for all 10 panel nutrients by @jordan-lee-code in #401
- feat(diary): sort meal sections by macro contribution, preference persists by @jordan-lee-code in #405
- feat(profile): support a concrete target weight + optional calorie taper by @jordan-lee-code in #406
- feat(meals): attach a barcode to a custom meal by @jordan-lee-code in #407
- feat(meals/recipes): attach a photo to a custom meal or a recipe by @jordan-lee-code in #399
- feat(profile): weight history with trend chart, dashed target line, and onboarding capture by @jordan-lee-code in #400
- feat(activities): add a Custom activity type with direct kcal entry + reusable templates by @jordan-lee-code in #408
- feat(settings): add kJ as an alternative energy display unit by @jordan-lee-code in #403
- feat(meals): per-meal kcal share with presets (Standard, OMAD, Five-small...) by @jordan-lee-code in #402
- feat(custom-meal): add a Simple form mode for direct macro entry by @jordan-lee-code in #410
- feat(settings): configurable diary day-start with minute granularity by @jordan-lee-code in #409
- refactor(settings): split the Calculations dialog into focused entries by @jordan-lee-code in #414
- Apple App Store guideline compliance: privacy manifest, delete-all-data, clearer consent, low-kcal warning by @jordan-lee-code in #416
- ci: drop per-job timeout-minutes from default workflow by @jordan-lee-code in #417
- feat(water): add a water tracker to home and profile (#32) by @jordan-lee-code in #418
- Support serving size in custom-food CSV and JSON import by @jordan-lee-code in #424
- feat(scanner): manual barcode entry + search-bar barcode shortcut by @jordan-lee-code in #425
- feat(theme): Material You + accent colour picker with 16 presets by @jordan-lee-code in #426
- feat(diary): IOM Dietary Reference Intake bars on the daily nutrient panel by @jordan-lee-code in #427
- fix(custom-meal): simple mode multiplied entered totals by 100 on save by @jordan-lee-code in #428
- fix(custom-meal): empty Simple-mode fields save as 0, not null by @jordan-lee-code in #430
- chore(adb-driver): hint-based form-field helpers with scroll + keyboard dismiss by @jordan-lee-code in #431
- feat(custom-foods): merge duplicate custom foods with successor selection by @jordan-lee-code in #429
- feat(fasting): timer with content-warning gate, home chip, and completion notification by @jordan-lee-code in #432
- Make medical calculation sources easy to find on first run (guideline 1.4.1) by @jordan-lee-code in #423
- fix(share-qr): iOS share sheet now presents; standard scanner recognises shared QRs by @jordan-lee-code in #440
- feat(recipes): barcode scanner for the ingredient picker by @jordan-lee-code in #444
- ci: address review follow-ups on the CI/CD pipeline PR by @jordan-lee-code in #442
- Integrate cicd store deployment by @simonoppowa in #439
- fix(settings): make Show Activity Tracking toggle hide blocks by @k4black in #450
- fix: use correct possessive form of "what's" by @seeplusplus in #449
- add develop flavor for gradle by @seeplusplus in #448
- feat(icons): add iOS dark/tinted appearance and Android themed app icons by @k4black in #447
- feat(meal-detail): show daily kcal budget on meal detail screen (#452) by @jordan-lee-code in #454
- feat(quick-add): one-tap intake from each meal section (#451) by @jordan-lee-code in #455
- ci: shard iOS + Android integration tests by file, gated on a clean build by @jordan-lee-code in #441
- docs: refresh README, CONTRIBUTING, CLAUDE.md, and store copy for the next release by @jordan-lee-code in #457
- chore: merge main into develop ahead of the 1.4.0+51 release by @jordan-lee-code in #460
- chore: sync main into develop with a true merge commit (preserve merge base) by @jordan-lee-code in #461
- fix(scanner): own + dispose mobile_scanner controllers, observe app lifecycle by @k4black in #466
- Address review feedback on the v1.4.0 release PR by @jordan-lee-code in #470
- ci: run integration tests unsharded with a 30-minute timeout by @jordan-lee-code in #473
- Release v1.4.0+51 — Recipes ingredient scanner, fasting timer, water tracker, weight history, Material You, sk locale, and CI/CD pipeline by @jordan-lee-code in #459
- ci(ios-package): precache the iOS Flutter engine before pod install by @jordan-lee-code in #474
- ci: unblock v1.4.0 iOS packaging (precache iOS Flutter engine) by @jordan-lee-code in #475
- ci: bump to 1.4.0+55 and run ios-deploy on macOS by @jordan-lee-code in #476
- ci: release-pipeline fixes — ssh-keyscan host keys, +56 bump, gate deploys on both packages by @jordan-lee-code in #477
New Contributors
- @k4black made their first contribution in #450
- @seeplusplus made their first contribution in #449
Full Changelog: v.1.3.1...v1.4.0