# Ezina Changelog

User-facing release notes. The top of each entry is written for plant owners. The indented "Under the hood" lines name sources and methodology for testers and contributors, without exposing internal schema or tooling.

---

## Schema

Each release block is a level-2 heading: `## v0.1: <Short title>`

Inside each release, sections use these category headings in this order. Skip any section with nothing to report; don't render empty headings.

| Heading | When to use |
|---|---|
| What's new | New features users can do something with |
| Improvements | Existing features got better, faster, or clearer |
| Fixes | Something was broken; now it isn't |
| Known issues | Honest disclosure with a workaround |
| Under the hood | Engineering-only changes worth noting (refactors, schema, infra). No top-line user summary. |

Each bullet has two layers:

```
- **Short title:** One-sentence user benefit in plain language.
  - *Under the hood:* technical detail rendered behind an expand
```

Renderers (in-app, web) collapse the indented detail by default and show it on "Show more." Plain GitHub readers see both inline (fine, no fork).

For Known issues, add a `*Workaround:*` line before `*Under the hood:*`.

## Voice rules (user-summary layer)

- Lead with the benefit, not the mechanism. "Watering knows about rain", not "Open-Meteo ET₀ integration."
- Active, second-person. "Your plants" / "You can now."
- One idea per bullet. If you need a comma + "and," split it.
- No version numbers in the summary text. Keep those in the heading and the Under-the-hood layer.
- No internal product names in the summary. "Plant.id" → "our identification service." Name it in the details.
- One sentence per bullet, ~14 words max.

## Voice rules (Under the hood layer)

- Name external sources and methodologies. USDA PLANTS, WUCOLS, GloBI, HOSTS, Xerces, Plant.id, PlantNet, Open-Meteo, FAO-56, GBIF, iNaturalist, Wikipedia, Wikimedia and Wikidata are all on the table.
- Don't list two or more sources in a way that describes the join. Cross-source priority chains, threshold tables, dedup keys, and ancestor walks read as a recipe and stay out.
- Marketing-grade counts and coverage stats are fine. They show scale and don't tell anyone how to rebuild it.
- Pipeline and outcome language is fine. "The pipeline knows," "wired up," "recomputed nightly."
- Don't name internal infrastructure. Table names, view names, column names, function or RPC names, edge function names, file paths, migration IDs, bucket names, and internal flags stay out.
- Honest gap callouts are fine. Say what's thin or missing without pointing at the tooling on the fix path.

## Versioning

Testing-phase versioning: `v0.1`, `v0.2`, `v0.3`. No patch number in headings. A genuine emergency hotfix can append a patch suffix (`v0.1.1`) but it should be rare; most fixes ride into the next minor. `v1.0` is reserved for the eventual post-testing public release.

## Status values

- `Shipped`: released and live for users

---

## v0.22: Plan a food garden with Dig

**Status:** Shipped
**Target date:** 2026-07-27

### What's new

- **Grow food from your Dig plan:** Choose "Food" and Dig suggests edible plants, not ornamentals.
  - *Under the hood:* The Food goal now returns only human-edible, non-toxic plants; previously it had no effect on the suggestions. Edibility draws on USDA PLANTS palatability and edible-part records, plus 50 common food crops — tomato, strawberry, cucumber, pepper, basil, and more — added by hand with their light and water needs. Each of the 50 carries a reference photo that is CC0, public domain, CC BY, or CC BY-SA from Wikimedia Commons, credited to its source.

- **Save and name your Dig plans:** Finishing a plan now saves it, and you give it a name.
  - *Under the hood:* Saving prompts for a name instead of defaulting to your address, and that name carries to the plant group a plan can create.

- **Add a plan's plants to your collection:** One tap adds every plant from a saved plan into a group.
  - *Under the hood:* The group is named after the plan, so its plants show up on Home with watering and care like any other.

- **Reposition a driveway:** Press and hold a driveway on your yard map, then drag the whole shape where it belongs.
  - *Under the hood:* A drawn driveway can now be moved as one piece — long-press to grab it, and a dashed outline traces the shape while you drag. Releasing drops it in place and refits the plan around the new position.

- **Fine-tune driveway corners:** Adjust each corner of a driveway instead of redrawing the whole thing.
  - *Under the hood:* Finished driveways now carry the same editable corner handles as the property and house outlines, and previously placed driveways load ready to edit.

### Improvements

- **Dig favors plants we can fully support:** Suggestions lean toward plants with a photo, watering, and pest info.
  - *Under the hood:* Plants with a complete entry — a photo, calculated watering, and known pests — rank first, with a fallback to thinner entries only when a site has few. Keeps picks to plants the app can actually show and care-guide.

