Repository navigation
Changelog
Mandy edited this page Mar 15, 2026
·
2 revisions
- Season filtering for boils -- The Gal Boiled widget now correctly totals only the selected season. Boil dates are included in season detection so the app defaults to the right season on load.
- Collection entry for pulled taps -- You can now log sap collections for dates between a tap's install and pull date, even after the tap has been pulled. This allows entering historical or backdated collection data.
- Historical weather for past seasons -- Switching to a past season with tap dates now fetches historical weather data, even if some weather entries already exist for that season.
- Weather source accuracy -- Saving a collection no longer silently overwrites forecast or historical weather as a manual entry. Only weather values you actually change are saved as manual.
- Tap pull date validation -- The app now prevents setting a tap pull date before the tap install date.
- Celsius support -- Temperature unit setting (Fahrenheit/Celsius) with auto-detection from location. All weather displays, sap flow logic, freeze checks, and API calls respect the selected unit.
- Canadian location support -- Location entry now works for Canadian postal codes and city names. Zippopotam.us fallback for postal codes that Nominatim doesn't index.
- Boil batch tracking -- Mark collections as boiled or discarded. After saving a boil, a prompt identifies which collections were used (FIFO) and offers to mark them. Deleting a boil recalculates status automatically.
- Boil tab summary widgets -- Paired widgets show Available Sap / Estimated Output and Gallons Boiled / Syrup Produced. Discarded sap is excluded from estimates.
- Syrup conversion modals -- All syrup output displays (widgets, boil cards, boil modal projected output) are clickable to show a volume breakdown in gallons, quarts, pints, cups, and fl oz.
- Tap date correction prompt -- When logging a collection dated before a tap's install date or the season start date, a prompt offers to update those dates to match.
- Edge-to-edge display -- Replaced deprecated statusBarColor/navigationBarColor APIs with WindowInsetsControllerCompat and proper window insets handling.
- Large screen support -- Removed orientation locks and configChanges restrictions to support tablets and foldables.
- Deprecated SplashActivity API -- Replaced deprecated bar color calls with modern WindowCompat APIs.
- Geocode fallback chain -- Three-tier location lookup: Nominatim, Zippopotam.us (Canadian FSAs), Open-Meteo geocoding.
- Collection status in CSV export -- Boiled/discarded status included in collection CSV exports.
- Per-season start and end dates -- Each season has its own start and end date instead of a single global setting. Season dates control weather tracking range and are editable per-year in Settings.
- Default to Open-Meteo weather -- New installs default to Open-Meteo as the weather source instead of manual.
- Default to calendar view -- New installs open to the calendar view instead of timeline.
- Zip code fallback for location -- If GPS is skipped or denied, a zip code / city name entry is offered with geocoding lookup.
- Auto-fetch weather -- Weather data is automatically fetched when the weather source or location is configured, when switching seasons, and when the dashboard loads with no data.
- Season average brix setting -- Toggle in Settings to use weighted average of measured season brix as fallback instead of species defaults.
- Projected syrup on boil modal -- Live-updating projection line shows estimated syrup output using Rule of 86 as you enter pre-boil volume.
- Species brix on dropdowns -- Species selection dropdowns show the default brix percentage next to each name.
- Season average brix on tree cards -- Trees page shows weighted average measured brix for each tree's season collections.
- Per-field date clear buttons -- Season start and end date inputs each have an individual clear button.
- Boil brix estimate fixed -- Estimated brix for new boils now uses FIFO deduction of boiled volume from oldest collections, fixing incorrect estimates after multiple boils. Estimated brix is also now editable.
- Manual flow overrides preserved -- Weather fetch no longer overwrites manual flow day overrides.
- Version number in Settings -- Settings screen now shows the actual native app version instead of a stale hardcoded constant.
- Boil volume not converted on unit change -- Changing the unit selector on the boil modal no longer converts the already-entered number.
- iOS JS dialogs -- alert(), confirm(), and prompt() now work on iOS via native UIAlertController delegates.
- iOS date picker -- Season date inputs no longer close immediately when tapped on iOS.
- Scroll position preserved -- Switching tabs or re-rendering no longer resets scroll position.
- Scroll-to-today reliability -- Timeline centers on current date using precise scroll calculation instead of scrollIntoView.
- Compact dashboard controls -- Today button shows day number, month/year display uses two-line layout.
- iOS parity -- iOS app fully synced with all Android features.
- iOS cache clearing -- WKWebView cache is cleared on launch so updated app.html loads immediately after an app update.
- Boil modal overhaul -- Inline unit pickers (gal/qt/pt for sap, gal/qt/pt/oz for syrup) next to each volume field. Auto-calculated sap brix using Rule of 86. Each boil remembers its units.
- Tree and tap separation -- Trees are now permanent entities with taps installed per-season. Multiple taps per tree, multiple collections per day.
- Missed flow indicator -- Calendar and timeline show "MISSED" on sap flow days before taps were installed.
- Scrollable calendar with week start setting -- Calendar view improved with configurable week start day.
- First-run setup wizard -- New users are guided through initial configuration for tree count and tracking preferences on first launch.
- Historical weather backfill -- When the app comes back online, it automatically fetches weather data for any dates that have collections but no weather recorded.
- Backdate historical data -- Enter sap collections and weather data for past dates, not just today forward.
- Dashboard no longer shows estimated syrup after boiling -- When all sap has been boiled, shows actual syrup output instead of estimates.
- CSV export updated -- Boils export includes per-boil unit columns and separate estimated/actual brix values.
- Full season dashboard totals -- Dashboard widgets now show totals for the entire season instead of only the current calendar view.
- Date correction on collections -- Logged collections can now be moved to a different date without deleting and re-entering.
- Reorganized Settings screen -- Settings layout cleaned up with an info/privacy button added.
- Tap pull date tracking -- Taps now have an optional "Date Pulled" field. Setting a pull date automatically deactivates the tap. Pull dates are shown in the tap list.
- Per-table CSV export -- CSV export now lets you choose which data to export: Collections, Weather, Taps, Boils, or Fees. Each export is named automatically by table and season.
- Custom export filenames -- Both JSON and CSV exports now accept an optional custom filename.
- Version display -- App version number shown on the splash screen and in Settings.
- Brix preserved on edit -- Editing an existing sap collection no longer loses the stored Brix value.
- Weather not forced on backdate -- Changing the date in the collection modal now loads weather for the selected date instead of saving today's weather to a past date.
- Brix mode detection -- Opening the collection modal for a date with existing data now detects the Brix mode (skip/daily/per-tap) and pre-fills values.
- Manual sap flow override -- Mark any day as a flow day (or no flow) regardless of what the temperature data says. Toggle between Auto, Flow Day, and No Flow in the day detail view.
- Backup resilience -- Backup restore now falls back to direct file access when MediaStore query fails, fixing data loss after app reinstall or signing key change.
- Android Auto Backup -- Added explicit backup rules for cloud backup and device-to-device transfer to preserve WebView data.
First public release of Backyard Sap Tracker.
- Dashboard -- Sap flow days, gallons collected, estimated syrup output. Calendar and timeline views.
- Tap Management -- Add and manage taps by species and location.
- Sap Collection -- Log daily sap collection by tap with optional Brix readings.
- Boil Tracking -- Record boil sessions with pre-boil and post-boil volumes.
- Weather Integration -- Open-Meteo or NWS. Sap flow from freeze/thaw cycles. 45-day extended forecast.
- Data Export -- JSON or CSV export.
- Privacy -- All data stored locally. No account, no cloud, no tracking.