Skip to content

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 09:04
· 950 commits to main since this release
addbc54

Unica v0.11.0

v0.11.0 — крупное обновление надёжности публичного MCP-контракта, безопасной работы с исходниками, диагностики и поддержки Git worktree.

В релиз вошло 26 pull request из диапазона v0.10.0..v0.11.0.

Главное

  • Все 7203 опубликованных поля MCP-схемы получили содержательные описания — ранее они были только у трёх. Модели теперь видят различия между database, infobase, connection, режимами dryRun и другими неоднозначными аргументами непосредственно в tools/list (#221).
  • Ручной stdio/JSON-RPC транспорт заменён официальным Rust SDK rmcp. Сохранены единый сервер unica, data-driven схемы инструментов, ограничение параллельных вызовов и доменная отмена операций (#224).
  • Добавлен точный UTF-8 snapshot исходного текста: BOM, профиль переводов строк и наличие завершающей новой строки. unica.code.patch использует общую EOL-политику и сохраняет байтовую стабильность смешанных переводов строк. Это первый этап общего writer-контракта; формы и metadata writers пока на него не переводились (#250).
  • unica.meta.edit получил полноценный dryRun: тот же разбор, validation и support guard, что при применении, точный unified diff и отсутствие любых записей в исходники (#230).
  • Устранены ложные успешные результаты диагностики и устаревшие кеши между ветками linked worktree.

Несовместимые изменения

Read-only инструменты возвращают результат только в ответе MCP

Двенадцать read-only инструментов info и validate больше не принимают OutFile/outFile. unica.mxl.decompile также не принимает OutputPath/outputPath.

Результат необходимо получать из MCP-ответа (stdout или structured data) и при необходимости сохранять самостоятельно. Скрытого compatibility path нет (#223, #225, #244).

Удалён KeepFiles у unica.meta.remove

Аргумент KeepFiles/keepFiles полностью удалён из схемы, реализации и навыка meta-remove. Удаление объекта теперь всегда удаляет его файлы после прохождения проверки ссылок; вызов со старым аргументом завершается явной ошибкой, а не игнорирует его (#252).

В changelog присутствует промежуточная типизация этого флага в #240, но итоговый контракт релиза определяется более поздним #252: в v0.11.0 флага уже нет.

Изменено протокольное поведение MCP

После перехода на rmcp версия протокола согласуется с клиентом, первым полноценным запросом должен быть корректный initialize, а отменённый запрос больше не получает устаревший ответ -32800. Совместимые MCP-клиенты уже соблюдают этот порядок (#224).

Диагностика и workspace

  • unica.code.diagnostics больше не принимает path в режиме полного анализа, где он раньше мог быть проигнорирован с последующим сканированием всего source set (#216).
  • Путь файла обязан находиться внутри разрешённого sourceDir; блокируются выход через .., внешний абсолютный путь и symlink за пределы исходников (#220).
  • Незавершённый mode=analyze теперь возвращает retryable diagnostics_pending, а не успешный результат без найденных проблем (#251).
  • unica.code.outline различает строящийся индекс и невалидный source root вместо общего успешного ответа (#227).
  • Workspace discovery останавливается на границе linked worktree, а переключение его HEAD инвалидирует кеши именно этого worktree (#228, #246).

Формы, метаданные и платформа

  • form.edit поддерживает свойства таблицы representation=List и autoInsertNewRow, проверяя значения до записи канонического XML (#229).
  • meta.validate предупреждает о подчинённом регистратору регистре сведений, ошибочно включённом в командный интерфейс (#208).
  • role.validate предупреждает об интерактивных правах на удаление и изменение признака удаления предопределённых данных (#241).
  • Полная выгрузка конфигурации больше не отклоняет шесть реально встречающихся XML-корней, которые создаёт сама платформа 1С 8.3.27 (#222).
  • Вопросы о поведении платформы больше не маршрутизируются в стандарты разработки. При отсутствии официального источника явно сообщается platform-help contract gap (#232).
  • Исправлены относительные ссылки на справочные материалы внутри упакованного плагина (#214).

Marketplace и совместимость платформ

  • Путь git-subdir изменён с ./plugins/unica на plugins/unica. Это исправляет установку в Claude Code на системах с Git 2.34, включая Ubuntu 22.04 (#249).
  • Support guard использует общий нормализатор identity путей и больше не возвращает Windows extended-length пути вида \\?\C:\… (#256).
  • README больше не закрепляет быстро устаревающие номера версий Codex CLI и Claude Code; актуальные требования определяются поддержкой plugin-команд (#253).

Обновление

Codex

codex plugin marketplace upgrade unica
codex plugin remove unica@unica
codex plugin add unica@unica

После обновления откройте новую задачу Codex.

Claude Code

claude plugin marketplace update unica
claude plugin update unica@unica

Затем выполните /reload-plugins.

Версии 0.7.5 и новее обновляются обычным способом. Для установок 0.3.0–0.7.4 сначала используйте замороженный migration-мост v0.7.8.

Проверка

Релиз прошёл:

  • Python contract/dev suites, Rust fmt, Clippy и полный workspace test;
  • сборку runtime для macOS arm64, Linux x64 и Windows x64;
  • MCP/bootstrap smoke-тесты;
  • публикацию, повторное скачивание и SHA-256-проверку всех runtime-артефактов;
  • fresh install и обновление с предыдущей стабильной версии на всех трёх платформах;
  • post-publish проверку публичного marketplace.

Source release workflow и marketplace post-publish CI завершились успешно.

Благодарности

Спасибо @korolevpavel за фундамент точной работы с исходным текстом и EOL, полноценный meta.edit dryRun, исправления диагностики и linked worktree, response-only контракты, свойства таблиц форм и корректную маршрутизацию platform help.

Спасибо @Oxotka за практические проверки метаданных и ролей: предупреждение о подчинённых регистрах в командном интерфейсе и опасных интерактивных правах на предопределённые данные.

Спасибо @zeegin за переход MCP-транспорта на rmcp, полное описание публичных схем, завершение response-only границы, исправления диагностики, full dump и marketplace, Windows-нормализацию путей и доведение выпуска до проверенной публикации.

Полный список изменений:
v0.10.0...v0.11.0