What's new

What changed, release by release.

The app's own release notes, newest first. The full list is also in the app, under Settings, About, What's New.

  1. Version 3.1.52 ·

    Safer sync, safer restores

    • Cloud sync: when two uploads overlapped, the second could be marked as sent without ever leaving your device. Uploads now wait their turn, and nothing is taken off the outgoing list until it has actually reached the cloud.
    • Cloud sync: pulling changes from the cloud through the sync service now works and saves what it downloads. Before, that route failed or threw the download away.
    • Backups: when a backup and this device disagree about a record, the version that is not used is now saved on this device instead of being thrown away. This covers a newer edit on this device, two copies with the same date, and a record you had deleted. The message after a Google Drive restore tells you how many versions were saved.
    • Backups: restoring a KennelKeeper archive now brings back owners and shows too, not just animals, litters, heats and finances.
    • Subscriptions: offline paid access now needs an unexpired subscription for the account you are signed in to. It renews automatically whenever you are online, so a paid account keeps working offline for up to 30 days after it last connected.
    • Pedigree: the inbreeding coefficient no longer crashes on a registered name made only of digits, as spreadsheet imports produce. A pedigree where a dog is accidentally recorded as its own ancestor no longer hangs or reports nearly 100%; the looped ancestor is treated as unknown.
    • Breeding simulator: no longer crashes when one of the two animals has no species recorded.
    • AI: if you have saved your own AI key, the AI assistant, Show Scout and Generate Bio now work on any plan, billed to your key, just as AI document scanning already did.
    • Plans: paying subscribers no longer see locked screens or prices for a moment while the app checks their plan. It uses the subscription already verified on this device straight away, and says "Checking your plan…" instead of showing prices when it has nothing to go on yet.
    • Plans: a brief connection problem while checking your plan no longer drops a paid account to the free plan when this device holds a valid subscription.
    • Professional mode now follows your actual plan, so admins and new subscribers get it straight away rather than after their subscription reaches this device.
    • Finance: opening the Finance page by its web address now asks free accounts to upgrade, the same as the Business tab does.
    • Themes: premium themes now switch back to the default when a paid plan ends, as they were always meant to. They are never switched back while your plan is still being checked.
    • Shows: on the free plan, tapping Scan with AI Show Scout from a show's page now explains the upgrade instead of doing nothing.
    • Subscriptions: customers still on an older Breeder or top-tier price now get the AI features they pay for. The app already recognised those prices, but the AI service did not.
    • Plan page: the list of what your plan includes now matches what the app actually switches on. Cloud sync shows as included on Breeder, and features that do not exist, or are free for everyone, are no longer listed.
    • Upgrade screen: an active subscription is now called by its plan name instead of an internal code such as "pro".
    • Subscriptions: upgrading or changing plans in a way that leaves an older subscription behind no longer risks the AI features switching off, and a lifetime licence is no longer lost when an old subscription record is removed.
    • Plans: the Breeder plan is no longer called "Pro" on locked screens, badges or AI messages, and those messages now mention that your own AI key switches on the AI features too.
    • AI features: when one turns you away, it now says why: sign in, verify your email, or the plan it needs. Before, the AI chat showed a connection error and the bio writer said "Service Error".
    • Scan & Import: a spreadsheet that cannot be read, or has no rows, now says so. It used to be sent to the photo scanner, which could tell you it needed a paid plan.
    • Plan page: the summary at the top now says what your plan actually includes, and what the next plan adds.
    • Plan page: the storage card now shows real information: whether your browser has agreed to keep your data, and when it was last backed up or synced. It used to show a fixed "100% SECURE".
    • Scan & Import: on a plan without the AI features, importing a scanned paper or PDF now tells you straight away that it needs the Breeder plan or your own AI key, instead of trying, failing and blaming the file. Spreadsheet and CSV imports work on every plan as before.
    • Desktop: opening the app without an internet connection no longer leaves it on "Checking your plan…" with every paid feature locked.
    • Plans: signing in again after signing out no longer shows prices for a moment, and no longer switches off a premium theme you had just got back from the cloud.
    • Cloud sync: an edit made while an upload was still running, such as adding a litter straight after saving an animal, was never sent to the cloud and could be lost when you signed out. Every edit is now sent, whenever you make it.
    • Kept-aside versions: when a sync or a restore replaces a change, you can now see the version it replaced and put it back. Find them in Settings → Data Vault & Recovery → Kept-Aside Versions. They stay on this device and are cleared when you sign out.
    • Lifetime licences from a perk key no longer lose the AI features when a subscription is started or ends on the same account.
    • Subscriptions: when you are signed out, the app now uses the free plan. A subscription saved on a device switches on paid features only while the account it belongs to is signed in, online or offline.
    • Send Feedback: replies to your report now go to the email address on your account.
  2. Version 3.1.33 ·

    A second way to read your home screen

    • Home: there are now two layouts, and you choose which one you get. Classic is exactly what you have today (the greeting, the four cards, the counters, the Rapid Entry Hub) and it stays the default, so nothing changes unless you decide it should. Focus answers a different question: instead of what exists in your kennel, it opens with what needs you. Overdue vaccinations, girls in season, litters due: named, in order of urgency, each one tappable straight through to the record.
    • Home (Focus): the counters are still there, shrunk to a four-tile block about the height of one of the old cards. A tile showing zero is dimmed but still tappable: no pending applications is still a reason to open the waitlist.
    • Home (Focus): the greeting takes about a sixth of the first screen instead of a third, and shows today's date, because "due in 3 days" means nothing without it.
    • Home: if you have never chosen a layout, you are told once that Focus exists: a line at the top of your dashboard with Try it and Not now. It never switches anything on its own, it does not appear during first-run setup, it does not appear on an empty kennel, and once you have answered it does not come back. You are asked on each device, because the phone is where the difference actually matters.
    • Settings → Aesthetic Configuration: pick your layout next to the icon weight. The two choices are shown as small pictures rather than words, since the difference is a visual one.
    • Home: tapping a number now takes you to the records it counted. Pending Apps opens the Waitlist rather than the Business section's front page; Vet Tasks opens Health, where vaccinations and procedures actually live, instead of Reproduction; Litters Due and Whelping both land on the Reproduction overview scrolled to Upcoming Litters, rather than in the archive of births that already happened.
    • Home: tapping a vet task opens that animal on its Medical tab, rather than on the overview with the records you were just looking at one more tap away.
    • Home: Heat Watch is now tappable like every other card, and opens Heat Tracking, which is also where you log the cycle it is telling you that you have not got.
    • Home: Add Animal in the Rapid Entry Hub opens the blank new-animal form. Log Health, Reproduction and Add Result now open the Health, Heat Tracking and Shows tabs. Previously all four landed on the same animal detail page, which made the hub useless at the kennel, the thing it exists for.
    • Registry (Focus): the Animals, Health and Reproduction tabs now open with a short list of what is waiting on you (a dog whose booster is overdue, a girl on day 11, a litter due Friday) above the roster rather than instead of it. Tapping a name opens that animal. The Health list spans every animal, so the number on your home screen and the list it takes you to finally agree.
    • Business (Focus): the waitlist opens with whoever has been waiting longest, in days. Anyone left more than a fortnight is marked in red, because that is a promise you have quietly broken.
    • Business (Focus): the Treasury tab opens with what came in and what went out over the last 30 days, as two figures and a bar. It shows income against expenses rather than money owed to you: an unpaid deposit is not something the app records yet, and a figure invented for the sake of the design would be worse than none.
    • Registry and Business in Focus say nothing at all when nothing is due, rather than showing an empty panel above the list you came to read.
    • Focus deliberately leaves out the Money and Recent Activity panels from the design concept for now: neither has a real source of figures on the home screen yet, and a panel showing invented numbers would be worse than one that is not there.
  3. Version 3.1.23 ·

    Real-world heat timing & a shared registry scope

    • Pedigree: family trees are now held together by real links between records rather than by matching names. Until now the app worked out each parent by comparing text every time you opened a chart, so a dog that earned a title, got renamed, or was written down with its registration number attached quietly fell out of the tree. Existing pedigrees are linked up automatically on first launch, and the names you typed are still kept and still used for any parent you have not added yet.
    • Pedigree: a parent renamed after the fact no longer breaks the tree: verified on a 43-dog database, where 34 parent links were made automatically and all of them survived a rename.
    • Pedigree: an animal profile and the pedigree chart could disagree about whether a parent was in your registry, because the profile compared names far more strictly. They now use the same rules.
    • Pedigree: when a sire or dam you had typed in was not yet a record of its own, the chart showed a blank "Unknown" box and discarded the name. It now shows the name you entered, marked as not yet in your registry, and one click adds that dog, filling in the registration number and whether it is a sire or dam for you. On a 43-dog database that turned 22 dead boxes into one-click additions.
    • Pedigree: the chart now tells you how much of the lineage you have: ancestors known per generation, and how many are named but not yet added.
    • Pedigree: the inbreeding coefficient (COI) is unaffected by the above. Names you have typed but not yet confirmed as records are deliberately left out of the calculation, so two unrelated dogs that happen to share a name can never be counted as a common ancestor.
    • Heat tracking: you can now tell the tracker when your girl actually ovulated. Each active heat has an ovulation date you can type in or nudge a day at a time, plus a cycle length you can change. Set it from your progesterone or LH result and the phase, the prime mating window, the fertile dates and the watch period all move with it. Leave it alone and you get the usual estimate, clearly marked as an estimate rather than a confirmed result.
    • Heat tracking: the mating window used to be fixed to the calendar: days 9 to 14, no matter what your dog was doing. If she ovulated on day 7 you were told she was still bleeding through her whole fertile window; if she waited until day 18 you were told the window was closing before it opened. The window now follows the ovulation date you set.
    • Heat tracking: a girl who ovulates late no longer disappears off the active watch list on day 21, right when her breeding days begin. The watch now runs as long as her fertile window does.
    • Heat tracking: you can amend the timing on a past cycle too, from the Timing button on any completed record. Test results usually arrive after the fact.
    • Reproduction: the dam list now respects the same All Animals / My Household / Imported choice as your Universal Ledger, and remembers it. If your pedigree imports brought in ancestor dams you have never owned, they no longer clutter your breeding screens. Change it in either place and both follow.
    • Reproduction: the Active Heat Watch bar on the overview was stuck at two-thirds full whichever day of the cycle you were on. It now shows the real position, the phase, and the fertile dates.
    • Reproduction: the Heat Tracking tab was completely blank when you had no cycles logged. It now says so.
    • Ages: a dog could be shown as having reached an age it had not. A puppy one day short of its first birthday read "12 mo", and a dog ten days short of four read "4 yrs", the same as one that had actually turned four. Ages no longer round up across a birthday, which matters when you are checking show class eligibility.
    • Accessibility: the start date field in the Log Heat Cycle dialog now has a proper label for screen readers.
  4. Version 3.1.12 ·

    Import accuracy, whelping dates & release hardening

    • Pregnancy calculator: every projected date was one day early for everyone in North America (and anywhere else west of Greenwich), including the due date, the count X-ray day and the labor watch day. Dates are now calculated as true calendar days and read the same in every timezone.
    • Imports: DNA reports lost the end of the document. Embark reports put the microchip, the registration number and a long run of health results on the final pages, and those pages were being cut off before the report was read. Full-length reports now import completely.
    • Imports: multi-page scanned documents and pedigree charts were only ever read on page one. k9-data.org pedigrees are two pages, so the older generations were quietly skipped. Every page is now read, and you are told if a document is too long to process in one go.
    • Stability: after an update, a tab left open could get stuck on an error screen that "Reboot System" could not clear. It now recognises the situation, explains it, and reloads into the new version. Your records are never affected.
    • Feedback: bug reports were being stamped with a placeholder version number, so it was impossible to tell which build a report came from. They now carry the real version.
    • Accessibility: the mating date field in the pregnancy calculator now has a proper label for screen readers.
    • Subscriptions: a successful checkout could still show a "Failed to start checkout" error while redirecting to payment. Fixed.
    • Security: updated bundled components to pick up published fixes, including the page-routing library used throughout the app.
  5. Version 3.1.6 ·

    Sync reliability, co-ownership & AI access

    • Navigation: "Scan & Import" is also available from the mobile quick-action button, so importing from a phone is two taps.
    • Navigation: "Scan & Import" is now in the main sidebar: importing no longer requires digging into System.
    • AI: removed a retired model from the fallback list and stopped retrying every model when the failure is an API key or quota problem, so AI errors surface immediately instead of after five attempts.
    • Accounts: the free tier is now consistently called Hobbyist everywhere. Some accounts were saved as "free", which subscription checks looking for "hobbyist" never matched.
    • AI: model selection falls back through known-good models and reports the real error instead of retrying the same failing one.
    • Data safety: fixed a bug where records could be dropped from the sync queue without ever reaching the cloud, so signing out could erase the only copy. Unsent changes now stay queued and retry.
    • Data safety: signing out now verifies your records exist in the cloud first, and warns before erasing this device if it cannot confirm a copy.
    • Cloud sync: Firestore now auto-detects long-polling, fixing intermittent "Cloud sync was interrupted" errors behind proxies, VPNs, and some extensions.
    • Notifications: repeated toasts no longer stack, transient ones clear faster, and self-healing sync notices auto-dismiss.
    • Imports: the offline OCR fallback for scanned PDFs is no longer blocked by the content-security policy.
    • Animals: a single animal can now have multiple owners (co-ownership), shown on the profile.
    • Dashboard: the Registry card counts your household, not imported pedigree ancestors.
    • Genetics: the COI panel on the pedigree card no longer has its top clipped.
    • Security: per-user Firebase Storage rules restrict uploaded documents to their owner.
    • Weight tracker: breed-specific empty-state art replaced with a species-neutral icon.
    • Help & Guide: added a "Send Feedback" entry and an App & Support section.

A few lines are left out here: notes about how the app is built and run, lines that name real animals, and changes to features this site does not describe yet.