Changelog

What's new in JARVOS — every release, every fix.

v0.1.8

Latest2026-10-21

The first download on jarvos.site since 0.1.5. 0.1.6 and 0.1.7 were never published there (the download link pointed at files that did not exist), so if you are coming from 0.1.5, the 0.1.6 and 0.1.7 notes below apply to you too.

How it was tested: this exact installer passed all 18 checks of the Windows Sandbox smoke test, installed over 0.1.5: install and upgrade, PIN setup, dashboard, local AI answering a web question, WhatsApp showing its QR code, and close and relaunch. Most of the changes below were tested in development or by automated tests, not one by one in an installed app.

Added

  • Calendar page (sidebar, Ctrl+4): your upcoming events by day, a New event form that adds the event to Google Calendar, and Sync now.
  • Add Gmail with "Sign in with Google" in Settings → Mail. No app password needed.
  • Choose what syncs from Google: pick the Drive folder your documents come from and which calendar syncs (Settings → Integrations).
  • WhatsApp Personal (Beta) in the installed app. You switch it on yourself, and it runs on Microsoft Edge.
  • WhatsApp daily summary times can be changed, and a new time takes effect at once.
  • Context window setting under Settings → AI & Models → Advanced. By default JARVOS picks it from your computer's memory; you can choose 8K, 16K or 32K instead.

Changed

  • WhatsApp Personal has no monthly message limit. It sends from your own number and costs nothing. To protect that number from a WhatsApp ban, JARVOS limits sending by default to 20 first messages a day to people who have never written to you, 8 messages a minute and 1,500 a day. You can change these limits in Settings → WhatsApp, and JARVOS shows a red warning while any of them is above its default. Reset to defaults puts them back.
  • Backups wait for your choice. JARVOS no longer makes nightly backups until you choose how: encrypted with a recovery code (your attachments are now encrypted as well), or unencrypted if you confirm that is what you want. Every six months it asks whether you still have your recovery code.
  • Your own requests to the AI go first. Mail sorting waits until the AI is free, so it no longer slows down your chats.
  • Flows are hidden until the next version.
  • One accent colour across the app, the JARVOS logo in the sidebar, plainer wording, and a minimum window size of 1100 × 700.

Fixed

  • JARVOS no longer downloads its AI models again at every start. It only fetches the models that are missing.
  • Settings → AI & Models shows the model that is actually running, with its real size (it could show "NaN GB").
  • Calendar and Contacts sync recover from an expired sync token instead of stopping for good, and Drive sync no longer sends Google a date it rejects.
  • An expired plan no longer stops chat.
  • The app no longer hangs waiting on a request that failed. You now get an answer or an error.
  • WhatsApp Personal: photos, videos and contact pictures show and download, chat-list previews label media, a linked WhatsApp reconnects when JARVOS starts, the scheduled summary is sent to your own chat, and Get summary now says whether a summary was sent and, if not, why. The assistant answers only you, and never answers its own replies. A WhatsApp start that fails is retried.
  • Connect Email Account opens Mail settings, and New Email opens the composer.
  • Add-on pages that are locked now say how to get the add-on.

Privacy and security

  • WhatsApp summaries and the decision assistant use only the AI on your computer. Other people's messages are never sent to a cloud AI.
  • The app's request log no longer records web addresses' query strings, and the WhatsApp assistant no longer writes message text to its log.

v0.1.7

2026-09-26

A tester release: dozens of fixes found by a full review of the app as it is actually installed.

How it was tested: the Windows Sandbox smoke test (install, PIN setup, dashboard, a local AI answer) and a test build installed on one computer (2026-09-28); most fixes below were checked in development or by automated tests. Google connect was not tried in an installed app.

