The Changelog.
Every release of Portico, what changed in it, and why. Versions with nothing user-visible are folded into the release that followed. If you want to see what's coming next, check our GitHub repository.
Portico is early software and moves quickly. Fixes here are real bugs found in use — they are listed plainly rather than hidden.
Version 0.23.0
Current releaseYou can watch a reasoning model think, and the thinking now stays where it belongs.
- Added: Models that reason before answering show their work as it arrives — the reasoning in dimmed italic, a token count climbing, and the time running. It folds to one line when they finish: Thought for 202 tokens · 14s. On a local model, that wait was the part with nothing to look at.
- Changed: Copying a reply copies the reply. The hidden reasoning used to come along with it, tags and all, into whatever you pasted into.
- Changed: Last turn’s reasoning is no longer sent back to the engine on every message — it was spending your context window, and your bandwidth if the engine belongs to someone else.
- Changed: Pictures you generate are named after the moment they were made, not after your prompt. The prompt was sitting in a plain file name, outside everything the keyring protects.
- Changed: Settings now names what is not encrypted, rather than only what is.
- Fixed: A blank line inside a model’s reasoning broke the block in half and left the rest of it loose in the reply.
Version 0.22.0
FeaturePortico stops assuming it is running on the machine it was written on, starts encrypting what it keeps, and says plainly what leaves your computer.
- Added: Everything on disk is encrypted — conversations, projects, assistants and API keys — using your operating system’s own keyring. Nothing to remember, and nothing to lose.
- Added: Settings lists every request the app can make and what triggers it. Chatting with a local model makes none.
- Added: The update check can be switched off. It was the only request Portico made on its own.
- Added: Defaults follow your machine — context size, GPU layers, threads and image quality come from the memory and graphics card you actually have, and the catalogue says which models fit.
- Added: A thinking toggle for models that reason out loud, and what that reasoning costs in tokens.
- Changed: Electron 43, closing 33 security advisories. The installer grows to 143 MB — that is the newer Chromium.
- Changed: Sharing your engine now says what you take on: the model runs on your computer, so your colleagues are trusting you with what they type.
- Fixed: Web search could be pointed at addresses on your own machine or network. Those are now refused.
- Fixed: Opening an artifact accepted any file path. It now opens HTML from the artifacts folder only.
- Fixed: The download checksum on this site is computed from the installer at build time — it had drifted.
Version 0.21.0
FeatureControl over what the model costs you, the option to run it somewhere else, and several things that were quietly broken.
- Added: A strip under the message box showing which model is running, how hard it is working, and how full the conversation memory is. Click it to see where that memory is going.
- Added: Effort — Quick, Balanced or Deep. Quick keeps answers short and fast; Deep asks the model to reason step by step first.
- Added: Settings can now time each graphics card in your machine and keep the fastest, instead of guessing.
- Added: Run the model at a hosted provider instead of on your own hardware, if you would rather not buy a graphics card. Portico says plainly on screen whenever your words are leaving the computer.
- Added: Mixture-of-experts models in the catalogue — they answer far faster than their size suggests.
- Improved: Charts made from Python now come out looking designed rather than like a 2003 default.
- Improved: Asking for a web page gives a better-looking result, because the model is now told what good looks like.
- Fixed: An open artifact could not be closed — Windows was drawing its own buttons over the panel's.
- Fixed: Chat settings opened completely blank.
- Fixed: The graphics test could pick a card that ran quickly but produced nonsense.
- Fixed: Charts crashed when the model used an old style name that newer matplotlib removed.
- Fixed: Sharing with several people divided the conversation memory between them instead of giving each the full amount.
Version 0.20.0
FeatureThe release that takes Portico off a single Windows machine: it now runs on macOS and Linux, and one computer can run the model for everyone else on your network.
- Added: Shared engine. One computer with a good graphics card can run the model for everyone else on the same network — the same app acts as either the host or the client. Your chats, files and projects stay on your own machine; only the model runs on the host.
- Added: macOS and Linux builds, alongside Windows.
- Added: An access key for sharing, a setting for how many people can chat at once, and a connection test that names the model the host is running.
- Improved: Redesigned chat interface — a lighter, calmer canvas, a rounder composer, and clearer buttons.
- Improved: Redesigned sidebar, with search tucked behind its icon and a tidier list of your chats.
- Improved: The app icon is now the arch on its own, so it sits properly on any desktop background.
- Improved: More animation throughout, all of it obeying your system's "reduce motion" setting.
- Fixed: Sharing with several people would have quietly given each of them a fraction of the conversation memory you had set.
- Fixed: The connection test said "connected" even when given the wrong access key.
- Fixed: Sharing can no longer be switched on without an access key.
Note: voice input and image generation are Windows-only for now — the projects behind them don't publish Mac or Linux builds. Everything else works on all three.
Version 0.19.1
Fixes- Fixed: Creating a project did nothing. Electron blocks
window.prompt(), so the New project and Save-as-assistant dialogs threw silently — both now use a proper in-app dialog. - Fixed: Chats started inside a project vanished from that project's list, because the sidebar entry dropped its project tag when saved.
- Improved: Deleting a saved assistant no longer asks you to type a number.
Version 0.19.0
Feature- Added: Four themes — Dark, Ultra dark, Light and Sepia — with a live preview of each in Settings.
- Added: Light syntax highlighting that swaps in automatically for the light themes.
- Improved: The Windows title bar now repaints with the theme, and the app opens in your saved theme with no flash of the wrong colour.
- Improved: Contrast checked per theme: body text now measures 10.7:1 to 17.7:1 against its background.
Version 0.18.0
Maintenance- Added: Local crash and error logging, plus Copy diagnostics for bug reports. Nothing is ever uploaded.
- Added: Auto-update plumbing over GitHub Releases (inactive until a repository is published).
- Added: README and MIT licence, including the note that model licences are separate from the app's.
Version 0.17.2
Feature- Added: Vision. Attach a photo, screenshot or diagram and a vision model can read it — verified reading a chart correctly in about 34 seconds.
- Added: Voice input via whisper.cpp. Dictate a message and it is transcribed locally in 2–4 seconds, in about 99 languages.
- Improved: Vision models pair automatically with their projector file; attaching an image to a text-only model now warns instead of silently ignoring it.
Version 0.16.0
Feature- Added: Run buttons on Python code blocks — matplotlib charts render inline in the conversation.
- Added: Safety scan before running any snippet: code that touches files, the network or the system is flagged first, and a 90-second timeout stops runaway loops.
Version 0.15.0
Feature- Added: Projects — group chats with shared instructions and reference files.
- Added: Assistants — save a persona with its own prompt, temperature and preferred model.
- Added: Artifacts — HTML and SVG replies render live in a sandboxed side panel.
- Fixed: Project instructions were not counted in the context budget, which could silently overflow the model's memory.
Version 0.14.0
Fix- Fixed: Image size and step settings were ignored — a per-model preset always won, so “maximum quality” silently ran at 4 steps.
- Added: Juggernaut XL v9 and SDXL base for people who want the slow, high-quality path.
Version 0.12.0
Feature- Added: Image generation with stable-diffusion.cpp. Type
/imageand a prompt; 512px takes about 15 seconds on a 4 GB GPU. - Added: Six image models, from SD 1.5 finetunes to SDXL.
- Improved: The chat model is unloaded and restored automatically so both fit on a small graphics card.
Version 0.11.0
Improved- Fixed: Source links squeezed the message bubble into a narrow column.
- Improved: Replies now answer directly instead of opening with “Based on the provided search results”, and ignore sources that do not fit the question.
- Added: Motion throughout, respecting the system reduce-motion setting.
Version 0.10.0
Fix- Fixed: A follow-up starting with “and” skipped web search entirely, so the model invented market odds rather than looking them up.
- Fixed: Questions about the app itself, or about the conversation, were sent to a search engine.
- Fixed: Specialist sources were crowded out of short result lists, so a Polymarket question could return no Polymarket results.
Version 0.9.0
Fix- Fixed: “Write a document about X” skipped search and invented content. Only genuinely creative writing skips search now.
- Fixed: Corrections like “that's wrong, search it” searched their own text instead of the original topic.
- Improved: Wikipedia articles now arrive as clean prose instead of navigation menus.
Version 0.8.0
Fix- Fixed: Every past search was re-sent with each message, filling 88% of the context window and making the model forget the conversation.
- Added: A memory meter beside the send button showing how full the context window is.
- Added: Only search when useful — chit-chat and follow-ups no longer trigger a search.
Version 0.7.0
Feature- Added: Polymarket odds, live flight tracking and shopping lookups as search sources.
- Added: A hover menu on the globe icon for switching individual sources on and off.
Version 0.5.0
Feature- Added: Multiple search sources running in parallel — Marginalia, DuckDuckGo, Wikipedia, Google News, GDELT, Stack Overflow, Hacker News and arXiv.
- Added: A Test engines button, since free search services rate-limit unpredictably.
Version 0.4.0
Feature- Added: Optional web search with an on/off toggle, off by default.
- Added: Source chips under each reply, opening in your browser.
- Fixed: Clicking a link in a reply navigated the whole app away from its own interface.
Version 0.3.0
Fix- Fixed: Only Llama 3.2 3B would load. Forcing every layer onto the GPU crashed larger models; the engine now fits what it can and puts the rest in system memory.
- Added: File attachments — PDF, text, CSV and around 30 code formats.
- Added: A Download button on code blocks, with the right file extension.
Version 0.2.0
Feature- Added: 20 curated models across six categories, from 1 GB to 42 GB.
- Added: Collapsible thinking blocks for reasoning models.
- Added: Context sizes up to 131,072 tokens.
Version 0.1.0
First release- Added: Chat with local GGUF models through a bundled llama.cpp engine, with streaming replies and saved conversations.
- Added: Model manager with in-app downloads.
- Added: Windows installer.
Try it on your own machine.
Free and open source. Works with the open models you already trust.
On a Mac or Linux? Build it in three commands →