- Вышла версия Git 2.52 с более чем 600 изменениями и новыми функциями.
- Добавлены новые команды для работы с информацией репозитория и файлами, а также улучшена производительность.
- Подготовка к переходу на Git 3.0 с изменением дефолтной ветки на «main» и переходом к использованию SHA-256 для шифрования объектов.
17 ноября 2025 года состоялся релиз Git 2.52 — очередной этап развития популярной распределённой системы управления версиями. В эту версию вошло 637 изменений и исправлений, выполненных 94 разработчиками, среди которых 33 впервые приняли участие в проекте. Такой масштаб обновления свидетельствует об активной поддержке и развитии Git с прицелом на будущее обновление до версии 3.0.
Основные нововведения версии 2.52 ориентированы на расширение функционала и повышение удобства работы с репозиториями. Представлена команда git last-modified, позволяющая получить список файлов в заданной ревизии с указанием последних коммитов, вносящих изменения в эти файлы. Другая новая команда — git repo — предлагает подкоманды для получения структурных данных и информации о настройках репозитория, что облегчает анализ и диагностику проектов.
Команда git refs была значительно расширена и теперь объединяет функции сразу нескольких низкоуровневых операций над ссылками в репозитории. Добавлены подкоманды для оптимизации хранения ссылок, вывода их списка и проверки существования определённых ссылок.
Важной стала поддержка криптографических подписей в расширенном формате операций импорта и экспорта истории коммитов, включая работу с SHA-256 и возможностью обработки подписанных тегов. Это подтверждает тенденцию к усилению безопасности и сохранности истории разработки в Git.
Для крупных монорепозиториев введена новая стратегия технического обслуживания — geometric — которая сокращает время проведения операций за счёт уменьшения ресурсоёмких процедур перепаковки и оптимизации объединения pack-файлов.
Команда git sparse-checkout теперь включает функцию clean, упрощающую удаление файлов, не соответствующих текущим настройкам sparse-checkout, что способствует удобству управления выборочной загрузкой данных.
Внутренний код был частично реорганизован для упрощения поддержки, в частности за счёт снижения зависимости от глобальных переменных. Внедрение фильтров Блума ускорило поиск по истории изменений при использовании масок файловых путей, повышая общую производительность и удобство в работе с большими и сложными репозиториями.
Кроме того, заметно увеличилась скорость работы команд git describe, git remote rename, git ls-files и git log -L. Оптимизации затронули и библиотеку для работы с разницей между версиями (xdiff).
Особое внимание разработчиков уделено экспериментальной поддержке компонентов, написанных на языке Rust. Сейчас такие модули не включаются в сборку по умолчанию, но предусматривается расширение их применения для дальнейшего улучшения безопасности и эффективности Git, что будет реализовано в версии 3.0.
Наконец, объявлены ключевые изменения для будущего Git 3.0. По умолчанию инициируемая ветка будет называться «main» вместо «master», что соответствует современным тенденциям и практикам в сообществе. Основным алгоритмом хэширования для идентификации объектов станет SHA-256, что повысит криптографическую устойчивость системы. При этом сохранится возможность взаимодействия между репозиториями, использующими разные алгоритмы, что упростит миграцию и совместную работу.
Таким образом, релиз Git 2.52 не только привносит значительные улучшения в функционал и производительность, но и служит важной ступенью в подготовке к масштабному переходу на новую мажорную версию Git 3.0, которая закладывает фундамент для дальнейшего развития системы в условии современных требований к безопасности и надежности.
