Skip to content

Releases: Matlan1/localm

0.3.0

Choose a tag to compare

@Matlan1 Matlan1 released this 15 Oct 06:29
75110cc

localm 0.3.0. The full list of changes is in CHANGELOG.md, under 0.3.0.

Assets:

  • localm-0.3.0.zip: the release.
  • localm-0.3.0.zip.envelope: its signature for 0.3.0 and later.
  • localm-0.3.0.zip.sig: its signature in the format 0.2.0 reads, so an installed 0.2.0 can update itself to 0.3.0.

0.2.0

Choose a tag to compare

@Matlan1 Matlan1 released this 04 Sep 17:59
816fcdf

New in 0.2.0:

  • The coding agent can drive a web browser, and you can watch it in the Browser tab.
  • The coder can list every caller of a function or class before changing it, and /review critiques its own work.
  • A request can be routed to a model that can serve it, instead of whichever model happens to be loaded.
  • A graphical installer: setup-gui.bat on Windows, ./setup-gui.sh elsewhere. The console installers are unchanged.
  • CivitAI as a model source, from the command line and the Models page.
  • Two instances on one machine share a loaded model instead of loading it twice.
  • The interface in German; text-to-speech in Spanish, French, Hindi, Italian and Brazilian Portuguese, with a voice picker.
  • The MCP server ships as a portable Agent Plugin bundle, and other tools can read localm's memory.
  • Optional Hugging Face and CivitAI API tokens.
  • localm bench-mtp MODEL reports whether Multi-Token Prediction is worth it on your hardware.
  • Chat background images, a custom display name, and per-model avatars.

Fixes and security work are in CHANGELOG.md, or Settings > Show changelog.

localm-0.2.0.zip.sig is an Ed25519 signature over the zip, checked by localm's updater.

0.1.5

Choose a tag to compare

@Matlan1 Matlan1 released this 27 Aug 21:07
c9a1e48

The first full 0.1.5 release, following three candidates. See CHANGELOG.md for
the full list.

Highlights

Images a model links in a reply can now be shown, without the site hosting
them learning anything about you.
They used to appear broken, because localm
refuses to let the page reach the internet. Turn on Settings > Network > "Show
remote images in replies" and localm fetches the picture itself, so your browser
never contacts the remote site. It ships off by default, and the setting explains
why before you turn it on.

localm gui can open as its own app window instead of a browser tab.

The server now watches itself for hangs and recovers on its own. A frozen
server used to sit there until someone noticed the GUI had gone dead. It is now
detected, shown in the status window, and restarted on the same port within about
a minute, with no action from you.

Music and Video now have the same library as Images - a grid of cards with
selection, bulk move and delete, a detail view with the full generation settings,
and "reuse settings" to refill the form from anything you already made.

Hybrid models work. Qwen3-Next, Granite 4 H, LFM2, Jamba and Falcon-H1 now
load and run.

Answers built on your documents and remembered facts are checked against the
evidence they were given
, so a future change cannot quietly leave replies
resting on what the model already knew instead of on what you gave it.

Fixed

Chat no longer refuses to send after a model is unloaded when that model was
going to reload by itself anyway - both the unload button and the unload-after-idle
setting promise it comes back on your next message, and now it does. A startup
deadlock that could freeze the whole server for good is fixed. Reading replies
aloud works with no internet connection. The context-usage gauge appears on
ordinary replies, not only long ones. Tables no longer break into unreadable
columns, the status window is bigger and legible, and setup's progress bars no
longer come out garbled.

Security

A form inside a model's reply can no longer send anything off your machine.

0.1.5rc3

0.1.5rc3 Pre-release
Pre-release

Choose a tag to compare

@Matlan1 Matlan1 released this 13 Aug 21:44
811868e

A release candidate. See CHANGELOG.md for the full list.

Highlights

Text-to-speech works again, and is about two and a half times faster. Neural
speech was completely broken in the previous candidate and is restored, then given
the shared memory it needs to run on more than one core.

An attached file is no longer cut short. Attachments were silently truncated to
roughly their first 24,000 characters, so a question about anything later in a
document was answered from text the model never saw. The whole file is now attached.

The Settings page has been reorganised, with help text that says what a setting
does instead of arguing for its default, and it no longer loses its Knowledge section
on a cold load.

