Repository navigation
0.18.0
0.18.0 (2026-08-17)
This is some BIGGG update !
Breaking: the Hollama compatibility path is gone
Llooma carried three one-shot migrations from the days it was called Hollama Next. On first start it renamed hollama.db, it copied hollamanext-* browser keys onto their current names, and it read backup files written under the old keys. All three are now removed, along with the keys themselves.
If you are updating from a build older than the rename, pin 0.17.0 first, open the app once so it migrates, then update. Concretely:
- a data directory still holding
hollama.dbis no longer adopted, and the server will start on an empty database beside it - a browser still holding
hollamanext-*keys starts empty - backup files exported before the rename no longer import
Nothing is deleted in any of those cases, but nothing is picked up either. This is an alpha and it is the kind of thing an alpha does.
Conversation markers are now a single field
Compaction summaries and cleared-context markers used to be two separate fields on a message. They are one note field now, with the kind inside it, which is what lets a new kind be added without touching the context builder, the search, the SQL and the renderer at once. /context and the mention records shipped in this release are the first two to arrive that way.
Stored conversations are converted automatically: server instances migrate on first start, browsers on first load, and backup files are converted when imported. Nothing is lost and nothing is asked of you.
Two things worth knowing:
- Take a backup before updating if you keep one. The conversion is one-way, and a version older than this one will not read the new field.
- Backup files exported from any version stay importable, before and after this change.
Playbooks, and a store that holds more than one thing
A playbook is a way of doing something, written once and switched on in any conversation. Where a persona is who is answering, a playbook is how the job gets done: a procedure the model follows, with no voice, no model and no conversation of its own.
Type /playbooks in any conversation. The list opens where you asked for it, with a tick against the ones in force, and stays there — what changed the answers is visible above them rather than buried in a settings panel. What is switched on is added to the system prompt when the message is sent, so editing a playbook reaches every conversation running it, immediately.
Write your own in the Library, or install one of the four that come with the store: plan a week of meals around what is already in the kitchen, turn an official letter into what you actually have to do, work through a decision you keep going round in circles on, or track down why something at home stopped working. They are deliberately ordinary. A playbook earns its place by being the thing you would otherwise retype every time.
The store now has one address. Personas and playbooks are catalogues under it, and anything installable that follows will be another. If you run a mirror, there is one folder to copy and one field to change, in Settings → Tools → Store. The addresses have moved from llooma.eu/personas/ to llooma.eu/store/personas/, so an instance pointing at the old one needs its address updated.
Also in this release
/context writes down what the model is actually being sent: the estimate, what it is made of — system prompt, messages, sources index — and the single heaviest message, named, because a context that filled up unexpectedly is almost always one file somebody pasted. It costs no request and is never sent to the model.
/compact now takes an instruction. /compact keep every decision about the schema outranks the summariser's own rules, their length and their structure included. Whatever the summary leaves out is gone from the model's memory of the conversation, which is why compaction stays reversible.
A persona called into a conversation with @ now leaves a record in its own conversation: which conversation wanted it, with the question and its answer. The model has not read it until you press Add to this conversation, which repeats the exchange there, framed so it understands it was said elsewhere.
Under the hood, compaction summaries, cleared-context markers and everything above are now one field with the kind inside it, which is what let three of these ship without touching the context builder, the search and the SQL. Stored conversations are converted automatically: server instances on first start, browsers on first load, backup files when imported. Take a backup before updating if you keep one — a version older than this will not read the new field.
Bug Fixes
- auth: send state with the authorization request, as OIDC servers may require (c882929)
- chat: let the compaction instruction outrank the rules it contradicts (3f95984)
- data: a collection this server has never heard of is empty, not fatal (40a3002)
- knowledge: a draft nobody guarded was losing what you typed (2e11cb3)
- knowledge: the editor fills the dialog, and the title says it is a field (7a2084d)
- library: every row of a section is as tall as its tallest card (8e9ff86)
- library: the playbook modals were mounted behind a persona being edited (fcda53a)
- library: the section tint was an angle where a number was wanted (3cd5ee7)
- personas: let the editor draw a face, and let you pick one (3fc3991)
Features
- chat: add /context, a note that says what the model is being sent (0fbcdea)
- chat: let a slash command take an instruction, starting with /compact (436b316)
- chat: name a conversation again once it has grown into one (4fc0133)
- library: one Import that reads the files, Markdown included (4075bbf)
- onboarding: give the tour its own cast, so it no longer depends on the store (5fb86de)
- onboarding: let the personas step play a mention turn instead of describing one (c65431d)
- personas: give the store's characters a face instead of a symbol (e4f1bbb)
- personas: keep a record, in a persona's own chat, of where it was called (8e3e616)
- playbooks: a procedure reads as a procedure, not as a character (0e8908a)
- playbooks: an instance can hand out its own, and relay the store's (80348f2)
- playbooks: four to start with, served from the site like the personas (6f2b810)
- playbooks: give a procedure a place to live, on both sides of the wire (530342f)
- playbooks: switch a procedure on where the conversation can see it (6a3e2f0)
- store: one storefront for every catalogue, with the type as a filter (57f14a9)
- store: one storefront, two catalogues, a card each (c5d0fbe)