Repository navigation
Releases
v0.8.1
Changed
- YAML больше не зависит от неподдерживаемого
unsafe-libyaml. Вместоserde_yaml_ngиспользуется написанный на Rustnoyalib 0.0.57, совместимый с Rust 1.88. Общая конфигурация сохраняет разрешение скаляров прежнего парсера, точность больших целых и отказ при дублирующихся ключах. Изменение одного поля frontmatter по-прежнему сохраняет остальные строки заметки. - Публикация npm использует Trusted Publishing через OIDC. Release workflow получает краткоживущие учётные данные для своего репозитория и больше не зависит от срока действия
NPM_TOKEN. Для публикации устанавливается npm CLI 11 под Node.js 22; настройки восьми доверенных пакетов и порядок проверки описаны вRELEASING.md.
Fixed
- Установка и удаление записи Goose больше не переписывают весь YAML-конфиг. Правка через CST сохраняет комментарии, кавычки, окончания строк и другие расширения.
install --forceобновляет запись на месте и удаляет её дубликаты. Некорректный YAML и формы, которые CST не может изменить с сохранением исходного текста, отклоняются без записи, включая--dry-run; это касается многострочных flow-последовательностей и разделяемых YAML anchors.
Added
- Добавлены
SECURITY.mdс приватным контактом и границами защиты,CONTRIBUTING.md, Contributor Covenant 2.1 на русском, формы bug report и feature request и шаблон pull request. Обе версии README ссылаются на эти документы.
v0.8.0
Обновление до 0.8.0
В этом выпуске сервер научился обновляться автоматически. Для перехода с 0.7.1 и более ранних версий нужно один раз обновить установленную копию:
npx obsidian-mcp-rs@0.8.0 installЕсли прежняя конфигурация клиента всё ещё запускает npx, используйте install --force: перед изменением конфигурации создаётся резервная копия. Требуется Node.js 22 или новее.
После установки 0.8.0 сервер проверяет GitHub Releases в фоне не чаще раза в сутки. Новые выпуски становятся доступны автообновлению через 48 часов; обновлённый бинарник запускается при следующем старте клиента. Отключить автообновление можно через install --no-auto-update, проверить состояние — через list или update --check. Команда update --force позволяет применить выпуск до окончания выдержки.
Что изменилось
- Добавлены автообновление установленной копии, команды
updateиupdate --check, проверка checksum и версии скачанного бинарника. Сборки с дополнительными возможностями, например HTTP, автоматически не заменяются. installзаменяет бинарник атомарно;listкорректно сравнивает версии и показывает состояние автообновления.- SDK обновлён до
rmcp 3.7: доступен lifecycle черезserver/discover, сохранена совместимость с клиентами, использующимиinitialize. - Обновлены зависимости Rust и npm, устранены шесть замечаний безопасности TLS и проблема I/O safety в Tokio. Минимальные версии Rust 1.88 и Node.js 22 сохранены.
- Исправлены имена релизных бинарников и формат
checksums.txt; добавлены provenance attestations, публикация на crates.io и проверки тега перед выпуском.
Семантический поиск отложен и в 0.8.0 не входит.
Установка
Все восемь npm-пакетов опубликованы как 0.8.0; также доступны crate и семь бинарников ниже. Для первого запуска без установки в конфигурацию клиента:
npx obsidian-mcp-rs@0.8.0 /path/to/vaultПодробности: CHANGELOG.md.
Вошедшие изменения
v0.7.1
What's Changed
- chore(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in #36
- fix: report a config that is present and does not work by @MrRefactoring in #52
- chore: release v0.7.1 by @MrRefactoring in #53
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's Changed
- chore(deps): refresh the tree, trim tokio, drop the serde_yml alias by @MrRefactoring in #45
- fix: exit when the client that spawned us is gone by @MrRefactoring in #46
- fix: stop two servers on one vault from losing an edit by @MrRefactoring in #47
- feat: install the server itself instead of writing npx into configs by @MrRefactoring in #48
- fix: stop writing the user's notes into the log file by @MrRefactoring in #49
- perf: stop re-reading an unchanged vault on every call by @MrRefactoring in #50
- chore: release v0.7.0 by @MrRefactoring in #51
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- fix: verify the vault path, and stop the installer rewriting user configs by @MrRefactoring in #31
- fix: make the tool surface something a model can actually use by @MrRefactoring in #32
- fix: the structured tools can report an error the model can act on by @MrRefactoring in #33
- chore: release v0.6.0 by @MrRefactoring in #34
Full Changelog: v0.5.1...v0.6.0
v0.5.1
What's Changed
- fix: stop move-note relocating a rename, and cap what read-note returns by @MrRefactoring in #29
- chore: release v0.5.1 by @MrRefactoring in #30
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- Phase 7: safe delete, honest --no-edit, vault-info, periodic notes by @MrRefactoring in #24
- feat(http): Streamable HTTP transport (optional feature) by @MrRefactoring in #25
- feat(search): match by pattern with regex, filter by frontmatter fields by @MrRefactoring in #27
- chore: release v0.5.0 by @MrRefactoring in #28
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
- chore(deps): bump codecov/codecov-action from 4 to 7 by @dependabot[bot] in #5
- chore(deps): bump toml_edit from 0.22.27 to 0.25.12+spec-1.1.0 by @dependabot[bot] in #10
- chore(deps): bump actions/checkout from 4 to 7 by @dependabot[bot] in #6
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #7
- chore(deps-dev): bump vitest and @vitest/coverage-v8 to 4.1.10 by @MrRefactoring in #14
- chore: lower MSRV from 1.94 to 1.88 (actual syntax/dependency floor) by @MrRefactoring in #15
- fix: stop corrupting frontmatter in tag operations by @MrRefactoring in #16
- fix: stop concurrent writes losing each other by @MrRefactoring in #22
- Release 0.4.0 by @MrRefactoring in #23
New Contributors
- @dependabot[bot] made their first contribution in #5
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- Release v0.3.0: hardening, MCP 2025-11-25 conformance, rmcp 2.2 by @MrRefactoring in #4
Full Changelog: v0.2.1...v0.3.0
v0.2.1
obsidian-mcp-rs v0.2.1
A small follow-up to v0.2.0. delete-note now cleans up after itself: deleting the last note in a folder removes that now-empty folder too, mirroring the behaviour move-note gained in v0.2.0. Same public MCP API and config-file output as v0.2.0.
🧹 Changed
delete-noteprunes an emptied source folder. When deleting a note leaves its containing folder empty, that folder is removed as well.- Best-effort — a failed
remove_diris logged viatracing::warn!and never propagated, so cleanup can't fail the delete itself. - The vault root is never removed, even if it becomes empty of notes.
- Best-effort — a failed
- The empty-folder pruning shared by
move-noteanddelete-noteis now a singleprune_empty_parenthelper (DRY) instead of duplicated inline logic.
✅ Tests
Three new regression tests: delete_note_removes_emptied_source_folder, delete_note_keeps_nonempty_source_folder, delete_note_does_not_remove_vault_root. Suite is at 197 passing; cargo fmt --check and cargo clippy -- -D warnings are clean.
📦 Install
npx obsidian-mcp-rs installFull changelog: v0.2.0...v0.2.1