localm now installs a llama.cpp build it has actually tested rather than whatever
was published most recently, and you can pin a build or go back to a previous one.
localm doctor and bug reports say which build you have.

Its own managed ComfyUI can be updated from Settings and now installs v0.31.1.

Security and privacy

The GUI's Content-Security-Policy now enforces rather than only reporting. Session
records, attach tokens and TLS private keys are created already restricted rather than
being tightened after the fact. Using the coder no longer leaves prompt content in the
debug log, a project index on disk, or a compiled copy of your source in the temporary
folder. A bug report no longer echoes a credential carried in a configured URL.

Also fixed

Model files that are loaded can no longer be deleted; unloading a busy model reports
honestly instead of claiming success; embeddings and grammar requests fail with a clear
reason instead of a generic error; models are sized against all your GPUs; and a
malformed request gets a clear rejection rather than a server error.

0.1.5rc2

0.1.5rc2 Pre-release
Pre-release

Choose a tag to compare

@Matlan1 Matlan1 released this 08 Aug 08:50

Self-contained CUDA support on Linux, as an explicit opt-in choice. localm setup-llama --backend cuda now works on Linux the same way it already does on Windows: it fetches a compiled build plus the CUDA runtime libraries (cudart, cuBLAS), no CUDA Toolkit install needed. This is a release candidate to get real hardware confirmation before it becomes the default - Vulkan remains the recommended backend on Linux until that lands.

0.1.4

Choose a tag to compare

@Matlan1 Matlan1 released this 06 Aug 20:35
72a3679

0.1.4 is a large hardening release: 8 new features, 6 security fixes and 37 bug
fixes, concentrated in GGUF inference, the coder, and Knowledge (RAG).

Highlights

Image understanding is usable again. The vision projector was pinned to the
CPU for every user, on every GPU, to work around a failure that affects one AMD
card. A screenshot took about ten minutes with the graphics card idle, close
enough to the timeout that it often failed outright. It now runs on the GPU and
the same image takes a couple of seconds. Separately, a recent llama.cpp change
altered the structure localm passes the prompt in, which truncated every image
prompt and crashed the model process; localm now detects which layout the
installed runtime uses.

Run a Mixture-of-Experts model in a fraction of the VRAM. A new "MoE expert
layers on CPU" setting (n_cpu_moe, off by default) keeps the expert weights of
the first N layers in system RAM while the rest of the model still runs on the
GPU. Measured on a 7B MoE, the GPU footprint dropped from 3961 MiB to 241 MiB
with all 16 layers set. It is a footprint dial rather than a speed-up: at the
same VRAM it runs at about the same speed, so reach for it when something else
needs the card, or when a model would otherwise not fit at all.

Knowledge collections no longer lose documents. A chunk whose text contained
certain rarer separator characters was split in half when the collection was read
back, so those documents were dropped and the next save wrote the collection back
without them. On a real 1192-chunk collection this deleted 26 chunks every time
it was opened and saved. Existing collections recover on their next load and
nothing needs re-importing. The same fault is fixed in agent memory and in the
coder's stored episodes.

The coder can search your indexed Knowledge collections, so it is no longer
limited to files in the project directory. Search asks for confirmation by
default, retrieved text goes through the same sanitiser as anything else
untrusted, and a restricted (shared, non-owner) session cannot use the tools at
all. Lexical only for now, not the hybrid search the Knowledge page can do.

Models page. Sort by any column, rename a model outright (localm rename),
and see a model switch actually happening rather than a frozen page. Registered
models now show their real architecture and whether they are MoE, read from the
file's own header rather than guessed from the name.

Security

  • A model can no longer hang the coder with a search pattern.
  • A plugin name can no longer escape the plugins folder.
  • Installing a plugin can no longer delete a different plugin.
  • A model's own bundled code is no longer executed just because you loaded it.
  • localm rm no longer deletes outside your models folder.
  • A HuggingFace repo can no longer make an empty download look finished.

Three model routes that read arbitrary host paths now require filesystem access
as an explicit scope, and the file browser can no longer be read by another page
on your machine.

Upgrading

localm update

