Releases: JDHole/pkm-assistant
Release list
2.2.8
Memory first, no bundled skills - PKM Assistant 2.2.8
In plain words. Two changes in how agents behave out of the box. First, when an agent
looks something up and nobody said where, it now checks its own memory first - what it has
learned about you and what you agreed on together. Your notes are searched when the agent asks
for them on purpose, and agents are now told to do exactly that whenever your question is about
your notes. In live test chats with three different models every question about notes was
still answered with a single search, the same as before. Second, the plugin no longer installs
ready-made skills. We want skills to go through proper rounds of iteration and evaluation
before we ship any, so for now the plugin ships none. Skills you already have stay exactly
where they are.
What changed, in detail:
searchwithout a scope looks in the calling agent's memory. User notes need an explicit
scope: "vault". The tool description, the parameter description and the "one search" prompt
rule say so, with examples for both kinds of question. Three cases still default to the
vault: a call made by a sub-agent, an agent with the memory permission switched off, and an
agent that has no memory yet. A result from the default scope carries ascope_hintfield
that tells the model how to widen the search, so an empty memory result is not mistaken for
"there is no such note". Legacy tool names (vault_search,vault_grepand the rest) keep
searching the vault.- No starter skills. A fresh vault gets no skill files, and the plugin no longer creates
the skills folder at startup - the first skill you save creates it. The built-in agent
Jaskier starts with no skills assigned. Backstage templates (the two Deep Research skills and
the researcher sub-agent) are unchanged. - No promises about things that are not there. Jaskier's persona says he helps you design
agents and skills while you create them in the panel, and the chat welcome hint no longer
points at a skill bar that only appears once an agent has skills. - The quick start guide describes where a skill is actually created: agent profile, Skills tab.
Both changes ship with tests that fail without them. The search change was additionally
walked through in a live chat, reading the tool calls the models actually made.
Known limits: the scope_hint safety net has only been exercised in automated tests, because
every model we tried passed the scope on its own. Very small local models may still stop after
an empty memory result - if your agent says it cannot find a note you know exists, ask it to
search the vault. The vault map starter still lists skills/ as the skill library although
the folder now appears only with your first skill.
Upgrading from 2.2.7: no migration, no changes to settings, and your skill files are not
touched. If you never edited Jaskier's profile, his list of assigned skills is empty after the
update - the eight starter files are still in your skill library and can be assigned again in
his profile (Skills tab). If you wrote your own prompts or skills that tell an agent to
"search" your notes, they kept working with the models we tested, but adding scope: "vault"
to the instruction makes it certain. The downgrade warning from 2.2.6 still stands: do not
downgrade below 2.2.6 with active chat sessions written by 2.2.6 or newer - archive or
discard them first.
2.2.7
Maintenance release - PKM Assistant 2.2.7
In plain words. Two things were getting in the way. First, every time you created a new
agent, the plugin quietly added a helper sub-agent to its team that you never asked for - and
with similarly named agents those helpers could get mixed up. That no longer happens: a new
agent starts with an empty team, and you add helpers only when you want them. Second, if you
use the plugin in one language, bits of the other language kept leaking through: descriptions
of built-in tool servers, image tools, the window where you review what an agent wants to
remember, and the status of plans and notes. Those places now speak the language you picked in
settings. No new features, nothing to set up after the update.
What changed, in detail:
- A new agent starts with an empty team. The automatic "prep" sub-agent is gone, together
with its starter texts and the promises about it in the vault map starter, the health-check
skill and the quick start guide. Sub-agents you already have are not touched. - Built-in MCP server descriptions and the image tools (
generate_image,
add_text_to_image: descriptions, parameters, the save-folder error, the invalid output path
error, the generated image note and its date) follow the interface language. - The save-session review window names the agent's memory sections in the interface
language. The section headings inside the memory file itself stay as they were. - Artifact statuses are shown in the interface language in the note block, the agent
profile and the@picker. The value stored in the file stays a fixed identifier, and the
agent is told so. - Memory note types in the consolidation review are shown in the interface language, with
the same wording as the save-session window. - "What's new" always ends with the author's note, the same one as in the README.
- The Filesystem server preset shows a
<PATH>placeholder instead of a sample path. - Internal hardening: the "current context" memory section is normalized in one place before
a save-session update is applied.
Every fix ships with a regression test that was red before the change and green after it.
Known limits: Obsidian's own Properties and Bases views draw artifact statuses straight from
the file, so they still show the stored identifier, not the translated label. Memory section
headings inside an agent's memory file stay in the language they were created in. Reasons for
a refused vault path are still in English only.
Upgrading from 2.2.6: no migration, no changes to settings. The downgrade warning from 2.2.6
still stands: do not downgrade below 2.2.6 with active chat sessions written by 2.2.6 or
newer - archive or discard them first.
2.2.6
Maintenance release - PKM Assistant 2.2.6
Nine bug fixes from the post-release review, no new features. Every fix ships with a regression
test that was red before the change and green after it.
Highlights:
- Restarting Obsidian no longer loses tool calls from the restored chat. The active session
file now keeps the id of every tool call and its result, so the model sees the tool results
from before the restart instead of orphan warnings in the log. A tool that returned an empty
result is restored too, so the provider never sees an unanswered tool call. - Session secrets stay out of the log file. A
Set-Cookieorcookieheader echoed by a
proxy inside a provider error is masked in the plugin log like API keys already were. - Artifacts with a hand-typed numeric id (
pkm-artefakt: 20260911) are found again by the
registry, the disk fallback and the agent's read tool. - "Export profile" copies the agent's YAML instead of
[object Object]. - Regenerating a message that carried an attachment pastes the message text into the input
box instead of[object Object]. - A new chat clears the todo panel left by the discarded conversation and removes its
one-off todo file. - The token counter no longer crashes for an agent with no model configured.
- A failing sidebar view shows the friendly error instead of an unhandled rejection in the
console; the same for sending an artifact into the chat. - The Brain shard in the agent presentation shows the number of notes in the agent's
long-term memory, so a brand-new agent shows 0 and stays dim instead of lighting up with the
size of its empty memory template.
Known limits: preferred_tools in an agent's YAML has no effect and no editor in the UI; it is
a legacy field kept for compatibility. The mcp key under default_permissions has no effect
either; use the tool switches (disabled_tools) to keep an agent away from MCP servers.
Upgrading from 2.2.5: no migration, no changes to settings. Do not downgrade to 2.2.5 or
older with active chat sessions written by 2.2.6: the older plugin reads the new session file
fields as text, and archiving such a session with an older build corrupts its transcript.
Archive or discard active sessions before a downgrade.
2.2.5
English first - PKM Assistant 2.2.5
The plugin was born in a Polish vault, and until now an English-speaking user still met Polish in
a few places: the built-in agent introduced itself in Polish, the factory artifact templates had
Polish section names, and the rules the plugin adds to every system prompt were Polish. 2.2.5
makes the whole first session follow the interface language. Polish users see exactly what they
saw before.
Highlights:
- Jaskier, the built-in agent, speaks your language. His persona is now English by default and
Polish when the interface language is Polish. Your own edits to Jaskier (the overrides file) are
untouched. - Artifact templates follow the interface language. New vaults get
plan,notatkaand
raporttypes with English section names (Goal / Steps / Risks and assumptions / User notes;
Content; TL;DR / Findings / Blind spots / Sources). A factory template you never edited is
switched to the interface language on the next start; anything you edited is left alone.
Type ids, statuses and frontmatter keys do not change, so existing artifacts keep working. - The rules in the system prompt and the factory work prompts (save session, archive,
summaries, context compression) and the sub-agent frame prompt are English for English users and unchanged for Polish users.
Your own prompt overrides still win. - Renaming a freshly created agent is clean. The old YAML file is removed, and the sidebar
keeps showing the agent instead of "Agent not found". - Smaller fixes: the command palette shows "PKM Assistant: Chat" and "PKM Assistant: What's
new" instead of two entries named "PKM Assistant"; the first-run banner in settings, the
sub-agent editor labels and the model-settings descriptions are translated; a "{{count}}"
placeholder no longer leaks into a chat notice.
Known limits: the memory index file (brain.md) keeps its section headings, and the
<agent>-prep sub-agent created for a new agent keeps the name it got at creation.
Never picked a language? The plugin has always used English for its interface, and from 2.2.5
Jaskier, the templates and the prompts follow it too. To keep everything Polish, set Settings →
PKM Assistant → Appearance → Language to Polski.
Upgrading from 2.2.4: no migration, no changes to settings. Untouched factory artifact templates
may be rewritten in the interface language (see above).
2.2.4
Settings speak your language - PKM Assistant 2.2.4
A small follow-up to 2.2.3 for the community catalogue: the plugin's settings and first-run
messages now follow the interface language everywhere. Behaviour is otherwise identical to 2.2.3.
Highlights:
- Settings navigation follows the interface language. The section labels Models, Memory,
Limits, Advanced, API Keys and Information were shown in Polish regardless of the language
setting; they now use the built-in translations (English by default, Polish when selected). - First-run messages are translated. The welcome notice for new users, the "embedding
provider not configured" notice and the retired Connections command use the interface
language. - API key rows keep their platform names in a narrow settings pane. When the pane is too
narrow for the label and the key field side by side, the field wraps below the label instead
of squeezing the name out of view.
Upgrading from 2.2.3: no migration, no changes to settings or agent files.
2.2.3
Catalogue-ready sources - PKM Assistant 2.2.3
A maintenance release prepared for the community catalogue review: the sources now pass the
catalogue's static checks without warnings. Behaviour is the same as 2.2.2 apart from the
fixes below.
Highlights:
- Manual notes in the "Current" section of an agent's brain file survive memory saves.
Previously every memory save rebuilt the file and dropped what you had written there. - Custom configuration folders are respected. The plugin no longer assumes the vault's
configuration folder is called.obsidian; access rules and the migration of the plugin
folder use the folder Obsidian actually reports. - The log file keeps the full details of a failed model request (error code, HTTP status,
provider details) instead of only the message. - Sidebar and chat crystal animations are drawn with transforms instead of clip paths;
the shapes look the same, they just render on every Obsidian build. - Less console output: the plugin only logs debug, warning and error messages.
Upgrading from 2.2.2: no migration, no changes to settings or agent files.
2.2.2
Clean sources - PKM Assistant 2.2.2
A source-hygiene release before the community catalogue listing. No new features and no
functional changes apart from the renamed backup file below: the plugin does exactly what
2.2.1 does.
Highlights:
- Comments and developer documentation describe the current behaviour only. Internal
audit and sprint identifiers, dates and references to planning documents that never lived
in this repository are gone; the reasoning behind each decision stays where the code is. - Changelog and release notes are in English and list only what a user can notice.
- The settings backup written before the first save after an upgrade is now
.pkm-assistant/settings.pre-migration.json. An older backup under the previous name, if
present, is left untouched. - A few interface texts and one on-disk marker file lost stray internal references.
Upgrading from 2.2.1: no migration, no changes to settings or agent files.
2.2.1
„Gotowe do katalogu" — PKM Assistant 2.2.1
Wydanie porządkowe po raporcie automatycznego walidatora katalogu społeczności Obsidiana.
Bez nowych funkcji: plugin robi to samo, co 2.2.0, ale spełnia polityki katalogu, jest
budowany i podpisywany przez GitHub Actions i ma mniej zależności.
Najważniejsze:
- Zgodność z politykami katalogu. Z kodu zniknęła nieużywana metoda, która potrafiła
wyłączyć i włączyć plugin z jego wnętrza (Obsidian zakazuje tego wprost). Pilnuje tego
od teraz stały test w repozytorium, razem z zakazemeval/new FunctioniglobalThis. - Wydanie z GitHub Actions. Pliki wydania (
main.js,manifest.json,styles.css) buduje
serwer GitHuba z dokładnie tego commita, który ma tag, i podpisuje je atestacją provenance —
każdy może sprawdzić, że pobiera to, co jest w źródłach. W wydaniu są tylko te trzy pliki. - Mniej zależności. Plugin czyta i zapisuje YAML wbudowanymi funkcjami Obsidiana zamiast
własnej biblioteki; z narzędzi deweloperskich wypadły pakiety, które walidator wskazał
jako do zamiany; trzy ostrzeżenianpm auditw zależnościach serwerowych MCP SDK zamknięte. - Porządek w kodzie pod recenzję. Timery i dostęp do okna idą przez jedno miejsce (
window
w Obsidianie), obietnice nie giną bez obsługi, nieużywane zmienne skasowane — kilkaset
ostrzeżeń mniej w raporcie walidatora, bez zmiany zachowania pluginu. - Harness testowy w osobnym repozytorium. Narzędzie, które uruchamia prawdziwy bundle
pluginu w Node bez Obsidiana, mieszka teraz wpkm-assistant-harness; w repo pluginu
zostały tylko atrapy potrzebne testom jednostkowym.
Aktualizacja z 2.2.0: bez migracji, bez zmian w ustawieniach i plikach agentów.