- **Plan costs and time update as you edit:** Drawing a bigger bed now moves the setup, upkeep, and cost figures.
  - *Under the hood:* Setup time, weekly upkeep, and cost recompute from the beds you draw, instead of staying fixed at the original estimate.

- **Editing your yard in Dig is fast now:** Adjusting your property no longer stalls for twenty seconds.
  - *Under the hood:* Reshaping your parcel reuses the site's existing assessment rather than re-running the full sun, soil, and elevation analysis, cutting a roughly 20-second wait to about a second on repeat edits.

- **Edit corners without your finger in the way:** Corner handles now sit just off each point, so you can see what you're placing.
  - *Under the hood:* Each editable corner shows a grab tab offset outward from the true point, joined by a short leader line. Dragging the tab moves the corner one-to-one while keeping it visible beside your fingertip.

- **Zoom and pan while you edit:** Pinch to zoom and move the map without leaving edit mode.
  - *Under the hood:* The editing layer was rebuilt so the map keeps its own pinch, pan, and tap; only the small corner and shape handles capture a drag, and two-finger gestures always pass through to the map. Handles stay pinned to their spots as the map moves.

- **Seasonal reminders collapse by pest:** Each pest or disease is its own line you can open to see affected plants.
  - *Under the hood:* Reads "[pest] may impact these plants you own," with a tap to reveal the list. Dismissing one hides that entry until the following calendar year, rather than hiding the whole banner for the month.

### Fixes

- **Undo works in Dig again:** Moving a property, house, or driveway corner is undoable.
  - *Under the hood:* The undo button had stopped appearing for those edits.

- **One proposed bed, not several:** The suggested plan shows a single planting bed again.
  - *Under the hood:* It had regressed to splitting into as many as four.

- **Editing handles stay on screen:** Corner handles near the map edge are no longer cut off.
- **Steady zoom while editing:** Picking an editing tool no longer changes Dig's zoom.

### Known issues

- **Some food crops show the plant, not the harvest:** A few use a leaf or flower photo instead of the fruit.
  - *Workaround:* The plant is still correct; only the photo differs.
  - *Under the hood:* A clear, openly-licensed fruit image wasn't available for every crop.

- **Shady or small sites return fewer edibles:** With Food selected, some yards show only a handful of options.
  - *Workaround:* Turn off the Food goal to see the full range for your site.
  - *Under the hood:* Food is a strict filter, so a site with little sun or space yields fewer edible matches.

---

## v0.22: The right photo on every pest and disease

**Status:** Shipped
**Target date:** 2026-07-27

### Fixes

- **The right photo on every pest and disease:** Reference cards now show the correct organism or symptom, not a look-alike.
  - *Under the hood:* An audit of the primary photo on every pest and disease reference entry — 131 images — found 30 that had been auto-matched to the wrong subject: moths, a crab, fish, beetles, unrelated plants, and even human and animal medical photos in place of the intended pest, pathogen, or symptom. 27 were replaced with verified images from iNaturalist, Wikimedia Commons, and Bugwood, each checked against the entry before publishing. Two entries with no commercially-usable plant image available yet — edema and tomato yellow leaf curl virus — had their wrong photos pulled and are flagged for sourcing. Every replacement is CC0, CC-BY, CC-BY-SA, or public domain. The source catalog was corrected at the same time, so future photo refreshes resolve to the right organism rather than the look-alike.

---

## v0.22: Watering by the gallon, for outdoor plants

**Status:** Shipped
**Target date:** 2026-07-27

### What's new

- **See outdoor watering in gallons:** Outdoor plants now show how many gallons to give, plus a rough hose time.
  - *Under the hood:* Ezina now estimates the volume of water an in-ground plant needs, not just the depth, from the plant's age and its species. The hose time uses a flow rate you can set, shown in 15-second steps so a quick job doesn't get over-watered. Every figure is labelled an estimate.

- **Tell Ezina about your outdoor plants:** Add a plant's age, soil type, and whether it's mulched.
  - *Under the hood:* Set when you add a plant and editable from the plant page. These refine the watering estimate rather than being for reference only.

- **Set your hose's flow rate:** Match the watering-time estimate to how fast your hose actually runs.
  - *Under the hood:* Lives in Account settings. Not sure of your rate? Time how long it takes to fill a one-gallon jug and Ezina works it out. Left unset, it uses a typical garden-hose rate.

### Improvements

- **Watering that reads the soil and the heat:** Outdoor watering now factors in soil type, mulch, and hot weather.
  - *Under the hood:* Your soil, whether a plant is mulched, and how hot it's been now shape each outdoor plant's watering, on top of the sun and temperature already tracked. Indoor plants are unaffected.

