Спустя 16 месяцев после выхода предыдущей версии 0.10.1 git-bug, распределённый баг-трекер, который в первую очередь работает в автономном режиме и хранит данные отслеживания проблем непосредственно в репозиториях Git, выпустил версию 0.11 с полностью переработанным веб-интерфейсом, встроенным браузером кода, улучшенной поисковой индексацией и множеством исправлений.
Если вы не знакомы с git-bug, то идея проста. Вместо того чтобы хранить отчеты об ошибках в централизованных сервисах, таких как GitHub или GitLab, git-bug хранит их в Git и позволяет пользователям отправлять и получать их через обычные удаленные репозитории Git. Он работает полностью в автономном режиме и предлагает интерфейс командной строки, терминал и веб-интерфейс.
Самое заметное изменение в версии 0.11 — это новый веб-интерфейс, который, по словам разработчиков, был написан с нуля.
Если предыдущий интерфейс в основном предназначался для просмотра проблем, то новый позволяет пользователям управлять ими. Вы можете просматривать, искать, фильтровать и разбивать на страницы задачи, создавать новые, добавлять и редактировать комментарии, менять заголовки, метки и статус задач, а также просматривать профили пользователей с их заявленными задачами.
Фильтры хранятся непосредственно в URL, поэтому вы можете поделиться ссылкой на отфильтрованные задачи. Интерфейс включает четыре темы, светлый и темный варианты с мягким и жестким стилями, а также поддерживает переключение между несколькими репозиториями, если на сервере их несколько.

Новый веб-интерфейс git-bug
Не менее важно и то, что помимо отслеживания проблем появилось важное дополнение. Веб-интерфейс теперь также работает как браузер кода репозитория.
Пользователи могут перемещаться по дереву файлов репозитория, просматривать файлы с подсветкой синтаксиса и номерами строк, переходить по ссылкам на конкретные диапазоны строк и просматривать файлы в формате Markdown прямо в браузере. Кроме того, он может отображать историю коммитов для отдельных файлов и каталогов, показывать сведения о коммитах и сворачиваемые различия, а также переключаться между ветками и тегами.
Эти возможности доступны не только во внешнем интерфейсе. Серверная часть git-bug теперь может просматривать ссылки, деревья, блобы, историю коммитов и различия в Git с помощью GraphQL API проекта. Также доступна новая конечная точка HTTP для получения необработанных файлов репозитория.

Веб-интерфейс теперь выполняет функции браузера кода для обслуживаемого им репозитория.
В версии 0.11 значительно улучшена корректность работы. Разработчики устранили проблемы, связанные с конфликтами в кэше, устаревшими метаданными, неатомарными коммитами, индексами поиска, которые не обновлялись после слияний, а также с метками, общими для разных представлений одной и той же ошибки.
Также улучшена обратная совместимость. Неизвестные операции теперь сохраняются, а не игнорируются. Это означает, что если более новая версия git-bug или другая реализация выполняет операцию, которую не поддерживает старая версия, данные остаются нетронутыми, а не теряются при перезаписи ошибки.
Еще одно заметное улучшение касается поискового индекса. git-bug перешел с Bleve v1 на Bleve v2, и разработчики сообщают, что в собственном репозитории проекта размер индекса уменьшился с 51 МБ до менее чем 4 МБ. Существующие индексы автоматически перестраиваются при обновлении.
И последнее, но не менее важное: стоит иметь в виду несколько критических изменений. При установке git-bug с помощью go install веб-интерфейс больше не включается, команда git bug commands была удалена, а опция git bug webui --host была переименована в --bind. Также была прекращена поддержка некоторых платформ, которые тестировались реже, в том числе Linux на 386 и s390x.
Дополнительные сведения и файлы для скачивания см. на странице релиза проекта на GitHub.
Изображение предоставлено git-bug.
