What shipped
Newest first. Short entries — what you can now do, and whether it fully works yet. The longer stories about how any of it went live on the blog, and the how-does-this-work pages are in help.
-
A photo that is not of a plant now says so, instead of offering to add "not a plant" to your garden
Since this morning Rafe reports what every photo shows, and a picture of nothing growing comes back as "not a plant". For a few hours the app treated those two words like a crop name — "looks like not a plant, which we could not find in your garden" — and offered to add it. Now the chat and the photo library say plainly that it is not a picture of a plant, offer nothing to add, and still let you put it on one of your plants if it belongs there, like a label or a seed tray.
-
Tap a day and the whole screen follows
Tapping a day in the week now changes the whole of Today, not just the list underneath — the sky, the light and the weather all become that day, so the jobs and the weather that caused them look like one thing instead of two. The day is named on screen whenever you are looking at something other than today, so there is never a question about which day you are seeing. For a day that has not happened yet we draw it at its brightest, because there is no "right now" to show — and the sun is placed where it will actually be on that date, not where it is this afternoon.
-
Tasks say what to do in two or three words, and the reason waits inside
When Rafe suggests a job, the card now says the job and nothing else — "shade tomato", "water roots", "keep picking" — instead of a sentence explaining it. Nothing is lost: the reason, the timing and the rest are inside the task, one tap away. A card you see every day should be readable at a glance, and a card that explains itself every day gets old fast.
-
The app installs lighter
Three icons your phone only reads when you add the app to a home screen were being downloaded before the app would open the first time. They now arrive after it is open, with the rest of the content that fills in behind you. About 67KB less to wait for on a first visit; nothing else changes, and the icons are still there when you add the app to your home screen.
-
The app you download is about a tenth smaller
Since early August every install and update of the app carried about 100KB of code twice over. The step that builds the app for release was handed its libraries twice, and the packer dutifully packed both copies. Nothing in the app behaved differently; it was just heavier than it needed to be, on every phone, every time. A size check that had gone missing in August was put back this week and stopped the very next release, which is how it was found. The release step now refuses to build if it ever happens again.
-
The mountains are the whole page now
Today used to be a list with a drawn scene sitting on top of it. Now the scene IS the page — the sky, the sun and the ridges run behind everything, and your week begins exactly at the horizon rather than floating somewhere above it. Warnings float alone in the open sky above the horizon. Nothing else on the screen does that, which is the point: a frost notice cannot be mistaken for another job on the list. Anything the app needs from you sits just below the horizon and pushes the week down a little, then gets out of the way once it is done.
-
The drawn sky on Today stops striping at dawn and dusk
The picture at the top of Today is a slice of a taller scene, and the sun moves through that scene during the day. When the sun sat low it dropped into the slice and you saw a few flat stripes across the top of the card instead of a sky. It looked right at midday, which is when it was checked. Measured across a whole day it was wrong for about ten hours out of twelve, at night as well, because the moon does the same thing. The sun and moon now stay above the slice at every hour, so you get a sky and a horizon whenever you look. Midday is unchanged.
-
The walk now names a bed's plants in the order you set, left to right
A walk card that covers several plants in one bed — the soil, a pest check, a harvest — used to name them in the order you added them. Now it names them in the order you set on the bed page with Set the order, so the list reads the way you stand in front of the bed. Plants you have not placed keep their old order, after the placed ones.
-
Today is the whole screen now
The landscape behind Today used to stay still while everything scrolled over it, so the horizon — the line your week starts on — only lined up before you scrolled. It moves with the page now, and the ground carries on below it. The temperature sits in the top corner, and tapping a day makes the whole screen that day instead of opening a window on top of it. Jobs read shorter, too. A card was saying the bed twice and the plants twice — and in less detail than the line underneath it. Now each line does one job: what to do, where it is, and which plants. Warnings look like warnings, and the things the app needs from you no longer look like something to go outside and do.
-
Three fixes from August had quietly come undone
Three things we fixed in August had come undone without anyone noticing. A plant’s page opened with a long list of seed varieties instead of what is happening with that plant right now. On a laptop, paragraphs ran too wide to read comfortably. And installing the app downloaded four font files that no browser can read. All three work again. Each one had a test written to stop exactly that, and each test had disappeared in the same change as the fix — which is why nothing caught them: when a change removes something and its test together, every test that is left still passes. The app now refuses to let the number of tests fall unless someone says which one they took out, and why.
-
Two beds with one name: Rafe asks which, and tells them apart by what grows there
If you tell Rafe a plant went into a bed and two of your beds share that name, he used to say he could not tell which plant you meant — about the wrong thing, and with nowhere to go. Now the card under the answer lists both beds by what is growing in each, and tapping one puts the plant in that exact bed. Name a bed you do not have, and Rafe says so and offers to put the plant in one you do have, or to make the bed you named and put it there.
-
Jobs say what to do, and nothing else
A watering job used to read "Feel the soil where you sowed the broccoli, bush bean and 1 more", with three more lines of advice under the buttons explaining how to tell damp from dry. Every watering, every day. It now says "Water tray", and the two answers are "Watered" and "Still damp". Nothing was thrown away. How to check, why it matters, what the weather is doing to it and what each answer means are all still there — one tap inside the job, for the days you want them. Harvest jobs got the same treatment: "The tops going over means it is ready" is now "Ready to lift", with the explanation inside.
-
You can see the sun on Today now
The landscape behind Today was showing a narrow strip of the picture blown up about sixteen times. The sun sat roughly twelve hundred pixels above the top of your screen, so it was never visible at all, and the hills were drawn nearly four times wider than the phone — you were looking at the middle of one hillside, which is why it read as a flat brown field rather than a landscape. The whole picture now fits the screen, the horizon sits where your week begins, and there are conifers on the far ridge. They stay green when the ground turns for autumn, so the season still changes underneath them without the screen going brown on its own.
-
When Rafe asks which of two plants you mean, your answer now picks it
Two radishes in one bed, sown three days apart. Rafe asked "the one from August 14 or the one from August 17?", you said "the one from August 17" — and he asked again. Now a date, a word about which came first ("the earlier one", "the one I planted most recently"), or its place in the bed once you have set the order ("the second from the left") picks the plant, and Rafe gets on with what you asked.
-
Your week now says which day is a problem for your plants
Today has always shown the weather. Your week has always shown the jobs. Neither one told you that the day you planned to prune is also the day it freezes. Now a day that puts one of your plants at risk says so, right on that day, next to whatever you had planned — and tapping it opens the same detail Today already gives you. A day with a frost and nothing planned now shows up too. That is the day you would most want to do something about, and it was the one day the app could not tell you about anywhere.
-
A bed you already have is used, not copied
Telling the app you put something in a bed you already had could make a second bed with the same name instead of using the one you meant, and nothing said so. The damage was not the extra row: once two beds share a name the app cannot tell them apart, so it asks which one you mean and the two answers it offers read identically. Every later sentence naming that bed failed, with no way back through the chat. A bed you already have is now used rather than made again, and naming one new bed twice in a single sentence makes one bed. If you already have a matching pair, a bed’s own page can rename or delete it.
-
A camera on every plant row
Open the Garden tab and every plant now has a small orange camera at the end of its row. Tap it, take the picture, and it is filed to that plant — dated, on its page, no question asked about which plant it was. Nearly nine in ten photos in the app had no plant attached, and the cause turned out to be the route rather than the reminder: keeping the plant took three taps and a screen and a half of scrolling, while forgetting it took two and was always visible. The easy path lost the plant every time, so the camera moved to where the plants are.
-
A finished plant stays on record, and a garden that has wound down is not told it has nothing
Ask how your tomatoes did last year and, until today, the chat looked them up among the plants growing now — so last year's finished tomatoes fell out of the answer, the note about their blight was out of reach, and the chat, handed an empty list, could tell a gardener with eight plants that it had no record of their garden. Now a finished plant stays on record beside this year's, marked finished with its date, so last year is reachable by name. And a garden whose every plant has finished is told what it grew, by year, instead of "nothing recorded yet".
-
A photo answer that came back garbled is now asked for again
Very occasionally the model's answer to a photo did not come back as the shape the app expects — about one time in fifteen when it was comparing two photos — and you saw a server error for a picture you had just sent. Now the app asks once more before giving up, with more room for the answer when the first one was cut short, and it writes down what went wrong so we can see the cause rather than guess at it. You are charged for one look either way.
-
A photo filed to a plant now stays filed everywhere
When you took a photo and then said which plant it was, your phone knew — but the copy on our side only learned the plant if the upload had not finished yet, and it usually had. So Rafe could say he had no photograph of a plant you had three photos of, the look-at-a-plant answers could not see them, and a new phone got the photos without their plants. The plant now follows the photo to our side the same way every other change does, and shows up on every device.
-
A plain sentence about a plant is heard
Say "Nan's broccoli is a Calabrese variety" — a plant you named after someone, and the kind it is — and Rafe used to answer with a summary of what he knows about your garden and write nothing down. He was reading your sentence as the last line of his own briefing, because that is how the two arrived. Put "my" in front and it worked every time. There is now a clear break between what Rafe is told about your garden and what you say to him, so a sentence that starts with a plant's name is heard as you speaking.
-
A plant we do not hold says so
When Rafe adds a plant from your words he names the crop himself, and he can name one we do not keep — "lettuce" on its own, when we hold head lettuce and leaf lettuce separately. That plant was being saved under a name nothing could look up, so it got no watering, frost or harvest guidance and nothing said why. Now a close match is taken — sweet corn, pumpkin, Swiss chard — and one we cannot tell apart is saved under the word you used and marked as a plant we do not hold yet, so its page does not promise what it cannot give.
-
A plant with no variety now says so
If you had not told us which variety a plant is, its page showed a blank space where the word “set” was meant to be — an invitation to add one, silently missing. The same gap could leave a job on your daily list naming no plant at all, on the screen whose whole job is to sound like it knows your garden. Both are fixed. Underneath, six different parts of the app were each working out a plant’s short name their own way, and every one of them had the same hole; there is one shared answer now, so the next screen we build inherits it rather than repeating it.
-
A plant's page now says what its record still lacks, and asks for it one thing at a time
When the chat builds plants it asks for the kind, the date and a photo under its own reply, one step at a time. That line lived under the message that built the plant, so a plant you never answered about was never asked about again once you started a new conversation. The same three steps now sit at the top of the plant's own page — the kind first, because it is what tells one tomato from another, then when it went in, then a photo — each answered with the page's own controls, and each with a "not now, make me a task" that hides it until the task is done. It reads the plant itself, so it is there whenever you open the page, and gone the moment the fact is.
-
A reply is never blank after the chat tries to record something
The chat plans what to record and writes its answer in one go, and when it could not place a plant it sometimes sent the plan with no words beside it — the app showed that as "It came back with nothing." On the plainest exchange there is, "I planted tomatoes", then answering its question about the kind, that happened two times in three. Now a reply is never blank once the chat has tried to record: if it could not place a plant it asks which bed it went in — the one thing that unblocks it — a plan that recorded things but said nothing gets a receipt naming them, and one that recorded nothing says so in a line instead of "got it".
-
After it adds your plants, it asks the kinds — then when, then for a photo
Tell the chat about a bed of tomatoes and peppers and it builds them. Until today it then went quiet, and the kinds, the planting date and a photo were yours to type in later, plant by plant — the annoying part. Now it asks in the same breath what kinds they are, one question for all of them, and under its words the app asks the next things in turn: roughly when they went in, then whether you have a photo so Rafe can fill in the rest. Every step has a "not now, make me a task" button, so a question you skip becomes a task rather than a gap.
-
Answering a question the chat asked now counts as your words
Before the chat records anything it checks that the plan quotes you, not itself. Until today "you" meant your last message only — so when it asked what kind of tomatoes you planted and you answered, the plan for the plant quoted the message that named the tomatoes, one turn earlier, and was refused as words it could not trace. Every message you sent in the same chat now counts as yours. The guard still guards: words you never said are still refused, and a plant still needs a bed before it is added.
-
Ask about this year's tomatoes and last year's journal comes along
When you ask the chat to read a plant's journal by its crop — "my tomatoes" — it opens this year's plant, which is right for what is growing now and wrong for "did the blight get my tomatoes again?": the blight note sat on last year's plant, and this year's page was empty. Now the finished plants of the same crop bring their entries along, each under its own name and the date it finished, so a question about last year is answered from last year's page.
-
Confirming a kind from a photo now files it the way the fill card does
When Rafe reads the kind of a plant from a photo and you confirm it, the app used to write the words straight into the slot that links the plant to its variety page — so "Little Gem" sat there as text that matched nothing, and the guidance and the variety filter could not find it. Now every confirm goes through one path: a kind the catalog knows lands as that variety, and one it does not know is kept as what you said. The plant page's reading card and the photo answer's chips now do the same thing, which yesterday they did not.
-
Describe a new bed and its plants in one breath, and the plants land in it
Say "three Cherokee Purple tomatoes in the raised bed by the shed" and the chat plans the bed, then the plants, naming the bed as their place by the name you gave it. Until today only a bed already on record counted as a place, so the bed was added and the plants refused: an empty bed you did not make. Now a place made in the same reply counts by its name, and the plants go in.