- **Your care history is kept:** Your snoozes and undone waterings are now saved for good.
  - *Under the hood:* Undoing a watering keeps the record instead of erasing it, and snooze and undo actions are logged over time. All of it is included when you download your data.

### Fixes

- **Beta invite sign-up works:** Invited testers can finish signing up with the code from their invite email.
  - *Under the hood:* The single-use code sent in each invite wasn't being saved, so it didn't match at sign-up. It's now stored and honored.

### Known issues

- **Gallon amounts are estimates:** For some plants the amount is a rough default rather than a tailored figure.
  - *Workaround:* The watering depth in inches is shown alongside, and everything is labelled an estimate.
  - *Under the hood:* Accuracy depends on how much we know about a species; some common edibles fall back to a general default.

---

## v0.21: Photos checked before they post

**Status:** Shipped
**Target date:** 2026-07-24

### What's new

- **Photos are checked before they post:** Community photos are now reviewed automatically before anyone else can see them.
  - *Under the hood:* Every image shared to the community is screened by an automated moderation service (Sightengine) before it becomes visible. The image stays private until it clears. Content scored as clearly unsafe is withheld and never published; borderline images go live but are queued for a human moderator to look at. The check is tuned for a plant community, so everyday garden subjects register correctly: pruning saws and garden knives read as tools rather than weapons, and common plants aren't mistaken for contraband. Anything the check reads as possible child-safety content is always withheld and routed to a person, never published while it waits. It runs only on community photos; identification and health-check photos stay private to you. We chose Sightengine, a European provider, because it's bound by a GDPR data processing agreement and does not use your photos to train its models.

- **Care basics on every plant page:** Popular houseplants now show their essential care up top.
  - *Under the hood:* The plant page opens with a Care block covering light level, the minimum light a plant needs to survive, watering, and the lowest safe temperature, above the fuller reference sections. Values are drawn from peer-reviewed horticultural light-response science, UF/IFAS and UC ANR extension light tables, and RHS and Missouri Botanical Garden temperature figures. Each value carries its source, and any figure converted from foot-candles is labelled an estimate. This covers 51 of the most popular houseplants so far; the rest of the catalog shows "no measured data yet" rather than a guess.

### Improvements

- **Water needs, size, and form on more plants:** More plants now show their water needs, mature size, and plant form.
  - *Under the hood:* Watering guidance now appears for roughly 5,500 plants, and plant form (herb, shrub, tree, fern) for about 10,000, the latter from the TRY Plant Trait Database. Mature size surfaces from data already in the catalog.
- **Smarter watering for succulents:** Succulents and cacti now get watering suited to how they store water.
  - *Under the hood:* About 240 succulents, cacti, and other water-storing species were classified by photosynthetic pathway (CAM), which shifts them toward less frequent watering. Pathway data comes from the TRY Plant Trait Database and a peer-reviewed census of CAM plant families.

---

## v0.20: Watering that anticipates rain

**Status:** Shipped
**Target date:** 2026-07-23

### What's new

- **Watering that anticipates rain:** When rain is on the way, your watering advice eases off automatically.
  - *Under the hood:* Each plant's watering estimate now folds in the local rain forecast, refreshed through the day. When rain is likely, the plant's card shows a "Rain expected" marker and an estimated reduced amount next to the full suggested volume — so you see both what the plant needs and how much the coming rain should cover. Forecast amounts come from NOAA's high-resolution model via Open-Meteo (~3 km / ~2 mi); the chance-of-rain that gates the adjustment comes from NOAA's ensemble forecast. The estimate only eases off when rain is genuinely likely (around 60% or more), so a slim chance won't leave a plant thirsty.

### Improvements

- **Rain measured closer to home:** Watering now reflects the rain near you, not a broad regional average.
  - *Under the hood:* Observed rainfall moved from a roughly 11 km reanalysis grid to NOAA's ~3 km high-resolution model, sampled at about a 2 mile grid. Convective storms — the kind that soak one street and skip the next — register far better than a regional average, so a plant isn't told to water after a downpour it already caught.

### Known issues

- **A forecast is not a measurement:** The rain-expected amount is a prediction, marked EST., and can shift as the forecast updates.
  - *Workaround:* The full suggested volume is always shown too; water to that if you'd rather not lean on the forecast.
  - *Under the hood:* Forecast resolution is inherently coarser than observed rainfall, and chance-of-rain comes from an ensemble on a broader grid. High-resolution forecasting covers the continental US; elsewhere watering falls back to a global model.

---

## v0.19: Insects in the library

**Status:** Shipped
**Target date:** 2026-07-20