Fixed

  • Adding an email account works again. Since June, adding any mail account failed with an error before JARVOS even tried to connect. It now connects, and the number of accounts your plan allows follows the plan you bought.
  • Mail sorting rules run. Rules you created never ran; messages that match a rule are now filed into its folder. New inboxes no longer get two made-up "[JARVOS]" welcome emails.
  • WhatsApp pictures, videos, voice notes and documents show up, and mail attachments, contact exports (CSV and vCard) and invoice PDFs download — in the installed app they all failed silently.
  • Editing a WhatsApp message and logging out of WhatsApp work. Log out used to show "disconnected" while the phone stayed linked.
  • Link previews in WhatsApp are safe. A web page's title is now shown as text; a page could previously run code inside JARVOS through its title.
  • Business plans get Business limits on this computer: 5,000 WhatsApp messages a month and WhatsApp together with Telegram. They were getting the Personal limits.
  • Your plan applies as soon as you sign in. If you set your PIN first and signed in after, adding documents stayed blocked until you restarted JARVOS.
  • Accounting invoices can be created, downloaded as PDF and emailed. Creating an invoice failed quietly and PDFs could not be produced. Invoices show your business name from Settings → Profile.
  • Google Contacts sync runs on its schedule again.
  • Resetting JARVOS erases everything. "Erase all data" left your mail, contacts and chats in the background service; they are now wiped with the rest. Opt-in crash reports are also delivered now.
  • Error messages say what went wrong instead of "[object Object]".
  • Facebook photo posts upload the photo.
  • Google connect can finish in the installed app, and connected Google accounts are stored securely. (Connecting still needs Google sign-in to be set up for the release.)
  • Business WhatsApp receives messages again when they come straight from Meta, and only messages Meta actually signed are accepted — set your App Secret in Settings → WhatsApp.
  • Moving a deal on the CRM board only accepts the board's stages, so a deal can no longer disappear from the board.
  • Contacts can be sorted by name or by who you contacted most recently.