Two changes are opt-in and need one command each:

  • localm setup-llama --force picks up the new bundled AMD ROCm runtime
    (build b1307, up from b1288: two months of upstream llama.cpp, a newer ROCm,
    and more gfx1030 kernels). An existing install keeps working untouched until
    you run it.
  • The same command clears 49 upstream command-line tools that Windows installs
    were carrying and localm never invokes. No library is affected.

Fresh install

git clone --depth 1 --branch v0.1.4 https://github.com/Matlan1/localm.git

Then run setup.bat (Windows) or setup.sh, which creates a private virtual
environment, detects your GPU and provisions the matching llama.cpp backend.

Verifying the download

localm-0.1.4.zip.sig is an Ed25519 signature over the zip. The built-in
updater checks it against a pinned public key automatically, and refuses a build
that does not verify or that would move you backwards.

Full changelog

Every entry, with the reasoning behind each fix, is in
CHANGELOG.md.
Commit range: v0.1.3...v0.1.4.

Known limitations

Media generation (image, music, video) needs a local ComfyUI backend, which
localm comfy setup can install for you. Semantic search in Knowledge needs the
on-device embedding model from localm setup-embeddings. The primary development
hardware is AMD; the NVIDIA path is validated by design and testing rather than
on the maintainer's own machine.

0.1.3

Choose a tag to compare

@Matlan1 Matlan1 released this 23 Jul 15:19
0a89cec

See CHANGELOG.md for the full list of changes.

Verify: localm-0.1.3.zip.sig is an Ed25519 signature over the zip; the app's
own updater checks it against the pinned public key automatically.

0.1.2

Choose a tag to compare

@Matlan1 Matlan1 released this 18 Jul 11:15
97c699b

See CHANGELOG.md for the full list of changes.

Verify: localm-0.1.2.zip.sig is an Ed25519 signature over the zip; the app's
own updater checks it against the pinned public key automatically.

0.1.1

Choose a tag to compare

@Matlan1 Matlan1 released this 09 Jul 12:34

localm 0.1.1

v0.1.0

Choose a tag to compare

@Matlan1 Matlan1 released this 04 Jul 17:03
2c0bf60

0.1.0 - 2026-07-04

First tagged release. A self-contained, offline local-LLM platform.

Added

  • Inference: run GGUF models via a bundled llama.cpp runtime, and HuggingFace
    models via a torch backend. GPU acceleration on AMD (ROCm), NVIDIA (CUDA or
    Vulkan), and Intel/Vulkan, with automatic hardware detection and a CPU fallback.
    Auto context-window sizing from free VRAM.
  • CLI: pull/search/add/list/rm for models, run (interactive or
    single-prompt, with image input), serve (OpenAI-compatible API), gui,
    doctor, benchmark, config, info, and shell completion.
  • GUI: an installable PWA served by the local server - chat with conversation
    history, assistant memory, and personas; the coder agent; model management; and
    per-plugin pages. Loopback by default; an optional network bind for phone access.
  • Coder agent: an offline AI coding agent with file, shell, search, and test
    tools, a project map, an agentic loop, and MCP interop, gated behind an explicit
    scope.
  • Plugins (everything but chat is a plugin): image / music / video generation
    (ComfyUI backends), a knowledge base for retrieval-augmented chat (RAG), a job
    scheduler, an MCP server, text-to-speech, speech-to-text, and web search/fetch.
  • Security: loopback-only by default; a network bind forces a strong API key
    and enables built-in TLS. Scoped API keys, an owner/admin model, HttpOnly session
    cookies with CSRF protection, path confinement, and an SSRF-guarded outbound
    fetch policy.
  • Privacy: an opt-in privacy mode that keeps sessions in memory and writes no
    traces to disk; a configurable network policy (off / ask / allow, allow/deny
    lists).
  • Networking: reach a network-bound instance by name over mDNS (localm.local)
    and Tailscale MagicDNS, folded into the TLS certificate.
  • Model tools: HuggingFace search and local model registration.

Known limitations

  • Media generation (image / music / video) requires a local ComfyUI backend; RAG's
    semantic mode requires the on-device embedding model (localm setup-embeddings).
  • The in-app bug-report upload and the self-updater require the maintainer's
    Cloudflare Worker to be deployed; until then those two features are inert.
  • The NVIDIA GPU path is validated by design and CI-adjacent testing; the primary
    development hardware is AMD.