### What's new

- **Insects in the library:** Browse and search insects the same way you browse plants.
  - *Under the hood:* About 1,008 arthropods, each with a photo, a description, host plants, life stages, and its relationships to other species. The set is limited to insects that actually connect to plants — feeding on them, pollinating them, or preying on the pests that do. Photos come from Bugwood.org contributors under CC BY 3.0. Descriptions come from Wikipedia under CC BY-SA. Relationships come from GloBI and HOSTS, plus a set read and checked by hand from Wikipedia. Human and household pests are deliberately left out.

- **Search insects by name:** Type "Japanese beetle" instead of the Latin name.
  - *Under the hood:* Common names come from GBIF vernacular names; about 93% of browsable insects have one, and the rest fall back to their scientific name.

- **"Is it native here?" — a free checker on our website:** Look up whether any plant is native, introduced, or invasive in your county. It's a web tool for now, separate from the app.
  - *Under the hood:* Lives on the Ezina website, not inside the app. Nativity comes from USDA PLANTS county-distribution records. Invasive status comes from the invasive and noxious-weed laws of 42 states plus the national GRIIS list. Every verdict links to the exact record or statute behind it. Your county is derived from your device's location through the FCC Census API, and nothing is stored.

- **Search the checker by name or photo:** Type a common or scientific name, or snap a photo to identify a plant.
  - *Under the hood:* Part of the web checker above, not the app. Names resolve through USDA symbols and GBIF vernacular names; photo identification uses PlantNet and is rate-limited during testing. Reference photos come from USDA PLANTS and Wikimedia Commons, each credited.

- **Get native alternatives:** When the checker flags a plant as regulated where you are, see natives for the same landscape role.
  - *Under the hood:* Part of the web checker. Alternatives are limited to species USDA records as native in your own county.

### Improvements

- **A description for almost every plant:** Nearly every plant with a photo now has a short write-up.
  - *Under the hood:* Coverage went from about 40% to 96% of photographed plants. Text comes from Wikipedia under CC BY-SA, each credited to its source article.

- **Photo credits on every screen:** Reference photos now show their photographer credit wherever they appear.
  - *Under the hood:* Attribution was already stored but wasn't shown on the plant reference page; it now appears with a tappable link to the source.

### Fixes

- **Restored plant photos that were hidden:** Some clear single-plant photos had been mistaken for collages and left out.
  - *Under the hood:* We reviewed 27 flagged images by eye. 20 were false alarms — a horizon line or a soft background read as a grid seam — and were restored with credit. The real collages stayed out, including one where the plant genus *Thymus* had pulled in a human thymus-gland diagram.

- **Corrected some misidentified insects:** A few insects were filed under the wrong scientific name.
  - *Under the hood:* We reverted 8 questionable name changes, each checked against ScaleNet, ITIS, and published revisions — including a North American beetle that had been merged with an unrelated African species. Both names stay searchable.

### Known issues

- **Eight states' invasive lists aren't in yet:** In those states the web checker can read "not listed" when a plant may still be regulated.
  - *Workaround:* Check your state's official noxious-weed list directly.
  - *Under the hood:* Alaska, Georgia, Hawaii, Illinois, Kentucky, Rhode Island, Texas, and Wyoming aren't ingested yet; the national GRIIS list still applies everywhere.

### Under the hood

- **Beneficial and pest photos share a pool:** A curated pest without its own photo now falls back to the broader insect photo set.
- **Credit is enforced, not optional:** A description or reference photo can't be shown unless its attribution is present.

---

## v0.18: Better reference photos

**Status:** Shipped
**Target date:** 2026-07-07

### What's new

- **Clearer insect photos:** Each pest and beneficial insect now shows up to three clear reference photos.
  - *Under the hood:* We selected representative photos for more than 1,260 additional species, bringing the total to about 1,425. Most of the selection was made by an AI vision model, Claude Haiku, picking the sharpest, best-centered, fully visible adult from each species' available images. Before the full run we calibrated it against 154 species we had curated by hand, and used those hand-picked sets as the reference standard to check its judgment. Seven species had no isolated specimen photo and were picked by hand. Every photo comes from Bugwood.org contributors under a CC BY 3.0 license, and each curated set records the photographer and source.

- **Expanded plant photo database:** More plants now show a reference photo, many with both a whole-plant view and a close-up.
  - *Under the hood:* About 5,900 species now carry a curated photo from USDA PLANTS and the Smithsonian, and roughly 2,200 include both a whole-plant view and a close-up detail. An AI vision model, Claude Haiku, labeled each candidate image as a full-plant or close-up shot, calibrated against a hand-checked sample first. Every image is public domain or Smithsonian-licensed, stored at full resolution with the photographer credited. Illustrations, multi-specimen plates, and black-and-white scans are filtered out. Species without a rights-clear USDA photo fall back to a Wikipedia image.

