Every version, in one place. Here's what's changed in fixin across
releases — new features, improvements, and fixes. Newest releases appear first.
iOS and Android are built from the same engine but ship on their own schedules, so
each platform keeps its own timeline and its own version numbers.
fixin for iPhone and iPad. Update from the
App Store.
v1.4.2August 2026 · Sapphire 4.3 engineCurrent
Sapphire 4.3, and a diagnosis that admits what
it doesn't know.
NewImprovedFixed
A more accurate engine — Sapphire 4.3. The
image model has been retrained end to end. On our held-out test set it identifies the broad category —
car, home, or boat — correctly 89% of the time, up from 83%, and gets the category and the
specific area right 48% of the time, up from 36%. That's roughly a third more correct diagnoses than the
engine that shipped with 1.4.0. Sapphire 4.0 stays selectable in the engine picker.
Close alternatives on a result. When the model can't cleanly separate two or three
categories, the result page now lists them in order with their confidence instead of showing only the
winner. The right answer is in the top three far more often than it is first — 65% versus 48% — so this
is often the difference between a useful result and a wrong one. A confident result is unchanged.
"Was this right?" on every diagnosis. One tap: That's right, Not
right, or Not sure yet. Choosing "Not right" offers the model's other candidates, so the
correct answer is usually one tap away. Everything stays on your device — and it's the only way the app
can learn which diagnoses actually land.
What you type about the problem now changes the diagnosis. The description you type
or dictate was previously saved with the result but never used. It's now read by the on-device symptom
model and combined with what the photo shows — which helps most where a photo alone can't decide, since
an alternator and the belt driving it look identical in a picture but rarely sound the same. Vague
wording is ignored rather than allowed to drag the answer around. Cars only for now; boat and
home descriptions are saved as before.
Diagnosis models update themselves. The app can now pick up improved models from our
servers without waiting for an App Store release, so a retrain reaches you in hours instead of on the
next submission cycle. Settings gains a Check for Model Updates button, and the app
also checks quietly on its own at most once every six hours.
Downloads are Wi-Fi only unless you say otherwise — a full model set is around
50 MB, and the cellular toggle is off by default.
A part-finished download still helps: the models needed for a diagnosis arrive first and are used
as soon as they land, so losing signal leaves you with working general diagnosis rather than
nothing.
Nothing is replaced until a download has completed and every file has been verified, so an
interrupted update leaves the app exactly as it was.
New engine generations without an app update. A new named engine can now be
introduced from the server and appear in the picker instead of requiring a new build. Plan entitlements
still apply.
Confidence now describes the whole diagnosis, not just the last step. The percentage
used to average the steps, which ignored the chance of a wrong turn earlier in the chain — a diagnosis
whose parts scored 90%, 45%, and 40% was shown as 58% when the odds of the whole answer being
right were 16%. Expect the numbers to read lower than before. They aren't worse; they
were previously overstated. The green/amber/red bands moved with them, so green now means "more likely
right than wrong".
A specific answer is held back when the category isn't certain. The most specific
level is chosen based on the category above it, so an uncertain category used to produce a
confident-looking specific answer from the wrong branch. The result now stops at the category and says
why, with a prompt to retake the photo.
Photos are cropped square rather than letterboxed. Worth about 1.7 percentage points
of accuracy across 2,500 test photos — the model never saw black bars while training, and letterboxing
shrinks the subject. This matches what Android already did.
Fixed: serious problems were rated "Low". Severity was decided by matching a handful
of words that no longer matched the categories the models emit, so of the 41 car categories only
"transmission" ever reached High — brake, engine, electrical, fuel-system, and steering problems were
all reported as Low. Severity is now keyed to the real category list across all three domains, and a
specific fault can raise the rating but never lower it.
Fixed: the confidence sliders in Model Status did nothing. All four were saved and
reloaded but never consulted, so moving them had no effect on any diagnosis.
Fixed: Sapphire 4.0 vanished from the engine picker when a newer generation was
added — the new entry replaced it rather than sitting alongside it, silently moving anyone who had
picked 4.0 onto a different engine. Each generation is now its own entry with its own model files.
Downloads are verified before they're used. Every file carries a SHA-256 in the
catalog and is discarded if the contents don't match, server-supplied filenames are validated against
an allow-list before anything is written to disk, and downloaded models are excluded from iCloud
backups so they don't eat your storage allowance.
v1.4.0July 2026Released
The Sapphire 4.0 engine arrives.
NewImprovedFixed
Named ML engines you can switch between. The on-device models now ship as named
generations — Sapphire 4.0, a full retrain of the classifier
cascade, alongside Ruby 3.9, the engine that shipped with 1.3.9. The
newest installed generation is selected for you automatically.
Sapphire 4.0 gains its Vision Transformer trunk. Sapphire now runs the full
two-pipeline setup rather than the cascade alone, sharpening domain and primary-fault predictions across
cars, boats, and homes.
See which engine is running. The Home screen header and the Diagnosis screen both show
the active engine — "ML Engine: Sapphire 4.0" — in place of the old "Still in Development" note.
Diagnose without a photo. Can't get a usable shot? Pick Car, Boat, or Home and
describe the problem in your own words, typed or dictated. You get a ranked list of possible causes with
confidence bars instead of a single guess, and you can keep adding symptoms — each one re-ranks the list.
Tap the one you agree with and it opens the same results page a photo diagnosis produces, carrying your
symptoms into the repair instructions, worksheet, and Ask ML. All of it runs on-device.
Repair guides written for your exact problem. The instruction library grew from 106
guides — one per problem category — to 2,262, most of them written for one specific
fault. A boat autopilot that won't hold course used to get the same general guide as one with a leaking
hydraulic ram; now each has its own steps, tools, safety notes, and time estimate. Where a specific guide
hasn't been written yet the category guide still appears, so nothing got less detailed.
Restore your diagnoses from cloud backups. History can now pull backed-up diagnoses
back down, so a new phone, a reinstall, or cleared local data no longer means starting from an empty
History. Restoring never overwrites what's already on your device — it adds what's missing and fills in
the blanks.
Backups now carry the whole diagnosis. Each backup includes the diagnosis, confidence,
domain, severity, repair instructions, and your problem description alongside the photo, so a restored
diagnosis comes back complete. Older backups still restore with their photo and date — re-running Back Up
fills in the rest.
Two-factor sign-in on iOS. Accounts with two-factor authentication can now sign in on
the app. After your password is accepted, fixin asks for the current code from your authenticator app; a
six-digit code submits itself as soon as you finish typing, and iOS can fill it in for you.
Your diagnosis allowance follows your account. Plan limits are now tracked on a
rolling 30-day window server-side, so they travel across devices and reinstalls instead of resetting when
you switch phones. The Diagnosis screen shows what's left and when the window resets. Diagnoses run
offline are counted once you're back online, and only a diagnosis that actually completes counts — a
failed analysis is free.
Wider boat fault coverage. Five new problem categories: sterndrive/outdrive, trailer,
propane/LPG galley, refrigeration, and trim tabs.
"AI" is now "ML" across the app. The assistant labels now read ML Assistant and ML
Diagnostic Assistant, matching how the feature is described everywhere else.
Cleaner results hubs. On the Car, Boat, and Home results screens every feature-button
icon now uses one per-domain theme color instead of a multicolored grid.
Fixed: offline diagnoses that claimed to be backed up. A diagnosis saved while offline
was flagged as synced as soon as the network returned, but nothing was actually sent — History showed it
as backed up and it was skipped by "Back Up Unsynced". It now uploads for real, and stays queued if the
upload fails.
v1.3.9iOS · Ruby 3.9 engineReleased
Organize your diagnoses by Project.
NewImproved
Projects. Tap the plus icon in the corner to create and edit projects, grouping related diagnoses together.
Phone-to-web sync. Projects you create on your phone show up in your account on the web, too — one continuous experience.
Task completion. Mark individual tasks as complete within each project to track your repair progress.
A sharper classification engine. The backend classification engine was updated to improve accuracy across every domain — this is the Ruby 3.9 engine that 1.4.0 lets you switch back to.
Simpler results. The layout and presentation of previous diagnosis results were simplified.
v1.3.8July 2026Released
Describe the problem out loud.
NewImproved
Voice problem description. Alongside the photo you can now dictate — or type — what's wrong: "it clicks but won't turn over." Transcription happens entirely on-device, with a live transcript while you speak. The description is saved with the diagnosis, fed into the repair instructions, carried into Ask ML, and preserved when you analyze again.
Smarter diagnosis models. The Vision Transformer was retrained and the classifier manifest advanced from v7 to v12, adding new fault classes and refreshed per-domain outputs — more problems recognized, labeled more accurately.
Shipping builds locked to our own servers. Production builds can only talk to trusted fixin hosts, the development and custom server pickers are hidden outside debug builds, and any custom value planted through a backup restore is snapped back on launch. Credentials are attached only to requests bound for a trusted host. Together this prevents anyone from being talked into repointing the app at someone else's server.
Launch splash shows the company lockup. After the fixin wordmark settles, an "AM Solutions" line fades in beneath it and holds for a beat — matching the intro videos. The App Clip now shows the same splash as the full app.
Local-model color cue. When the on-device model is running, the Home screen container outlines switch from blue to the orange that mirrors "Local Model Ready", so the active mode is obvious at a glance.
Home screen restyle. Stat chips are more compact with the icon and value on one line, container outlines are bolder, and the "Synced to cloud" tag now reads in blue.
v1.3.6~June 2026Released
Fourteen new models, 114 new outputs.
NewFixed
14 new diagnosis models adding 114 additional class outputs, with the Vision Transformer retrained against the new classes.
Serialized instruction template library so repair templates can be updated with far less friction going forward.
Fixed: overlapping classification results. Classifiers now pull their outputs from the correct manifest, clearing up duplicate and conflicting labels.
v1.3.4~June 11, 2026Released
Sign in even when the database is down.
NewFixed
Backup login authentication. If the primary database is unreachable, CloudKit acts as a fallback so you can still sign in.
A smarter Vision Transformer, plus reserve models to accommodate a wider range of outputs.
Fixed: repair instruction generation now correctly uses the template library.
v1.0.4 – v1.3.32025 – early 2026Earlier
Rebranded to fixin.
Everything before v1.3.4 belongs to the app's earlier life under other names — the core engine rebuilds, the first repair-guide library, and the road to the fixin brand.
Dates for releases before v1.3.6 are approximate, reconstructed from App Store version history.
fixin for Android, currently one version ahead of iOS. The two apps are near
identical; Android carries an extra version because a round of fixes landed there that iOS didn't need. Get it
on
Google Play.
v1.4.3Build 149 · August 2026Current
Every fault name checked, end to end.
FixedNewImproved
Fixed: car diagnoses in five categories named the wrong fault. Five label lists
disagreed with what their model actually outputs, so results were read off by one or more positions.
Electrical issues and Engine issues were the worst of it — a missing entry at the top of each list
shifted every label after it, so every result in those two categories named the wrong fault.
Sensors/ECU had 15 faults that could never be reached, Dashboard warning lights misnamed two of four
results, and one exhaust fault silently returned nothing. Every list was rebuilt by probing each model's
output directly, and a full audit now checks all 118 routes against their model:
zero mismatches.
Fixed: home diagnoses stopped at the category instead of naming the fault. Twelve home
areas — electrical, plumbing, HVAC, roof, structural, foundation, insulation, lighting, pest, water,
general, and misc — shipped a specific-fault model with no labels wired up, so the analysis dead-ended
one step early and reported only the broad area. That takes the cascade from 102 to 114 specific-fault
stages.
Fixed: model updates could never run. "Check for Model Updates" always failed. The app
was asking for the catalog at the wrong address and getting our marketing site back with a success code,
so it never looked like a missing page. Verified end to end on a Galaxy S25: the update is now offered
and installs.
Fixed: error messages were hidden behind the tab bar. The floating tab bar is drawn
over each screen, so anything that appeared at the bottom was covered by it — which is how the
model-update failure above went undiagnosed for as long as it did. Messages now float clear of the bar,
in all 11 places the app shows one.
Diagnosis models update themselves. The app can now pick up improved models from our
servers without waiting for a Play Store release. Settings gains a Model Management
section with a Check for Model Updates button and download sizes, and the app checks
quietly on its own at most once every six hours.
Downloads are Wi-Fi only unless you say otherwise. Android has no system-level
setting for this, so the app checks the connection itself before each batch — walking out of Wi-Fi
range stops the download rather than quietly finishing on your data plan.
A part-finished download still helps: the models needed for a diagnosis arrive first and are used
as soon as they land.
Nothing is replaced until a download has completed and every file has been verified.
New engine generations without an app update. A new named engine can be introduced
from the server and appear in the picker instead of requiring a new build. Plan entitlements still
apply.
The confidence saved with a diagnosis now covers the whole path. It previously
recorded only the most specific step's own score, ignoring the chance of a wrong turn above it — a
90%/45%/40% diagnosis was stored as 40% when the odds of the whole answer being right were 16%. History
entries are compared against each other and against the server, so they need to mean one thing. The
per-step percentages on the result page are unchanged.
Model Status reports where its models came from — "Bundled with app" or "N downloaded
· rest bundled" — and re-scans whenever a pack is installed or removed.
Downloads are verified before they're used. Every file carries a SHA-256 and is
discarded if the contents don't match, server-supplied filenames are validated against an allow-list
before anything is written to disk, and downloaded models are excluded from backup and device transfer
so they don't eat your Google Drive quota.
v1.4.1Build 147 · July 29, 2026Released
Safety-critical faults are rated properly again.
Fixed
Fixed: serious problems were rated "Low" — and Basic accounts were denied the repair guide
because of it. Severity came from matching four words against the problem category, so
26 categories across all three domains came back "Low" no matter how serious they were
— fuel system, steering, exhaust, and safety restraints on cars; bilge, hull, water ingress, thru-hull,
fire safety, and propane/LPG galley on boats; fire & life safety, chimney, structural, and
foundation at home. That wasn't only a wrong label: Basic-tier repair guidance unlocks on a High rating,
so every one of those categories quietly withheld the repair guide too. Severity is now keyed to the
model's actual label vocabulary.
v1.4.0Build 146 · July 28, 2026Released
Android draws level with iOS.
NewImprovedFixed
Named ML engines, switchable from the Dashboard. The on-device models now ship as
named generations — Sapphire 4.0 and
Ruby 3.9 — with the active engine shown on the Dashboard and the
Diagnose screen. On plans entitled to more than one, the "ML Engine" caption is a tappable pill that
swaps engines in place, and Settings gains an ML Engine section listing every engine your plan can
run.
Repair guides written for your exact problem. The instruction library grew from one
guide per broad category to 2,262, most of them written for one specific fault. A boat
autopilot that won't hold course no longer gets the same guide as one with a leaking hydraulic ram.
Where a specific guide hasn't been written yet, the category guide still appears.
Wider boat fault coverage — sterndrive/outdrive, trailer, propane/LPG galley,
refrigeration, and trim tabs.
Two-factor sign-in. Accounts with two-factor authentication can now sign in on
Android. After your password is accepted, the app asks for the current code from your authenticator app;
a six-digit code submits itself as soon as you finish typing, and Android can fill it in for you.
Restore your diagnoses from cloud backups. History can now pull backed-up diagnoses
back down — previously the app only ever uploaded them, so a new phone or a reinstall meant an empty
History even though everything was safe on the server. Restoring adds what's missing and fills in blanks
rather than overwriting.
Backups now carry the whole diagnosis — diagnosis, confidence, domain, severity,
repair instructions, and your problem description alongside the photo.
Your diagnosis allowance follows your account. Plan limits are tracked on a rolling
30-day window server-side, so they travel across devices and reinstalls. The Diagnose screen shows
what's left, offline runs are counted once you're back online, and a failed analysis is free.
Add to Project from a result or its worksheet, with a picker that creates a new
project or moves the diagnosis between existing ones.
"AI" is now "ML" across the app, and the Car, Boat, and Home results screens each use
a single per-domain theme colour — red, cyan, green — instead of a multicoloured set.
Fixed: the app froze when a diagnosis created a new repair worksheet. Opening a
worksheet for a diagnosis that didn't have one yet could lock the app up completely.
Fixed: "Back up" marked a diagnosis as backed up without uploading it. The detail
sheet flipped the "Synced to cloud" flag without sending anything to the server. It now uploads for real
and reports failure instead of claiming success.
v1.3.8July 19, 2026Released
The first public Android build.
New
Distributed from the AM Solutions site as a signed APK: on-device photo diagnosis, diagnosis history,
repair projects, repair worksheets, and the ML chat assistant.