You can now make her earn it. And she talks back.
- Pet Only. Drag Affection all the way to the bottom and she stops starting anything at all. Resting your hand does nothing; the only thing that gets a purr out of her is being stroked, three fingers, slowly, about nine seconds of it. Keep going and she stays. Go back to one or two fingers and she gets up and leaves, because that is you working rather than petting her.
- She says what she thinks, in the menu bar. While you pet her a small panel appears under the paw: an ear turned, tolerated, nearly, and then she gives in. It is the app's own panel, not a notification, and it stays quiet on calls, in fullscreen apps, and while she is already purring.
- The status line is her, in the first person, with the plain facts underneath it. The dot beside it is now a ring that fills as she warms up.
- The first gift arrives about two hours in, rather than whenever the dice eventually said so. Everything after it keeps the old rhythm: rare, unannounced, and not on any schedule you can see.
- Fixed: update notices said "a newer cat is available." In an app where a cat is a thing you pick from a list, that promised new species and delivered a build. One person updated three times looking for a cat that was never coming.
- Fixed: a blank window titled "PurrPad Settings" could appear on launch, containing nothing whatsoever.
- Fixed: the menu bar paw forgot where you had put it and moved on each launch.
Why Pet Only. The cat has always been the point and the trackpad has always done the work, which left nothing for you to do but put your hand down and wait. This is the other half: a setting where she is genuinely difficult, and the purr is something you got rather than something that happened. It is off unless you go and choose it. Left alone she behaves exactly as she always has.
Why three fingers and slowly. One finger is you moving the pointer and two is you scrolling a page, so neither can count without the app mistaking your work for affection. Quick swipes are gestures macOS itself acts on, which is why speed disqualifies a stroke: stroking a cat fast is not petting either.
Why the gifts moved. She brings things roughly every three weeks, a lovely number for somebody who has lived with her for months and a useless one for somebody deciding this week whether to keep the app. Most people were meeting the purr and never meeting the cat. Two hours rather than immediately, because a present handed over at the door is a welcome bonus, while two hours in it is a cat deciding you are worth something. If you already have things on your shelf nothing changes: she is not going to start over and pretend she has just met you.
If you already have PurrPad, the intro will open once on the Pet Only page. It is the one thing in here that cannot be found by using the app, since a mode where nothing happens until you perform a particular gesture is discoverable by nobody.
Unplugging a trackpad no longer needs a relaunch.
- Fixed: after disconnecting an external trackpad, she would not purr on her own again until PurrPad was restarted. The built-in trackpad now takes over within a few seconds, and plugging one back in still works the same way.
Why: two things have to agree on which trackpad is the trackpad, the one being watched for your hand and the one being purred into. 0.6.4 fixed which one they choose but not when. The purr moved back to the built-in trackpad the moment the other was unplugged; the part watching for your hand kept listening to a device that was no longer there, so no hand was ever noticed. It now moves too.
She can feel the trackpad she purrs into. And a first run worth reading.
- Fixed: on a Mac with an external trackpad, she only ever purred when you asked. Automatic purring never happened at all. If you added a Magic Trackpad and thought the cat had gone quiet, this was why, and it was not your settings.
- The first run shows you the cats. Six portraits, the five coats, and which of them the purchase unlocks, before any price is mentioned.
- It also shows you the dial. Both sliders side by side, with the one that answers "this is too much cat" named outright.
- Launch at login is offered on the last step, switched on, where you can see it and turn it off.
The bug, honestly: 0.6.0 taught the app to purr into an external trackpad and never checked that it could feel one. Two separate pieces of code decided which trackpad was "the" trackpad: one picked the largest sensor, the other picked the external device. Both trackpads report an identical sensor size, so the tie fell to whichever the system listed first, which was the built-in one. The app watched the laptop trackpad and purred into the one on the desk. With the lid shut nobody is touching the laptop trackpad, so no hand was ever noticed and the automatic purr never ran. Only the Purr button worked, because it is the one path that does not check for a hand.
Why Affection gets named: somebody wrote in to say the purring was too constant for them, having turned Strength down to its lowest. Strength changes how hard each pulse feels and nothing about how often she arrives. Affection is that dial, and nothing in the app had ever said so.
It updates itself. This is the last version you install by hand.
- Updates install themselves. When a new version exists, PurrPad downloads it, checks it, replaces itself and starts the new cat. No disk image to mount, nothing to drag, no "an item named PurrPad already exists" to confirm.
- Every update is signature-checked before it is allowed to install, against a key that never leaves the machine it was made on. A tampered download is refused even if the website itself were compromised.
Why now: the old updater could tell you a new version existed and then leave you to do the work: open the page, wait for the download, mount it, drag it over the running app, confirm the replacement, launch it again. Six steps to receive a fix you did not ask for. Most people did none of them, which meant a bug fixed on Tuesday was still biting people on Friday.
Nothing changed about what gets sent. "Checks for a newer cat" still governs everything, and off still means no request leaves your Mac. The updater is configured to attach no system profile.
The menu bar popover stops losing its own edges.
- Toggling Purr no longer clips the popover. The top of the header and the bottom of the Shelf row were being cut off.
Why it happened: the status line under the title is the one thing that changes length while the popover is open. "Asleep somewhere. Put a hand on the trackpad" fits on one line; "Purring on request. It will keep going until you switch it off." wraps onto two. The content grew, the window did not, and the overflow was trimmed evenly from both ends. The line now always reserves two lines whether it needs them or not, so the popover is the same height in every state and has nothing to resize. It costs a blank line under the shorter messages.
She moved to the desk. PurrPad works on desktop Macs now.
- Magic Trackpad 2 works. Which means a Mac mini, Studio, iMac or Mac Pro can purr, and those could not run PurrPad at all before.
- Attached to a MacBook, the external trackpad wins. If you put a trackpad on the desk, that is the surface your hand is on.
- Closing the lid no longer stops the purr when an external trackpad is connected. A clamshell Mac on a stand finally works.
- Plugging one in is noticed within a few seconds, with no relaunch.
Why this took until now: the honest answer is that it already worked and nobody had checked. The app took the first trackpad it could open and stopped looking, and on a laptop that is always the built-in one, so an attached Magic Trackpad was never reached. The site said external trackpads "behave differently enough that we would rather test it properly than guess". Someone finally tested it. Three devices enumerate on a MacBook with a Magic Trackpad and a Magic Mouse attached; the Magic Trackpad opens and actuates perfectly, and always would have. The Magic Mouse genuinely cannot: it has no haptic engine in it.
Affection decides how long she stays, not only whether she starts.
- A low Affection setting now means shorter visits, not just more refusals. Around ten seconds at Aloof, half a minute at Choosy, a minute or two at Usually willing. A Needy cat still has no time limit, because a cat that wants to be there does not get up.
- If she falls asleep on you first, she stays. She meant to leave and dozed off instead.
Why: the slider only ever decided whether she started. After that the purr ran until you moved your hand, so an Aloof cat who said yes sat there exactly as long as a Needy one. The bottom half of the slider was doing something real and nothing you could feel: you asked for less cat and got the same amount, just less often. Refusing more often is not the same as wanting you less.
She tells you when she brings something.
- A notification when a gift arrives, with a picture of whatever she found, so the thing is visible before you open anything. Clicking it opens the shelf. macOS asks permission the first time a gift actually turns up, not on the day you install.
- A Check now button beside the update switch, which ignores the six-hour wait and says whether you are up to date or whether it could not reach us.
- A new app icon.
Why the permission prompt waits: a gift arrives about once every three weeks. Asking for notification access on first launch, for something you have not seen exist yet, is a tax on people who may never reach it. Asked at the moment it is about to be useful, the question explains itself.
Being told an update exists, from inside the app.
- Updates now show in the window. A row in Settings with the waiting version and a download button, and a small dot on the sidebar's Settings row so it is visible from any panel.
- This changelog.
Why: the update notice lived in the menu bar popover and nowhere else, which was fine when the popover was the whole app. Since 0.4 the window is the app, so anyone working in the window never saw it. Worse: the window exists for people whose menu bar icon is hidden behind a notch or Bartender, and those were exactly the people who could not be reached.
Cats you can recolour.
- Six coats for every cat, chosen per cat, so the tomcat can be midnight while the kitten is snow. Part of the adoption; the original coat stays free.
- Every portrait is bigger. The art carried transparent padding, so a cat only ever filled 80% of her tile. That is cropped away.
- The window grows to fit the panel you opened, instead of leaving controls below the fold.
Why the colours change nothing else: the six cats differ in how they breathe, which is the actual product. A coat is paint. A black cat and a white one purr identically, and the app says so where you pick them.
It became a real app instead of a menu bar toy.
- A proper window with five panels: Purr, Cats, Record, Shelf, Settings. The popover shrank to a switch, two sliders and a door.
- Purr on demand. Switching the purr on by hand used to last two and a half seconds before the cat's own behaviour cancelled it. Now it stays on until you switch it off.
- Real portraits for all six cats, and art for the things she brings you.
- Recordings are deleted. The app promised on three separate screens that your cat's recording was thrown away, and nothing ever removed the file. It is now erased the moment the pitch is read, and any file left behind by an older version is cleared at launch.
- The strength scale was measured rather than guessed, with fifteen paired comparisons. The tap ids turn out not to sit on one scale at all.
The recording one matters most. It was a promise the app made and did not keep, for every version before this. If you used Record Your Cat before 0.4, updating deletes what was left behind.
A way in, for people who could not find the paw.
- Double-clicking PurrPad opens a window. Before this it did nothing at all.
- The update check runs at launch, not only when the popover is opened.
- Licence keys survive email. A key wrapped onto two lines by a mail client was being rejected as invalid.
Why: the first real support email. A menu bar app whose icon is hidden behind a notch or a crowded menu bar has no door, and the person who wrote in had paid for six cats he could not reach.
Quality of life.
- Launch at login, hover previews on the cat list, named cats, and the purr receding politely while you type.
The first public release.
- Six cats, Record Your Cat, the shelf, and the cat's own moods. Signed and notarised by Apple.