---

## v0.17: Steadier match confidence

**Status:** Shipped
**Target date:** 2026-07-06

### Improvements

- **Confidence that reflects agreement:** When our identification checks agree on a plant, your match confidence now holds up instead of dropping.
  - *Under the hood:* Identification blends Plant.id and PlantNet. When their top picks differ but the two still corroborate each other elsewhere, that agreement now lifts confidence on those picks rather than discounting them as lone guesses.

- **Match percentages add up to 100%:** Confidence figures across candidate matches now total 100%, so they're easier to read and compare.
  - *Under the hood:* Scores across the blended Plant.id and PlantNet candidate set are renormalized after ranking, matching how each service reports its own probabilities.

### Under the hood

- **Tightened database access controls:** Row-level security now covers every table, and reference data is read-only to the app.
- **Locked down scheduled jobs:** Nightly background jobs refuse to run unless their auth secret is present.

---

## v0.16: Cut flowers in the catalog

**Status:** Shipped
**Target date:** 2026-06-27

### What's new

- **Find plants that are great for cutting:** Each plant page shows whether it's a good fit for bouquets and arrangements.
  - *Under the hood:* 90 species carry a "great for cutting" flag, drawn from the ASCFG Cut Flowers of the Year selections (2000–2026) and the cut flowers and florist greens covered in USDA Agriculture Handbook 66. The flag lives alongside the creature-relationship tags, so a plant page can show both what visits it and what it's good for.

- **Vase life and care notes for cut flowers:** See roughly how long a cut flower lasts and what shortens it.
  - *Under the hood:* Vase-life and ethylene-sensitivity notes for 50 cut flowers and florist greens, from USDA Agriculture Handbook 66 (public domain). Each note is kept in the source's own wording so borderline cases stay accurate.

### Known issues

- **This is a curated start, not every cut flower:** It covers well-known commercial and award-winning cut flowers, so some garden cut flowers aren't flagged yet.
  - *Under the hood:* Coverage comes from the two sources above. Broader rosters and vase-life data exist in university extension specialty-cut publications, which are cite-only and not yet brought in.

---

## v0.15: Care detail for named varieties

**Status:** Shipped
**Target date:** 2026-06-26

### What's new

- **New cultivars added:** Added 955 perennial cultivars across 124 genera. A tracked selection shows its own height, spread, hardiness zones, light and water needs, soil and pH, and bloom season instead of generic species guidance. Core attributes filled on about 952 of 955.

- **Pest and resistance detail per variety:** About 938 of 955 carry a per-variety pest-and-disease list, soil pH, and critter-resistance flags.

### Known issues

- **These varieties don't have their own photos yet:** Pages show full care detail with the parent species photo as a stand-in. If you have any of these cultivars, take photos and share them. We'll add them to our library and cite you as a source.

---

## v0.14: Community + treatment tracking

**Status:** Shipped
**Target date:** 2026-06-24

### What's new

- **Share what you're growing:** Post photos and progress, follow other growers, and like or comment.
  - *Under the hood:* A full community layer: posts (text, image, link), comments, likes, follows, and a profile for every grower. This entry originally said image posts were screened by Google SafeSearch and Microsoft PhotoDNA before going public. That screening was never turned on, and the plan was dropped in July 2026. Moderation ran on user reports and blocking instead, and the Transparency Promise said so. Automated photo moderation was later added in v0.21, through a different service.

- **Report anything off:** One tap flags a post or comment for review.
  - *Under the hood:* A report captures a snapshot of the post at the moment it's flagged, so moderation holds up even if the content is edited or deleted afterward. Moderators can dismiss, hide, warn, or ban; hides are reversible, not destructive deletes.

- **Treat a sick plant step by step:** Follow a guided plan for a pest or disease and check off each step.
  - *Under the hood:* Steps come from the curated pest- and disease-treatment catalog, grouped by control type: cultural, mechanical, biological, and chemical. One active plan per plant at a time; care reminders turn step-aware so each nudge matches where you are in the plan.

