Repository navigation
Releases: TNT-RVR/farm-management-system
Release list
Week of 2026-11-02
Week of November 2, 2026
44 changes to the app this week.
New
- Cattle: The benchmark the cost form offers is Alberta's
- Map: Each Compare pane opens with its field just fitting, and keeps a hand-set view
- Map: Compare names the crop on every field
- Research: A library of papers on our crops, chemicals and water
- Research: Keep the agronomy, drop the toxicology
- Research: A Research view, so the library can be read
- Research: Ask the app can read the papers and say which one
- Satellite: Canola bloom alert and flower pictures
- Scale: Live weight off the yard scale, and full/empty taken straight off it
- Settings: Names and defaults is gone; each of its six goes where it belongs
- Settings: The contact address goes back, beside the name and logo
Changed
- Partner: His own grant and conference tracking; spray restrictions for his fields
- Partner accounts step 1: Fields, crops and extras shared per company
- Partner accounts step 2: Views from a preset plus per-company ticks
- Partner accounts step 3: Settings > Users & access > Partners
- Partner accounts step 4: Unfence the partner code for the public copy
- Partner grants: List shows (new unless closed), detail read-only
- Partner preview: Field progress reads his fields' rows
- Partner preview: Grant and conference lists read as his views give them
- Partner round 4: His own equipment, tasks and calendar; grants, conferences, fuel, weather, reports
- Partners settings: The preset's pages by their own names
Fixed
- Canola bloom: Pull missing summer looks; ripening pods are not a start
- Canola bloom: Ripening cut-off also ends a bloom that never dropped below 10 %
- Canola bloom card: 'Last look' once flowering is over; gold see-through
- Grazing: The watch stops crashing on the browser's Supabase client
- Health: Allow for FieldNET's three-hourly winter sync
- Irrigation: The district is named on Setup, where it can be found
- Map: Compare panes resize with the grid instead of keeping their first canvas
- Offline: A partner preview's narrowed lists are never saved to the device
- Offline: An empty reference list is never treated as fresh
- Research: A variety belongs under its crop, not beside the next one
- Research: Open the tab on the click, not after the link is signed
- Research: Titles read as titles, not as markup
- Research: Rank a passage by how much of the question it answers
- Research: Search results in the order they answer the question
- Research: A cited paper's link opens that paper
- Scale: Link a capture to its load after the load is written
- Sidebar: The arrow narrows it to a bar of section icons instead of hiding it; a click on the bar widens it, a section icon opens that section, Home and Map go straight there
Improved
- Map: Compare panes show in a second, not twenty
- Research: Ask the index for the paragraphs worth ranking
- Research: Keep a look-up well inside the eight-second cap
- Research: Survive the first search of the day
Other changes
- Partner growing season and harvest views; hide his loads on our scale
- Partner field progress counts his crop-share acres
Bringing this into your copy
This release has a file called changes-2026-11-02.patch holding just this
week's code. Download it and give it to your AI assistant with something like:
Here is this week's patch from the Farm Management System. Apply it to
my app. Where it touches something I have changed, keep my version's
behaviour and tell me what you did. If it adds anything to
supabase/migrations, tell me what to run on my database.
Or, if you have not changed much, pull the whole repository again.
Week of 2026-10-29-2332
Changes for the week of 2026-10-29-2332.
Week of 2026-10-29
Week of October 29, 2026
178 changes to the app this week.
This week
A new menu, grouped by season. The old menu had one entry per feature
and had grown long. The same pages are now grouped the way a farm's year runs:
Planting, Growing, Harvest and Winter season, among the year-round sections
(Fields, Map, Financials, Cattle, Equipment, Tasks & calendar, Tools), with
Settings pinned at the bottom. Every view has one row of tabs, at most six,
with the rest behind a "+N ▾". A view used in more than one season is listed
in each, and a ↗ marks the shortcut copy. Several big pages were split into
smaller views: Fertilizer, Cattle, Harvest, Spraying and chemicals, Fuel and
trucking, and Settings. Old addresses and bookmarks still land in the right
place. Each person can choose their own sections, order and phone-bar buttons
for the phone and the computer under Settings → My account → Menu (where the
old menu can be switched back on, for now). An admin can still hide whole
parts of the app for everyone under Settings → Farm setup → Parts of the app.
README.md has a new "Finding your way" section.
New
- Afsc: Fill AFSC's pasture insurance forms, from AFSC's own PDFs
- Afsc: A Pasture insurance page, and the four forms as reports
- App: 'A new version is ready · Update now' bar once a new build has downloaded; update check every 5 min on focus
- App: One big Photo button on the weigh-in (the phone asks camera or gallery); updates load straight away unless a form is open or a box has the cursor
- Bins: The bin view is about what is in it now: current field's loads and yield, edits, no plan or Add once filling
- Bins: Bin yards of the farm's own: add, rename, order, show or hide, delete an empty one
- Bins: A home yard on the Bin yards list; distances to the fields measure from it, not the yard named 'Main Yard'
- Bins: Each bin shows what is in it first (fill bar in the crop's colour, bushels, from where); an empty bin shows its plan, marked as a plan; adding a bin is in Bin settings, deleting one in its Edit panel
- Bins: Add to a bin what did not come off a field — bought seed or fertilizer, or grain left from an earlier year
- Bins: Ship all or some of a bin out, and say where it went; Add, Move and Ship under one Move button
- Bins: A whole bin shipped clears its plan; shipments say where they went in Deliveries and can be corrected
- Bins: Leave out the sensors above the grain, one fan tick, readings signed by name
- Bins: Draw the bin with its sensor readings, on the view and the report
- Bins: The scale photo fills in the weight, the bushels tick the headspace
- Bins: A fan and a heat switch on the bins that have them
- Bins: One movement list, the weighed kilograms, and one settings button
- Bins: Columns for field, kg and driver; changes that say what moved; who weighed it
- Bins: The estimator sizes what is left, and fits a phone
- Canola: Corteva's seed report and bin temperature records, filled from the app and signed in it
- Canola: Corteva's seed report and bin temperature records as two reports
- Contracts: Contracts and scale tickets read as cards on a phone
- Contracts: A contract's own loads, and cards on Grants and Fuel
- Fields: One derived state, safe hail records, and harvest that is off
- Finance: The farm's own fiscal year-end, set on Farm setup
- Harvest: Bin settings (active bins, capacity, bin yards) behind a big ⚙ beside a big calculator icon; Bins tab loses the contents card, hidden-yard tick and the converter
- Harvest: Pre-harvest intervals as their own tab; unallocated and bins-short only on the Bin estimator
- Harvest: Weigh scale tab: a big Weigh in button, loads/kg/averages by truck, trailer or driver, and every scale ticket to open and correct
- Harvest: Bins and the bin map are one view (map left, list right; map on top on a phone); no Weigh in on the bin list, Move/Emptied/delete stay
- Harvest: Scale tickets in sortable, filterable columns (date and time, field, crop, net, driver, truck); truck/trailer/driver figures on their own Stats tab
- Harvest: Four same-size header buttons on every tab (weigh in, moisture reading, calculator, settings); Pre-harvest is a plain table, not folded
- Latlng: One "lat, lng or a Google Maps link" box for a place
- Menu: Season menu on for everyone; old-menu hiding carried over
- Menu: The Map sits right under Home
- Photos: Pump, pivot and scale ticket photos move to Storage
- Progress: Mark a field harvested, grazed or seeded; the last load does it for you
- Public: The demo and the project page can be found
- Public export: The turbine control screens stay out of the public copy
- Reports: Drivers' log: km, driving and on-duty hours by driver and day, from the loads weighed in
- Rotation: The plan starts where planting stopped, and holds more than one crop
- Rotation: Plan, Recommendations and Rules as three tabs
- Rotation: Tick the crops in the running, and the app says what it thinks
- Rotation: Say yes or no with a reason, and the planner remembers
- Rotation: The advisor is told why we chose what we chose
- Rotation: A year is opened, filled in and saved shut
- Rotation: Which crop can follow which, as plain checkboxes
- Schedules: Reminders and alerts at the farm's local hour, not a fixed UTC one
- Setup: Any farm's water sources, herbicide traits, gauges, labs and markets (public copy review item 5)
- Tabs: Weather, River and Turbines keep their tab in ?tab= so links open one
- Trucking: 2026 haul plan for every field; "buyer hauls from the field"
- Trucking: A destination yard per haul plan; feed costed to the yard it unloads at
- Trucks: Yearly semi truck inspection: Alberta trip-inspection checklist, section notes, save and come back, signed off with your signature; report with what needs doing; January reminders
- Weigh in: Scale photos, Teal Kenworth + trailers #1-#4, and a load that fills one bin then goes on into another
- Weigh in: A driver's truck and trailer come from their last load until picked
- Weigh in: Three steps, one at a time: where from and to, weigh, check and save
- Weigh in: A scale photo can be taken with the camera or uploaded from the phone or computer
- Weigh in: Photo choice as a big pop-up; only fields and crops still to weigh; no full bins or hidden yards
- Weigh in: Date and time each load was weighed in and weighed out
- Weigh in: Weigh in and Weigh out are separate steps; the bin is picked at the weigh-out; a truck brings the trailer it last pulled
- Weigh scale: Weighed in and Weighed out as their own columns, each date and time and sortable
- Menu: Spray restrictions belongs to Cattle, not Growing season
- Export: One icon above the table, and it asks CSV or PDF
- Map, notifications: Water under the My Map, location always on, corner buttons; unread-first setting
Changed
- Bin records: Keep CSV beside Excel on the Reports page (every built report offers CSV)
- Bin records report: Field moisture tests of what was hauled in, sensor columns numbered from the bottom (as typed in), no RH, needs-air section only when an alert was raised
- Cattle in five views with tabs: Pastures, Herd, Feed, Sales & paperwork, Cattle settings
- Combines: Spell out that the stick goes in with the display off
- Corteva bin temperatures: Edit the grower, legal land location and field # (shared with the seed report) and each bin's Corteva bin # right on the bin temperature tab
- Demo: Made-up data for the 48 screens that opened empty
- Equipment service: Kind filter, machine tabs, truck inspections folded in
- Fertilizer split into five views: Soil tests, Fertility plan, Fertilizer prices, Manure, Fertilizer savings
- Fuel: Switch chart lines on and off, zoom buttons and drag-to-move on price charts; Fuel tanks list (holds, capacity, gauge level, room to fill)
- Fuel tanks: A small map with a pin per tank (Pin/Move from the row, drag to move, click to open), pins coloured by fuel
- Fuel tanks: Live levels from the TELUS Farm Inventory gauges every 15 minutes (sign in with the farm's Telus login on Farm setup), horizontal-tank volume, reading history, auto-pin from gauge GPS
- Harvest: Truck forecast per field (forecast bushels ÷ average load, counting down as loads are weighed), on/off per person; Clay's truck and trailer archived, kept in history, out of the average and the weigh-in defaults
- Harvest: Reports tab (bin monitoring BASF + Corteva, seed reports, loads/yields/deliveries); BASF download button off the bins map
- Moisture: Three levels for every crop — dry up to, tough up to, wet over; damp and moist removed (limits cleared, damp tests regraded wet, save function takes three levels)
- Monthly jobs rebuilt: A copy per due month, assign as tasks, Monday meeting block, year report
- Nightly backup: Keep 3 days and make room before each save (old backups kept their 90-day expiry and filled the free storage); weekly copy to Google Drive, newest 12 kept
- Season menu: Bare ↗ for shortcuts in the sidebar and a wider sidebar, so labels aren't cut off; Claude and the TV account out of Tasks by person and Assign
- Season menu: Solid fill only on the page you're on; a folded section holding it gets green text and a dot
- Season menu: Soil & fertilizer heading in Planting; Tissue tests home in Growing; Manure home in Winter (also under Soil & fertilizer); Canola isolation renamed Isolation
- Season menu: The Planting heading is Fertility
- Season menu prep: Users.menu_prefs and the private task-feed token (hashed, own table, rotate/revoke RPCs)
- Season menu step 3: Spraying and Seed & planter split out of Chemicals and Calculator
- Season menu, step 1: The navigation engi...
Week of 2026-10-19
Week of October 19, 2026
35 changes to the app this week.
Corrected 23 October 2026: the first version of these notes listed only 3 changes, all of them already in the first public copy. The code in this release was complete; only the notes were short.
Changed
- Bell opens a notifications dropdown: Read circles, kind labels, expand and settings
- Bins: Totals in kilograms and tonnes beside bushels, and each field's weighed kg, bushels and tonnes (seed companies ask for kg)
- Calculator: Operation cost and Irrigation cost tabs
- Combine: Monitor files tab (boundary shapefiles, field names, display record, out-of-date alert)
- Combine: John Deere guidance lines on the combine stick (MultiSwath+)
- Combine: "Start a field" checklist on Starting settings
- Combine monitor: Per-crop "Harvested with the combines" switch drives the fields
- Combine monitor: Grower, Farm and Field per field
- Combine monitor names: Join a quarter to its legal land as the last shortening step
- Combines: Conditions & suggested adjustments card (NDVI thickness, grain moisture, field weather -> rule-based starting changes)
- Combines: Field finished record, loss checks keep the settings and conditions, What worked
- Combines: Save to USB stick writes the files straight onto the stick; ISOXML TASKDATA beside the shapefiles; Reports search box
- Dry down chart: A line at today (by day) and this hour (by hour)
- Field names are file safe: No / \ : * ? " < > | (fractions as words, separators as -); the field page blocks them, imports and the database clean them
- My account: Connected apps merged into This device; sections use the width on a desktop (two columns where there are two cards)
- Not a normal year: Mark a harvest so averages leave it out; flag estimates from a crop default
- Notifications: A switch for every kind, in the app and push; Alerts page renamed
- Notifications: Clearer names for every kind and a one-line explanation under each switch
- Notifications: Quiet hours and a daily digest for pushes
- Power bills: Azgard on the QuickBooks reader; an Azgard PDF never doubles the account page's rows
- Profile pictures: Upload your own, faces of who else is in the app top right, assignee circles on tasks; setup checklist items open the exact spot; drop Farm setup's Connections part
- Profile pictures: Let people see their own avatar files so the upload isn't refused by RLS
- Profile pictures: Fit the photo in the circle (drag, zoom slider, wheel, pinch) and Adjust it later from the kept original
- Public copy: Combines > Monitor files asks for the farm's combine and gives an AI-assistant prompt to build its exporter
- Reports: Season wrap-up, a page a field for the bank, insurance and next year's plan
- Service reminders from engine hours: Due tasks after every Deere sync, done rolls the plan on
- Start a field: Any active user can save the settings they ran; managers keep the defaults
- Weekly public copy: Farm-clock test uses 2025's clock changes (tz 2026c keeps Alberta on daylight time from Nov 2026, so 2026 dates differ between Node versions); two copy-only tests left out
Fixed
- Any.do sync: Stop writing Any.do's id into tasks.source_ref (a uuid), which failed every 10 minutes; the id stays on anydo_task_links
- Operation cost calculator: Repair garbled dashes and ellipses (text was saved as Windows-1252 twice)
Other changes
- Conference room TV button moves from the header to the Monday meeting page, beside Print
- What's missing checklist (/missing + Monday meeting card); harvest coming and yield vs estimate on the meeting
- Row rules check is_active()/is_manager() once per query, not per row: 414 policies wrapped; plc_line_integrity 8.75 s -> 0.13 s (it was timing out for signed-in users)
- Fixer-stuck alert and stalled engine hours
- Prescriptions show the linked field's current name (renamed fields read the same everywhere); the Rx's printed label still keys re-imports
Bringing this into your copy
This release has a file called changes-2026-10-19.patch holding just this
week's code. Download it and give it to your AI assistant with something like:
Here is this week's patch from the Farm Management System. Apply it to
my app. Where it touches something I have changed, keep my version's
behaviour and tell me what you did. If it adds anything to
supabase/migrations, tell me what to run on my database.
Or, if you have not changed much, pull the whole repository again.
First public copy (up to 15 Oct 2026)
Week of October 6, 2026: the first public copy
The Farm Management System is now available to other farms.
It's a prototype with no warranty: read DISCLAIMER.md
before you rely on any figure or recommendation it gives you.
- To install it: follow SETUP.md. It takes about an hour and
costs nothing to try. - To see what it costs to run: docs/RUNNING-COSTS.md
compares the free and paid plan of every service it uses. - To fit it to your farm: start at Settings → Farm setup in the app.
docs/CUSTOMIZING.md covers the few parts that need
a code change.
This copy includes every change made up to 15 October 2026. From
Monday 19 October, each week's changes will be listed here and released as a
.patch file you can apply to your own copy.