Skip to content

v0.41.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 16:17
· 55 commits to main since this release

Added

  • A plugin command sets its own exit code. The CLI exits with the integer from 0 to 255 that
    the result puts in its exit-code field, so a pipeline can tell "differences found" from "a
    step failed" by the code alone. Without the field, "ok": false still means 1.
    (#31)
  • The documentation guard catches a sentence that explains a change by naming who asked for
    it.
    The repository has one author, so such a sentence tells the reader nothing about the
    change. The guard reads both editions of the documents and the comments and docstrings of
    src, scripts, tests and tools. (#30)
  • The conventions guard requires a process started from src to name its stdin. The check
    reads the shipped package alone. A script, a tool and a test run from a console, and a console
    stdin is safe to hand on. (#29)
  • tests/test_conventions.py catches a test shadowed by a namesake. Python keeps the last of
    two definitions with one name, so the older test stops running while the count still grows. The
    check names the line of the newcomer to rename. (#28)

Fixed

  • A child process no longer inherits the stdin of the MCP server. On Windows a child holding
    the client's pipe never exits: git status --porcelain sat out its whole fifteen-second timeout,
    and the build called git unavailable. Process starts in src now pass stdin=subprocess.DEVNULL,
    and the same tool call went from 47 seconds to 0.8. (#29)
  • .gitattributes holds the line ending for the whole repository. The line
    * text=auto eol=lf keeps text files in line feeds on any machine. The READMEs that
    scripts/sync-docs.mjs assembles used to come out with mixed line endings.
    (#28)

Documentation

  • The shared guard is pinned to docsguard@v0.7.1. That release adds a dictionary of the
    borrowed words the Russian edition keeps drifting into: пин, прогон, билд, дефолт and
    eleven more. The pin went up on its own, ahead of anything that uses it.
    (#26)
  • The documentation guard reads the Russian texts against that dictionary. It finds
    docs/*.ru.md by itself, and the root documents are named in scripts/check_docs.py:
    README.ru.md, CHANGELOG.ru.md and CLAUDE.md. A word in backticks or inside a fenced
    block is not a finding. (#26)
  • The words the changelog names are in backticks now. The entry of 12 September lists the
    words that left the text, and the guard read them as jargon. The Russian page writes the XBSL
    button caption the same way, as the name of a command.
    (#26)
  • The shared guard is pinned to docsguard@v0.8.0. The dictionary of borrowed words grew
    by six: дашборд, бэкенд, лаунчер, мейнтейнер, топ-объект, легаси.
    (#27)
  • The guard reads the Russian strings of the sources against that dictionary too. The help
    of a command and the text of an error reach a reader the way a page reaches the site: they
    land in a terminal the moment somebody runs the tool. Two files are named, the message catalog
    src/elemctl/i18n.py and src/elemctl/mcp_server.py, whose tool docstrings an MCP client
    shows as the description of each tool. (#27)
  • The word лаунчер left the entry about self-update --stop-holders. It is about the
    program that starts the command, and the command runs as its child. The same word is corrected
    in tests/test_selfupdate.py. (#27)
  • The shared guard is pinned to docsguard@v0.9.0. In that release the source checks
    stopped falling over on a file that begins with a byte-order mark. Editors on Windows write
    the mark without being asked, ast answered it with a SyntaxError, and the findings from
    every other file went down with it. The shadowed-test guard comes from the same release.
    (#28)

What's Changed

  • Журнал: разделы 0.39.0-0.40.1 переписаны для чтения by @keyfire in #23
  • Документация переписана живым языком by @keyfire in #24
  • Строки помощи: без капса и чужих слов by @keyfire in #25
  • Сторож документации смотрит русские тексты на слова из словаря by @keyfire in #26
  • Сторож документации читает русские строки исходников by @keyfire in #27
  • Общий сторож 0.9.0 и перевод строки в .gitattributes by @keyfire in #28
  • Дочерний процесс не наследует stdin сервера MCP by @keyfire in #29
  • Сторож ловит фразу, объясняющую правку ссылкой на человека by @keyfire in #30
  • Команда плагина задаёт код возврата полем exit-code by @keyfire in #31

Full Changelog: v0.40.1...v0.41.0