- **Bigger photo library for insects and arthropods:** Each pest, pollinator, and visitor card gains an additional photo source so more species ship with a real picture instead of a placeholder.
  - *Under the hood:* Added Bugwood (UGA Center for Invasive Species and Ecosystem Health) as a third commercially-licensed photo source alongside Wikidata-linked Wikimedia Commons and iNaturalist. First scan pulled 27,241 CC BY 3.0 photos across 4,562 arthropod taxa, scoped via GBIF to phylum Arthropoda and filtered to the organism-depicting descriptor vocabulary: Adult, Nymph, Larva, Pupa, Egg, Immature, Multiple Life Stages, and Infestation. Photos are stored as WebP at quality 80 for in-app distribution, roughly 12 GB of curation candidates. CC BY-NC photos in the same archive are explicitly excluded from the commercial pipeline.

- **Curated pest catalog shares taxonomy with the rest of the data:** Pest entries pick up host-plant records, biotic interactions, and creature photos from the broader catalog when a match exists.
  - *Under the hood:* The 50-entry curated pest list (spider mites, aphids, beetles, moths, scale, and similar) now resolves to GBIF identifiers, sharing the same taxonomy spine as GloBI, HOSTS, and Bugwood. Family- and genus-level pests like Aphididae, Cicadellidae, and Eriophyidae resolve to the corresponding higher-rank record; trinomials fall back to their binomial parent when the subspecies isn't in the GBIF backbone.

### Known issues

- **Insect photo coverage is still expanding:** Curated Bugwood photos go live as auditing clears each taxon, so not every pest or visitor card has one yet.
  - *Workaround:* Cards without a curated photo fall back to their existing image.
  - *Under the hood:* About 685 of 4,562 taxa folders audited so far; curated picks promote into the live library as auditing continues across the rest.

---

## v0.13: Native-range maps live, visitor vocabulary set

**Status:** Shipped
**Target date:** 2026-06-21

### What's new

- **Native-range maps live:** See where each plant grows natively across the US, state by state.
  - *Under the hood:* The bulk generation staged in v0.11 ran to completion: 26,769 per-species CONUS native-range maps sourced from USDA PLANTS distribution records and served from public storage. About 71% of US-flora species in the catalog now carry a map. The remaining roughly 11,000 are species USDA PLANTS doesn't record distribution data for, which the UI surfaces as "no map available" rather than an empty one.

- **Visitor relationship vocabulary set:** Every visiting creature carries tags showing what it does at the plant.
  - *Under the hood:* A 10-tag behavior vocabulary covers what the visitor is doing on the plant: pollinator, larval host, nectar feeder, herbivore, predator on visitors, parasite, parasitoid, pathogen, symbiont, and a well-documented confidence chip. A 12-tag taxonomy vocabulary covers what kind of creature it is: bee, butterfly, moth, wasp, fly, beetle, spider, true bug, dragonfly, bird, mammal, and other arthropod. Both pull from GloBI and HOSTS records, with each animal resolved to the catalog through its GBIF identifier. 7,085 plant species in the catalog now bridge through GBIF to their full interaction record. Tag rules read both the recorded behavior and the visitor's family, so that flower-perching predators aren't mislabeled as pollinators. Visitor cards show scientific name and tags first; common names and photos for the animal species come from the same Wikidata-linked Wikimedia Commons and iNaturalist pipeline as the creature-photo work in v0.12.

---

## v0.12: Species interaction graph

**Status:** Shipped
**Target date:** 2026-06-16

### What's new

- **Plant-creature relationships:** See what pollinates, eats, or hosts each plant.
  - *Under the hood:* The connections come from two open datasets. GloBI (Global Biotic Interactions) brings about 229k plant-creature relationships across 69k organisms. HOSTS (NHM London, 2023) adds 132k butterfly and moth host-plant records, with about 41k in scope for the US catalog. Records roll up by genus, so "monarch on milkweed" shows on every milkweed species page, labeled as a genus-level match.

- **Creature photos sourced and credited:** Pollinators, pests, and hosts each have a photo with attribution.
  - *Under the hood:* Photos come from Wikidata-linked Wikimedia Commons images first, with iNaturalist research-grade observations covering the rest. About 88% of organisms resolve through Wikidata; iNaturalist fills the remaining 12%. Animal and fungus photos can carry a wider license set than plant photos, which stay on a stricter whitelist so plant exports clear cleanly for print and marketing.

- **Tap a creature to see its full web:** Every bug or bird page links to what it visits, eats, and what eats it.
  - *Under the hood:* The same lookup works from either side. From a plant page, it shows pollinators, herbivores, and hosts. From a creature page, it shows everything that creature interacts with, both up and down the food web. Genus-page rollups, showing every species in a genus together, are a separate flow and deferred.

---

## v0.11: USDA PLANTS depth + bigger catalog

**Status:** Shipped
**Target date:** 2026-06-16

### What's new

- **Find ten times more plants:** The catalog grew from about 4,000 species to about 40,000.
  - *Under the hood:* Pulled 35,848 accepted species and subspecies from USDA PLANTS. New rows merge into the existing WUCOLS-curated catalog without disturbing curated entries. Net catalog: 39,807 species.

