github simonoppowa/OpenNutriTracker v2.5.0
Release v2.5.0 (build 67)

3 hours ago

What's Changed

  • chore(store): caption the Play set, add the iOS screenshots, retire "Free forever" by @simonoppowa in #1120
  • chore(ci): drop the iOS screenshot lane by @simonoppowa in #1121
  • fix(health): read workouts without the permissions Play refused (develop) by @simonoppowa in #1123
  • chore(release): bump to 2.3.0+65 and add the build 65 note (develop) by @simonoppowa in #1125
  • fix(l10n): disclose body fat only where it is read by @simonoppowa in #1128
  • fix(health): five review findings from #1122, #1128 and #1132 by @simonoppowa in #1134
  • fix(ci): the ledger tag is not proof Play took the bundle by @simonoppowa in #1133
  • fix: three review findings from the 2.3.0 release PR by @simonoppowa in #1118
  • fix(test): let the permission guard see plugin manifests by @simonoppowa in #1131
  • fix(store): two declarations that understated what leaves the device by @simonoppowa in #1135
  • test(health): converge the permission guard on the shipped version by @simonoppowa in #1144
  • docs(releasing): the Android upload worked, without calling it fixed by @simonoppowa in #1146
  • feat(bulk-add): show elapsed time, a hint and cancel while an own server answers by @simonoppowa in #1149
  • fix(settings): log export/import failures and tell the user why by @simonoppowa in #1150
  • fix(add-meal): convert Open Food Facts micronutrients into the app's units by @jordan-lee-code in #775
  • fix(icons): give the launcher artwork room inside the icon mask by @simonoppowa in #1161
  • feat: add scan and create-custom actions to no-results search state (#578) by @ibrahim-iqbal in #995
  • chore(deps): bump fastlane from 2.238.0 to 2.239.0 in /android in the android-bundler group by @dependabot[bot] in #1141
  • chore(deps): bump fastlane from 2.238.0 to 2.239.0 in /ios in the ios-bundler group by @dependabot[bot] in #1142
  • chore(deps): bump the pub group with 6 updates by @dependabot[bot] in #1143
  • feat(l10n): land the Weblate translations, ship languages from one list, stop failing CI on incomplete locales by @simonoppowa in #1188
  • fix(l10n): name American football and springboard diving unambiguously in the source by @simonoppowa in #1201
  • chore(deps): roll up the open Dependabot bumps (fastlane, archive, cached_network_image, sentry_flutter, stream_transform) by @simonoppowa in #1166
  • fix(add-meal): resolve to the canonical FDC sibling, and show backend foods by their full description by @simonoppowa in #1170
  • chore(l10n): update translations by @hosted-weblate[bot] in #1202
  • fix(data): bring Open Food Facts micronutrients logged before #775 into app units by @simonoppowa in #1193
  • chore(deps): bump mobile_scanner, sentry_flutter, synchronized and envied by @simonoppowa in #1203
  • chore(deps): regenerate the lockfile against the pinned SDK by @simonoppowa in #1167
  • chore(deps): tell Dependabot to skip the pub packages the pinned SDK cannot take by @simonoppowa in #1204
  • chore(deps): bump actions/setup-java from 6.0.0 to 6.0.1 in the github-actions group by @dependabot[bot] in #1191
  • chore(deps): bump hive_ce to 2.20.0 and flutter_local_notifications to 22.3.1 by @simonoppowa in #1206
  • feat(l10n): ship Hungarian by @simonoppowa in #1211
  • test(l10n): let the AI parity test follow the English-only policy (#1199) by @simonoppowa in #1212
  • feat(search): ask Open Food Facts and the backend for Hungarian food names by @simonoppowa in #1213
  • fix(search): request food names in the language the app is read in, not the device's by @simonoppowa in #1215
  • chore(l10n): update translations by @hosted-weblate[bot] in #1217
  • feat(add-meal): match the model's portion word on the English label, break a bare tie toward the middle rung, and mark a miss by @simonoppowa in #1208
  • fix(add-meal): read has_portion at the search cut for the resolver's page, so a portionless exact title no longer pushes the survey record out of the twenty by @simonoppowa in #1209
  • chore(l10n): update translations by @hosted-weblate[bot] in #1219
  • ci(l10n): merge Weblate's pull requests with a merge commit once CI is green by @simonoppowa in #1220
  • chore(l10n): update translations by @hosted-weblate[bot] in #1227
  • fix(meal-detail): keep the hydrated serving option when the unit menu opens (#1216) by @simonoppowa in #1221
  • chore(l10n): update translations by @hosted-weblate[bot] in #1228
  • feat(l10n): ship Spanish by @simonoppowa in #1229
  • feat(meal-detail): quick-serving chips (0.5x/1x/2x + 100 g) by @ibrahim-iqbal in #1101
  • fix(off): read niacin from vitamin-pp_100g, not niacin_100g by @ibrahim-iqbal in #1168
  • fix(recipes): thread totalWeightOverridden through JSON import save by @ibrahim-iqbal in #1169
  • feat(meal-detail): opt-in Settings toggle for grams-first default (#1126) by @ibrahim-iqbal in #1195
  • fix(recipes): thread totalWeightOverridden through CSV import and guard the column (#1194) by @ibrahim-iqbal in #1196
  • feat(profile): 7-day moving-average overlay on the weight-trend chart (#1119) by @ibrahim-iqbal in #1197
  • chore(l10n): update translations by @hosted-weblate[bot] in #1249
  • fix(edit-meal): stop a zero base quantity from storing NaN nutriments by @simonoppowa in #1259
  • chore(release): the store notes for build 66 by @simonoppowa in #1261
  • chore(release): bump to 2.4.0+66 by @simonoppowa in #1263
  • fix(settings): give the grams-first switch a semantics identifier by @simonoppowa in #1271
  • docs(releasing): state the changelog cap, and correct the workflow-set note by @simonoppowa in #1278
  • chore(l10n): update translations by @hosted-weblate[bot] in #1290
  • chore(l10n): update translations by @hosted-weblate[bot] in #1298
  • docs(store): record how the App Store screenshots went up with 2.4.0 by @simonoppowa in #1301
  • chore(l10n): update translations by @hosted-weblate[bot] in #1322
  • chore(l10n): update translations by @hosted-weblate[bot] in #1323
  • fix(meal-detail): hide info button when there is no URL to open (#1275) by @ibrahim-iqbal in #1297
  • fix(recent): order all entries chronologically instead of pinning custom meals (#1198) by @ibrahim-iqbal in #1252
  • fix(profile): window the weight-trend chart by calendar days, not 24-hour spans by @simonoppowa in #1222
  • chore(l10n): update translations by @hosted-weblate[bot] in #1337
  • chore(l10n): update translations by @hosted-weblate[bot] in #1388
  • chore(deps): roll up the open Dependabot bumps (fastlane, rubyzip, pub group) by @simonoppowa in #1374
  • fix(import): upsert intakes and activities by id instead of appending (#1357) by @simonoppowa in #1369
  • fix(export): carry the profile's goal settings in the backup and restore them (#1363) by @simonoppowa in #1381
  • fix(settings): apply typed value on Save in kcal, nutrient and water dialogs by @simonoppowa in #1371
  • fix(settings): reload Diary and Trends after settings changes (#1359) by @simonoppowa in #1370
  • fix(settings): create today's tracked day when saving goals on an empty day by @simonoppowa in #1372
  • fix(tracked-day): create a missing day only if it is still missing (#1373) by @simonoppowa in #1385
  • fix(recipes): keep a manually entered total weight when reopening a recipe (#1277) by @simonoppowa in #1280
  • fix(home): keep food logged into a 0 % meal visible and editable by @simonoppowa in #1318
  • fix(input): let the iOS number pad be dismissed, and apply typed macros on focus loss by @simonoppowa in #1328
  • fix(recents): offer an edited recipe as it is now, not as it was logged (#1276) by @simonoppowa in #1291
  • fix(recipes): keep a shared recipe's hand-entered total weight on import (#1194) by @simonoppowa in #1294
  • test(settings): register the reload blocs in the typed-value dialog tests by @simonoppowa in #1399
  • chore(l10n): update translations by @hosted-weblate[bot] in #1400
  • fix(import): give rows without an id one derived from their content (#1357) by @simonoppowa in #1398
  • fix(meal-detail): hide the micronutrient section when Show Micronutrients is off by @simonoppowa in #1376
  • fix(trends): plot the calorie chart in the selected energy unit by @simonoppowa in #1377
  • fix(ai): keep a typed model across an address change, and show a refused OK (#1364) by @simonoppowa in #1378
  • docs: correct the three one-liners #991 still lists by @simonoppowa in #1225
  • fix(l10n): give every activity row its own English name by @simonoppowa in #1223
  • chore(l10n): update translations by @hosted-weblate[bot] in #1401
  • fix(add-meal): keep Recent chip sticky while typing, add Search all CTA by @ibrahim-iqbal in #1334
  • fix(settings): make Reset + Save actually clear nutrient goals by @ibrahim-iqbal in #1353
  • fix(notifications): reschedule the daily reminder when the app language changes (#1366) by @simonoppowa in #1379
  • test(settings): add clearAll to the nutrient goals screen's fake bloc by @simonoppowa in #1402
  • fix(diary): show the sorted macro on intake rows by @w3lld1 in #1333
  • fix(settings): seven small fixes from the settings test run (#1368) by @simonoppowa in #1384
  • enhancement: highlight calorie goal overage in dashboard. by @andbeaver in #1358
  • fix(settings): round the kcal adjustment on save instead of truncating by @EugeneSusla in #1273
  • fix(diary): keep a day's tracked-day row on the day its entries are listed under by @simonoppowa in #1319
  • fix(settings): open the fibre goal at the reference the Diary uses by @simonoppowa in #1380
  • fix(diary): treat the logical day as today in the Diary and goal edits by @simonoppowa in #1382
  • fix(settings): accept a comma decimal separator in nutrient goal fields (#1387) by @simonoppowa in #1390
  • fix(settings): let the language list scroll when it is taller than the dialog by @simonoppowa in #1332
  • feat(android): add shared meal code import with preview by @KamikX in #1329
  • fix(l10n): stop re-pushing a per-app language override the user cleared (#810, carried) by @simonoppowa in #1230
  • feat(ios): add a read-only calorie progress home-screen widget by @hairmarc in #1251
  • test(settings): stub getCurrentLogicalDay in the nutrient-goal screen fakes by @simonoppowa in #1416
  • chore(l10n): update translations by @hosted-weblate[bot] in #1409
  • fix(i18n): localize the 'min' duration unit for activities by @puravbhatt0504 in #1415
  • fix(custom-meals): replace the edited meal instead of adding a copy (#1403) by @simonoppowa in #1404
  • fix(add-meal): distinguish partial provider failure from zero results in All search by @ibrahim-iqbal in #1282
  • feat(favourites): a personal list of starred foods and meals by @simonoppowa in #1320
  • fix(custom-meals): move past diary entries along when an edit changes a meal's barcode or name (#1417) by @simonoppowa in #1420
  • fix(weight): delete a Weight History row by its storage key, not its displayed date (#1418) by @simonoppowa in #1419
  • fix(notifications): route onboarding's reminder through the scheduler and keep the alarm on a failed reschedule by @simonoppowa in #1391
  • fix(weight): start the weight history from the onboarding weight (#1367) by @simonoppowa in #1383
  • chore(deps): bump actions/setup-java from 6.0.1 to 6.1.0 by @simonoppowa in #1410
  • chore(deps): bump fastlane from 2.240.1 to 2.241.1 in /ios by @simonoppowa in #1424
  • chore(deps): bump fastlane from 2.240.1 to 2.241.1 in /android by @simonoppowa in #1423
  • chore(release): bump to 2.5.0+67 and add the build 67 note by @simonoppowa in #1439
  • Release 2.5.0+67 by @simonoppowa in #1447
  • fix(ios): give the widget extension a bundle id the release team can register by @simonoppowa in #1449
  • fix(ios): export the IPA with explicit per-target match profiles by @simonoppowa in #1451
  • fix(ios): pass ExportOptions.plist to flutter by absolute path by @simonoppowa in #1452

New Contributors

Full Changelog: v2.4.0...v2.5.0

Don't miss a new OpenNutriTracker release

NewReleases is sending notifications on new releases.