После года и пяти месяцев разработки состоялся выпуск 2.27 простой и высоконадёжной распределённой кроссплатформенной системы конфигурационного управления Fossil SCM, разрабатываемой автором SQLite, Дуэйном Ричардом Хиппом.
Проект написан на языке C, использует базу данных SQLite, как хранилище репозитория, и имеет встроенный http-сервер. Для расширения возможностей возможна компиляция со встроенной поддержкой языка TCL.
Кроме системы контроля версий, fossil-репозитории могут опционально иметь форум, Вики, багтрекер и чат – в единственном sqlite-файле!
Распространяемые на странице загрузки архивы содержат только один исполняемый файл, с минимальными системными зависимостями.
Поддерживается возможность как полного, так и инкрементального (в уже существующий файл .fossil) импорта git- и subversion- репозиториев.
В новой версии:
- Предотвращена потенциальная DDoS-атака любого общедоступного сервера Fossil, связанная с экспоненциальным поведением в реализации регулярных выражений Fossil.
- Исправлена SQL-инъекция на странице /file. Благодаря дополнительным средствам защиты, встроенным в Fossil, как и удаче, эта инъекция не может быть использована ни для вывода данных, ни для повышения привилегий. Единственным возможным результатом вызова инъекции является безобидная ошибка в синтаксисе SQL.
- Усилена защита от роботов для предотвращения перегрузки общедоступных серверов новейшим поколением «ИИ»-«пауков»:
- новая javascript-капча для ограничения доступа пользователя
nobodyк страницам, перечисленным в настройке robot-restrict; - добавлена настройка robot-exception для разрешения доступа к страницам, соответствующим регулярному выражению. Используйте её, например, для разрешения загрузки архивов tar-релизов в скриптах curl и подобным им;
- требуется, как минимум, анонимный вход для доступа к странице
/blameи подобным.
- новая javascript-капча для ограничения доступа пользователя
- Улучшения в хронологии событий:
- параметр запроса
chng=на странице хронологии теперь работает и с другими параметрами запроса, такими какp=,d=,from=иto=; - узлы
sel1=иsel2=теперь всегда отображаются в хронологии; - улучшен заголовок страницы при отличии
p=иd=.
- параметр запроса
- Добавлена поддержка опции
--editorв команде fossil amend. - Теперь не производится переход в директорию
/procпри поиске репозиториев Fossil. - Уменьшены требования к памяти при отправке заверенных сообщений протокола синхронизации.
- Отображение статистики изменений в стиле
numstatна страницах/infoи/ckout. - Добавлена подкоманда stash rename.
- Добавлена опция
-hкоманде ls для отображения хешей файлов в заданных коммитах в режиме подробного вывода.