Changed

  • Version and "Check for updates" are in the account menu at the bottom of the sidebar.
  • Business WhatsApp (Meta's official API) is a Business-plan feature, as advertised; Personal plans see a note instead of the setup.
  • The unfinished "Gmail — coming soon" card was removed from Integrations (Gmail works as a regular mail account).

Security

  • Closed a hole on jarvos.site that let an account change its own plan and access dates, and removed several account-reachable server pages that showed made-up figures.
  • Team changes take effect immediately: a removed or demoted member no longer keeps their old access for up to a day.

v0.1.6

2026-09-24

How it was tested: signing in from the app through the browser, signing out, and the plan applying without a restart were checked in an installed 0.1.7 test build on one computer (2026-09-28). Moving JARVOS between two computers, the notice on the computer you left, and Use JARVOS here have not yet been tried on two real computers; they are covered by automated tests only.

Added

  • JARVOS moves with you. Your plan now belongs to the computer you last signed in on. Sign in on another computer and JARVOS moves there; the one you left signs itself out within half an hour, keeps all its data readable, and offers Use JARVOS here to move it back. You are told on both computers and by email, so a sign-in you did not make is never quiet. On a Business plan each person's own computers move the same way, and JARVOS asks first before signing out a colleague. Plans can move between computers three times a month.
  • See and manage your computers at jarvos.site under Account → Devices: which ones are in use, when each was last used, and a way to rename one or sign it out. Useful when a laptop is lost or broken and cannot sign itself out. Settings → Plan now shows this computer and how many of your plan's computers are in use.
  • See who you are signed in as. The bottom of the sidebar now shows the account this computer is signed in with and where your plan stands: trial days left, active, payment due, read-only, or working offline until a given date. Click it for your organization and role, a link to manage your account, Switch account and Sign out. Signing out or switching keeps your mail, documents, contacts and chats on this computer, and JARVOS tells you so first.

Fixed

  • Signing in from the app works again. After you signed in on jarvos.site, the app could stay signed out even though the browser said you were in. The browser page now waits for the app and tells you plainly whether sign-in finished.
  • Settings → Plan shows your real plan. It could show "? days left in trial" for everyone, paid or not, and a plan given access until a set date showed as a long trial. It now shows your plan, its status and, for owners, billing details straight after signing in.
  • Your plan works straight after signing in. The app waited up to six hours before it first checked your plan, so paid features could stay locked for the rest of the day. It now checks at startup.
  • Sources stay with an answer. Reopening an earlier conversation showed answers without the Sources line underneath them; the sources are now saved with the answer.
  • The name you give a computer sticks. Renaming a computer no longer gets overwritten the next time that computer signs in.

v0.1.5

2026-09-22

Fixed

  • Confirmation prompts now actually protect you. Deleting a model, removing a mail account, removing a team member, disconnecting Google Drive and similar actions asked "Are you sure?" but went ahead whatever you answered — the prompt could not be shown inside the app, and a failed prompt was treated as a yes. The prompt now appears, and if it cannot, nothing is deleted.
  • You stay signed in. The app's sign-in expired after a day with nothing to renew it, so from the second day it could no longer refresh your plan, and after about a week saving could stop even on a paid plan. It now renews itself. Sign in once after updating to start the renewal.
  • Web answers no longer lose all their results to one slow website. Pages were fetched one after another inside a fixed time limit, so a single slow site could throw away results that had already been found. They are now fetched together, and a page that is too slow is simply skipped.
  • Answers keep their sources when you come back to them. An answer that finished while you were on another screen now keeps its Sources row.
  • Questions that weren't about the weather or prices got weather or prices. "How does photosynthesis work?" returned the weather, "who is the president of the United States?" returned a cryptocurrency price, and "thanks, that was helpful" ran a web search — short words hidden inside longer ones were being mistaken for requests. These, and every similar mistake found so far, are now checked by a permanent test.
  • A new search question no longer answers the previous one. Asking about the weather right after asking about a president could produce an answer about the president. A self-contained question is now answered without the earlier conversation getting in the way; follow-ups ("who did he succeed?") still use it.
  • Explanations no longer stop mid-sentence. Longer answers were cut off at a fixed length; answers are now asked to be concise and are given room to finish.
  • Weather works again. The weather service JARVOS used went offline, so weather questions returned a list of weather websites. JARVOS now uses a different service, and shows the forecast directly instead of having the AI rephrase it.
  • Times and dates are in your time zone, not UTC — in some time zones the date was a day behind for part of every day.
  • Adding a folder when your plan cannot index documents now says so instead of reporting "0 documents" or failing silently.

Improved

  • Web answers show where they came from. A compact Sources row under a searched answer names each site; click one to open it in your own browser.
  • Faster on computers without a graphics card. Paid plans on such machines now use the smaller AI model by default (about five times faster there); you can still choose the larger one in Settings. Web results are trimmed to the sentences relevant to your question before the AI reads them, which cuts the wait for a searched answer.
  • Follow-up questions are faster and more reliable. Understanding "who did he succeed?" no longer waits behind background housekeeping — your message now takes priority — and the step that turns it into a full question is prepared at startup.
  • The app no longer loads a second large AI model behind the one you chose in Settings.
  • The chat box's rotating example questions no longer look like text you have already typed.

v0.1.4

2026-09-14

Fixed

  • The installed app could not start. It stopped on "Setting up JARVOS" indefinitely, even though its backend was running and healthy the whole time. Every request the app made to its own backend was rejected before it was sent, because the address the packaged app is served from was missing from the backend's list of permitted callers. Only installed builds were affected; running from source was never able to show the problem.
  • Local AI never started. The app looked for its AI engine in a folder that does not exist in an installed build, so the engine failed to launch every time and retried in a loop forever. Chat and any feature needing local inference had nothing to run on.
  • Updates could silently keep the previous version's backend. If a backend process from an earlier run was still alive during an upgrade, the new backend files could not replace the old ones, and the app carried on running the previous release's code while reporting that it had updated. An installed 0.1.3 was found running backend code from ten days earlier. The old process is now stopped before unpacking, and a failed replacement reports an error instead of continuing silently.
  • Settings and other screens could not reach the app's internal services. The app's own internal communication channel was not on its permitted-connections list, so it fell back to a slower path and could not read the local access token at all.
  • Closing the app froze it, and it could not be reopened. Closing left the window "Not Responding" with a process that could not be ended even from Task Manager, and that process kept holding the lock that allows only one copy of JARVOS to run — so every later launch came up without a working backend until the computer was restarted. The app now exits immediately.
  • Chat stopped answering after a search question. A web-search question could stall silently inside a step that searches your local files, and because that step held a lock the whole chat depends on, every later message timed out too. The cause was an outdated ONNX Runtime library bundled with the app: the embedding library JARVOS uses needs a newer version, and given the old one it waited forever instead of reporting an error. The correct library now ships, that step has a time limit, and the chat no longer holds the lock while it searches, so one slow step can no longer freeze the conversation.
  • Local search memory never worked in the installed app. The bundled AI model manager was shipped without the libraries it needs to load a model, so it could list models but never run one. Features built on it — recognising follow-up questions, reusing earlier answers, and remembering past sessions — quietly did nothing. It now ships complete.
  • Web-search answers could be out of date even when the search found the right answer. Asked who Singapore's president is, chat named the previous president. Search results were squeezed into a small fixed share of the model's context — even when most of that context was unused — so the result with the correct name was cut before the model saw it, and the model fell back on what it remembered. Search results now use the space other context leaves free, and the model is told that fresh results take precedence over its own knowledge for anything that changes over time. Answers to web-search questions are also no longer reused from a cache: asking the same thing again searches again, so an answer can't outlive the facts it was built from. Search questions also respond a little faster, because the app no longer prepares the unused cache data.
  • Chat skipped web search for questions asked partway through a conversation. A second question such as "who is the president of Singapore?" was answered from the model's old knowledge because the app asked the small local model to re-decide whether the question needed a search, and it got that wrong. Any message containing a word like "update", "run" or "summarize" also skipped search. Chat now decides with fixed rules: complete questions are searched exactly as typed, and only follow-ups that refer back ("is she still in office?", "what about Malaysia?") are first rewritten into a full question. Most questions now start searching sooner, because there is no extra model call before the search.
  • Chat now says when it could not search. If a web search fails or finds nothing, the answer says the information could not be checked and may be out of date, instead of stating remembered facts as current.
  • Chat's memory of how to handle common questions now fills in once the AI engine is up. Previously it tried once at startup, before the engine was running, and stayed empty.

v0.1.3

2026-09-14

Fixed

  • Live mail and WhatsApp updates work again in the installed app. Both server-sent-event streams were being rejected by the desktop backend's loopback gate, because EventSource cannot send the request header that gate requires. The effect was silent and shipped-build-only — it worked in development — so installed users got no new-mail notifications, no incoming WhatsApp messages, and a WhatsApp QR code that could fail to appear during pairing.
  • Subscription access changes now take effect immediately. The access gate decided on a claim baked into the session token at login and frozen for 24 hours, so a change to an organisation's access window was ignored until the token rotated — and an account granted access while holding an expired claim was still refused outright. Access is now read from the account record on every request.
  • Cowork connector consent gate is now enforced rather than advisory. The connector held the app's own internal credential and could bypass the default-OFF toggle by omitting a header it chose to send. It now authenticates with its own token only, which is what marks a request as connector traffic, so the toggle cannot be sidestepped.

Security

  • The connector no longer writes the app's per-boot internal secret to disk. It was being written on every launch for every user — even with the connector turned off, which is the default — and was not permission-restricted on Windows. Any file left by an earlier version is deleted at startup.
  • Encrypted registry-backup passphrases now require 16 characters, up from 8.

Notes for connector users

JARVOS_CONNECTOR_SECRET_FILE is gone from the MCP server's configuration; JARVOS_CONNECTOR_TOKEN is now the only credential it needs. Copy the current token from Settings → Security → Cowork Connector after upgrading.

v0.1.0

2026-06-11

Initial public release

Personal tier ($10/mo)
  • Unified inbox — Gmail, Outlook, and any IMAP/SMTP provider with automatic server discovery
  • WhatsApp integration via whatsapp-web.js (personal number, local bridge)
  • Local AI assistant powered by llama-server with qwen2.5 models; zero cloud dependency
  • Vault — index local folders for hybrid BM25 + vector search (RAG)
  • Google Drive connector and Google Contacts sync
  • Backup & restore — local and Google Drive targets with SHA-256 integrity verification
  • 14-day free trial, no credit card required
Business tier ($50/mo base)
  • All Personal tier features
  • Meta Cloud API WhatsApp with HMAC-SHA256 webhook verification and relay infrastructure
  • Full CRM with contact timeline, deal pipeline (Kanban), and auto-logged activity
  • Team management — invite up to 2 additional users (ADMIN or MEMBER roles), 72-hour invite tokens
  • 3-workstation sync infrastructure (cr-sqlite CRDT engine, mDNS peer discovery, TCP framed transport)
  • Team Vault with workstation origin tracking
  • Add-ons: Accounting, Social Media, Corporate Secretary, Google Workspace, NAS Storage ($20/mo each)
AI pipeline
  • Three-stage intent classifier: sync regex → kNN memory (cosine ≥ 0.85) → LLM fallback (3 s timeout)
  • Semantic cache (cosine ≥ 0.95) for Chat and Search intents; follow-up queries bypass cache
  • Definitive-search bypass: live-data queries (price, crypto, weather, etc.) always route to web search
  • Cache-Augmented Generation: facts extracted after every session, injected as static prefix
  • KV prefix caching via llama-server cache_prompt
Infrastructure
  • Tauri 2 desktop shell (Windows, Linux, macOS)
  • SQLite via libsql with Drizzle ORM migrations
  • Express 5 backend API (port 4003)
  • Next.js 16 user console with Turbopack (port 3004)
  • CI/CD: GitHub Actions builds for Linux (AppImage + deb), Windows (exe), macOS (dmg)
  • Landing page account portal: login, billing, referrals, invite acceptance

Known limitations

  • Windows and macOS builds are unsigned — SmartScreen / Gatekeeper warning on first launch (right-click → Open on macOS)
  • cr-sqlite CRDT sync requires same LAN; WAN relay support is post-v1
  • WhatsApp Business OTP onboarding requires a pre-obtained Meta system user token
  • NAS Storage add-on is billable; local drive index/search is complete, but S3/R2/Backblaze cloud sync has no in-app UI yet (backend only)
  • Cloud backup target (BackupTarget::Cloud) is a post-v1 stub