- **Real common names on more plants:** Look up plants by everyday names like "buttonbush" or "blue grama," not just Latin.
  - *Under the hood:* Added 43,776 USDA common names to the catalog. Curated names stay first; USDA names fill in where there was no name set. After the run, 33,703 species carry a display name and 33,432 carry searchable aliases for typeahead.

- **Care detail for US native species:** About 2,000 species now show pH range, drought tolerance, soil texture compatibility, and bloom period on their detail page.
  - *Under the hood:* Per-species trait pull from USDA PLANTS. About 156,575 trait records across 83 distinct traits land in the catalog, with about 60 surfacing on the detail page.

- **Native-range maps groundwork:** The schema and pipeline that carry per-species "where this plant grows natively" maps. Maps themselves went live in v0.13.
  - *Under the hood:* The catalog is ready to carry per-species native-range maps. Cultivar rows that share a parent species automatically inherit the same map. Bulk generation is staged separately.

- **Find plants by their older scientific names:** Searching for an outdated binomial like "Eucalyptus citriodora" or "Lotus rigidus" now resolves to the current accepted species.
  - *Under the hood:* Pulled 35,918 historical scientific names from USDA PLANTS across 16,507 species. About 44% of the catalog now resolves to its current accepted name when searched by an older binomial. Cultivars inherit synonyms from their parent species.

- **Search plants by what they do for pollinators:** Filter for monarch nectar plants, larval host plants, bumble bee favorites, and deer-resistant species.
  - *Under the hood:* All 21 Xerces Society regional pollinator plant lists are now in the catalog, tagged with an 11-category vocabulary covering nectar, pollen, larval-host, and similar uses. 520 of 520 Xerces species resolved against the catalog; *Agave lecheguilla* and *Nama hispida*, both absent from USDA PLANTS, were added separately.

- **Find plants for wet spots:** A new "thrives in wet ground" filter surfaces rain-garden, bog, and streamside plants.
  - *Under the hood:* 558 species flagged as wet-ground performers, based on wetland-tolerance signals from USDA and Xerces. Calibrated to avoid over-flagging drought plants like California poppy that came up in earlier drafts.

### Improvements

- **More plants get accurate watering:** Calibrated watering now reaches plants that didn't have it before.
  - *Under the hood:* Watering coverage roughly doubled, 1,991 → 3,433 species, by filling in calibrated values for USDA species that previously had no factor set.

- **Tree height projections at 20 years:** Trees that USDA documents now show their projected height at 20 years on the detail page.
  - *Under the hood:* 1,015 species now carry a projected 20-year height from USDA. The trait was on the original import list but missed the first cut; a follow-up review surfaced it.

- **One watering label across every species:** Plants now show a consistent VL/LO/M/H water need, reconciled across WUCOLS, USDA PLANTS, and Xerces.
  - *Under the hood:* 5,495 species labeled at launch (VL 540 / LO 1,516 / M 3,261 / H 178). The label answers "how much supplemental irrigation does this plant want," calibrated to garden conditions rather than wild moisture preference. Riparian natives land at M because gardens irrigate; wild-wetland affinity is tracked separately by the wet-ground filter.

### Known issues

- **Trait data is light outside US natives:** Mediterranean, Australian, South African, and Asian ornamentals show name + native-range only; no pH or drought card.
  - *Workaround:* Detail pages render a clean "limited info" state for the gap. Watering math falls back to category defaults based on growth habit.
  - *Under the hood:* Structural to USDA PLANTS' NRCS conservation focus. The real fix path is data partnerships with university extension services, with initial outreach drafted to UGA, UF/IFAS, Texas A&M AgriLife, Penn State, and OSU Landscape Plants.

### Under the hood

- Catalog schema extended to carry the unified water-need label, the wet-ground flag, and Xerces tag arrays, plus the derivation step that produces the water-need label.
- Backfill jobs added for USDA accepted species, USDA common names, USDA characteristics, USDA synonyms, and Xerces regional lists. All idempotent and re-runnable.
- Two species added outside USDA PLANTS (*Agave lecheguilla*, *Nama hispida*); confirms the catalog can carry species sourced from GBIF directly when USDA has no entry.
- Workstream documentation, coverage numbers, and re-run order written up alongside the release for future reference.

---

## v0.1: Launch

**Status:** Shipped  
**Target date:** 2026-06-10 (Android first; iOS follows once Android is stable)

### What's new

- **Track every plant in one place:** Add plants by name or by photo, then watch their status in a live list.
  - *Under the hood:* 3,536 WUCOLS-V species ship bundled in the app as a local typeahead index (under 5 ms lookup). Plant identification calls Plant.id v3. The list updates in real time across devices, sorted by what needs attention soonest.

- **Watering that knows your weather:** Each plant gets a watering schedule built from local rain, temperature, and sun.
  - *Under the hood:* FAO-56 reference evapotranspiration model with WUCOLS species coefficients and placement, sun, indoor, and pot-size factors. Weather comes from Open-Meteo at 0.1° (~7 mi) bucketing. A nightly job recomputes each plant's deficit before morning.

- **Status at a glance:** Each plant shows a clear badge: Pending, Healthy, Soon, Needs water, Overdue, or Saturated.
  - *Under the hood:* Badges are computed nightly from the latest watering math. A watering log on one device updates every other device within about one second.

- **Reminders when a plant needs water:** Push notifications fire when it's time to water, with a tap-through to log it.
  - *Under the hood:* Push notifications scoped to your plant list, sent after the nightly recompute. Per-user opt-out in Settings.

- **Snap a sick leaf, get a diagnosis:** Open the camera on any plant you're tracking and our health check tells you what looks off and how to treat it.
  - *Under the hood:* Plant.id v3 health assessment, with a per-user rate limit that shares a quota with identification. Each result carries a severity level, the photo, and treatment notes onto the plant's timeline.

- **Identify any plant you find outside:** Point the camera at a plant in the wild and get a name, plus an optional health check on the same shot.
  - *Under the hood:* Plant.id v3 and PlantNet run in parallel; their suggestions merge into a weighted confidence score. Field finds are kept separate from tracked plants until you choose "Add to my plants," which pre-fills the species and carries any health result onto the new plant's timeline.

- **Frost and heat alerts:** Outdoor plants get a heads-up when temperatures threaten them, calibrated to your USDA hardiness zone.
  - *Under the hood:* USDA hardiness zone grid bundled with the app at 0.1° resolution (152 KB; spot-checked 16/16 against USDA). Per-plant temperature alert thresholds calibrated to your zone, recomputed nightly.

- **Pest alerts:** A seasonal heads-up when a pest is likely active in your area for the kind of plant you're growing.
  - *Under the hood:* 30 curated pests with 37 seasonality rows seeded at launch. iNaturalist verification: 10 aligned, 12 partial, 2 documented mismatches. Pest alerts are recomputed nightly based on your zone, the month, and the plant's category.

- **Group your plants:** Organize plants by room, garden bed, or however you think about them.
  - *Under the hood:* Groups support per-user ordering, and changes propagate in real time across devices.

- **Plant detail with care info:** Tap any plant to see its species page, photos, and watering history.
  - *Under the hood:* Wikipedia thumbnails and first-paragraph blurbs cached for 2,922 species. GBIF backbone IDs matched on 3,536 of 3,536 species in the WUCOLS catalog.

- **Quick health check-ins:** A biweekly notification asks how each plant is doing. One tap of an emoji logs it.
  - *Under the hood:* Single-tap responses log to the plant's timeline. This is the data-collection feature for future outcome modeling; the model itself is deferred to a later release.

### Under the hood

Engineering-only changes that have no top-line user summary but are worth noting for testers and contributors.

- Launch schema covering 29 tables with per-user access policies, indexes, and triggers.
- Backend services for plant health assessment, field identification, weather ingest, and the nightly watering recompute.
- Worker guardrails: unit-validation bounds on weather ingestion, placement assertions before cache write, 6-hour staleness check, plausibility check on mass-flip outputs.
- Auth with secure session storage; user profile and settings auto-provisioned on sign-up.
- Design system: token set (color primitives, semantic tokens, spacing, type scale, elevation, motion).
- Research citations and species coverage extended for indoor ornamentals (Pennisi, Faust, Kang, Wang, et al.).

---

## Build history

Internal dev-build phases that happened during the lead-up to the v0.1 testing release. We surface these for full transparency about how the app was built, not hidden in a private log. Listed by phase, not by version, to avoid overlap with the v0.x testing-release numbering above.

### Phase 5: Hardiness and pest landed
- Hardiness zone mapping and pest prediction integrated into the nightly job.

### Phase 4: Watering algorithm live
- Nightly watering recompute deployed; FAO-56 model with WUCOLS factors writing real per-plant values.

### Phase 3: Plant CRUD + list screen
- Add, edit, archive, group, realtime status badges.

### Phase 2: Auth + schema
- Auth provider integrated, full schema migration, WUCOLS seed.

### Phase 1: App scaffold
- Project bootstrap, build config, navigation skeleton.
