Все заметные изменения в Sourcegraph задокументированы в этом файле.
completions.smartContextWindow
, который по умолчанию установлен в «включено». Он позволяет клиентам настраивать контекстное окно на основе имени модели чата. Когда smartContextWindow включен, значение completions.chatModelMaxTokens
игнорируется. (#62802)TimeoutDatapointAlert
и GenericIncompleteDatapointAlert
теперь содержат дополнительное поле repositories
. (#62756).claude-3-sonnet-20240229
. (#62757)fireworks/starcoder
. (#62757)SRC_ACCESS_TOKEN
теперь обязательно для загрузки индексов SCIP с помощью src-cli. (#62573)rev:at.time()
, который позволяет искать ветку в определённый момент времени. #61513
cody.contextFilters
в конфигурации сайта. Администраторы могут устанавливать правила включения и исключения, чтобы определить, какие репозитории Cody может использовать в качестве контекста в своих запросах к сторонним LLM. Исправлен баг для классов Python с декораторами и классов C# с атрибутами, который мешал поиску символов (type:symbol) и боковой панели символов обнаруживать их должным образом:
5.3.12303
Добавлено:
Индексированный поиск теперь поддерживает слив реплики индексов для поддержки нулевого времени простоя при уменьшении размера кластера.
Исправлено:
Бинарные файлы Rust теперь собираются в режиме выпуска, чтобы избежать ненужных проверок отладки.
Как scip-ctags сообщает об ошибках, чтобы не нарушать индексацию поиска при нефатальных ошибках.
Исправлен баг в корпоративном контексте Cody для запросов, содержащих только стоп-слова.
Исправлена ошибка выпадающего списка экземпляров на панели инструментов зоэкт Grafana.
5.3.11625
Изменено:
Уведомления, настроенные в конфигурации сайта, теперь позволяют указать стиль или цвет.
Уменьшено количество сообщений об ошибках при отмене индексации символов или отмене запроса на синтаксическое выделение.
Исправлено:
Исправлен баг, когда команда src batch preview могла завершиться ошибкой из-за неправильной ошибки «файл не найден».
Исправлен баг, из-за которого страница ролей в представлении Site Admin была недоступна.
Исправлен сбой в Cody Attribution в sourcegraph-frontend при сообщении об ошибке.
5.3.9104
Добавлено:
Установки приложений GitHub теперь можно обновить со страницы администратора сайта Batch Changes.
Конфигурация поставщика аутентификации SAML теперь поддерживает поле usernameAttributeNames, которое можно использовать для указания списка атрибутов SAML, которые должны использоваться в качестве имени пользователя.
Добавлен запрос GraphQL User.evaluateFeatureFlag, чтобы показать, включена или отключена функция для пользователя.
Поиск заданий теперь поддерживает поиск различий, коммитов и путей. Раньше поддерживался только поиск файлов.
Поставщики аутентификации теперь поддерживают опцию noSignIn, которая, если установлена в значение true, скроет аутентификацию.
Изменения:
Пользователи могут подключаться к внешней учётной записи со страницы безопасности своей учётной записи, но при этом провайдер на странице входа по-прежнему доступен.
В репозиториях появилась кнопка «Commits», которая показывает коммиты для элементов в этой папке.
На панели инструментов Grafana появился новый показатель Prometheus, который отслеживает количество запросов, отправляемых Sourcegraph внешним службам.
Добавлена поддержка настройки gitURLType для Gerrit. Теперь Sourcegraph поддерживает клонирование из Gerrit через SSH. Примечание: пока не поддерживается в облаке, как и для всех хостов кода.
Поддержка моделей чата OpenAI для корпоративных клиентов.
Появилась поддержка явного перечисления репозиториев для синхронизации с Bitbucket Cloud. Ранее Sourcegraph автоматически Изменения:
Исправления:
Autoupgrade ищет только открытые соединения с базой данных из служб приложений Sourcegraph и игнорирует другие приложения, подключённые к экземпляру postgres.
Устраняет ошибку, из-за которой наведение курсора не появлялось в заголовках C++ с расширением .hxx.
Исправления:
Добавление:
Панель поиска теперь поддерживает поиск по ключевым словам по умолчанию, который объединяет термины вместе, а не выполняет буквальный поиск, как раньше. Поведение можно отключить с помощью переключателя на странице результатов поиска.
Фильтр has.topic теперь поддерживает фильтрацию по темам Gitlab.
Batch Changes теперь позволяет экспортировать наборы изменений в формате CSV и JSON.
Поддерживает пользовательские модели ChatCompletion в клиентах Cody для пользователей dotcom.
Темы, синхронизированные с GitHub и GitLab, теперь отображаются для совпадений репозиториев на странице результатов поиска и на странице дерева репозиториев.
Добавлен новый столбец «JSON метаданных репозитория» в экспорт CSV результатов поиска репозиториев, который включает закодированный объект метаданных ключ-значение.
Срок действия токенов доступа. Пользователи теперь могут выбирать максимальный промежуток времени, в течение которого токен действителен. Токены автоматически теряют доступ после этого периода. Стандартные временные рамки и переопределение для отключения токенов доступа без срока действия можно настроить в разделе auth.accessTokens конфигурации сайта.
Изменения:
В соединениях теперь есть поле «exclude», которое предотвращает синхронизацию репозиториев из этого списка.
Ограничьте количество активных токенов доступа для пользователя. По умолчанию пользователи могут иметь 25 активных токенов доступа. Этот лимит можно настроить с помощью параметра maxTokensPerUser в разделе auth.accessTokens конфигурации сайта.
Добавьте экспериментальную поддержку .cody/ignore при получении удалённого контекста. Чтобы включить её, установите experimentalFeatures.codyContextIgnore: true в конфигурации сайта.
Администратор сайта, ссылка на сервис аналитики Cody.
Добавлена переработанная панель фильтров на страницу результатов поиска, облегчающая рабочий процесс, ориентированный на итеративное уточнение.
Результаты поиска были обновлены, улучшая информационную плотность результатов.
Добавлен предварительный просмотр панели к результатам поиска файлов, чтобы вы могли просмотреть полный файл, не уходя со страницы результатов поиска.
Изменения:
cody.restrictUsersFeatureFlag устарел и заменён управлением доступом на основе ролей. До тех пор, пока старое значение конфигурации не будет удалено из конфигурации вашего сайта, оно будет учитываться как прежде, но с предупреждением, отображаемым в верхней части Sourcegraph. После удаления старый флаг функции больше не будет учитываться, и доступ к Cody будет управляться через управление доступом на основе ролей, см. документы для получения дополнительной информации.
Параметр experimentalFeatures.searchQueryInput теперь относится к новому вводу запроса как v2 (не experimental). * Поиск на основе кода Intel не включает текущий выбранный контекст поиска. Можно было попасть в ситуацию, когда поиск на основе кода Intel не нашёл бы никакой информации из-за ограничения текущим контекстом поиска. #58010.
Последний коммит, который изменил файл/каталог, теперь отображается на панели файлов на странице репозитория и файловых страницах. Во избежание дублирования информации и путаницы панель коммитов была удалена. #58328.
Нажатие на результат поиска теперь открывает представление BLOB-объекта при том же коммите, что и результат поиска. Раньше представления BLOB-объектов открывались на вершине ветки по умолчанию, что иногда приводило к несоответствию номеров строк, если индекс был устаревшим. #58381.
Конфигурация исключения для конфигурации хоста кода была обновлена, чтобы разрешить объединение нескольких условий вместе и фильтрацию репозиториев GitHub на основе их размера или количества звёзд GitHub. #58377 и #58405.
Изменения в Sourcegraph
experimentalFeatures.structuralSearch: "enabled"
в конфигурации сайта.experimentalFeatures.searchJobs: false
.count:
в поиске было увеличено до 10000, что значительно увеличило количество исчерпывающих поисков по умолчанию.Исправлено:
content:
в вашем запросе.5.2.4
Добавленное
Возможность использования Workload Identity, Managed Identity и Environmental учётных данных при использовании поставщиков завершения и встраивания Azure OpenAI.
Поддержка клонирования через SSH из Azure DevOps.
Исправленное
Две проблемы в Zoekt, которые могли вызвать ошибки нехватки памяти во время индексации поиска, были устранены.
Проблема с производительностью при планировании заданий по встраиванию была устранена.
5.2.3
Добавленное
58346. Теперь Sourcegraph поддерживает подключение к Bitbucket Cloud с помощью токенов доступа к рабочему пространству.
58465. Исправлено: определение фильтров файлов для заданий встраивания больше не приводит к пропуску всех файлов, если не определено MaxFileSizeBytes
.
5.2.2
Добавлено:
Исправлено:
5.2.1
Добавлено:
добавлены два новых параметра конфигурации авторизации для подключений к хостам кода GitHub: «markInternalReposAsPublic» и «syncInternalRepoPermissions». Установка «markInternalReposAsPublic» в значение true полезна для организаций, имеющих большое количество внутренних репозиториев, доступ к которым должны иметь все пользователи экземпляра, что избавляет от необходимости иметь разрешения для доступа к этим репозиториям. Установка «syncInternalRepoPermissions» в значение true добавляет дополнительный шаг к синхронизации разрешений пользователей, который явно проверяет внутренние репозитории. Однако это может привести к увеличению времени синхронизации разрешений пользователей.
исправлена проблема с Code Monitors, которая могла приводить к тому, что пользователи получали уведомления несколько раз об одном и том же коммите.
исправлена проблема с Code Monitors, из-за которой новый Code Monitor не мог быть создан, если он был нацелен на несколько репозиториев.
экземпляры Sourcegraph теперь будут по умолчанию отправлять ограниченный набор телеметрических событий в фоновом режиме (#57605). Включение будет основываться на следующих условиях: клиенты с лицензионным ключом, созданным после 3 октября 2023 года, или не имеющим настроенного действующего лицензионного ключа. * Устранена проблема, когда страница разрешений пользователя была недоступна, если пользователь не имел синхронизаций разрешений с подключённой внешней учётной записью.
Устранён баг, из-за которого администраторы сайта не могли просматривать разрешения пользователя, если у них не было доступа ко всем репозиториям пользователя. Администраторы по-прежнему не смогут видеть репозитории, к которым у них нет доступа, но они смогут просматривать остальные разрешения репозиториев пользователя.
Устранён баг, при котором статистика gitserver неправильно декодировалась / сообщалась при использовании REST (т. е. experimentalFeatures.enableGRPC = false в конфигурации сайта).
Обновлены зависимости curl и libcurl до версии 8.4.0-r0, чтобы исправить CVE-2023-38545. ## 5.2.0
Добавлена экспериментальная поддержка AWS Bedrock Claude для провайдера завершений.
Теперь можно просматривать журналы команд для операций Git, выполненных Sourcegraph. Это обеспечивает возможности аудита и отладки.
На странице администратора сайта «Git Servers» теперь отображаются показатели использования диска для git-серверов, показывая свободное/общее дисковое пространство. Это помогает администраторам сайтов отслеживать ёмкость хранилища на GitServers.
Переработан интерфейс администратора для упрощения работы пользователей. Введены модальное окно с проверкой лицензионного ключа, автоматическая навигация на страницу конфигурации сайта, интерактивная кнопка контрольного списка адаптации и прямые ссылки на документацию по настройке SMTP и аутентификации пользователей.
Новая экспериментальная функция «Поиск заданий». Функция поиска заданий позволяет выполнять поисковые запросы в кодовой базе вашей организации (все репозитории, ветки и ревизии) в масштабе. Она расширяет существующие возможности поиска Sourcegraph, позволяя выполнять поиск без тайм-аутов запросов или неполных результатов. Подробнее см. в документации.
OpenTelemetry Collector был обновлён до версии v0.81, а пакеты OpenTelemetry — до версии v1.16.
Соединения с хостом кода Bitbucket Cloud больше не синхронизируют автоматически репозиторий используемого имени пользователя. Необходимо добавить соответствующее имя рабочей области в список «teams», если необходимо синхронизировать репозитории для этой учётной записи.
Новые токены доступа теперь скрыты по умолчанию в пользовательском интерфейсе Sourcegraph. Чтобы просмотреть токен, нажмите кнопку «показать» рядом с токеном.
Сервис прокси GitHub был удалён и больше не требуется. Его можно безопасно удалить из развёртывания.
При запуске сервер индекса Zoekt теперь удаляет каталог <DATA_DIR>/.indexserver.tmp, чтобы удалить оставшиеся клоны репозиториев, что может вызвать небольшую задержку. Из-за ошибки этот каталог ранее не очищался и мог привести к ненужному использованию диска. - Теперь gRPC используется по умолчанию для всего внутреннего (сервис-сервис) взаимодействия. Это изменение должно быть незаметно для большинства клиентов. Однако, если вы работаете в среде, которая ограничивает внутренний трафик Sourcegraph, может потребоваться некоторая предварительная настройка. См. «Руководство по настройке gRPC для Sourcegraph 5.2» для получения дополнительной информации.
Индексированный поиск:
— Удалённая устаревшая переменная среды ZOEKT_ENABLE_LAZY_DOC_SECTIONS.
Федерация:
Функция федерации, которая могла перенаправлять пользователей из их собственного экземпляра Sourcegraph на общедоступные репозитории на Sourcegraph.com, была удалена. Она позволяла пользователям открывать URL-адрес репозитория на своём собственном Sourcegraph.
Экземпляр и, если репозиторий не был найден в этом экземпляре, пользователь будет перенаправлен в репозиторий на Sourcegraph.com, где он, возможно, был найден. Функция была сломана больше года, и мы не знаем, использовалась ли она. Если вы хотите её использовать, пожалуйста, откройте запрос функции и отметьте команду @sourcegraph/source.
Экспериментальный флаг функции applySearchQuerySuggestionOnEnter в настройках пользователя был удалён, и теперь это поведение всегда включено. Ранее это поведение было включено по умолчанию, но его можно было отключить.
Флаг функции search-hybrid, который позволял отключать улучшения производительности для неиндексированного поиска в версии 4.3, теперь устарел и больше не будет читаться.
Версия 5.1.9:
Версия 5.1.8:
Версия 5.1.7:
Версия 5.1.6:
При включении эти фрагменты пропускаются после неудачных попыток, но индекс может продолжать заполняться. При отключении всё задание завершается неудачно и индекс не сохраняется. Эта настройка включена по умолчанию.
Встроенные статистические данные о заданиях теперь фиксируют code_chunks_excluded и text_chunks_excluded. Экспериментальная поддержка Azure OpenAI для поставщиков завершений и внедрений.
Экспериментальная поддержка Azure OpenAI для провайдеров завершений и внедрений.
Добавлена функция флага для альтернативного разрешения видимости проектов GitLab. Это может решить некоторые странные случаи, когда внутренние проекты GitLab не видны.
Чтобы использовать этот флаг функции, создайте логический флаг с именем «gitLabProjectVisibilityExperimental» и установите значение True.
Теперь можно добавлять аннотации к подам, порождённым заданиями, созданными исполнителем Kubernetes.
Стандартное и многоверсионное обновление в настоящее время не работает с версий Sourcegraph 5.0.X до 5.1.5. В качестве временного решения обновите версию 5.0.X до версии 5.1.0, затем версию 5.1.0 до версии 5.1.5.
— Исправлена проблема, из-за которой нельзя было настроить приложения GitHub с помощью Firefox.
— Исправлено падение nil при выполнении определённых запросов GraphQL для перечисления пользователей.
Вкладка «Файлы» в инструменте поиска теперь позволяет перейти непосредственно к номеру строки, добавив :NUMBER. Например, запрос fuzzy main.ts:100 открывает строку 100 в файле main.ts.
Реализация gRPC для конечной точки LocalCodeIntel сервиса Symbol теперь передаёт результаты потоком.
Поставщики аутентификации GitLab теперь поддерживают опцию ssoURL, которая упрощает сценарии, когда группе GitLab требуется SAML/SSO.
Исправлено:
— Ошибка, из-за которой мы временно использовали гораздо больше памяти, чем требовалось, при получении вложений.
Изменено:
— Пользовательский интерфейс лицензионных ключей теперь отображает больше информации о действительности лицензии.
— Sourcegraph теперь поддерживает более одного поставщика аутентификации на URL.
— Администраторы сайта теперь могут просматривать, редактировать и перечислять все мониторы кода.
Изменённое:
— Код Cody (для расширения VS Code, CLI и общих библиотек клиента) перемещён в репозиторий sourcegraph/cody.
— Инструментарий golang.org/x/net/trace, ранее доступный в /debug/requests и /debug/events, полностью удалён из основных сервисов Sourcegraph. Он остаётся доступным для Zoekt.
Исправленное:
— Исправлен сбой в планировщике заданий по встраиванию, когда мы не можем разрешить один из репозиториев или его ветку по умолчанию, тогда все отправленные репозитории не будут иметь соответствующие задания по встраиванию в очереди. Планировщик заданий по встраиванию теперь продолжит планировать задания для последующих репозиториев в наборе отправленных репозиториев.
Исправленное:
— Устранён сбой при загрузке индексов с неправильно сформированными исходными диапазонами (это была ошибка в scip-go).
— Проверена валидация конфигурации Bitbucket Cloud в форме создания/обновления сайта-администратора.
— Устранено состояние гонки с сообщением grpc server.send.
— Решена проблема инициализации конфигурации, которая нарушила исходящий запрос на странице администратора сайта.
— Исправлен крайний случай построения DSN Postgres.
Исправленное:
— Поведение по умолчанию при включении явного API разрешений теперь исправлено. Репозитории больше не помечаются как неограниченные по умолчанию.
Примечание: Начиная с версии 5.1.0 ограниченный набор OSS Sourcegraph был удалён, и код поиска OSS был перевыпущен под новой лицензией. Дополнительную информацию см. на странице https://github.com/sourcegraph/sourcegraph/issues/53528#issuecomment-1594967818 (скоро появится сообщение в блоге). Примечание: начиная с версии 5.1.0 алгоритм подписи rsa-sha больше не поддерживается при подключении к хостам кода через SSH. Если вы столкнулись с ошибкой sign_and_send_pubkey: no mutual signature supported при синхронизации репозиториев, см. раздел «Репозитории». Аутентификация
(https://docs.sourcegraph.com/admin/repo/auth#error-sign_and_send_pubkey-no-mutual-signature-supported) для получения дополнительной информации и шагов по решению проблемы.
Известные проблемы
Добавлено
ENABLE_INJECT_HTML
). Это позволяет пользователям включать или отключать настройку HTML по мере необходимости, что теперь отключено по умолчанию. #51400.codeintel_autoindexing_exceptions
. #51578.batchChanges.autoDeleteBranch
. # 52055Метаданные репозитория теперь общедоступны для всех: #50567, #50607, #50857, #50908, #972, #51031.
Пакетные изменения для хостов кода Gerrit:
Исполнители:
Добавлено isCodyEnabled как новое поле GraphQL для Site:
Последний вывод клона/синхронизации репозитория:
Новый предикат file:has.contributor(...) для фильтрации файлов на основе участников.
Для Cody в Интернете добавлен селектор области видимости для нескольких репозиториев:
Batch Changes может подписывать коммиты для наборов изменений, опубликованных на хостах кода GitHub, через GitHub Apps.
В страницу конфигурации сайта добавлена история изменений:
Пользователи теперь будут видеть идентификатор списка изменений (CL) вместо Git commit SHAs при посещении хранилища Perforce или страницы просмотра списков изменений.
При посещении определённого CL теперь будет использоваться идентификатор CL в URL вместо идентификатора фиксации SHA. Другие области, затронутые этим изменением, включают просмотр файлов в определённом CL и просмотр определённого файла, изменённого как часть определённого CL. Чтобы включить это поведение, администраторы сайта должны установить «perforceChangelistMapping»: «enabled» в экспериментальных функциях в конфигурации сайта. Обратите внимание, что в настоящее время мы обрабатываем только один склад Perforce за раз, чтобы сопоставить идентификаторы фиксации SHAs с их идентификаторами CL в бэкэнде. В следующем выпуске мы добавим поддержку параллельной обработки нескольких складов. Другие области, где в настоящее время используются идентификаторы фиксации SHA, будут обновлены в будущих выпусках.
Автоматическое обновление позволяет автоматически выполнять обновления между версиями без ручного запуска migrator через развёртывание frontend. Подробнее см. в документации. ### Изменённое
Токены доступа теперь начинаются с префикса sgp_, чтобы их можно было идентифицировать как секреты. Вы также можете добавить sgp_ к ранее сгенерированным токенам доступа, хотя они продолжат работать без этого префикса.
Сообщение о фиксации, определённое в спецификации пакета, теперь будет заключено в кавычки при вызове git, например, git commit -m «commit message», чтобы улучшить интерпретацию сообщения оболочкой в определённых крайних случаях, таких как когда сообщение фиксации начинается с дефиса. Это может означать, что предыдущие стратегии экранирования будут вести себя по-другому.
Ошибки 429 от внешних служб, с которыми взаимодействует Sourcegraph, автоматически повторяются только в том случае, если заголовок Retry-After не указывает на то, что повторная попытка будет бесполезной. Период времени отсрочки можно настроить с помощью SRC_HTTP_CLI_EXTERNAL_RETRY_AFTER_MAX_DURATION. SRC_HTTP_CLI_INTERNAL_RETRY_AFTER_MAX_DURATION
События безопасности БОЛЬШЕ НЕ записываются в базу данных по умолчанию — вместо этого они будут записываться в формате журнала аудита на консоль. Существует новый параметр конфигурации сайта log.securityEventLogs, который можно использовать для настройки журналов событий безопасности для записи в базу данных, если требуется старое поведение. Этот новый стандарт значительно улучшит производительность для крупных экземпляров. Кроме того, старая переменная среды SRC_DISABLE_LOG_PRIVATE_REPO_ACCESS больше ничего не делает.
Журналы аудита и события безопасности записываются с тем же уровнем серьёзности, что и SRC_LOG_LEVEL. Это предотвращает проблему неправильной конфигурации, когда log.AuditLogs.SeverityLevel был установлен ниже общего уровня журнала экземпляра. log.AuditLogs.SeverityLevel помечен как устаревший и будет удалён в будущем выпуске.
Обновлена минимальная поддерживаемая версия Redis до 6.2.
Свойства спецификации пакета transformChanges и workspaces теперь доступны для всех.
Флаги функций Cody были упрощены. См. страницу документации для получения полных сведений о настройке (https://docs.sourcegraph.com/cody/explanations/enabling_cody_enterprise).
Если запрос Sourcegraph отслеживается, его идентификатор трассировки и идентификатор диапазона теперь устанавливаются в заголовки ответа X-Trace и X-Trace-Span соответственно. URL трассировки (если шаблон настроен в observability.tracing.urlTemplate) теперь устанавливается в X-Trace-URL — ранее URL устанавливался в X-Trace. 5.1.x (https://docs.sourcegraph.com/admin/migration/5_1) для получения полной информации.
Sourcegraph Own теперь доступен в качестве бета-функции предприятия. Функциональный флаг search-ownership удалён и больше не используется.
Обновите Jaeger до версии 1.45.0, а Opentelemetry-Collector до версии 0.75.0 (#54000).
Переключились на операционную систему Wolfi для усиленных контейнеров (#47182, #47368).
Изменения пакетов теперь поддерживают CODEOWNERS для Github. Запросы на вытягивание, требующие одобрения CODEOWNER, больше не будут отображаться как одобренные, если они явно не одобрены CODEOWNER. https://github.com/sourcegraph/sourcegraph/pull/53601
Небезопасный алгоритм подписи rsa-sha больше не поддерживается при подключении к хостам кода через SSH. Подробнее см. на странице аутентификации репозитория (Repository authentication) https://docs.sourcegraph.com/admin/repo/auth#error-sign_and_send_pubkey-no-mutual-signature-supported.
api.rateLimit
был удалён.Легаси (табличный) вьювер блобов.
— утверждения SAML для получения отображаемого имени пользователя теперь сравниваются без учёта регистра, и мы не всегда возвращаем ошибку;
— исправлена проблема, из-за которой поиск типа «diff» не работал, когда были включены разрешения подрепозитория.
— члены организации теперь могут администрировать пакетные изменения, созданные другими участниками в пространстве имён их организации, если для этой организации включена настройка orgs.allMembersBatchChangesAdmin
;
— разрешён публичный доступ к экземпляру на основе конфигурации сайта auth.public
и тега лицензии allow-anonymous-usage
;
— теперь поддерживается поле конфигурации конечной точки для завершений провайдером OpenAI.
— расчёт MAU в аналитике продуктов и пингах использует одно и то же условие и UTC во все времена;
— интеграция с Bitbucket native: исправлены всплывающие окна code-intel на страницах запросов на вытягивание;
— столбец id
таблицы user_repo_permissions
переключён на bigint
, чтобы избежать переполнения int
;
— в некоторых обстоятельствах файлы с именами, содержащими ..
, либо не могли быть прочитаны, либо возвращали разницу при просмотре. Теперь мы всегда правильно читаем эти файлы;
— снова работает подсветка синтаксиса для нескольких языков, включая Python, Java, C++, Ruby, TypeScript и JavaScript, при использовании варианта развёртывания одного контейнера Docker. Другие варианты развёртывания не были затронуты.
— поиск вины Git репозиториев, синхронизированных через src serve-git
или хосты кода с использованием пользовательского repositoryPathPattern
, теперь будет использовать правильный URL при включённой потоковой передаче вины Git;
— Code Insights, ограниченные статическим списком имён репозиториев, не смогут разрешить репозитории с включёнными разрешениями, что приведёт к неработоспособности Insights;
— пакеты: решена проблема с веб-перехватчиками GitHub, где обновления CI-проверки не выполнялись из-за удаления поля из полезной нагрузки веб-перехвата GitHub.
— агрегированные пинги Cody.
— Bitbucket Server добавляет журнал ошибок, если нет совпадения учётных записей для пользователя;
— ... В версии 5.0.2:
Изменения:
Исправления:
[#50541] Аналитика кода, которая выполняется над нулевыми репозиториями, завершает обработку и показывает «Нет данных для отображения».
[#50561] Таймауты DNS при вызовах host.docker.internal из каждой загрузки HTML-страницы для экземпляров docker-compose без подключения к сети. Больше никаких DNS-запросов в jscontext.go.
[#50638] Улучшена скорость встраивания индекса за счёт значительного уменьшения вызовов Gitserver.
[#50410]
Версия 5.0.1:
Добавленное:
[#50348]
Изменённое:
Исправленное:
[#50083]
[#50059]
[#50147]
[#50023]
[#50034]
[#50179]
Удалено:
Версия 5.0.0:
Добавленное:
TELEMETRY_HTTP_PROXY
может быть установлена в сервисе sourcegraph-frontend
, чтобы использовать HTTP-прокси для запросов телеметрии и проверки обновлений.[#47466]
deploy-sourcegraph-k8s представляет новую базовую кластерную среду, в которой все службы Sourcegraph работают как непривилегированные пользователи с ограниченными привилегиями, и устраняет необходимость создания ресурсов RBAC.
В другую внешнюю конфигурацию служб добавлен параметр other.exclude
Его можно настроить так, чтобы исключить зеркальное отображение репозиториев, соответствующих шаблону, аналогичному другим внешним службам. Это полезно, когда вы хотите исключить репозитории. Обнаружено через src serve-git.
Страница Администратор сайта > Обновления отображает информацию о готовности к обновлению, касающуюся расхождения схем и автономных миграций.
Пинги теперь содержат поиск владельца и количество просмотров файлов.
Значительно улучшено управление клавиатурой и доступность файлов и дерева символов на страницах репозитория.
Дерево файлов на странице репозитория теперь автоматически расширяется до каталогов с одним дочерним элементом.
Теперь Sourcegraph будет ждать рекомендуемое время и повторять запрос при достижении ограничений GitHub. Это предотвращает преждевременный сбой заданий синхронизации из-за внешних ограничений скорости.
Добавлена панель мониторинга с информацией о фоновых заданиях синхронизации разрешений пользователей и репозиториев.
При достижении ограничений GitHub или GitLab Sourcegraph теперь будет ждать рекомендуемое время и повторять запрос. Это предотвращает преждевременный сбой заданий синхронизации из-за внешних ограничений скорости (48423, 48616).
Переключение между редактором кода, файлами и деревьями символов с помощью сочетаний клавиш (в настоящее время под экспериментальным флагом функции: blob-page-switch-areas-shortcuts).
На странице администратора пользователя добавлены значки «SCIM» для пользователей, контролируемых SCIM.
Azure DevOps Services добавлен в качестве хоста кода уровня 1, включая синхронизацию репозиториев, синхронизацию разрешений и поддержку пакетных изменений.
Добавлена функция отключения некоторых полей в профилях пользователей для пользователей, управляемых SCIM.
Встроенная поддержка поиска и поиска тем GitHub с помощью repo:has.topic().
Контроль доступа на основе ролей теперь доступен как корпоративная функция (бета). В настоящее время поддерживается только функциональность пакетных изменений (43276).
Администраторы сайтов теперь могут ограничивать создание пакетных изменений определёнными пользователями, настраивая их роли и разрешения, предоставленные этим ролям (34491).
Администраторы сайтов теперь могут настраивать исходящие веб-перехватчики для пакетных изменений, чтобы информировать внешние инструменты о событиях, связанных с пакетными изменениями Sourcegraph и их наборами изменений (38278).
Sourcegraph Own теперь доступен в качестве экспериментальной корпоративной функции. Чтобы использовать его, включите флаг функции search-ownership.
Gitserver поддерживает новую переменную среды COURSIER_CACHE_DIR для настройки расположения кеша для репозиториев пакетов JVM coursier.
Пинг теперь выдаёт гистограмму размеров клонированных репозиториев Sourcegraph (48211).
Дизайн поискового ввода был изменён для значительного улучшения удобства использования. Новые контекстные предложения помогают пользователям изучать язык запросов Sourcegraph во время поиска. Предложения были унифицированы для всех контекстов и фильтров, а режим истории был интегрирован во ввод. Улучшенные и расширенные сочетания клавиш также значительно упрощают навигацию. Эта функция находится в стадии бета-тестирования и может быть отключена в меню пользователя. ПермишнсСинкДжобс заменяется. Новым неэкспериментальным запросом, который предоставляет полную информацию о заданиях синхронизации разрешений, хранящихся в базе данных:
Отображает файлы readme.txt на странице репозитория.
Отображает ссылки на запросы извлечения GitHub во всех местах, где упоминается сообщение коммита.
В представлении больших двоичных объектов CodeMirror (по умолчанию) используется навигация по коду, управляемая выбором.
Старые точки данных Code Insights теперь будут автоматически архивироваться в соответствии с настройкой конфигурации сайта insights.maximumSampleSize, которая по умолчанию установлена равной 30. Все точки можно экспортировать. Это поведение можно отключить с помощью экспериментальной настройки insightsDataRetention.
Конечная точка отладки администратора GraphQL для Code Insights теперь будет включать метаданные серии в ответ.
Телеметрия использования была упрощена; больше нет двух категорий (критическая и некритическая), и телеметрия будет упорядочена и рассмотрена/сокращена в будущих выпусках. Флаг администратора сайта disableNonCriticalTelemetry в настоящее время всё ещё остаётся, но не действует.
Исправлено:
Удалено:
Изменено:
Добавлено:
Переменные среды (SEARCHER_URL
, SYMBOLS_URL
, INDEXED_SEARCH_SERVERS
, SRC_GIT_SERVERS
) теперь могут быть установлены на значения реплик в средах Kubernetes, Kustomize, Helm и Docker Compose. Это позволяет избежать необходимости использовать обнаружение служб или генерировать соответствующий список адресов в этих средах. #45862.
Автор и адрес электронной почты по умолчанию для изменений теперь будут извлекаться из учётных данных пользователя, когда это возможно. #46385.
Code Insights имеет новую опцию отображения: «Максимальное количество точек серии для отображения». Этот параметр управляет количеством точек данных, которые вы видите. Для каждой серии при анализе:
46653: добавлена внеполосная миграция, которая перенесёт все существующие данные из LSIF в SCIP (см. дополнительную документацию по миграции).
45106: в Code Insights появилось новое поле репозиториев с поддержкой поиска, которое позволяет вам выбирать репозитории с синтаксисом поиска Sourcegraph.
45687: теперь вы можете экспортировать все данные для Code Insight из меню карточки или отдельной страницы.
46763: Gerrit добавлен как официально поддерживаемый хост кода с синхронизацией разрешений.
47074: файлы Markdown теперь поддерживают элементы <picture>
и <video>
в отображаемом представлении.
46335: пакетные изменения: выходные данные журнала выполнения шагов теперь разбиты на страницы в веб-интерфейсе.
47654: мониторинг: панель инструментов поисковика теперь содержит более подробные метрики запросов, а также информацию о взаимодействии с локальным кешем (через gitserver).
47593: рендеринг ссылок на запросы на вытягивание GitHub в списке коммитов.
47783: добавлен новый фоновый синхронизатор разрешений и планировщик, который поддерживается базой данных, в отличие от старого, основанного на очереди обработки в памяти. Новая система включена по умолчанию, но её можно отключить. Вернитесь к очереди обработки в памяти, установив флаг функции database-permission-sync-worker
в значение false
.
Zoekt: представляет новую функцию «объединение сегментов» по запросу. Объединение сегментов объединяет небольшие индексные файлы в более крупные, что уменьшает объём памяти веб-сервера Zoekt (документация).
47563: средство просмотра больших двоичных объектов теперь поддерживается редактором CodeMirror. Предыдущий табличный просмотрщик больших двоичных объектов можно повторно включить, установив experimentalFeatures.enableCodeMirrorFileView
в false
.
47266: поддержка сворачивания кода для средства просмотра CodeMirror.
44698: навигация по клавиатуре для больших двоичных объектов CodeMirror в качестве экспериментальной функции. Можно включить в настройках, установив experimentalFeatures.codeNavigation
в selection-driven
.
46831: архивные и удалённые наборы изменений больше не учитываются при подсчёте процента завершения, показанного в пользовательском интерфейсе пакетных изменений.
46538: у Code Insights появился новый пользовательский интерфейс для представления «Добавить или удалить аналитику», который теперь позволяет искать аналитику кода по метке серии в дополнение к заголовку аналитики.
Когда настроен SMTP, пользователи, созданные администраторами сайта через страницу «Создать пользователя», больше не будут иметь свои электронные письма, проверенные по умолчанию — пользователи должны подтвердить свои электронные письма с помощью. Установлен пароль. При отправке ссылки они получают или их электронные письма проверяются администратором сайта через вкладку «Электронные письма» в настройках пользователя или с помощью мутации setUserEmailVerified
. Мутация createUser
сохраняет старое поведение автоматической пометки электронных писем как... Проверки соединения для подключений к хостам кода были изменены
Теперь они напрямую обращаются к API хостов кода через HTTP вместо выполнения поиска DNS и установления TCP-соединения. Это делает их более устойчивыми в средах, где используются прокси.
И т. д.
В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский. # 4.4.2
— Исправлена ошибка пользовательского интерфейса, из-за которой папки с одним дочерним элементом отображались как сами дочерние папки. #46628
— Проблема с производительностью на странице исходящих запросов. #47544
— Режим «Запустить по всем репозиториям» в разделе «Code insights» заменён на синтаксис поиска по файлам с фильтрацией по репозиторию. #45687
— Настройки search.repositoryGroups
, codeInsightsGqlApi
, codeInsightsAllRepos
, experimentalFeatures.copyQueryButton
, experimentalFeatures.showRepogroupHomepage
, experimentalFeatures.showOnboardingTour
, experimentalFeatures.showSearchContextManagement
и codeIntelligence.autoIndexRepositoryGroups
были удалены, поскольку они устарели и не использовались. #47481
— Настройка конфигурации сайта enableLegacyExtensions
была удалена. В этой версии больше невозможно включить устаревшую функциональность API расширений Sourcegraph.
— Теперь срок действия лицензий обрабатывается по-другому. Когда лицензия истекает, продвижение до администратора сайта отключается, функции, специфичные для лицензии, отключаются (исключение составляют SSO и синхронизация разрешений), а семидневный период перед истечением срока действия был заменён предупреждением за семь дней до истечения срока действия. #47251
— Проверки подключения к хостам кода были изменены, чтобы напрямую взаимодействовать с API хостов кода через HTTP вместо выполнения поиска DNS и установления TCP-соединения. Это делает их более устойчивыми в средах, где используются прокси. #46918
— Исправлено поведение переполнения поля ввода поискового запроса на домашней странице поиска. #46922
— На страницу состояния индекса добавлена кнопка «Переиндексировать сейчас». Администраторы теперь могут принудительно выполнить немедленный переиндекс репозитория. #45533
— В раскрывающемся списке действий на странице «Пользователи сайта администратора» добавлен параметр «Разблокировать пользователя». Администраторы могут разблокировать учётные записи пользователей, которые были заблокированы после слишком большого количества попыток входа. #45650
— Шаблоны для определённых электронных писем, отправляемых Sourcegraph, теперь можно настроить с помощью email.templates
в конфигурации сайта. #45671, #46085
— Клавиатурная навигация для результатов поиска теперь включена по умолчанию. Используйте клавиши со стрелками вверх/вниз для перемещения между результатами поиска, стрелки влево/вправо для сворачивания и разворачивания совпадений файлов, Enter для открытия результата поиска в текущей вкладке, Ctrl/Cmd+Enter для открытия результата в отдельной вкладке, / для повторного фокусирования на поле поиска и Ctrl/Cmd+стрелка вниз для перехода от поля поиска к первому результату. Стрелки влево/вниз/вверх/вправо в предыдущих примерах можно заменить на h/j/k/l для привязок в стиле Vim. Клавиатурную навигацию можно отключить, создав флаг функции search-results-keyboard-navigation
и установив для него значение false. #45890
— Добавлена поддержка получения веб-хуков GitLab push
. #45856
— Добавлена поддержка приёма веб-хуков Bitbucket Server / Datacenter push
. #45909
— Мониторинг: на панели инструментов Indexed-Search появились новые графики для продолжительности поисковых запросов и рабочих нагрузок поисковых запросов authz.syncJobsRecordsLimit — теперь записи сохраняются на основе ограничения размера, а не возраста.
Отображение ссылок на запросы GitHub на странице просмотра git blame.
Исправлено:
Удалено:
Добавлено:
search-hybrid
в значение false. #37112.history.defaultPageSize
. Отдельные пользователи также могут установить history.defaultPagesize
на своей странице настроек пользователя, чтобы переопределить значение, установленное в глобальных настройках. #44651.Code Insights: API данных теперь предоставляет информацию о неполных точках данных во время обработки.
Добавлена попытка миграции, благодаря которой существующие Code Insights будут отображать нулевые результаты вместо пропущенных точек в начале и конце графика.
Более полные трассировки стека для журнала исходящих запросов.
Новое сообщение о состоянии сообщает, сколько репозиториев уже было проиндексировано для поиска.
Поисковые контексты теперь можно пометить звёздочкой (добавить в избранное) на странице управления поисковыми контекстами. Помеченные поисковые контексты будут отображаться перед другими контекстами в раскрывающемся меню контекста рядом с окном поиска.
Поисковые контексты позволяют установить контекст по умолчанию. Он будет выбираться каждый раз, когда вы открываете Sourcegraph, и будет отображаться в верхней части раскрывающегося меню контекста рядом с полем поиска.
[search.largeFiles] принимает необязательный префикс !
, чтобы отменить шаблон. Порядок шаблонов в search.largeFiles учитывается, так что последний совпадающий шаблон переопределяет предыдущие шаблоны. Для шаблонов, начинающихся с буквального !
с префиксом обратной косой черты, например, \!fileNameStartsWithExcl!.txt
. Ранее проиндексированные файлы, которые становятся исключёнными из-за этого изменения, останутся в индексе до следующего переиндекса.
Веб-перехватчики были полностью переработаны и теперь находятся в разделе Сайт администратора > Репозитории > Входящие веб-перехватчики. Веб-перехватчики, добавленные через конфигурацию хоста кода, [устарели] и будут удалены в версии 5.1.0.
Поддержка получения событий веб-перехвата push
от GitHub, которая будет запускать Sourcegraph для извлечения последнего коммита вместо использования опроса.
Поддержка частных реестров контейнеров в исполнителях Sourcegraph. [Использование частных реестров].
Изменено:
Пакетное изменение: когда выбран один или несколько наборов изменений, мы теперь показываем все массовые операции, но отключаем те, которые неприменимы к наборам изменений.
Рабочий процесс очистки репозитория Gitserver теперь работает с заданной периодичностью, а не только по выходным, настраивается через конфигурацию сайта repoPurgeWorker
.
Редактирование метаданных представления (заголовок, цвет строки, метка строки) или стандартных фильтров Code Insight в рамках области видимости больше не вызывает пересчёт insight.
Изменён индикатор memory_map_areas_percentage_used
для Indexed Search: теперь выдаёт предупреждение при 60% (ранее — при 70%), критическое оповещение — при 80% (ранее — при 90%).
Сохранение нового представления Code Insight в пределах области видимости больше не приводит к пересчёту insight.
Исправлено:
Индексатор Code Insights больше не выдаёт ошибку при получении коммитов из пустых репозиториев, когда включены разрешения. — Исправлены непреднамеренные символы новой строки, которые могли появляться при рендеринге представления diff.
— При выходе из системы пользователь больше не входит сразу обратно, если включён только один провайдер OAuth. Теперь пользователь перенаправляется на страницу входа Sourcegraph.
— Устранена проблема, из-за которой некоторые виды запросов вели себя непоследовательно в Code Insights.
— Когда включена настройка batchChanges.enforceForks, Batch Changes теперь будет добавлять префикс к имени создаваемого форк-репо с именем пространства имён исходного репо, чтобы предотвратить конфликты имён репозиториев.
— Code Insights: устранена проблема, при которой определённые запросы, соответствующие последовательным пробелам, могли быть подсчитаны неправильно.
— Персональные маркеры доступа GitHub с детальной настройкой теперь могут корректно клонировать репозитории, но официально пока не поддерживаются.
— Detect-and-track Code Insights теперь возвращает данные для репозиториев без разрешений подрепозитория, даже когда разрешения подрепозитория включены на экземпляре.
— Удалено устаревшее поле GraphQL dirtyMetadata в серии insights. В качестве альтернативы можно использовать insightViewDebug.
— Настройка сайта search.index.enabled удалена. Индексирование поиска теперь всегда включено.
— Экспериментальная настройка showSearchContextManagement удалена. Страница управления контекстом поиска теперь доступна всем пользователям с доступом к контекстам поиска.
— Экспериментальная настройка showComputeComponent удалена. Все блокноты, которые использовали вычислительный компонент, больше не будут отображать блок. Блок будет удалён из базы данных при следующем сохранении блокнота, который его использует.
— minio заменён на blobstore. См. примечания к обновлению здесь: https://docs.sourcegraph.com/admin/how-to/blobstore_update_notes
— Создание токенов доступа теперь отслеживается в событиях безопасности.
— Добавлен codeIntelAutoIndexing.indexerMap в конфигурацию сайта, что позволяет пользователям обновлять индексаторы, используемые при определении точных заданий автоиндексации кода интеллекта (без необходимости перезаписывать все сценарии вывода). Например, «codeIntelAutoIndexing.indexerMap»: {«go»: «my.registry/sourcegraph/lsif-go»}.
Будет использоваться указанный контейнер для проектов Go (в альтернативном реестре Docker).
Для точек данных Code Insights, которые не содержат результатов, будет отображаться ноль вместо их исключения из визуализации. Применяется только к данным, созданным после версии 4.2.
Sourcegraph поставляется с node-exporter, инструментом Prometheus, который предоставляет метрики оборудования / ОС, помогающие масштабировать развёртывание Sourcegraph. Дополнительную информацию можно найти в разделе обновления развёртывания: Kubernetes; Docker Compose.
Появится диагностика. Структурного поиска, предупреждающая пользователей, когда не установлен языковой фильтр.
Успешные и неудачные попытки OAuth GitHub/GitLab теперь являются частью журнала аудита.
При рендеринге файла, поддерживаемого Git LFS, отображается страница, информирующая о том, что файл является LFS, и содержащая ссылку на файл на хосте кода. Ранее отображался указатель LFS.
Изменения пакета выполняются на стороне сервера и теперь поддерживают секреты.
Попытки входа в систему OIDC теперь являются частью журнала аудита.
Новый экспериментальный запрос GraphQL permissionsSyncJobs
перечисляет состояния недавно выполненных заданий синхронизации разрешений и состояние каждого провайдера. TTL записей, которые будут сохранены, можно настроить с помощью authz.syncJobsRecordsTTL
.
У поисковой строки появилась кнопка истории поиска и возможность циклического перебора недавних поисков с помощью клавиш со стрелками вверх/вниз.
Репозитории теперь можно упорядочивать по размеру на странице администратора репозитория.
В строке поиска появился новый переключатель Smart Search. Если поиск не возвращает результатов, Smart Search пытается выполнить альтернативные запросы на основе фиксированного набора правил и показывает их результаты (если они есть). Smart Search включён по умолчанию. Его можно отключить по умолчанию с помощью "search.defaultMode": "precise"
в настройках.
Теперь в области администрирования сайта репозитории можно фильтровать так, чтобы отображались только индексированные репозитории.
Изменённое
Обновлена минимальная требуемая версия git до 2.38.1 в образах Docker gitserver
и server
. Это решает проблемы, связанные с уязвимостью безопасности git: https://github.blog/2022-04-12-git-security-vulnerability-announced/ и https://lore.kernel.org/git/d1d460f6-e70f-b17f-73a5-e56d604dd9d5@github.com/.
Когда в запросе используется фильтр content:
, выполняется поиск только содержимого файлов (ранее выполнялся поиск содержимого файлов, путей или репозиториев). Однако, как и раньше, если также установлен тип type:
, фильтр content:
будет искать результаты указанного типа.
Обновлено p4-fusion с версии 1.11 до версии 1.12.
Исправленное
Исправлена ошибка, из-за которой совпадения путей для файлов в корневом каталоге репозитория не выделялись.
Исправлена ошибка, при которой запрос поиска не проверялся после изменения типа запроса.
Исправлена проблема с аналитикой, из-за которой один ошибочный анализ блокировал доступ ко всем анализам. Это критическое изменение для пользователей API аналитики GraphQL, поскольку список InsightViewConnection.nodes
теперь может содержать значение null. ### 44491
Исправлена ошибка, из-за которой функция «Открыть в редакторе» плохо работала с "repositoryPathPattern" = "{nameWithOwner}"
(#43839).
Удалено
log.gitserver.accessLogs
. Настройку заменяет log.auditLog.gitserverAccess
(#43174).LOG_ALL_GRAPHQL_REQUESTS
. Настройку заменяет log.auditLog.graphQL
(#43181).SRC_ENDPOINTS_CONSISTENT_HASH
удалена. Это была переменная окружения для поддержки перехода на новую схему согласованного хеширования, представленную в версии 3.31.0. (#43528).ENABLE_CODE_INSIGHTS_SETTINGS_STORAGE
, который использовался в старых версиях Code Insights для возврата к хранилищу на основе настроек JSON. Все данные были ранее перенесены в версию 3.35, и эта поддержка больше не предоставляется.Исправлено
Исправлено
Удалено
4.1.0
Теперь в журнале аудита событий безопасности (security events) можно опционально опускать действия внутренних субъектов (internal actor actions), то есть внутренний трафик. #42946
Для использования дополнительной функции customGitFetch на gitserver необходимо установить переменную среды ENABLE_CUSTOM_GIT_FETCH. #42704
4.0.1
4.0.0
Новый внешний вид Sourcegraph, ранее находившийся в стадии бета-тестирования под названием «Simple UI», теперь включён постоянно. #41021
Теперь процесс обновления Sourcegraph позволяет экземплярам переходить более чем на одну младшую версию. Экземпляры версии 3.20 или выше могут перейти непосредственно на версию 4.0. #40628
Теперь выделяются совпадающие диапазоны в путях файлов для результатов поиска путей и содержимого. Также выделяются совпадающие пути в именах репозиториев для результатов поиска. Изменения
Для результатов поиска теперь предоставляются агрегации по репозиторию, файлу, автору и группе захвата.
Синтаксическая подсветка теперь выполняется лениво для улучшения производительности.
Ссылки на файлы в результатах поиска и на боковой панели больших двоичных объектов теперь загружаются при наведении курсора или фокусировке.
Поддержка отрицания для поисковых предикатов -repo:has.path() и -repo:has.content().
Экспериментальную клиентскую часть OpenTelemetry теперь можно включить с помощью параметра "observability.client": { "openTelemetry": "/-/debug/otlp" }, который отправляет данные OpenTelemetry в новый встроенный сборщик OpenTelemetry.
Sourcegraph с Kubernetes (без Helm): sidecar jaeger-agent заменён на конфигурацию DaemonSet + Deployment для OpenTelemetry Collector. Встроенное окружение Jaeger теперь по умолчанию отключено, а не включено.
Sourcegraph с Docker Compose: сервис jaeger заменён сервисом OpenTelemetry Collector. Встроенное окружение Jaeger теперь по умолчанию отключено, а не включено.
"observability.tracing": { "type": "opentelemetry" }
теперь является типом трассировщика по умолчанию. Чтобы вернуться к существующему поведению, вместо этого установите "type": "jaeger"
. Устаревшие значения "type": "opentracing"
и "type": "datadog"
были удалены.
"observability.tracing": { "urlTemplate": "" }
теперь используется по умолчанию, и если "urlTemplate"
оставить пустым, URL-адреса трассировки не создаются. Чтобы вернуться к существующему поведению, установите вместо этого "urlTemplate": "{{ .ExternalURL }}/-/debug/jaeger/trace/{{ .TraceID }}"
.
Токены подключения хоста кода больше не поддерживаются как резервный метод синхронизации изменений в пакетных изменениях.
ВАЖНО: repo:contains(file:foo content:bar)
был переименован в repo:contains.file(path:foo content:bar)
, а repo:contains.file(foo)
— в repo:contains.path(foo)
. repo:contains()
больше не является допустимым предикатом. Сохранённые поиски с использованием repo:contains()
необходимо обновить, чтобы использовать новый синтаксис.
Исправлено
Исправлена поддержка пустых репозиториев с помощью src-cli и других типов codehost. Для этого требуется последняя версия src-cli.
Теперь последовательно сообщается рекомендуемая версия src-cli.
Проблема с производительностью, влияющая на структурный поиск, устранена, теперь результаты передаются быстрее.
Исправлено, что поле ввода сохранённого поиска сообщало о недопустимом типе шаблона для standard, который теперь допустим.
Git теперь будет уважать системные центры сертификации при указании certificates для конфигурации сайта tls.external.
Исправлен баг, из-за которого установка "observability.tracing": {}
отключала трассировку, хотя предполагалось, что... Она будет включена по умолчанию с "sampling": "selective"
. #41242
Производительность, стабильность и задержка поисковых предикатов, таких как repo:has.file()
, repo:has.content()
и file:has.content()
, значительно улучшены. #418, #40239, #38988, #39501
Решена проблема с поисковым запросом, когда заключённые в кавычки шаблоны внутри выражений в скобках интерпретировались неправильно. ### Удалено
— Переменная CACHE_DIR была удалена из развёртывания sourcegraph-frontend. Эта переменная использовалась для эфемерного хранилища, которое больше не понадобится. Эта переменная (и соответствующее монтирование файловой системы) не использовалась в течение многих выпусков.
— Быстрые ссылки больше не будут отображаться на главной странице или в боковой панели поиска. Настройка quicklink теперь помечена как устаревшая.
— Быстрые ссылки больше не будут отображаться на домашней странице или на боковой панели поиска, если включён переключатель «Простой интерфейс» (Simple UI), и будут полностью удалены в будущем выпуске. Настройка quicklink теперь помечена как устаревшая.
— Функция file:contains() была удалена из списка допустимых предикатов. Функции file:has.content() и file:contains.content(), которые работают так же, как file:contains(), остаются и являются допустимыми псевдонимами друг друга.
— В одноконтейнерном развёртывании sourcegraph/server больше не содержится экземпляр Jaeger.
— Следующие ранее устаревшие поля были удалены из API Batch Changes GraphQL API: GitBranchChangesetDescription.headRepository, BatchChange.initialApplier, BatchChange.specCreator, Changeset.publicationState, Changeset.reconcilerState, Changeset.externalState.
— Исправлена проблема, вызывающая дампы ошибок отмены контекста при обновлении конфигурации хоста кода вручную.
— Исправлены некритические ошибки, останавливающие процесс синхронизации репозиториев для Bitbucket projectKeys.
— Исправлена ошибка, помечающая учётные записи как просроченные, когда предоставленный список идентификаторов учётных записей не содержит записей.
— Исправлен бесконечный цикл рендеринга на странице сведений об изменениях пакета, что делало страницу непригодной для использования.
— Невозможно выбрать правильный GitLab OAuth для аутентификации пользователя и синхронизации разрешений репозитория, когда экземпляр настраивает более одного поставщика аутентификации GitLab OAuth.
— Принудительное ограничение в 5 наборов изменений для пакетных изменений, выполняемых на стороне сервера на нелицензированном экземпляре.
— Для наборов изменений, которые не связаны с какими-либо пакетными изменениями, можно установить срок хранения с помощью конфигурации сайта batchChanges.changesetsRetention.
— Добавлена экспериментальная поддержка экспорта трассировок в сборщик OpenTelemetry с "observability.tracing": { "type": "opentelemetry" }.
— Добавлено ROCKSKIP_MIN_REPO_SIZE_MB для автоматического использования Rockskip для репозиториев определённого размера.
— Теперь можно настроить сгенерированные URL-адреса трассировки (например, те, которые генерируются через &trace=1) с помощью "observability.tracing": { urlTemplate: "... }".
— ВАЖНО: поисковые запросы с шаблонами, окружёнными /.../, теперь будут интерпретироваться как регулярные выражения. Существующие ссылки поиска или мониторы кода не затрагиваются. В редком случае, когда старые ссылки полагаются на буквальное значение /.../, строка будет автоматически заключена в кавычки в фильтре содержимого, сохраняя исходное значение. Если вы используете существующую старую ссылку и хотите, чтобы /.../ работал как регулярное выражение, добавьте patterntype:standard к запросу. Новые запросы и мониторы кода будут интерпретировать /.../ как регулярные. Изменена политика паролей, теперь она является частью стандартного набора функций, настраиваемого администраторами сайта.
Заменён ALLOW_DECRYPT_MIGRATION
на ALLOW_DECRYPTION
. См. обновлённую документацию.
Вычислительные данные поддерживают только один цвет для пользовательских цветов серии вычислительных столбцов.
Исправлено:
— Исправлена проблема при создании кода, когда выбор «Выполнить анализ во всех ваших репозиториях» сбрасывал текущее выбранное расстояние между точками данных.
— Исправлена проблема, из-за которой символы на боковой панели не применяли фильтрацию разрешений на уровне файлов должным образом.
Удалено:
— Удалена экспериментальная функция поиска зависимостей, включая предикат поиска repo:deps(...)
и параметры конфигурации сайта codeIntelLockfileIndexing.enabled
и experimentalFeatures.dependenciesSearch
.
— Исправлена ошибка в запросах группы захвата, которая приводила к немедленному сбою запросов, если они содержали недопустимые запросы.
— Исправлена проблема с преобразованием оперативных аналитических данных в код, чтобы начать заполнение данных с текущего времени вместо даты создания анализа.
— Вернули версию git, чтобы избежать проблемы с графиком фиксации, которая могла вызвать повреждение репозиториев.
— Исправили проблему с символами, которые не учитывали разрешения подрепозиториев.
— Изменения, внесённые повторно, теперь отображают действие и учитываются в статистике при предварительном просмотре пакетных изменений.
— Новая опция конфигурации сайта "permissions.syncUsersMaxConcurrency"
, позволяющая контролировать максимальное количество заданий по синхронизации пользовательских разрешений, которые могут быть запущены одновременно.
— Добавлена экспериментальная поддержка экспорта трассировок в сборщик OpenTelemetry с "observability.tracing": { "type": "opentelemetry" }
.
— Аналитические данные по коду для некоторых репозиториев теперь получают 12 исторических точек данных в дополнение к текущему ежедневному значению и будущим точкам, которые соответствуют определённому интервалу.
— Наложение Kustomize и файл переопределения Helm для применения фильтра посланника для сетевой ошибки, вызванной сервисной сеткой.
— Экспорт оценённых результатов в качестве файла переопределения для Helm и Docker Compose.
— В меню пользователя добавлен переключатель для включения/отключения бета-версии упрощённого пользовательского интерфейса. Этот новый интерфейс всё ещё активно разрабатывается, и любые изменения, видимые при включённом переключателе, могут быть нестабильными и подверженными изменениям.
— Поисковые запросы теперь поддерживаются библиотекой CodeMirror вместо Monaco. Монако можно снова включить, установив experimentalFeatures.editor
в значение "monaco"
.
— Улучшена навигация по коду на основе поиска для Python с использованием tree-sitter.
— Теперь можно включить журналы доступа к конечным точкам журналов доступа gitserver, добавив "log": { "gitserver.accessLogs": true }
в конфигурацию сайта.
— Code Insights поддерживает новый тип инсайтов — инсайты на основе вычислений, в настоящее время под флагом экспериментальной функции: codeInsightsCompute.
— Кэшируйте результат выполнения при монтировании файлов в спецификации пакета.
— Изменения в пакетных изменениях, открытые в заархивированных репозиториях, теперь перейдут в состояние только для чтения.
— Обновлена минимальная требуемая версия git до 2.35.2 в образах gitserver и server Docker. Это устраняет несколько уязвимостей, о которых было объявлено GitHub.
— Поиск: вставка запроса с переносами строк в основной ввод поискового запроса теперь заменяет их пробелами вместо удаления.
— Перепишите оценщик ресурсов, используя последние метрики.
— Выбор строки несколько раз в представлении файла добавит только одну запись в историю браузера.
— Панели на домашней странице (недавние поиски и т. д.) теперь по умолчанию отключены. Их можно снова включить, установив для. experimentalFeatures.showEnterpriseHomePanels значение true.
Выборка журналов теперь включена по умолчанию для компонентов Sourcegraph, использующих новую внутреннюю библиотеку журналов — всегда будут выводиться первые 100 идентичных записей журнала в секунду, а после этого будет выводиться только каждое 100-е сообщение. Его можно настроить для каждой службы с помощью переменных среды SRC_LOG_SAMPLING_INITIAL и SRC_LOG_SAMPLING_THEREAFTER, и если для SRC_LOG_SAMPLING_INITIAL установлено значение 0 или -1, выборка будет полностью отключена.
Устаревший experimentalFeatures.enableGitServerCommandExecFilter. Установка этого значения больше не влияет на код, и код для защиты от неизвестных команд всегда включён.
Zoekt теперь работает с GOGC=25 по умолчанию, что помогает снизить потребление памяти Sourcegraph. Ранее он работал с GOGC=50, но мы заметили регресс, когда перешли на go 1.18, который содержал значительные изменения в сборщике мусора go.
Скрыть действие «Опубликовать» при работе с импортированными изменениями.
Исправлена проблема, из-за которой обновление заголовка или тела запроса на вытягивание Bitbucket Cloud, открытого пакетным изменением, могло завершиться ошибкой, если запрос на вытягивание не был в вилке целевого репозитория.
Ошибка, из-за которой некоторые сложные регулярные выражения repo: возвращали только подмножество результатов репозиториев.
Исправить ошибку, когда выбор всех изменений на странице предварительного просмотра пакетного изменения выбирал только недавно загруженные изменения.
Исправьте ошибку со ссылками на точки данных плохой диаграммы кода.
Инсайты кода: индексатор коммитов больше не выдаёт ошибок при получении коммитов из пустых репозиториев и помечает их как успешно проиндексированные.
Представление файла больше не переходит к первой выбранной строке, когда выбираются несколько строк и первая выбранная строка была вне поля зрения.
Исправлена ошибка, из-за которой требовалось несколько активаций кнопки «Назад», чтобы вернуться к предыдущему состоянию.
Исправлена проблема с синхронизацией разрешений проектов Bitbucket при неправильном использовании идентификаторов репозиториев.
Версия 3.41.1 В Perforce были исправлены правила, в которых есть подстановочный знак в имени депо.
Разрешён доступ на чтение каталога для разрешений подрепозитория.
Версия p4-fusion обновлена до 1.10.
Версия 3.41.0
Добавлено
Code Insights: добавлена возможность переключения отображения рядов данных на линейных диаграммах.
Code Insights: добавлены информационные панели для отдельной страницы анализа.
Расширения: добавлен параметр конфигурации сайта extensions.allowOnlySourcegraphAuthoredExtensions
. Когда он включён, можно будет просматривать и устанавливать только расширения, созданные Sourcegraph. Для получения дополнительной информации ознакомьтесь с документацией.
Пакетные изменения: учётные данные теперь могут быть проверены вручную.
Zoekt-indexserver имеет новую страницу отладки /debug
, которая теперь предоставляет информацию об очереди. Список проиндексированных репозиториев и список назначенных репозиториев.
Администраторы могут перейти на страницу отладки, выбрав «Инструментарий» > «индексированный поисковый индексер» в представлении администратора сайта. Страница отладки связана сверху. #346.
Расширения: добавлена пользовательская настройка enableExtensionsDecorationsColumnView
как экспериментальная функция. Когда она включена, украшения расширений, поддерживающих декорирование столбцов (в настоящее время только расширение git-extras: sourcegraph-git-extras/pull/276), будут отображаться отдельными столбцами на странице BLOB-объектов. #36007.
У поставщика аутентификации SAML появилась новая конфигурация сайта allowGroups
, которая позволяет фильтровать пользователей по членству в группах. #36555.
Добавлена новая переменная шаблонизации batch_change_link
для большего контроля над тем, где сообщение «Создано пакетным изменением Sourcegraph...» появляется в описании опубликованного набора изменений. #491.
Теперь спецификации пакетов могут монтировать локальные файлы в контейнере Docker при использовании Sourcegraph CLI. #31790.
Мониторинг кода: уведомления через Slack и общие веб-перехватчики теперь включены по умолчанию в качестве бета-функции. #37037.
Кодовые идеи: добавлены фильтры сортировки и ограничения для сбора групповых идей. Это даёт пользователям больше контроля над отображаемыми сериями. #34611.
Запуск пакетных изменений на стороне сервера теперь находится в стадии бета-тестирования! Помимо использования src-cli для запуска пакетных изменений локально, теперь вы можете запускать их и на сервере. Для этого требуется установить исполнителей. Хотя запуск на стороне сервера открывает новый улучшенный интерфейс, вы всё равно можете использовать src-cli, как и раньше.
Мониторинг кода: пинги для новых типов действий. #37288.
Улучшенная навигация по коду на основе поиска для Java с использованием tree-sitter. #34875.
context:
и repo:
в поисковом запросе.Невозможно отправить электронные письма через Google SMTP relay с загадочной ошибкой «EOF».
Распространённая причина вытеснения искателей в kubernetes при выполнении больших структурных поисков. Исправления ошибок и улучшения в версии 3.40.2
Исправлена ошибка авторизации: проверка авторизации при неработающем Redis теперь приводит к внутренней ошибке сервера вместо очистки действительного сеанса из файлов cookie пользователя.
Исправления ошибок в версии 3.40.1
Версия 3.40.0
Добавлены функции:
Изменения:
Теперь в Поиске Код Инсайтс используется потоковая конечная точка поиска. Развёртывание: Nginx ingress controller обновлён до версии v1.2.0.
— В «Код Инсайтс» исправлен эффект наведения курсора на активную линию при отображении данных серии линейных диаграмм. Теперь активная линия будет отображаться поверх остальных.
— Исправлена ошибка в расчёте размера линейных диаграмм в FireFox.
— Непроверенные первичные электронные письма больше не нарушают работу страницы электронных писем для пользователей и страницы пользователей для администратора сайта.
— Экспериментальная функция API Docs, выпущенная на нашем облачном экземпляре начиная с версии 3.30.0, полностью удалена из продукта. Эта функциональность продукта заменяется doctree.
— В Code Insights исправлена ошибка, которая вызывала проблемы с рендерингом строк, когда данные серии возвращались не по порядку по дате.
— В Code Insights исправлена ошибка, приводившая к переключению параметров до и после при переходе во представление различий из инсайта.
— Решена проблема с ноутбуками, из-за которой курсор вёл себя беспорядочно в блоках markdown.
— Сбои пакетных изменений в установках docker compose из-за отсутствующей переменной среды.
— Добавлена поддержка аутентификации LSIF upload против GitLab.com на Sourcegraph Cloud.
— Добавлен раздел «Начало работы/краткий контрольный список для аутентифицированных пользователей».
— Теперь доступна переработанная страница репозиториев под флагом функции new-repo-page.
— Пинг теперь включает метрики использования ноутбуков.
— Ноутбуки теперь включены по умолчанию.
— Code Insights GraphQL API теперь принимает контексты поиска в качестве фильтра и извлекает выражения, встроенные в поля запроса repo и -repo, из контекстов для применения их в качестве фильтров к инсайту.
— Индексатор коммитов Code Insights теперь может... Индексировать коммиты меньшими партиями
Установите количество дней на партию в настройке сайта insights.commit.indexer.windowDuration
. Значение 0 (по умолчанию) отключит пакетирование. # 33666
Добавлена поддержка блокировки учётной записи после последовательных неудачных попыток входа для встроенного поставщика аутентификации (например, имени пользователя и пароля)
Новые параметры конфигурации добавляются в конфигурацию сайта в разделе "auth.lockout"
, чтобы настроить порог, продолжительность блокировки и последовательные периоды. # 33999
pgsql-экспортёр для Code Insights был добавлен в docker-compose и развёртывания Kubernetes для сбора метрик на уровне базы данных # 780, # 4111
Предикат repo:dependencies(...)
теперь может выполнять поиск по зависимостям Go ваших репозиториев # 32658
Добавлено значение конфигурации сайта defaultRateLimit
для необязательной настройки глобального предела скорости по умолчанию для внешних служб.
and
и not
, теперь оптимизированы для оценки на внутреннем сервере Zoekt для индексированного содержимого кода и поиска символов везде, где это возможно. Такие запросы теперь обычно выполняются на порядок быстрее. Предыдущие случаи, когда результаты не возвращались для дорогостоящих поисковых выражений, теперь должны работать и быстро возвращать результаты. # 33308Исправлено:
— Проблема, возникшая в версии 3.38, из-за которой оповещения не доставлялись.
Добавлено:
— Новый «Тур по началу работы» для не прошедших аутентификацию пользователей на Sourcegraph.com вместо «Тура по поиску».
— Пинги теперь включают показатели использования интеграции хоста кода.
— Добавлена переменная среды PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS
, позволяющая использовать аутентификацию API метаданных EC2 для внешнего сегмента. S3, в котором хранятся точные загрузки данных об интеллекте кода
history.preferAbsoluteTimestamps
.enable-embed-route
.IDEEXTENSION
для событий, связанных с расширениями IDE.В Code Monitoring теперь включена вкладка «Журналы» в качестве бета-функции
Это позволяет просматривать последние запуски мониторов кода и определять, были ли отправлены уведомления или возникли ошибки во время запуска. Создание и редактирование Code Monitoring теперь поддерживают подсветку синтаксиса и автозаполнение в поле поиска.
Новая функция repo:dependencies(...)
позволяет выполнять поиск по зависимостям ваших репозиториев. В настоящее время эта функция находится в стадии бета-тестирования, и поддерживаются только репозитории пакетов npm с зависимостями из файлов package-lock.json
и yarn.lock
.
Site config имеет новую экспериментальную функцию под названием gitServerPinnedRepos
, которая позволяет администраторам привязывать определённые репозитории к конкретным экземплярам gitserver.
Добавлен Rockskip, масштабируемый серверный сервис символов для быстрой боковой панели символов и интеллектуального поиска кода в монорепозиториях.
Уведомления по электронной почте о мониторе кода теперь могут дополнительно включать содержимое новых результатов поиска. По умолчанию эта функция отключена, но её можно включить, отредактировав действие монитора кода по электронной почте и включив «Включить результаты поиска в отправленное сообщение».
Изменения
На веб-приложении отметки времени теперь будут отображать местное время при наведении, а не время UTC.
Обновлена версия Postgres с 12.6 до 12.7.
Code Insights теперь периодически очищает данные временных рядов, которые не используются. Есть часовой льготный период, в течение которого серию можно повторно присоединить к представлению, после чего все данные и метаданные временных рядов будут удалены.
Общее количество критических телеметрических данных Code Insights теперь включает только те данные, которые не заморожены (ограничено ограничениями пробного режима).
Интеграция Phabricator с хостами кода Gitolite устарела, поля сохранены, чтобы не нарушать работу существующих систем, но интеграция больше не работает.
Библиотека SSH, используемая для отправки ветвей пакетных изменений на хосты кода, была обновлена, чтобы предотвратить проблемы с отправкой на github.com или выпуски GitHub Enterprise после 15 марта 2022 года.
Минимальная поддерживаемая версия Docker Compose увеличена с 1.22.0
до 1.29.0
.
Конфигурация ограничения частоты обращений к API хоста кода больше не основана на URL-адресах хостов кода, а действует только для каждой отдельной внешней службы. Чтобы обеспечить соблюдение ограничения частоты обращений к API, добавьте конфигурацию ко всем внешним службам, для которых требуется ограничение частоты обращений.
Исправлено
Просмотр или предварительный просмотр пакетного изменения теперь более устойчив к временным сетевым или серверным ошибкам.
Поиск: select:file
и select:file.directory
теперь правильно дедуплицируют результаты.
Безопасность: образы контейнеров защищены от CVE 2022-0778.
При закрытии пакетного... Изменения
Также отображаются черновики наборов изменений, которые будут закрыты.
SearchResults.resultCount
было удалено в пользу его замены matchCount
.UseJaeger
было удалено. Вместо этого используйте "observability.tracing": { "sampling": "all" }
.MonitorTriggerEventConnection
, был изменён так, что более новые события возвращаются первыми. Параметр after
был соответствующим образом изменён, чтобы возвращать события старше указанного, что позволяет выполнять разбиение на страницы. Запрос 31219.Контексты поиска на основе запросов теперь включены по умолчанию как бета-функция. #30888.
Символы в боковой панели загружаются быстрее для старых коммитов (после их обработки), когда область ограничена подкаталогом в большом репозитории. #31300.
Исправлено
Удалено
Версия 3.36.3
Исправленное
Версия 3.36.2
Удалённое
Версия 3.36.1
Исправленное
Версия 3.36.0
Добавленное
Контексты поиска теперь могут быть определены с помощью ограниченного поискового запроса в качестве альтернативы определённому списку. Изменённое
Функция создания контекстов поиска является бета-версией и может измениться в следующих выпусках. Разрешённые фильтры: repo, rev, file, lang, case, fork, visibility. Также разрешены выражения OR и AND. Чтобы включить эту функцию для всех пользователей, установите experimentalFeatures.searchContextsQuery в значение true в глобальных настройках. Затем вы увидите кнопку «Создать контекст» на странице результатов поиска и поле ввода «Запрос» в форме контекстов поиска. Если вы хотите, чтобы ревизии, указанные в этих контекстах поиска на основе запроса, были проиндексированы, установите experimentalFeatures.search.index.query.contexts в значение true в конфигурации сайта. #29327
— Добавлено более явное согласие с Условиями обслуживания и Политикой конфиденциальности для сервера Sourcegraph.
— Пакетные изменения будут создаваться в ответвлениях вышестоящего репозитория, если включён новый параметр сайта batchChanges.enforceForks
.
— Символьные ссылки теперь доступны для поиска. Ранее можно было перейти по символьным ссылкам в представлении дерева репозиториев, но символьные ссылки игнорировались при поиске.
— Максимальное количество ссылок/определений, отображаемых на панели, можно настроить в настройках с помощью codeIntelligence.maxPanelResults
. Если не установлено, используется жёстко заданный предел в 500.
— Поисковые блокноты теперь полностью сохраняются. Вы можете создавать блокноты через редактор WYSIWYG и делиться ими через уникальный URL. Мы поддерживаем два режима видимости: приватный (только создатель может просматривать блокнот) и публичный (каждый может просматривать блокнот). Эта функция является бета-версией и может измениться в следующих выпусках.
— Кодовые идеи, которые выполняются во всех репозиториях, теперь имеют точки данных со ссылками, ведущими на страницу поиска.
— Поле запроса создания пользовательского интерфейса кодовых идей теперь поддерживает различные режимы подсветки синтаксиса на основе фильтра patterntype
.
— В поле запроса создания пользовательского интерфейса кодовых идей появилась кнопка предварительного просмотра в реальном времени, которая ведёт на страницу поиска с предварительно заданным значением запроса.
— Пользовательский интерфейс создания кодовых идей может теперь искать шаблоны во всех репозиториях.
— Пинги теперь содержат агрегированные показатели CTA.
Изменения
— API Sourcegraph (потоковый поиск, GraphQL и т. д.) теперь можно использовать из любого домена при использовании токена доступа для аутентификации или без аутентификации в случае Sourcegraph.com.
— Конечная точка /search/stream
будет удалена в пользу /.api/search/stream
. Это не требует никаких действий, если вы не разработали собственный код против /search/stream
. Мы будем поддерживать обе конечные точки в течение короткого периода времени перед удалением /search/stream
. Дополнительную информацию см. в документации.
— При отображении содержимого символьных ссылок в представлении дерева репозиториев мы будем показывать относительный путь к цели ссылки вместо содержимого цели. Такое поведение соответствует тому, как мы отображаем символьные ссылки в результатах поиска.
— На gitserver добавлено новое задание уборщика «sg maintenance». Новое задание заменяет «сборку мусора» с целью оптимизации производительности операций git для больших репозиториев. Вы можете снова включить «сборку мусора», установив для gitserver переменные среды «SRC_ENABLE_GC_AUTO» в значение «true» и «SRC_ENABLE_SG_MAINTENANCE» в значение «false». Обратите внимание, что вы не должны включать оба параметра одновременно.
— Результаты поиска по репозиториям теперь по умолчанию упорядочиваются по рангу репозитория. По умолчанию ранг — это количество звёзд у репозитория. Администратор может увеличить ранг репозитория с помощью experimentalFeatures.ranking.repoScores
. Если вы заметили увеличение задержки результатов, вы можете отключить эту функцию, установив experimentalFeatures.ranking.maxReorderQueueSize
в значение 0.
— Поиск результатов в одном файле. Теперь сортировка выполняется по релевантности, а не по номеру строки. Сортировка по номеру строки, обновите настройку experimentalFeatures.clientSearchResultRanking: "by-line-number"
.
— Увеличено время обработки символов с 20 минут до 2 часов и сделана его настраиваемость. #29891
— Проблема, из-за которой поиск не завершался при наличии определённых шаблонов, содержащих символ @
.
#29489
— Панель инструментов Grafana для «успешной длительности поискового запроса» сообщает о времени потокового поиска, которое используется браузером. Ранее она сообщала о времени GraphQL, которое браузер больше не использует.
#29625
— Регрессия, введённая в версии 3.35, приводит к тому, что Code Insights, которые выполняются во всех репозиториях, не запрашивают репозитории, у которых включены разрешения. (Ограниченные репозитории фильтруются на основе разрешений пользователя, когда пользователь просматривает диаграмму, а не во время запроса.) Это может привести к занижению глобальных данных Insights для точек данных, созданных после обновления до версии 3.35 и перед обновлением до версии 3.36.
— Переименование репозиториев теперь удаляет старые индексы на дисках Zoekt. Это не повлияло на результаты поиска, только привело к потере дискового пространства. Это была регрессия, появившаяся в Sourcegraph 3.33.
#29685
— Удалена неиспользуемая бэкенд-служба из развёртываний Kubernetes. #4050
— Исправлены разрешения Code Monitor. Подробнее см. наш security advisory. #30547
⚠️ Из-за проблем, связанных с Code Insights в выпуске 3.35.0, пользователям рекомендуется выполнить обновление непосредственно до версии 3.35.1.
— Пропущенные миграции привели к тому, что существующие Code Insights не отображались. #29395 — Внеполосные миграции только для корпоративных пользователей не выполнялись из-за отсутствия флага конфигурации предприятия. #29426
⚠️ Из-за проблем, связанных с Code Insights в этом выпуске, пользователям рекомендуется обновить версию до 3.35.1.
— Отдельные пакетные изменения могут публиковать несколько наборов изменений в одном репозитории путём указания нескольких целевых ветвей с использованием атрибута on.branches
.
#25228
— Добавлен оверлей с низким ресурсом. ПРИМЕЧАНИЕ: это предназначено только для внутреннего использования. Клиенты могут использовать оверлей minikube для достижения аналогичных результатов.
№4012
— Code Insights имеет новое представление «Обнаружить и отслеживать», которое будет генерировать уникальные временные ряды из совпадений шаблона, указанного в качестве группы захвата регулярного выражения. В настоящее время это ограничено представлениями, ограниченными конкретными репозиториями.
docs
— Code Insights полностью сохраняется в базе данных codeinsights-db. Миграция будет автоматически выполнена для перемещения любых определённых представлений и панелей мониторинга из ваших пользовательских, организационных или глобальных файлов настроек.
— API GraphQL для Code Insights перешёл в стадию бета-тестирования.
docs Среда SRC_GIT_SERVICE_MAX_EGRESS_BYTES_PER_SECOND для управления пропускной способностью исходящего трафика службы gitserver git (например, используется zoekt-index-server для клонирования репозиториев для индексации). Установите значение -1 для неограниченного количества.
Поисковые предложения через API GraphQL были объявлены устаревшими в прошлом выпуске и больше не доступны.
Изменения:
Исправления:
Исправлена проблема, когда определённый синтаксис регулярных выражений для поиска репозиториев приводил к сбою всего поиска, включая поиск нерепозиториев, с ошибкой синтаксического анализа (проблема затрагивает только версию 3.34).
Изменение наборов изменений на Bitbucket Server могло ранее завершиться неудачно, если локальная копия в пакетных изменениях была устаревшей. Проблема устранена путём повторной попытки операций в случае ответа 409.
Удаления:
Файлы настроек (пользовательские, организационные, глобальные) как механизм сохранения данных для Code Insights теперь устарели.
Развёртывание query-runner имеет... Из запроса был удалён сервис query-runner, его можно безопасно удалить из вашей установки.
Исправлено:
Исправлено:
Добавлено:
Добавлена документация по объединению файлов конфигурации сайта. Доступно с версии 3.32.
Введена переменная site config cloneProgressLog
для включения ведения журнала процесса клонирования во временные файлы для отладки. По умолчанию отключена.
Во все образы Docker sourcegraph/*
, использующие sourcegraph/alpine
в качестве основы, добавлен GNU wget
.
Добавлена страница «нет результатов», справочная страница, показываемая, если поиск не возвращает результатов.
Добавлена страница мониторинга для баз данных Redis.
Индексатор поиска опрашивает только те репозитории, которые были помечены как изменённые. Это снижает большую часть нагрузки в установках с большим количеством репозиториев. Если вы заметили устаревание индекса, вы можете попробовать отключить его, установив переменную среды SRC_SEARCH_INDEXER_EFFICIENT_POLLING_DISABLED
на sourcegraph-frontend
.
Пинги включают общие подсчёты Code Insights для всего экземпляра, сгруппированные по типу представления, типу серии и типу представление-серия.
Добавлено ведение журнала входящих веб-хуков Batch Changes, которые могут просматривать администраторы сайтов. По умолчанию сайты без шифрования будут регистрировать веб-хуки в течение трёх дней, а сайты с шифрованием не будут регистрировать их без явной настройки. См. документацию для получения более подробной информации.
Поддержка поиска реализаций интерфейсов и методов.
Изменено:
Удалены проверки живучести из развёртывания Kubernetes Prometheus.
Batch Changes теперь запрашивает область workflow
у личных токенов доступа GitHub для разрешения пакетных изменений на запись в каталог .github
репозиториев. Если у вас уже настроена PAT GitHub для использования с Batch Changes, мы рекомендуем добавить область к другим уже предоставленным.
Зависимость Prometheus и Alertmanager от Sourcegraph была обновлена до v2.31.1 и v0.23.0 соответственно. Изменена семантика количества репозиториев в пользовательском интерфейсе поиска, а также search().repositories и search().repositoriesCount GraphQL API с набора доступных для поиска репозиториев на набор репозиториев с совпадениями. В будущем выпуске мы представим отдельные поля для набора доступных для поиска репозиториев, поддерживаемые масштабируемой реализацией.
Исправлена проблема, вызывающая панику сервера при выполнении структурного поиска через GQL API для запроса, который также соответствует отсутствующим репозиториям (затронутые версии 3.33.0 и 3.32.0).
Улучшено обнаружение Docker, работающего в не-linux средах.
Исправлен расчёт размера кеша, используемый для развёртываний Kubernetes. Ранее рассчитанное значение было слишком высоким и превышало бы эфемерное хранилище. Лимит запросов.
Исправлена регрессия, появившаяся в версии 3.27 и нарушившая аутентификацию на основе SSH для управления наборами изменений Batch Changes на хостах кода. Ключи SSH, сгенерированные Sourcegraph, не использовались для аутентификации, и аутентификация с хостом кода завершалась ошибкой, если ключ SSH с доступом на запись не был добавлен в gitserver.
Частные репозитории, соответствующие выражениям -repo:, теперь исключены. Это была регрессия, возникшая в версии 3.33.0.
Вся функциональность контекстов версий (устаревшая в 3.33) теперь удалена.
Фильтр запросов repogroup (устарел в 3.33) теперь удалён.
Sourcegraph больше не использует токены/куки CSRF-безопасности для предотвращения атак CSRF. Вместо этого Sourcegraph теперь полагается исключительно на политики CORS браузера (которые уже были на месте). На практике это так же безопасно и приводит к более простой модели угроз CSRF, что снижает риски безопасности, связанные со сложностью нашей модели угроз.
Уведомления о сохранённых поисках (устарели в v3.31.0) были удалены.
Исправлено: перенесены исправления сохранённого поиска и уведомлений о мониторинге кода из версии 3.34.0.
Частных репозиториев, соответствующих выражениям -repo:, больше нет. Это была регрессия, которая появилась в версии 3.33.0.
Исправлена регрессия, которая появилась в версии 3.27 и нарушила аутентификацию на основе SSH для управления изменениями Batch Changes на хостах кода. Ключи SSH, созданные Sourcegraph, не использовались для аутентификации, а аутентификация с хостом кода не удавалась, если в gitserver не был добавлен ключ SSH с правами доступа на запись.
В проверку запроса на поиск добавлено больше правил, чтобы пользователи быстрее получали обратную связь о проблемах с их запросом.
Фильтры Блума добавлены в бэкэнд индексации zoekt для ускорения запросов с фрагментами кода, соответствующими \w{4,}.
Для коротких поисковых запросов, содержащих только имя поддерживаемого языка программирования, теперь предлагается выполнить запрос с фильтром по языку.
Теперь API-область, используемая GitLab. OAuth может быть дополнительно настроена в провайдере.
Добавлена поддержка языка Apex для выделения синтаксиса и интеллектуального поиска кода.
Страницы управления контекстом поиска теперь доступны только в корпоративной версии Sourcegraph. Выпадающий список контекста поиска отключён в версии OSS.
GQL API контекста поиска теперь доступен только в корпоративной версии Sourcegraph.
При выполнении запроса фиксации или сравнения принятые значения before и after изменились с «всё, что принимает git» на немного более строгий поднабор этого.
Репогруппы и контексты версий устарели в пользу контекстов поиска. Подробнее об устаревании и миграции на контексты поиска читайте в блоге.
Исправления:
В версии 3.32.0 была исправлена ошибка поиска, которая приводила к сбою экземпляров с отключённым поиском (очень редко) через "search.index.enabled": false
в конфигурации сайта. Исправлена проблема, из-за которой значение по умолчанию search.index.enabled
на одноконтейнерных экземплярах Docker неправильно вычислялось как false
в некоторых ситуациях. Обнаружение службы StatefulSet в Kubernetes теперь правильно создаёт имена хостов модулей в случае, когда имя службы отличается от имени StatefulSet. Исправлено некорректное поведение при нажатии на ссылку в разделе боковой панели поиска «Ревизии», если запрос уже не содержал фильтр «repo:». Исправлены проблемы с отображением ссылок для перехода на Bitbucket Cloud в пользовательском интерфейсе. Некоторые запросы Code Insights агрегировались на anonymous_user_id
, а не на user_id
. Это было исправлено. Запросы Code Insights, выполняемые во всех репозиториях с использованием поиска коммитов (type:commit
или type:diff
), не могли быть десериализованы и не давали результатов. Проблема устранена. Решена проблема, при которой запросы Code Insights могли вызывать панику в поставленных в очередь записях, которые не включали record_time
. Исправлен сбой при предварительном просмотре изменений Batch Change, который иногда возникал при наличии удалённых пустых строк. Запрос repo:contains.commit.after()
не работал с некоторыми неправильно сформированными репозиториями Git. Ошибка устранена. Устранена проблема, при которой пользователи без основного адреса электронной почты сталкивались со сбоями на странице настроек электронной почты при попытке добавить новый адрес. Ключевые слова, такие как and
, or
, not
, не выделялись должным образом в строке поиска из-за наличия кавычек. Теперь эта проблема решена. Частые операции индексирования поиска приводили к тайм-ауту входящих поисковых запросов. Когда эти тайм-ауты происходили быстро друг за другом, процессы zoekt-webserver
завершали работу через свою процедуру watchdog
. Теперь это должно происходить только тогда, когда конкретный zoekt-webserver
недостаточно обеспечен ресурсами ЦП. Начиная с версии 3.28.0 веб-перехватчики Batch Changes не обновляли наборы изменений, открытые в частных репозиториях. Эта проблема устранена. Согласование пакетных изменений могло зависнуть при обновлении состояния набора изменений, которое уже существовало. Это исправлено.
Удаления:
Изменения Batch Changes больше не хранят необработанный JSON, использованный при их создании, который больше не используется и не предоставляется через API. Этот столбец был удалён, что позволило сэкономить место в базе данных Sourcegraph. ### 25453
Экспериментальная функция страницы построителя запросов, которая была отключена в версии 3.21, теперь удалена. Настройка { "experimentalFeatures": { "showQueryBuilder": true } }
больше не действует. #26125
Ряд изменений:
В Kubernetes-развёртываниях был обновлён sourcegraph-frontend.Role
, чтобы разрешить доступ statefulsets в Kubernetes API. Это необходимо для лучшей поддержки стабильности. Обнаружение сервисов для stateful-наборов во время развёртывания, которое в настоящее время невозможно при использовании конечных точек сервисов.
Для пользователей Docker-Compose и Kubernetes встроенные основные базы данных Postgres и codeintel перешли на образ Alpine Docker. Это требует переиндексации всей базы данных. Этот процесс может занять до нескольких часов в системах с большими наборами данных.
Результаты теперь передаются по умолчанию от поисковика, что улучшает использование памяти и задержку для больших неиндексированных поисков.
В оверлеях deploy-sourcegraph теперь используется resources: вместо устаревшего поля bases: для ссылки на базы Kustomize. (deploy-sourcegraph #3606)
Сценарии и конфигурация Pure Docker развёртывания deploy-sourcegraph-docker были перемещены в подкаталог ./pure-docker.
При развёртывании в Kubernetes явно устанавливать переменную среды SRC_GIT_SERVERS больше не требуется. Адреса модулей gitserver будут обнаружены автоматически и в том же числовом порядке, что и со статическим списком. Отмените установку переменной env в вашем frontend.Deployment.yaml, чтобы использовать эту функцию.
Схема согласованного хеширования, используемая для распределения репозиториев между репликами индексированного поиска, изменилась, чтобы улучшить распределение и уменьшить расхождения нагрузки. В следующем обновлении модули индексированного поиска будут повторно индексировать большинство репозиториев, поскольку назначения репо для реплик изменятся. Это может занять несколько часов в больших экземплярах, но поиски должны быть успешными в течение этого времени, так как реплика удалит репо только после его индексации в новой реплике, которой он принадлежит. Вы можете отслеживать этот процесс на панели инструментов Grafana сервера индексов Zoekt — «назначенные» репозитории в «общем количестве репозиториев» будут увеличиваться, а затем уменьшаться, пока не станут такими же, как «проиндексированные». В качестве отказоустойчивости старую схему согласованного хэширования можно включить, установив для переменной среды SRC_ENDPOINTS_CONSISTENT_HASH значение consistent(crc32ieee) в развёртывании sourcegraph-frontend.
В развёртываниях Kubernetes теперь монтируется emptyDir (/dev/shm) в развёртывание pgsql, чтобы позволить Postgres получить доступ к более чем 64 КБ общей памяти. Это значение должно быть настроено в соответствии со значением shared_buffers в вашей конфигурации Postgres.
Ссылка на поиск теперь будет показывать совпадающие записи при использовании фильтра ввода.
Добавлены периоды корректного завершения работы для развёртываний баз данных.
Все результаты поиска коммитов для выражений and теперь выделены.
Уведомления по электронной почте в observability.alerts теперь правильно учитывают поле site configuration email.smtp.noVerifyTLS.
Alertmanager (Prometheus) теперь учитывает поле SMTPServerConfig.noVerifyTLS.
Нажатие на символы в левой панели поиска теперь отображает всплывающие подсказки для проиндексированных репозиториев.
Исправлена проблема с потоковой передачей результатов, которая вызывала значительное увеличение. Задержка для некоторых поисковых запросов.
GitCredentials: пароли, хранящиеся в AWS CodeCommit, теперь скрыты.
Исправлена уязвимость в apk-tools.
Содержимое строки дублировалось в неиндексированных поисковых полезных нагрузках, что вызывало нестабильность памяти при некоторых плотных поисковых запросах.
Обновление черновиков запросов на слияние в GitLab из пакетных изменений больше не удаляет статус черновика.
Отчёт о совпадениях в результатах поиска вместо совпадений строк.
Заставить базу данных codeinsights-db считывать данные из файла конфигурации configMap путём явной установки переменной среды POSTGRESQL_CONF_DIR в путь монтирования configMap.
Удалено:
Старый пакетный Синхронизатор репозиториев был удалён и больше не может быть активирован установкой ENABLE_STREAMING_REPOS_SYNCER=false.
Уведомления по электронной почте для сохранённых поисков теперь устарели в пользу мониторинга кода. Уведомления по электронной почте больше нельзя включить для сохранённых поисков. Сохранённые поиски, для которых уже включены уведомления, продолжат работать, но теперь есть кнопка, которую пользователи могут нажать, чтобы перейти к мониторам кода. В будущем уведомления для сохранённых поисков будут полностью удалены.
Роли Postgres sg_service и политика sg_repo_access_policy для таблицы repo были удалены из-за проблем с производительностью.
Устаревшее поле конфигурации сайта email.smtp.disableTLS было удалено.
Устаревшие языковые серверы были удалены из deploy-sourcegraph.
Экспериментальный флаг функции codeInsightsAllRepos был удалён.
Добавлено:
Добавлена новая переменная среды SRC_HTTP_CLI_EXTERNAL_TIMEOUT для управления таймаутом для всех внешних HTTP-запросов.
Изменено:
Postgres был обновлён до версии 12.8 в односерверном образе Sourcegraph.
Пользователи версии 3.29.x должны обновиться непосредственно до версии 3.30.3. Если вы уже обновились до версий 3.30.0, 3.30.1 или 3.30.2, пожалуйста, следуйте этому руководству по миграции.
Исправлено:
Изображения базы данных codeintel-db были возвращены обратно к debian из-за повреждения, вызванного glibc и alpine.
Пользователи версии 3.29.x должны обновиться непосредственно до версии 3.30.3. Если вы уже обновились до версий 3.30.0, 3.30.1, 3.30.2 или 3.30.3, пожалуйста, следуйте этому руководству по миграции.
Исправлено:
Образы баз данных Postgres были возвращены к debian из-за повреждений, вызванных glibc и alpine. libgcrypt
Когда синхронизация в потоковом режиме, средство обновления репозитория теперь будет обеспечивать фиксацию транзакции репозитория перед уведомлением gitserver об обновлении этого репозитория. (#23169)
При возникновении ложных ошибок во время потоковой синхронизации (например, временные 500 от кодовых хостов), средство обновления репозиториев больше не будет удалять все связанные репозитории, которые не были замечены. Удаление произойдёт только в том случае, если ошибок не было или если ошибка была одной из «Несанкционированный», «Запрещённый» или «Аккаунт заблокирован». (#23171)
Внешние HTTP-запросы теперь автоматически повторяются при необходимости. (#23131)
3.30.0 Внимание: пользователям версии 3.29.x рекомендуется выполнить обновление непосредственно до версии 3.30.3. Если вы уже обновились до версий 3.30.0, 3.30.1 или 3.30.2, пожалуйста, следуйте этому руководству по миграции.
Добавлена поддержка select:file.directory в поисковых запросах, которая возвращает уникальные пути каталогов для результатов, удовлетворяющих запросу. (#22449) Представлена роль Postgres sg_service, а также политика sg_repo_access_policy на таблице repo, ограничивающая доступ к этой роли. Роль, владеющая таблицей repo, продолжит получать неограниченный доступ. (#22303) Каждый сервис, который подключается к базе данных (например, Postgres), теперь имеет раздел мониторинга «Соединения с базой данных» на своей панели инструментов Grafana. (#22570) Новая массовая операция для одновременного закрытия множества наборов изменений добавлена в Batch Changes. (#22547) Backend Code Insights будет агрегировать видимые репозитории на основе аутентифицированного пользователя. (#22471) Добавлена поддержка подсветки файлов .frugal как синтаксиса Thrift. Добавлен предикат file:contains.content(regexp), который фильтрует только файлы, содержащие совпадения с заданным шаблоном. (#22666) Синхронизация репозиториев теперь выполняется в потоковом режиме по умолчанию. Клиенты со множеством репозиториев должны заметить обновления кодового хоста гораздо быстрее, при этом средство обновления репозиториев потребляет меньше памяти. Использование предыдущего пакетного режима можно выполнить, установив переменную среды ENABLE_STREAMING_REPOS_SYNCER в значение false в repo-updater. Эта Переменная среды будет удалена в следующем выпуске.
Добавлена возможность запрашивать наборы изменений Batch Changes, статистику наборов изменений и статистику различий файлов для отдельного репозитория через Sourcegraph GraphQL API.
В поисковую строку добавлен «Groovy» к начальным предложениям фильтра lang:.
Предложения фильтра lang: теперь показывают все поддерживаемые совпадающие языки по мере ввода пользователем названия языка.
Code Insights теперь можно группировать в панели мониторинга.
Наборы изменений Batch Changes теперь можно публиковать из пользовательского интерфейса Sourcegraph.
На странице репозитория появилась новая кнопка для просмотра наборов изменений Batch Changes, созданных в этом конкретном репозитории, с указанием количества открытых наборов изменений.
Экспериментально: поисковые кодовые инсайты могут работать над всеми репозиториями экземпляра. Чтобы включить, используйте флаг функции «experimentalFeatures»: {«codeInsightsAllRepos»: true} и установите флажок в пользовательском интерфейсе создания/редактирования инсайтов.
Изменения:
rev:
без repo:
. Обратите внимание, что для поиска по нескольким версиям запрос типа repo:.* rev:<revision>
остаётся действительным.applyBatchChange
и createBatchChange
теперь принимают необязательный аргумент publicationStates
, чтобы установить состояние публикации определённых наборов изменений в пакетном изменении.repositoryQuery
, которые соответствуют более чем 1000 репозиториям из поискового API GitHub без необходимости использования ранее задокументированного обходного пути разделения запроса с квалификаторами created:
, который теперь выполняется автоматически.Исправления:
)
делал браузер невосприимчивым.select:repo
в сочетании с шаблонами and
, которое не давало ожидаемых результатов репо.isLocked
и isDisabled
репозиториев GitHub теперь корректно извлекаются из GraphQL API экземпляров GitHub Enterprise. Пользователи, которые полагаются на конфигурацию repos
в соединениях хоста кода GitHub, должны обновить её, чтобы фактически пропустить заблокированные и отключённые репозитории, определённые в этом списке.Запросы на эфемерное хранилище теперь соответствуют их запросам на размер кэша для развёртываний Kubernetes. ### Удалено
stable:
) была удалена и заменена на потоковый поиск. #22428deploy-sourcegraph
были удалены оверлеи без прав суперпользователя в пользу использования non-privileged
. #3404API docs — это новая экспериментальная функция Sourcegraph (подробнее см. https://docs.sourcegraph.com/code_intelligence/apidocs). Она включена по умолчанию в версии Sourcegraph 3.30.0.
"apiDocs": false
в раздел experimentalFeatures
пользовательских настроек./-/docs/cmd/frontend/auth
вместо /-/docs/cmd-frontend-auth
.#Mocks.CreateUserAndSave
вместо #ypeMocksCreateUserAndSave
для метода Go CreateUserAndSave
типа Mocks
.var _ = ...
больше не включаются неправильно.var
внутри области действия func
, больше не включаются неправильно.Functions
, Variables
и другие разделы верхнего уровня больше не отображаются пустыми, если в этом разделе их нет.insights.query.worker.concurrency
. #21219insights.query.worker.rateLimit
и insights.historical.worker.rateLimit
. #21533Site
SettingsSubject
в GraphQL теперь имеет поле allowSiteSettingsEdits
, позволяющее клиентам определять, использует ли экземпляр переменную среды GLOBAL_SETTINGS_FILE
. #21827Новая навигация: новая глобальная навигация обеспечивает быстрый поиск и доступ к текущей и будущей функциональности.
Продвижение расширяемости: мы вернули реестр расширений в основную навигацию и улучшили его дизайн и навигацию.
После завершения основной части редизайна будущие выпуски будут включать больше улучшений и доработок.
type:
не поддерживается для структурных поисков и возвращает соответствующее предупреждение.r:
вместо repo:
) при использовании с предикатами contains
.icon
на CommitSearchResult и Repository.index
из предложений по типу поиска.select:commit.diff.added
и select:commit.diff.removed
для поисковых запросов типа diff
. Эти селекторы возвращают только коммиты с изменениями, если шаблон совпадает в добавленных (соответственно, удалённых) строках.lang:
в строке поиска.if:
, чтобы включить условное выполнение различных шагов.sourcegraph.app.log
, чтобы помочь в отладке проблем пользователей.encryption.keys
.redis-*
Увеличен объём памяти Redis до 7 ГБ. Это изменение позволяет Redis правильно выполнять свои процедуры удаления ключей, не будучи убитым хост-машиной. Это касается как docker-compose, так и Kubernetes развёртывания.Изменения в Sourcegraph:
Исправления ошибок:
Удалено:
Устаревшая мутация SetRepositoryEnabled была удалена. Исправления и добавления в версии 3.27.4:
Решена проблема, связанная с репозиториями Gitolite, где перед @ добавлялся ?.
Исправления в версии 3.27.3:
Исправления в версии 3.27.2:
Исправления в версии 3.27.1:
Добавления в версии 3.27.0:
Изменения в версии 3.27.0:
Повышена минимальная поддерживаемая версия Postgres с 9.6 до 12. Процедура обновления в основном автоматизирована для существующих развёртываний, но может потребовать действий при использовании одноконтейнерного развёртывания или внешней базы данных. Подробные инструкции см. в документации по обновлению для вашего типа развёртывания.
Наборы изменений в пакетных изменениях теперь... Изменения в Sourcegraph 3.26.3
По умолчанию количество реплик на sourcegraph-frontend и precise-code-intel-worker для Kubernetes изменилось с 1 -> 2.
Изменения в поисковых запросах монитора кода:
Устарело поле GraphQL icon в интерфейсе GenericSearchResultInterface. Оно будет удалено в будущем выпуске.
Создание наборов изменений через пакетные изменения в качестве администратора сайта без настроенных учётных данных пакетных изменений устарело. Пожалуйста, настройте пользовательские или глобальные учётные данные до версии Sourcegraph 3.29, чтобы не было перебоев с созданием наборов изменений.
Устарело поле GraphQL limitHit в LineMatch. Оно будет удалено в будущем выпуске.
Исправлено:
Версия 3.26.2
Исправлено:
Наша логика индексированного поиска теперь корректно обрабатывает дедупликацию результатов поиска по нескольким репликам.
Версия 3.26.1
Добавлено:
Экспериментально: синхронизация разрешений репозиториев Perforce через интерфейс Sourcegraph. Чтобы включить, используйте флаг функции «experimentalFeatures»: { «perforce»: «enabled» }. Для получения дополнительной информации см. как включить разрешения для ваших репозиториев Perforce.
Добавлена поддержка заголовков электронной почты пользователей в HTTP-прокси аутентификации. См. документы HTTP Auth Proxy для получения дополнительной информации.
Игнорируйте заблокированные и отключённые репозитории GitHub Enterprise.
Удалённые операции хоста кода Git (например, clone или ls-remote) теперь можно ограничивать по скорости за пределами параллелизма (что уже было возможно с помощью gitMaxConcurrentClones). Установите gitMaxCodehostRequestsPerSecond в конфигурации сайта, чтобы контролировать максимальную скорость этих операций. Изменено:
Удалено:
Версия 3.26.0
Добавленное:
В запросе не удалось перевести часть текста, поэтому он остался без перевода. Были улучшены эвристики, связанные с ограничением результатов. Теперь вы должны видеть более согласованные подсчёты результатов.
experimentalFeatures.streamingSearch
.insights.displayLocation.homepage
, insights.displayLocation.insightsPage
и insights.displayLocation.directory
. #18979.remote.origin.url
репозитория на диске gitserver. Примечание: если вы используете экспериментальную функцию customGitFetch, возможно, вам потребуется обновить настройку, чтобы указать удалённый URL. #18535.Ховер оверлей, а также панель определения и расположения ссылок. #18843
Пинги теперь содержат добавленные агрегированные данные об использовании кампаний: совокупные подсчёты уникальных ежемесячных пользователей и еженедельные подсчёты кампаний и изменений для когорт кампаний, созданных за последние 12 месяцев. #18604
Исправлено:
Автозавершение предложений для репозиториев и файлов, содержащих пробелы, теперь будет автоматически экранироваться при принятии предложения. #18635
Проблема, из-за которой результаты репозитория, содержащие пробелы, не были кликабельными в некоторых случаях, устранена. #18668
Закрытие пакетного изменения теперь корректно закрывает связанные изменения, когда это требуется пользователю. #18957
Исправлена ошибка выделения TypeScript. #15930
Теперь количество сегментов точно сообщается в разделе «Администрирование сайта» > «Статус репозитория» > «Настройки» > «Индексирование». #19265
Удалено:
SearchResults.repositoriesSearched
и SearchResults.indexedRepositoriesSearched
.max
.experimentalFeatures.showBadgeAttachments
.Исправлено:
Решена проблема безопасности в рабочем процессе аутентификации. #18686
Добавлено:
Экспериментально: синхронизация депо Perforce напрямую через пользовательский интерфейс Sourcegraph. Чтобы включить, используйте флаг функции "experimentalFeatures": { "perforce": "enabled" }
. Для получения дополнительной информации см. как добавить свои депо Perforce. #16703
ВАЖНО: Sourcegraph теперь использует Go 1.15. Это может нарушить соединения AWS RDS с базами данных с более старыми сертификатами x509. Пожалуйста, следуйте документации Amazon, чтобы обновить свой сертификат.
Добавленное:
Новый параметр конфигурации сайта "log": { "sentry": { "backendDSN": "<REDACTED>" } }
, чтобы использовать отдельный проект Sentry для ошибок бэкенда. #17363
Структурный поиск теперь поддерживает поиск по индексированным веткам, отличным от стандартных. #17726
Структурный поиск теперь поддерживает поиск неиндексированных версий. #17967
Новая опция конфигурации сайта "allowSignup"
для аутентификации SAML, чтобы определить, разрешено ли автоматическое создание новых пользователей. #17989
Экспериментальный режим: веб-приложение теперь может передавать результаты поиска клиенту, улучшая производительность поиска. Чтобы включить его, добавьте { "experimentalFeatures": { "searchStreaming": true } }
в настройках пользователя. #16097
Страница исследования продукта. Доступ к ней могут получить все пользователи в своих настройках. #17945
Новый параметр конфигурации сайта productResearchPage.enabled
, чтобы отключить доступ к странице регистрации для исследования продукта. #17945
Пинг теперь содержит статистику активации расширений Sourcegraph. #16421
Пинг теперь содержит агрегированную статистику активации расширений Sourcegraph: количество пользователей и активаций в неделю для каждого (публичного) расширения, общее количество пользователей расширений в неделю и среднее количество активированных расширений на пользователя. #16421
Пинг теперь содержит агрегированные данные использования кодовых инсайтов: общее количество просмотров, взаимодействий, правок, созданий, удалений и подсчётов.
Изменённое:
Ссылки на решения по оповещению, включённые в мониторинг оповещений (https://docs.sourcegraph.com/admin/observability/alerting), теперь ведут на соответствующую версию документации. #17828 (https://github.com/sourcegraph/sourcegraph/pull/17828).
Секреты (например, токены доступа и пароли) теперь отображаются как «ОТРЕДАКТИРОВАНО» при редактировании конфигурации внешнего сервиса и в ответах API GraphQL. #17261 Теперь Sourcegraph создаётся с использованием Go 1.15.
В версии Go 1.15 были внесены изменения в проверку соединения SSL/TLS, которая требует, чтобы сертификаты включали поле SAN. Это поле не было включено в старые сертификаты, и клиенты полагались на поле CN. Вы можете увидеть ошибку типа «x509: сертификат полагается на устаревшее поле Common Name». Мы рекомендуем клиентам, использующим Sourcegraph с внешней базой данных и подключающимся к ней с помощью SSL/TLS, проверить актуальность сертификата.
Клиенты RDS, пожалуйста, обратитесь к документации AWS об обновлении сертификата SSL/TLS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html).
Результаты поиска по файлам .rs теперь рекомендуют lang:rust вместо lang:renderscript в качестве фильтра. #18316 (https://github.com/sourcegraph/sourcegraph/pull/18316).
Пользователи кампаний, создающие персональные маркеры доступа на GitHub, теперь должны запрашивать область user:email в дополнение к предыдущим областям (https://docs.sourcegraph.com/@3.24/admin/code_hosts/github#github-api-token-and-access). Эта функция будет использоваться в будущем выпуске Sourcegraph для отображения более детальной информации о ходе выполнения запросов на вытягивание. #17555 (https://github.com/sourcegraph/sourcegraph/issues/17555).
Исправленное:
Исправленное:
Добавленное:
Панели в мониторинговых панелях Sourcegraph (https://docs.sourcegraph.com/admin/observability/metrics#grafana) теперь:
Что изменилось:
В API GraphQL Repository.externalURLs добавлено поле serviceKind типа ExternalServiceKind, при этом поле serviceType устарело и будет удалено в будущих выпусках.
Поля SearchResults.repositoriesSearched и SearchResults.indexedRepositoriesSearched в GraphQL устарели.
Минимальная версия Kubernetes, необходимая для использования опции развёртывания Kubernetes, теперь составляет v1.15 (выпущена в июне 2019 года).
Исправлено:
— Импортированные изменения получили дополнительную кнопку для загрузки «сгенерированного различия», которая ничего не делала, поскольку импортированные изменения не имеют сгенерированного различия. Эта кнопка была удалена.
— Значения глобальных фильтров в кавычках (case, patterntype) теперь правильно извлекаются и устанавливаются в параметрах URL.
— Конечная точка функции «Открыть в Sourcegraph» в расширениях редактора теперь использует информацию о подключении хоста кода для разрешения репозитория, что делает её более корректной и учитывает настройку repositoryPathPattern.
— Исправлена проблема, из-за которой поисковые выражения вида repo:foo (rev:a или rev:b) не оценивали все ревизии.
— Обновлена библиотека определения языка. Включает определение языка для lang:starlark.
— Исправлено получение статуса для индексированных тегов и дедублированных основных ветвей на странице настроек индексации.
— При указании несуществующей ссылки отображалось предупреждение, но результаты всё равно возвращались.
— Поиск выделял неправильную строку.
— Поиски вида foo type:file возвращали результаты типа path.
— Запросы вида (type:commit или type:diff) были исправлены так, чтобы, если запрос соответствовал как сообщению фиксации, так и различию, оба возвращались в качестве результатов.
— Панели мониторинга контейнеров и предоставления ресурсов не отображали метрики в определённых типах развёртывания и средах. Если после обновления у вас по-прежнему возникают проблемы с тем, что эти панели не отображают какие-либо метрики, пожалуйста, откройте проблему.
— Поле, несуществующее в конфигурации сайта, было помечено как «обязательное» при настройке уведомлений PagerDuty.
— Случаи неправильного выделения определений символов в панели определений.
— Устранена уязвимость межсайтового скриптинга, когда быстрые ссылки, созданные на главной странице, не были очищены и... Разрешено произвольное выполнение JavaScript. #17099.
— Интерактивный режим теперь удалён. #16868.
— Срок действия ссылки для сброса пароля можно настроить с помощью auth.passwordResetLinkExpiry
в конфигурации сайта. #13999.
— Шаги кампании теперь могут включать переменные окружения из-за пределов спецификации кампании, используя синтаксис массива. #15822.
— Общий размер всех репозиториев Git и количество строк кода для проиндексированных веток отображаются на странице обзора администратора сайта. #15125.
— Расширения теперь могут добавлять украшения к файлам в древовидном представлении боковой панели и на странице дерева через экспериментальный API FileDecoration. #15833.
— Расширения теперь легко могут запрашивать Sourcegraph GraphQL API через специальный метод API. #15566.
— Отдельные изменения теперь можно скачать как diff. #16098.
— Страница предварительного... Просмотр кампаний стал более подробным, особенно при обновлении существующих кампаний. #16240 (https://github.com/sourcegraph/sourcegraph/pull/16240).
При загрузке более новой версии спецификации кампании теперь отображается сообщение при просмотре кампании или устаревшей спецификации кампании. #14532 (https://github.com/sourcegraph/sourcegraph/issues/14532).
Изменения в кампании теперь можно искать по названию и имени репозитория. #15781 (https://github.com/sourcegraph/sourcegraph/issues/15781).
Экспериментально: transformChanges в спецификациях кампаний теперь доступен в качестве функции предварительного просмотра, чтобы пользователи могли создавать несколько изменений в одном репозитории. #16235 (https://github.com/sourcegraph/sourcegraph/pull/16235).
Добавлен параметр сайта gitUpdateInterval, позволяющий настраивать интервалы обновления git на основе имён репозиториев. #16765 (https://github.com/sourcegraph/sourcegraph/pull/16765).
Различные дополнения к выделению синтаксиса и всплывающим подсказкам в строке поиска запросов (например, регулярные выражения). Можно отключить с помощью { "experimentalFeatures": { "enableSmartQuery": false } }, если есть вероятность нежелательных последствий. #16742 (https://github.com/sourcegraph/sourcegraph/pull/16742).
Поисковые запросы теперь могут ограничивать подвыражения между репозиториями и файлами, а также позволяют больше свободы для комбинирования фильтров поиска. Подробнее см. в обновлённой документации по поисковым подвыражениям. #16866 (https://github.com/sourcegraph/sourcegraph/pull/16866).
Изменено:
Индексатор поиска настроен так, чтобы дольше ждать перед тем, как предположить возникновение тупиковой ситуации. Ранее, если у индексатора было много ядер (40+) и он индексировал монорепозиторий, он мог сдаться. #16110 (https://github.com/sourcegraph/sourcegraph/pull/16110).
Общий объём всех репозиториев Git и количество строк кода для проиндексированных ветвей будут отправляться обратно в виде пинга как часть критической телеметрии. #16188 (https://github.com/sourcegraph/sourcegraph/pull/16188).
Контейнер gitserver теперь имеет зависимость от Postgres. Это не требует дополнительной настройки, если доступ к Postgres не требует прокси-сервера sidecar / правил брандмауэра. #16121 (https://github.com/sourcegraph/sourcegraph/pull/16121).
Теперь для кампаний применяется лицензирование: создание кампании с более чем пятью изменениями требует действующей лицензии. Пожалуйста, свяжитесь с Sourcegraph по любым вопросам лицензирования. #15715 (https://github.com/sourcegraph/sourcegraph/issues/15715).
Исправлено:
Синтаксическое выделение файлов со смешанным регистром расширения (например, .CPP против .cpp теперь работает как ожидается.
После применения кампании некоторые MR в GitLab могли отображать устаревшее состояние в пользовательском интерфейсе до следующей синхронизации с хостом кода.
Веб-приложение больше не отправляет устаревший контент текстового документа расширениям.
Средство просмотра больших двоичных объектов теперь поддерживает несколько украшений в строке, как и предполагалось.
Теперь можно переходить к репозиториям со знаками плюса в их названии, как ожидалось.
Удалено — нет информации.
Версия 3.22.1
Изменено — уменьшено потребление памяти и ресурсов процессора для обновления графа коммитов интеллектуального анализа кода.
Версия 3.22.0
Добавлено — подсветка синтаксиса для языков GraphQL и TOML теперь снова доступна (отдельное спасибо @rvantonder).
Добавлена подсветка синтаксиса языков Zig и DreamMaker.
Кампании теперь поддерживают публикацию черновиков PR на GitHub и WIP MR на GitLab.
Watchdog индексированного поисковика можно настроить, и у него есть дополнительные инструменты. Это полезно при диагностике перезапуска веб-сервера zoekt из-за watchdog.
Пинги теперь содержат версии серверов Redis и Postgres.
В пинги теперь включены агрегированные данные об использовании поискового вводного тура: общее количество просмотров вводного тура, общее количество просмотров каждого шага вводного тура и общее. Количество закрытых туров
Пользователи теперь могут указывать учётные данные для хостов кода, чтобы активировать кампании для пользователей, не являющихся администраторами сайта.
Добавлен параметр конфигурации сайта campaigns.restrictToAdmins, который предотвращает использование кампаний пользователями, не являющимися администраторами сайта.
Количество просмотров страницы при применении кампании, количество просмотров страницы на странице сведений о кампании после создания/обновления, закрытые кампании, созданные спецификации кампаний и спецификации изменений, а также сумма статистики различий изменений будут отправляться обратно в пинги.
Пользователи могут теперь явно установить свой основной адрес электронной почты.
Улучшена контрастность / видимость подсветки синтаксиса комментариев.
Кампании больше не находятся в стадии бета-тестирования.
У кампаний теперь есть новый модный значок.
Поисковые запросы с несбалансированным закрывающим пареном )
теперь недействительны, поскольку это, вероятно, указывает на ошибку. Ранее шаблоны с висячими )
были действительны в некоторых случаях. Обратите внимание, что шаблоны с висячим )
всё ещё можно искать, но их следует заключать в кавычки через content:"foo)"
.
Поставщики расширений теперь могут возвращать AsyncIterables, позволяя динамические результаты поставщиков без зависимостей.
Объявлено устаревшим поле "email.smtp": { "disableTLS" }
параметра конфигурации сайта, оно было заменено на "email.smtp": { "noVerifyTLS" }
.
Исправлено — теперь средство поиска будет вести себя корректно при добавлении file:
в поле поиска при переходе к представлению дерева или файла. Когда путь к файлу содержит пробелы.
OAuth-логин теперь учитывает конфигурацию сайта experimentalFeatures: { "tls.external": {...} }
для пользовательских сертификатов и пропуска проверки TLS.
Если файл HEAD
в клонированном репозитории отсутствует или усечён, фоновые действия по очистке будут использовать наилучшее значение по умолчанию, чтобы исправить ситуацию.
Ввод поиска всегда будет показывать предложения. Раньше мы показывали предложения только для букв и некоторых специальных символов.
Исправлена проблема, из-за которой ключевые слова not
не распознавались внутри групп выражений и обрабатывались неправильно как шаблоны.
Исправлена проблема, при которой всплывающие окна при наведении не отображались над первым символом допустимого диапазона наведения в поисковых запросах.
Исправлена проблема, когда субмодули, настроенные с помощью относительного URL, приводили к нерабочим гиперссылкам в пользовательском интерфейсе файлового дерева.
Отправка коммитов в публичные репозитории GitLab теперь работает, поскольку мы используем настроенный токен, даже если репозиторий является публичным.
.kts
теперь правильно выделяется как код Kotlin, исправлены различные другие проблемы с подсветкой синтаксиса Kotlin.
Исправлена проблема, при которой значение content:
воспринималось буквально, когда активен переключатель регулярного выражения.
Исправлена проблема, при которой пользователям, не являющимся администраторами сайта, запрещалось обновлять некоторые свои личные метаданные, когда auth.enableUsernameChanges
было false
.
Исправлено url
-поля репозиториев и деревьев в GraphQL, возвращающие URL-адреса, которые не были закодированы в процентах (например, когда имя репозитория содержало пробелы).
Исправлен поиск «Найти ссылки», показывающий ошибки в панели ссылок вместо выделенного синтаксисом кода для репозиториев с пробелами в имени.
Исправлена проблема, при которой указание фильтра repohasfile
не возвращало результаты, как ожидалось, если не был указан repo
.
Исправлена проблема, вызывающая стирание пользовательского ввода в поле поискового запроса в некоторых случаях. Внимание: Для пользователей однообра́зного экземпляра Sourcegraph удалите секретный ключевой файл /var/lib/sourcegraph/token
внутри контейнера перед попыткой обновления до версии 3.21.x.
— Исправлено оповещение для условия встроенной интеграции.
— Исправлено зависание запроса с большим количеством репозиториев.
— Исправлено обновление сервера, где база данных codeintel не существует.
— CVE-2019-18218 в образе postgres docker.
— Исправлена проблема с недопустимым файлом .git/HEAD.
— Синхронизация репозиториев не будет происходить чаще, чем значение конфигурации repoListUpdateInterval. ## 3.21.0
Внимание: Для пользователей однообразного экземпляра Sourcegraph перед попыткой обновления до версии 3.21.x удалите секретный ключ-файл /var/lib/sourcegraph/token
внутри контейнера.
namespaceByName(name: String!)
упрощает поиск пользователя или организации по заданному имени. Ранее вызывающие должны были отдельно искать пользователя и организацию.published
в спецификации кампании в массив, что позволяет публиковать только определённые наборы изменений в рамках кампании на основе имени репозитория.experimentalFeatures.showOnboardingTour
.after
, который позволяет выполнять разбиение на страницы на основе курсора.Чтобы снова включить его, добавьте { "experimentalFeatures": { "splitSearchModes": true } }
в настройки пользователя.
Реестр расширений был переработан, чтобы упростить поиск нестандартных расширений Sourcegraph.
Токены и аналогичная конфиденциальная информация, включённая в часть userinfo удалённых URL-адресов репозиториев, больше не будут отображаться на странице настроек зеркалирования.
Формы входа и регистрации были переработаны с улучшенной проверкой ввода.
Администраторам Kubernetes, монтирующим файлы конфигурации, рекомендуется изменить способ монтирования ConfigMap. См. новую документацию. Ранее наша документация предлагала использовать subPath. Однако это привело к тому, что Kubernetes не обновлял файлы автоматически при изменении конфигурации.
Диспетчер пакетов точного кода теперь будет удалять любые преобразованные данные LSIF старше PRECISE_CODE_INTEL_MAX_DATA_AGE (по умолчанию 30 дней), которые также не видны из вершины основной ветви.
SRC_LOG_LEVEL=warn теперь используется по умолчанию в Docker Compose и развёртываниях Kubernetes, уменьшая объём... Неинформативный спам в журнале.
Отказались от данных разрешений, которые хранились в устаревшем двоичном формате. Допускается понижение версии с 3.21 до 3.20, но при переходе на версии 3.19 и ниже может возникнуть проблема с неполным отображением состояния разрешений в течение короткого периода времени.
Страница конструктора запросов теперь по умолчанию отключена. Чтобы включить её, добавьте { "experimentalFeatures": { "showQueryBuilder": true } }
в настройки пользователя. Мутация GraphQL updateUser теперь возвращает обновлённого пользователя (вместо пустого ответа).
URL-адреса клонирования Git теперь корректно проверяют свой формат. Имена пользователей, заданные в Slack observability.alerts, теперь применяются правильно. Сегменты пути в хлебных крошках снова корректно усекаются на небольших размерах экрана вместо увеличения панели заголовка. Конвейеры GitLab теперь анализируются правильно и показывают свой текущий статус в наборах изменений кампании. Исправлена проблема, когда указание любых групп репозиториев фактически приводило к поиску во всех репозиториях для всех групп репозиториев. Наборы изменений, ранее закрытые после отсоединения от кампании, теперь повторно открываются при повторном присоединении. Ранее большие файлы, соответствующие конфигурации сайта search.largeFiles, не индексировались, если они содержали большое количество уникальных триграмм. Теперь мы также индексируем эти файлы. Обратите внимание: файлы, соответствующие шаблону, по-прежнему должны быть действительными utf-8. Теги Git без значения creatordate больше не будут нарушать поиск тегов в репозитории. Страницы кампаний теперь работают должным образом на маленьких экранах. Решена проблема с просмотром репозиториев, содержащих пробелы в имени репозитория.
Синтаксическая подсветка для файлов GraphQL, INI, TOML и Perforce была удалена из-за несовместимых или отсутствующих лицензий. Мы планируем добавить её обратно в будущем. Были удалены страницы областей поиска (/search/scope/:id). Пользовательские области поиска больше не отображаются под строкой поиска на главной странице. Вместо этого используйте настройку quicklinks, чтобы отобразить ссылки там. Была удалена страница исследования (/explore). Была удалена страница выхода. Неиспользуемые типы GraphQL DiffSearchResult и DeploymentConfiguration были удалены. Устаревшая мутация GraphQL updateAllMirrorRepositories. Устаревшее поле GraphQL Site.noRepositoriesEnabled. Из пинга были удалены общие подсчёты. Исправлено:
— Опросы удовлетворённости пользователей/NPS теперь правильно предоставляют диапазон от 0 до 10, а не от 0 до 9.
— Исправлена ошибка, из-за которой мы возвращали репозитории с неверными версиями в результатах поиска. Теперь, если пользователь указывает неверную версию, мы показываем предупреждение.
— Ранее было невозможно искать определённые шаблоны, содержащие «:», потому что они не считались бы допустимыми фильтрами. Мы сделали эти проверки менее строгими.
— Когда пользователь выходит из своей учётной записи, все его сеансы будут признаны недействительными, а не только сеанс, в котором он вышел из системы.
— Информация об URL больше не будет раскрыта через HTTP-реферер. Это предотвращает утечку кода сброса пароля пользователя.
— Аутентификация пользователя GitLab OAuth2 теперь учитывает настройку сайта tls.external.
Удалено:
— Функция smartSearchField теперь всегда включена. Параметр настроек experimentalFeatures.smartSearchField был удалён.
Исправленное:
— поиск: всегда ограничивайте коммит и разницу менее чем 10 000 репозиториями.
— поиск: настраиваемые ограничения на поиск коммитов/различий.
— поиск: добавьте конфигурацию сайта для maxTimeout.
Исправленное:
— Миграции: отменить миграцию, вызывающую взаимоблокировки в некоторых развёртываниях.
Добавленное:
— электронные письма теперь можно отправлять на SMTP-серверы с самозаверяющими сертификатами, используя email.smtp.disableTLS.
— сохранённые электронные письма о поиске теперь включают ссылку на страницу сохранённых поисков пользователя.
— кампании теперь можно синхронизировать с помощью веб-перехватчиков GitLab.
— настроенные observability.alerts теперь можно протестировать с помощью конечной точки GraphQL, triggerObservabilityTestAlert.
— Sourcegraph CLI теперь может обслуживать локальные репозитории для клонирования Sourcegraph. Ранее это было в команде под названием src-expose. Подробнее см. в нашей документации обслуживание локальных репозиториев.
— количество сохранённых, ушедших, воскрешённых, новых и удалённых пользователей будет отправляться обратно в пинги.
— использование сохранённого поиска будет отправлено обратно в пинги.
— любой запрос с ?trace=1 в качестве параметра запроса URL включит трассировку Jaeger (если Jaeger включён).
— Электронные письма для сброса пароля теперь будут автоматически отправляться пользователям, созданным администратором сайта, если настроена отправка электронной почты и включён сброс пароля. Раньше администраторам сайта нужно было вручную отправлять пользователю эту ссылку для сброса пароля. Подсветка синтаксиса для операторов поиска and и or.
Теперь можно искать файл. Контент, исключающий термин с использованием оператора NOT. Синтаксис отрицания шаблона требует установки "search.migrateParser": true
в настройках и в настоящее время поддерживается только для буквальных и регулярных запросов в индексированных репозиториях.
Оператор NOT доступен в качестве альтернативного синтаксиса — на поддерживаемых ключевых словах repo
, file
, content
, lang
и repohasfile
. NOT требует установки опции "search.migrateParser": true
в настройках.
Изменения:
— Теперь разрешения репозиториев всегда проверяются и обновляются асинхронно (фоновая синхронизация разрешений) вместо блокировки каждой операции. Опция конфигурации сайта permissions.backgroundSync
(которая включала это поведение в предыдущих версиях) теперь не действует и устарела.
— Фоновая синхронизация разрешений (permissions.backgroundSync
) стала единственной опцией для зеркалирования разрешений репозиториев с хостов кода. Все соответствующие настройки сайта устарели.
Исправления:
— Исправлены ошибки, из-за которых администраторы сайта получали ошибки при посещении страницы настроек пользователя в версии OSS.
— github-proxy
теперь учитывает переменные среды HTTP_PROXY
, HTTPS_PROXY
и NO_PROXY
(или их строчные версии). Другие службы уже учитывают эти переменные, но это было упущено. Если вам нужен прокси для доступа к github.com, установите переменную среды для контейнера github-proxy
.
— sourcegraph-frontend
теперь учитывает экспериментальную настройку tls.external
, а также переменные окружения прокси. В средах прокси это позволяет Sourcegraph получать расширения.
— Исправлена ошибка, которая иногда приводила к удалению конечных скобок из поисковых запросов при загрузке страницы.
— Индексированный поиск больше не будет останавливаться, если конкретная задача индексации остановится. Кроме того, во многих случаях, вызывающих остановку индексации, были исправлены угловые случаи.
— Индексированный поиск быстро восстановится после перебалансировки / развёртывания. Когда индексированный поисковый сегмент выходит из строя, его репозитории повторно индексируются другими сегментами. Это занимает некоторое время и во время развёртывания приводит к фактической повторной индексации всех репозиториев. Теперь мы избегаем индексации перераспределённых репозиториев, когда сегмент возвращается в оперативный режим.
— У индексированного поиска есть много улучшений в наблюдаемости. Более подробные трассировки Jaeger, подробное ведение журнала во время запуска и дополнительные показатели Prometheus.
— Страница администратора сайта «нужен индекс» значительно быстрее. Раньше на больших экземплярах обычно истекало время ожидания. Теперь он должен загружаться в течение секунды.
— Страница сброса пароля пользователя теперь учитывает значение настройки сайта auth.minPasswordLength
.
— Исправлено несоответствие, при котором повторяющиеся результаты поиска отображались бы для запросов с выражениями or
.
— Быстрые запросы индексированного поиска по большому количеству репозиториев. Поиск в 100 тыс. репозиториев теперь примерно на 400 мс быстрее и использует гораздо меньше памяти. Удаления:
— Устаревшие настройки сайта lightstepAccessToken и lightstepProject были удалены. Теперь мы поддерживаем только отправку трассировок в Jaeger. Настройте Jaeger с помощью настройки сайта observability.tracing.
— Удалена опция CloneInProgress из GraphQL Repositories API.
Изменения
Можно искать ревизии одного репозитория, перечисляя несколько имён веток (или других спецификаций ревизий) через двоеточие в запросе, например: repo:myrepo@branch1:branch2:branch3. Чтобы найти все ветки, используйте repo:myrepo@*refs/heads/. Ранее эта функция поддерживалась только для поиска различий и коммитов и была доступна через экспериментальный параметр сайта searchMultipleRevisionsPerRepository.
На странице «Добавить репозитории» (/site-admin/external-services/new) теперь отображается закрываемое уведомление, объясняющее, как и почему мы получаем доступ к данным хоста кода.
Новые функции observability.alerts:
Критические оповещения, которые недавно срабатывали, теперь могут отображаться администраторам через оповещения сайта. Используйте флаг { "alerts.hideObservabilitySiteAlerts": false }, чтобы включить эти оповещения в конфигурации пользователя.
Теперь можно отключать конкретные оповещения с помощью observability.silenceAlerts.
Ревизии, перечисленные в experimentalFeatures.versionContext, будут проиндексированы для более быстрого поиска. Это первая поддержка индексации ветвей, отличных от стандартных.
Ревизии, указанные в experimentalFeatures.versionContext или experimentalFeatures.search.index.branches, будут проиндексированы для ускорения поиска. Это первый шаг к поддержке индексирования ветвей, отличных от стандартных.
В GitLab теперь поддерживаются кампании.
Кампании теперь поддерживают GitLab и позволяют пользователям создавать, обновлять и отслеживать запросы на слияние в экземплярах GitLab.
Добавлен новый раздел на домашней странице поиска на Sourcegraph.com. В настоящее время он активируется флагом функции experimentalFeatures.showRepogroupHomepage в настройках.
Созданы новые страницы групп репозиториев.
Исправления
Теперь уведомления об устаревании Sourcegraph будут отображаться администраторам сайтов и пользователям (в зависимости от степени устаревания).
Оповещения теперь настраиваются с помощью observability.alerts в конфигурации сайта вместо веб-интерфейса Grafana. Это ещё не поддерживает все типы каналов уведомлений Grafana и пока не поддерживается на sourcegraph/server (11473). Для получения дополнительной информации см. Руководство по оповещению Sourcegraph (https://docs.sourcegraph.com/admin/observability/alerting).
Добавлена экспериментальная базовая поддержка определения, является ли ваш экземпляр Sourcegraph перегруженным или недостаточно загруженным, через набор панелей мониторинга и предупреждающих оповещений на основе использования контейнеров.
Операторы запросов [and] и [or] теперь включены по умолчанию во всех режимах поиска для поиска содержимого файла. Изменённое
— Поиск по репозиторию в контексте версии будет ссылаться на ревизию в этом контексте. — Синхронизация разрешений в фоновом режиме становится методом по умолчанию для синхронизации разрешений с хостов кода. Пожалуйста, ознакомьтесь с нашей документацией, чтобы учесть важные моменты перед обновлением (https://docs.sourcegraph.com/admin/repo/permissions#background-permissions-syncing). — Переработан стиль наложения при наведении курсора, чтобы значки и кнопка закрытия никогда не перекрывали содержимое, а также всегда отображалось, закреплено ли наложение. Стиль на хостах кода также был улучшен. — Ранее требовалось заключать большинство шаблонов в структурном поиске в кавычки. Теперь это ограничение снято, и одинарные и двойные кавычки в шаблонах структурного поиска интерпретируются буквально. Обратите внимание: вы всё ещё можете использовать content:"structural-pattern", если шаблон без кавычек конфликтует с другим синтаксисом.
Исправленное
— Динамические фильтры поиска по репозиториям на ветках, содержащих специальные символы, теперь корректно экранируются. — Репозитории с ответвлениями и архивные репозитории на определённом коммите ищутся без необходимости указывать «fork:yes» или «archived:yes» в запросе. — История git для бинарных файлов теперь отображается правильно. — Исправлены ссылки на AWS Code Commit после изменения схемы URL. — Ссылка для просмотра всех репозиториев теперь всегда появляется на странице «Исследовать». — На странице администратора сайта > Пины больше не отображается некорректное сообщение о том, что пины отключены, когда они не отключены. — Количество совпадений теперь точно сообщается для индексированного поиска. — Когда включена синхронизация разрешений в фоновом режиме, теперь можно применять разрешения только для репозиториев с выбранных хостов кода (вместо применения разрешений для репозиториев со всех хостов кода).
Удалённое
Автоматическое синхронизирование веб-хуков кампании для Bitbucket Server. Опция конфигурации blacklist для Gitolite УСТАРЕЛА и будет удалена в версии 3.19. Вместо этого используйте exclude.pattern.
— Поиск: исправлено количество совпадений в индексированном поиске. — Сортировка обнаруженных языков должным образом.
— Исправлено сообщение об ошибке «Репозиторий не найден» для патчей. — Отображение экрана с истёкшей лицензией. — Теперь Sourcegraph собирается с использованием Go 1.14.3, что устраняет проблемы с запуском Sourcegraph на Ubuntu 19 и 20.
Завершение кода для фильтров repogroup в поисковых запросах. # 10141
Если включён экспериментальный флаг функции codeInsights, расширения могут добавлять контент на страницы каталогов через экспериментальный API ViewProvider. #10236
Страницы каталогов затем представляются как экспериментальные DirectoryViewer в visibleViewComponents API расширения. Основные улучшения синтаксического выделения, включая:
— 228 коммитов / 1 год улучшений библиотеки подсветки синтаксиса, которую использует Sourcegraph (syntect).
— 432 коммита / 1 год улучшений базовых определений синтаксиса для ~36 языков, используемых Sourcegraph (sublimehq/Packages).
— Обнаружено 30 новых расширений/имён файлов.
— Вероятно, исправлены другие основные проблемы нестабильности и поддержки языков. #9557
— Добавлена подсветка синтаксиса Smarty (#2885), Ethereum / Solidity / Vyper) (#2440), Cuda (#5907), COBOL (#10154), vb.NET (#4901) и ASP.NET (#4262).
— Исправлена подсветка синтаксиса OCaml (#3545).
— Улучшена поддержка Bazel/Starlark (.star, BUILD и многие другие расширения теперь правильно подсвечиваются). #8123
Новая страница разрешений в настройках пользователя и репозитория, когда включена синхронизация фоновых разрешений ("permissions.backgroundSync": {"enabled": true}
). #10473 #10655
Новый раскрывающийся список для выбора контекстов версий появляется слева от поля ввода запроса, когда контексты версий указаны в experimentalFeatures.versionContext
в конфигурации сайта. Контексты версий позволяют ограничить поиск определёнными наборами репозиториев в версиях.
Отчёты об использовании наборов изменений кампании, включая созданные, добавленные и объединённые наборы изменений, будут отправляться обратно в пинги. #10591
Представления различий теперь имеют подсветку синтаксиса и могут быть корректно скопированы. #10437
Администраторы теперь могут загрузить анонимный архив статистики использования в формате ZIP на странице Сайт администратора > Статистика использования. Решение поделиться этим архивом с командой Sourcegraph поможет нам сделать продукт ещё лучше. #10475
API расширения: теперь есть поле versionContext
и подписные versionContextChanges
в Workspace
, чтобы позволить расширениям учитывать контекст версии экземпляра.
Умное поле поиска, предоставляющее подсветку синтаксиса, всплывающие подсказки и проверку фильтров в поисковых запросах, теперь активируется по умолчанию. Его можно отключить, установив { "experimentalFeatures": { "smartSearchField": false } }
в глобальных настройках.
Поля userID
и orgID
в типе SavedSearch в API GraphQL были заменены полем namespace
. Чтобы получить ID пользователя или организации, владеющей сохранённым поиском, используйте namespace.id
. #5327
Страницы дерева теперь перенаправляют на страницы больших двоичных объектов, если путь не является деревом, и наоборот. #10193
Файлы и каталоги, которые не найдены, теперь возвращают код состояния 404. #10193
Флаг администратора сайта disableNonCriticalTelemetry
теперь позволяет администраторам Sourcegraph отключать большую часть анонимной телеметрии. Подробнее см. https://docs.sourcegraph.com/admin/pings. #10402
В OSS-версии Sourcegraph провайдеры авторизации правильно инициализируются, и API GraphQL больше не блокируются. ### 3487
Ранее пути репозиториев GitLab, содержащие определённые символы, не могли быть исключены (косая черта и точки в частях путей). Теперь эти символы разрешены, поэтому пути репозитория можно исключить.
Символы для индексированных коммитов на языках Haskell, JSONNet, Kotlin, Scala, Swift, Thrift и TypeScript снова будут отображаться. Ранее наш индексатор символов не знал, как извлекать символы для этих языков, хотя наша служба неиндексированных символов это делала.
При периодическом повторном клонировании репозиторий по-прежнему будет доступен.
Устаревшие обсуждения функций были удалены.
Исправлена ошибка «репозиторий не найден» для патчей.
Отображается экран с истёкшей лицензией.
Устранена потенциальная уязвимость безопасности. В рабочем процессе аутентификации.
Проблема, из-за которой sourcegraph/postgres-11.4:3.15.0
ошибочно считался более старой версией образа, несовместимой с развёртываниями Kubernetes без полномочий root, теперь исправлена. sourcegraph/postgres-11.4:3.15.1
теперь соответствует той же версии образа, что и в Sourcegraph 3.14.3 (20-04-07_56b20163
).
Решена проблема, приводившая к перекрытию вкладок результатов поиска в Safari.
— Пользователи и администраторы сайта теперь могут просматривать журнал своих действий/событий в настройках пользователя.
— С новым фильтром visibility:
результаты поиска теперь можно фильтровать на основе видимости репозитория (возможные значения фильтра: any
, public
или private
).
— sourcegraph/git-extras
теперь включён по умолчанию в новых экземплярах.
— Образ Docker Sourcegraph теперь копирует /etc/sourcegraph/gitconfig
в $HOME/.gitconfig
. Это удобство аналогично тому, которое мы предоставляем для репозиториев, которым требуется HTTP(S) или SSH-аутентификация.
— Теперь поддерживается фоновая синхронизация разрешений для GitHub через конфигурацию сайта "permissions.backgroundSync": {"enabled": true}"
.
— Поиск: добавление stable:true
к запросу обеспечивает детерминированный порядок результатов поиска. Это экспериментальный параметр. Он применяется только к содержимому файлов и ограничен максимум 5000 результатами (рассмотрите возможность использования API поиска с разбивкой на страницы, если вам нужно больше).
— После завершения опроса обратной связи пользователей Sourcegraph может появиться кнопка для публикации этой обратной связи в @sourcegraph.
— Команды git fetch
и git clone
теперь наследуют переменные среды родительского процесса. Это позволяет администраторам сайтов устанавливать HTTPS_PROXY
или конфигурации git http через переменные среды. Для кластерных сред администраторы сайтов должны установить это в контейнере gitserver.
— Экспериментально: поиск содержимого файла с использованием выражений and
- и or
- в запросах. Включено через глобальное значение настроек {"experimentalFeatures": {"andOrQuery":
. Включение вилок или заархивированных репозиториев в поиск через глобальные/орг/пользовательские настройки с помощью "search.includeForks": true
или "search.includeArchived": true
, соответственно.
Наблюдаемость (отладка): теперь можно регистрировать все поисковые и GraphQL-запросы, которые выполняются медленнее N миллисекунд, используя новые параметры конфигурации сайта observability.logSlowGraphQLRequests
и observability.logSlowSearches
.
Наблюдаемость (мониторинг): отслеживается больше метрик, на которые отправляются оповещения, а также улучшена читаемость панелей мониторинга:
— панели мониторинга теперь показывают оранжевый/красный цвет фона, когда достигается определённый порог предупреждающих/критических оповещений, что упрощает определение проблемного состояния;
— отслеживаются символы: запросы symbols
-> frontend-internal
теперь находятся под наблюдением;
— на панели мониторинга фронтенда ошибки поиска разделены на отдельные панели для улучшения видимости/читаемости;
— ВАЖНО: если вы ранее настроили оповещения для любой из этих панелей или для «серьёзных ошибок поиска», вам потребуется перенастроить их после обновления.
— панель мониторинга фронтенда: ошибки поиска и задержки теперь разделены по типам: запросы браузера, поисковые запросы на основе кода и запросы API.
Наблюдаемость (отладка): распределённая трассировка является мощным инструментом для исследования проблем производительности. Были внесены следующие изменения, чтобы упростить использование распределённой трассировки с Sourcegraph:
— поле конфигурации сайта "observability.tracing": { "sampling": "..." }
позволяет администратору сайта контролировать, какие запросы... Генерируют данные трассировки:
— "all"
будет отслеживать все запросы;
— "selective"
(рекомендуется) будет отслеживать все запросы, инициированные с URL конечного пользователя с ?trace=1
. Запросы, не инициированные конечным пользователем, могут устанавливать HTTP-заголовок X-Sourcegraph-Should-Trace: true
. Это рекомендуемая настройка, поскольку "all"
может генерировать большие объёмы данных трассировки, что может вызвать конфликт ресурсов сети и памяти в экземпляре Sourcegraph;
— "none"
(по умолчанию) отключает трассировку.
Jaeger теперь является официально поддерживаемым распределённым трассировщиком. Рекомендуемая конфигурация сайта для подключения Sourcegraph к агенту Jaeger (который должен быть развёрнут на том же хосте и прослушивать порты по умолчанию):
"observability.tracing": {
"sampling": "selective"
}
Jaeger включён в конфигурацию развёртывания Sourcegraph по умолчанию, если вы используете Kubernetes, Docker Compose или модель развёртывания чистого кластера Docker. Он будет включён как часть обновления до версии 3.15 в этих моделях развёртывания, если не отключён. Поле конфигурации сайта useJaeger
устарело в пользу observability.tracing
. Поддержка настройки Lightstep в качестве распределённого трассировщика устарела и будет удалена в следующем выпуске. Экземплярам, использующим Lightstep с Sourcegraph, рекомендуется перейти на Jaeger.
Изменено:
— несколько несовместимых изменений в частях GraphQL API, связанных с кампаниями:
— CampaignPlan.status
был удалён, так как он больше не нужен после переноса выполнения кампаний в src CLI;
— CampaignPlan
был переименован в PatchSet
;
— ChangesetPlan
/ChangesetPlanConnection
был переименован в Patch
/PatchConnection
;
— CampaignPlanPatch
был переименован в PatchInput
;
— Campaign.plan
был переименован в Campaign.patchSet
;
— Campaign.changesetPlans
был переименован в campaign.changesetPlan
;
— мутация createCampaignPlanFromPatches
была переименована в createPatchSetFromPatches
. Удалено поле поиска с ограничением области на страницах дерева. При просмотре кода глобальный поисковый запрос теперь будет ограничен текущим деревом или файлом. #9225
Экземпляры без лицензионного ключа, превышающие опубликованный лимит пользователей, теперь отображают уведомление для всех пользователей.
Исправлено:
— В фильтре .* игнорировались, что приводило к отсутствию результатов поиска. #9152
— Интеграция с Phabricator больше не делает повторяющиеся запросы к API Phabricator в представлениях различий. #8849
— Изменения наборов репозиториев, которые больше недоступны в экземпляре, теперь скрыты, а не приводят к сбою. #9656
— Наблюдаемость (мониторинг):
* Панель мониторинга и исправления ошибок оповещений:
— Панель сервера Syntect: «Таймауты рабочего процесса» больше не могут отображаться как отрицательные. #9523
— Панель символов: «Размер очереди выборки хранилища» больше не может отображаться как отрицательный. #9731
— Панель сервера Syntect: «Тайм-ауты рабочего процесса» теперь корректно отображает несколько значений. #9524
— Панель поиска: «Ошибки поиска в неиндексированных репозиториях» больше не включает отменённые поисковые запросы (что ожидается).
— Исправлена проблема, из-за которой NaN мог попасть в метрику alert_count. #9832
— Gitserver: оповещение resolve_revision_duration_slow больше не работает нестабильно / недетерминировано. #9751
— Панель Git Server: теперь есть панель для отображения одновременных выполнений команд в соответствии с определёнными оповещениями. #9354
* Улучшения видимости и читаемости панели мониторинга:
— Все: «внутренние ошибки внешнего интерфейса» теперь разбиты только по маршруту, что упрощает. Изменённое:
Функция «автоматизация» была переименована в «кампании».
Развёртывание Kubernetes для существующих установок требует шага миграции при обновлении после коммита 821032e2ee45f21f701 или при обновлении до версии 3.14. Новые установки, начинающиеся с упомянутого коммита или с версии 3.14, не требуют этого шага миграции. Поиск запросов теперь включён в [пинг] (https://docs.sourcegraph.com/admin/pings).
Роль интерфейса развёртывания Kubernetes добавила службы как ресурс для отслеживания/прослушивания/получения. Это изменение не влияет на недавно введённые ограниченные конфигурационные файлы Kubernetes.
По умолчанию архивные репозитории исключены из поиска. Добавление archived:yes
включает архивные репозитории.
По умолчанию разветвлённые репозитории исключены из поиска. Добавление fork:yes
включает разветвлённые репозитории.
Файлы cookie CSRF и сеанса теперь устанавливают значение SameSite=None, когда Sourcegraph работает через HTTPS, и значение SameSite=Lax, когда Sourcegraph работает через HTTP, чтобы соответствовать недавнему предложению IETF (https://web.dev/samesite-cookies-explained/#samesitenone-must-be-secure). В качестве побочного эффекта расширение браузера Sourcegraph и собственные интеграции GitLab/Bitbucket могут подключаться только к частным экземплярам с настроенным HTTPS. Если ваш частный экземпляр работает только через HTTP, настройте его для использования HTTPS, чтобы продолжить использовать их.
Ограничение скорости Bitbucket Server, которое Sourcegraph устанавливает самостоятельно, было увеличено со 120 запросов в минуту до 480 запросов в минуту, чтобы учесть экземпляры Sourcegraph, которые одновременно используют разрешения репозитория Sourcegraphs' Bitbucket Server и кампании (что требует большего количества запросов API к Bitbucket Server). Новое число основано на том, что Sourcegraph потребляет примерно 8% средней скорости запросов API большого экземпляра Bitbucket Server клиента. #9048.
Если в поисковом запросе используется один однозначный SHA фиксации (например, repo@c98f56
) и существует индекс поиска по этому коммиту (то есть это фиксация HEAD
), то запрос выполняется с использованием индекса. До этого изменения для любого запроса, содержащего спецификатор @commit
, выполнялся поиск без индекса.
Исправленное:
Сторожевой таймер Zoekt гарантирует, что служба будет отключена до трёх раз перед завершением работы. На системах с ограниченными ресурсами сторожевой таймер мог давать ложные срабатывания при перезапуске, с повторными попытками это должно сделать ложное срабатывание гораздо менее вероятным. #7867.
Исправлена регрессия в обновлении репо, которая приводила к обновлению каждого клона git каждого репозитория каждый раз, когда список репозиториев синхронизировался с хостом кода. #8501.
Увеличен тайм-аут по умолчанию для индексированного поиска. Ранее индексированный поиск всегда возвращался в течение 3 секунд. Это приводило к некорректному поведению новых экземпляров, которым ещё предстояло настроить распределение ресурсов. #8720. Интерактивный режим поиска теперь доступен пользователям по умолчанию. Выпадающий список слева от строки поиска позволяет пользователям переключаться между интерактивным и текстовым режимами. Возможность использования интерактивного режима поиска можно отключить, добавив { "experimentalFeatures": { "splitSearchModes": false } } в глобальных настройках.
Наша политика обновления (upgrade policy) теперь применяется sourcegraph-frontend при запуске, чтобы администраторы не могли случайно перейти слишком много версий.
Изменения:
experimentalFeatures.splitSearchModes
был удалён. Его следует устанавливать в глобальных/организационных/пользовательских настройках.SRC_REDIS_WAIT_FOR
.disableNonCriticalTelemetry
.previewCampaignPlan
была переименована в createCampaignPlan
. Эта мутация является частью кампаний, которые всё ещё находятся в стадии бета-тестирования и скрыты за флагом функции, поэтому возможны критические изменения, пока мы продолжаем работать над ней.CampaignPlan.changesets
было объявлено устаревшим и будет удалено в версии 3.15. Было введено новое поле под названием CampaignPlan.changesetPlans
, чтобы сделать наименование более согласованным с полем Campaign.changesetPlans
. Пожалуйста, используйте его вместо этого.read:org
для GitHub OAuth, если allowOrgs
не включён в конфигурацию сайта.Исправления:
Синтаксический анализатор (syntect-server) больше не даёт сбой при запуске в средах без поддержки IPv6.
После добавления/удаления реплики gitserver интерфейс администратора правильно сообщает, что репозитории, требующие перемещения реплик, клонируются.
Отображается кнопка загрузки для изображений.
gitserver делает повторные попытки клонирования репозиториев, если они не могут быть клонированы. В случае больших монорепозиториев это приводило к тому, что gitserver постоянно клонировал их и использовал много ресурсов. Запросы при использовании регулярных выражений.
Фильтрация по чипам, содержащим пробелы, теперь корректно заключена в кавычки в веб-интерфейсе.
Мониторинг: исправлена проблема с панелью «Frontend» -> «Поиск ответов по статусу», из-за которой типы поисковых ответов не агрегировались должным образом.
Мониторинг: исправлена проблема, из-за которой панели «Replacer», «Repo Updater» и «Searcher» неправильно отображали данные метрики от несвязанной службы query-runner.
Детерминированный порядок результатов индексированного поиска. Ранее при обновлении страницы с большим количеством результатов некоторые результаты могли появляться и исчезать.
Распределённое периодическое клонирование git. Раньше мы выполняли полное клонирование всех репозиториев git каждые 45 дней. Теперь мы добавили разброс в 12 дней, чтобы распределить нагрузку для более крупных установок.
Исправлена проблема с отсутствующей информацией о фиксации в результатах поиска graphql.
Удалено:
Все поля репозитория, связанные с включёнными и отключёнными, были удалены из API GraphQL. Эти поля устарели с версии 3.4.
Удалено устаревшее расширение API Hover.__backcompatContents.
Этот выпуск переносит исправления, выпущенные в версии 3.13.2, для клиентов, всё ещё использующих версию 3.12.
Исправлено:
Увеличен тайм-аут по умолчанию для индексированного поиска. Раньше индексированный поиск всегда возвращался в течение 3 секунд. Это приводило к некорректному поведению на новых экземплярах, которым ещё предстояло настроить распределение ресурсов.
Bitbucket Server старше версии 5.13 не синхронизировался с Sourcegraph 3.12 из-за того, что мы запрашивали метку «архивировано», но Bitbucket Server 5.13 не поддерживает метки.
Регрессия в repo-updater была исправлена, из-за чего каждый репозиторий git обновлялся каждый раз, когда список репозиториев синхронизировался с хостом кода.
Это версия 3.12.8 с внутренними инфраструктурными исправлениями для публикации образов Docker.
Исправленное:
Методы showInputBox и другие методы Window теперь работают на страницах результатов поиска.
Стилизация уведомлений об ошибках расширений стала более понятной.
Исправленное:
Изменённое:
Исправленное:
Добавленное:
Исправленное:
Нажатие на фильтры с пробелами теперь корректно заключено в кавычки в веб-интерфейсе. #6498
Мониторинг: исправлена проблема с панелью Frontend -> Поиск ответов по статусу, из-за которой типы ответов поиска не агрегировались должным образом. #7627
Мониторинг: Исправлена ошибка, из-за которой панели Replacer, Repo Updater и Searcher неправильно отображали метрику от несвязанного сервиса запросов. #7531
Детерминированный порядок результатов индексированного поиска. Ранее при обновлении страницы со множеством результатов некоторые результаты могли появляться и исчезать.
Распределите периодические повторные клонирования git. Раньше мы переклонировали все репозитории git каждые 45 дней. Теперь мы добавляем джиттер в 12 дней, чтобы распределить нагрузку для более крупных установок. #8259
Исправлена ошибка с отсутствием информации о фиксации в результатах поиска graphql. #8343
Удалены все поля репозитория, связанные с включено и отключено, из GraphQL API. Эти поля устарели с версии 3.4. #3971
Удалённый API расширения Hover.__backcompatContents
Этот релиз переносит исправления, выпущенные в версии 3.13.2, для клиентов, всё ещё использующих версию 3.12.
По умолчанию время ожидания индексированного поиска увеличено. Ранее индексированный поиск всегда возвращался в течение 3 секунд. Это приводило к некорректному поведению новых экземпляров, которые ещё не настроили распределение ресурсов. #8720
Синхронизация Bitbucket Server старше 5.13 не удалась после Sourcegraph 3.12. Это произошло из-за того, что мы запрашивали метку архивировано, но Bitbucket Server 5.13 её не поддерживает. #8883
Регрессия в обновлении репозиториев была исправлена, из-за чего каждый клон репозитория обновлялся каждый раз, когда список репозиториев синхронизировался с хостом кода. #8501
Это версия 3.12.8 с внутренними инфраструктурными исправлениями для публикации образов докеров.
Методы API расширения showInputBox и другие методы Window теперь работают на страницах результатов поиска. #8519
Оформление уведомлений об ошибках расширений стало более понятным. #8521
Кампании теперь корректно обрабатывают отклонения отзывов GitHub при построении диаграммы снижения активности.
Когда разрешения GitLab включены с использованием аутентификации GitLab OAuth, видимость проектов GitLab извлекается пакетами, что обычно более эффективно, чем их индивидуальное извлечение. Поля minBatchingThreshold и maxBatchRequests объекта authorization.identityProvider в конфигурации репозиториев GitLab управляют тем, когда используется такое пакетное извлечение. #8171
Исправлено внутреннее состояние гонки в нашем процессе сборки Docker. Предыдущая версия патча 3.12.4 содержала версию lsif-сервера новее ожидаемой. Затронутые артефакты были впоследствии удалены из реестра Docker.
Новый необязательный параметр конфигурации apiURL для подключения к хосту кода Bitbucket Cloud. #8082
Исправлена проблема в образах sourcegraph/ Docker, где папки данных либо не создавались, либо имели неправильные разрешения — это препятствовало использованию томов Docker. #7991
Экспериментальное: сайт Настройки SSL/TLS для Sourcegraph при обращении к хостам вашего кода. В настоящее время поддерживается только отключение проверки TLS/SSL. #71
Экспериментально: чтобы искать по нескольким версиям одного и того же репозитория, перечислите несколько имён ветвей (или других revspecs), разделённых двоеточием, в вашем запросе, например: repo:myrepo@branch1:branch2:branch3. Для поиска во всех ветвях используйте repo:myrepo@*refs/heads/. Требуется значение конфигурации сайта:
{
"experimentalFeatures": {
"searchMultipleRevisionsPerRepository": true
}
}
Ранее это поддерживалось только для поиска различий и коммитов.
{
"experimentalFeatures": {
"splitSearchModes": true
}
}
Существующий формат поиска в виде простого текста всё ещё доступен через раскрывающееся меню слева от строки поиска.
Добавьте явную поддержку разрешений репозиториев с полем конфигурации сайта:
{
"permissions": {
"userMapping": {
"enabled": true,
"bindID": "email"
}
}
}
На вкладке «Файлы» на странице результатов поиска было изменено название на «Имена файлов» для ясности.
Конструктор поисковых запросов теперь находится на отдельной странице /search/query-builder. На домашней странице поиска есть ссылка на него.
Пароли пользователей при использовании встроенной аутентификации ограничены 256 символами. Существующие пароли длиннее 256 символов продолжат работать.
GraphQL API: Campaign.changesetCreationStatus был переименован в Campaign.status для соответствия CampaignPlan.
При использовании GitHub в качестве поставщика аутентификации теперь требуется область read:org. Она используется для поддержки нового параметра конфигурации сайта allowOrgs в конфигурации GitHub auth.providers, который позволяет администраторам сайтов ограничивать вход в GitHub членами определённой организации GitHub. Это позволяет, например, иметь экземпляр Sourcegraph с настроенным входом через GitHub, доступным для общего пользования в интернете, не позволяя всем, у кого есть учётная запись GitHub, получить доступ к вашему экземпляру Sourcegraph.
Экспериментальная функция поиска больше не истекает по таймауту при обнаружении больших репозиториев.
Мы разрешаем относительные символические ссылки из каталога символической ссылки, а не из корня репозитория.
Показывать ошибки на странице настроек репозитория при сбое repo-updater.
Убрать безобидное предупреждение о том, что проверка конфигурации заняла более 10 секунд при обновлении или сохранении внешней службы.
Фильтр поиска repohasfile снова работает (регресс в версии 3.10).
Структурный поиск теперь может выполняться в очень больших репозиториях, содержащих любое количество файлов.
Устаревшая мутация GraphQL setAllRepositoriesEnabled была удалена.
Устаревшая мутация GraphQL deleteRepository была удалена.
Исправлена конечная точка /.auth/saml/metadata. Раньше она вызывала панику, если не был установлен ключ шифрования.
Исправлена логика обновления версии для sourcegraph/server. Пользователи, работающие с sourcegraph/server:3.11.1, должны вручную изменить команду запуска docker run, чтобы использовать sourcegraph/server:3.11.4 или выше.
Процесс синхронизации для вновь созданных наборов изменений кампании был снова исправлен после того, как они были ошибочно помечены как удалённые в базе данных.
Синхронизация процесса для вновь созданных изменений... Кампании были снова исправлены после того, как они были ошибочно помечены как удалённые в базе данных. #7522
Важно: Если вы используете SITE_CONFIG_FILE
или CRITICAL_CONFIG_FILE
, пожалуйста, обязательно следуйте шагам, описанным в: миграционные заметки для Sourcegraph v3.11+ после обновления.
GLOBAL_SETTINGS_FILE
.repohascommitafter:
использует более эффективную команду git для определения включения. #6739HOSTNAME
можно указать NODE_NAME
для zoekt-indexserver. HOSTNAME
был запутанной конфигурацией для использования в развёртываниях Pure-Docker Sourcegraph. #6846LanguageStatistics
в name
, totalBytes
и totalLines
(раньше имена полей начинались с заглавной буквы, что было непоследовательно).USE_ENHANCED_LANGUAGE_DETECTION
в строку false
(в контейнере sourcegraph/server
или, если используется кластерное развёртывание, в поде sourcegraph-frontend
).before:
и after:
для сужения области поиска, больше не ограничены лимитом в 50 репозиториев. Это позволяет создавать сохранённые поиски более чем в 50 репозиториях, как и раньше. #7215В панели мониторинга Searcher (и метрике Prometheus src_graphql_search_response
) теперь корректно учитываются поисковые оповещения, вместо того чтобы неправильно добавляться в категорию timeout
.
В экспериментальном API поиска с разбивкой на страницы поля cloning
, missing
и другие поля репозитория теперь возвращают чётко определённый набор результатов.
Консоль управления была удалена. Вся критическая конфигурация, ранее хранимая в консоли управления, будет автоматически перенесена в конфигурацию вашего сайта. Для получения дополнительной информации об этом изменении или если вы используете... SITE_CONFIG_FILE / CRITICAL_CONFIG_FILE, см. примечания по миграции для Sourcegraph v3.11+.
Исправлена проблема, из-за которой поиск различий/фиксаций, который должен был выполняться более чем в 50 репозиториях, неправильно отображал ошибку тайм-аута вместо правильной ошибки, предлагающей пользователям ограничить свой запрос меньшим количеством репозиториев.
Критическая ошибка в версии 3.10.2, которая приводила к тайм-аутам поиска различий, фиксаций и репозиториев. Критическая ошибка в версии 3.10.2, приводившая к частому появлению сообщения «Нет результатов» на страницах с результатами поиска. Проблема, из-за которой встроенная панель инструментов Grafana Searcher показывала повторяющиеся показатели успеха/ошибки.
Администраторы сайтов теперь могут использовать встроенную панель инструментов Grafana Searcher для наблюдения за тем, сколько поисковых запросов успешно выполнено, приводит к ошибкам или тайм-аутам.
При тайм-аутах поиска возвращается согласованный пользовательский интерфейс с чёткими действиями, такими как кнопка для увеличения времени ожидания. Чтобы уменьшить вероятность тайм-аутов поиска в некоторых случаях, значение по умолчанию для индексированного тайм-аута поиска было увеличено с 1,5 с до 3 с. Теперь мы правильно информируем пользователей об ограничениях поиска различий/фиксаций. Если поиск различий/фиксаций будет выполняться более чем в 50 репозиториях, пользователям будет показана ошибка, предлагающая им ограничить свой поиск меньшим количеством репозиториев с помощью фильтра repo:
. Поддержка глобального поиска различий/фиксаций отслеживается в #6826.
Подсветка синтаксиса для файлов Starlark (Bazel).
Экспериментальный API поиска с нумерацией страниц больше не выдаёт тайм-аут при обнаружении больших репозиториев. Во встроенных развёртываниях с одним контейнером postgres_exporter
теперь правильно учитывает внешние настроенные базы данных. Ранее это приводило к тому, что метрики PostgreSQL не отображались в Grafana при использовании внешней БД.
Индексированный поиск поддерживает горизонтальное масштабирование. Экземпляры с большим количеством репозиториев могут обновить поле replica
... Индексированный поиск StatefulSet. См. «Настройка количества реплик индексированного поиска» (https://github.com/sourcegraph/deploy-sourcegraph/blob/master/docs/configure.md#configure-indexed-search-replica-count). #5725
—
Внешний сервис Bitbucket Cloud поддерживает опцию конфигурации exclude. #6035
—
Развёртывания Docker для sourcegraph/server теперь поддерживают переменную среды IGNORE_PROCESS_DEATH. Если установить значение true, контейнер будет продолжать работать, даже если подпроцесс умер. Это полезно при ручном исправлении проблем в контейнере, который отказывается запускаться. Например, неудачная миграция базы данных.
—
Теперь в поле ввода поиска предлагаются типы фильтров. #6105.
—
Сочетание клавиш Ctrl+Space в поле поиска показывает список доступных типов фильтров.
—
Администраторы кластера Kubernetes Sourcegraph могут настроить PostgreSQL, указав postgresql.conf через ConfigMap. sourcegraph/deploy-sourcegraph#447
—
Требуется миграция Kubernetes: манифест развёртывания Kubernetes для служб индексированного поиска изменился с обычной службы на безголовую службу. Это позволяет Sourcegraph индивидуально разрешать модули индексированного поиска. Службы являются неизменяемыми, поэтому, пожалуйста, следуйте руководству по миграции. Поля типа String в нашем GraphQL API, которые содержат JSONC (https://komkom.github.io/), теперь имеют пользовательский скалярный тип JSONCString. #6209.
Переменная среды ZOEKT_HOST устарела. Вместо этого используйте INDEXED_SEARCH_SERVERS. ZOEKT_HOST будет удалён в версии 3.12.
Имена каталогов на странице дерева репозитория теперь выделены жирным шрифтом для улучшения читаемости.
Добавлена поддержка активности запросов на вытягивание Bitbucket Server в диаграмму выгорания кампании. При использовании эта функция приводит к отправке большего количества запросов на сервер Bitbucket, поскольку Sourcegraph должен отслеживать, как состояние запроса на вытягивание меняется со временем. С помощью веб-хуков области экземпляра в нашем плагине Bitbucket Server (https://docs.google.com/document/d/1I3Aq1WSUh42BP8KvKr6AlmuCfo8tXYtJu40WzdNT6go/edit), а также предстоящих изменений эвристической синхронизации (#6389), эта дополнительная нагрузка будет значительно снижена в будущем.
Поддержка дефисов в именах команд Bitbucket Cloud. #6154.
Сервер будет запускать redis-check-aof --fix при запуске для исправления повреждённых файлов AOF. #651.
Ошибки конфигурации поставщика авторизации во внешних службах будут отображаться в виде предупреждений сайта. #6061.
Экспериментальный объект PageInfo объекта API поиска с разбивкой на страницы теперь возвращает String вместо ID для своего endCursor, и аналогично для поля поиска after. Пользователи экспериментального API поиска с разбивкой на страницы могут обновить свои варианты использования, чтобы заменить типы курсоров ID на String. Pagination API больше не пропускает результаты одного репозитория в конце набора результатов. #6286.
Экспериментальный API постраничной навигации больше не приводит к «зависанию» поисковых курсоров. #6287.
В режиме буквального поиска поиск по заключённым в кавычки строкам теперь работает, как ожидалось. #6255.
В режиме буквального поиска значения полей в кавычках теперь работают, как ожидалось. #6271.
type:path поисковые запросы теперь снова корректно работают в индексированном поиске. #6220.
Теперь Sourcegraph собирается с использованием Go 1.13.3. #6200.
При построении параметров соединения Postgres в lsif-сервере URI-декодируются имя пользователя, пароль и путь. Это устраняет сбой процесса lsif-сервера для пользователей с паролями, содержащими специальные символы. #6174.
Отменено изменение #6094, поскольку оно привело к незначительной уязвимости безопасности, затрагивающей только Grafana. Проблема #6075 будет решена другим способом.
Наша модель синхронизации внешних сервисов будет передавать новые репозитории в Sourcegraph. Раньше мы могли только добавить репозиторий в нашу базу данных и клонировать его после синхронизации всей информации со всех внешних сервисов (для обнаружения удалений и переименований). Теперь добавление репозитория во внешнюю конфигурацию сервиса должно отражаться гораздо быстрее, даже на больших экземплярах. Появился простой способ для администраторов сайтов просматривать и экспортировать настройки и конфигурации при сообщении об ошибке.
Страница для этого находится по адресу /site-admin/report-bug, на неё можно перейти из боковой панели администратора сайта в разделе «Сообщить об ошибке».
Доступен экспериментальный API постраничной навигации для более эффективного программного использования результатов поиска. Более подробную информацию и известные ограничения см. в документации.
Поисковые запросы теперь могут интерпретироваться буквально.
search.defaultPatternType
, который позволяет настроить тип шаблона по умолчанию для поиска, регулярное выражение или литерал.patternType:
, который переопределяет параметр search.defaultPatternType
и активное состояние значка со звёздочкой при определении типа шаблона запроса.Добавлена поддержка веб-хуков GitHub организации для ускорения обновления метаданных, используемых кампаниями, такими как запросы на вытягивание или комментарии к проблемам. Инструкции по включению веб-перехватчиков см. в документации GitHub webhook.
Добавлено визуальное представление прогресса кампаний с помощью диаграммы сгорания.
Возможность редактирования заголовков и описаний кампаний.
— Рекомендуемое обновление Kubernetes: манифест развёртывания Kubernetes (Kubernetes deployment) для модулей индексированного поиска изменился с Deployment на StatefulSet. Это сделано для того, чтобы в будущем можно было горизонтально масштабировать индексированный поиск. Чтобы сохранить существующие индексы, есть миграция. Руководство по изменениям в Sourcegraph:
repoHasFile:
теперь будет распознаваться, а не только repohasfile:
.search
в GraphQL API теперь принимает два новых необязательных параметра: version
и patternType
. version
определяет используемую версию синтаксиса поиска, а patternType
определяет тип шаблона для запроса. Значение по умолчанию для version
— «V1», что означает поиск по регулярным выражениям, если явно не указано иное. patternType
переопределяет тип шаблона, определённый версией.patternType:regexp
в конец запросов, чтобы обеспечить детерминированные результаты независимо от конфигураций patternType на экземпляре. Все новые сохранённые поиски должны иметь поле patternType:
в запросе.repohascommitafter
был непригоден для использования при пустом репозитории.externalURL
, не настроенный в консоли управления, могла остаться незамеченной.Версия 3.8.2
Версия 3.8.1
nameTransformations
во внешнюю службу GitLab, чтобы помочь преобразовать имя репозитория, которое отображается в пользовательском интерфейсе Sourcegraph.Версия 3.8.0
hardTTL
была добавлена в конфигурацию авторизации Bitbucket Server. Эта настройка указывает продолжительность, после которой кэшированные разрешения пользователя должны быть обновлены перед авторизацией любого действия пользователя. Это контрастирует с уже существующей настройкой ttl
, которая определяет продолжительность, по истечении которой кэшированные разрешения пользователя будут обновляться в фоновом режиме, но ранее кэшированные (и теперь устаревшие) разрешения используются для авторизации любых действий пользователя, происходящих до завершения обновления. Если ваше предыдущее значение ttl
больше значения по умолчанию новой настройки hardTTL
(то есть 3 дня), вы должны изменить ttl
, чтобы оно было меньше, или hardTTL
, чтобы оно было больше.statusIndicator
была удалена из конфигурации сайта. Раздел «experimentalFeatures»
Индикатор состояния был включён по умолчанию, начиная с версии 3.6.0, и теперь вы можете безопасно удалить флаг функции из вашей конфигурации.
Публичное использование теперь доступно только на Sourcegraph.com. Поскольку многие основные функции полагаются на сохранённые пользовательские настройки, анонимное использование приводит к ухудшению работы для большинства пользователей. В результате для частных экземпляров с самостоятельным размещением предпочтительно, чтобы у всех пользователей были учётные записи. Но на sourcegraph.com пользователям по-прежнему придётся соглашаться на регистрацию, несмотря на ухудшение UX.
Версия 3.7.2
Добавлено:
— Руководство по миграции для Sourcegraph v3.7+ (https://docs.sourcegraph.com/admin/migration/3_7.md).
Исправлено:
— Исправлена проблема, из-за которой некоторые репозитории с очень длинными именами символов не индексировались после версии 3.7. — Теперь мы сохраняем одну предыдущую версию поискового индекса после обновления, что означает, что обновление и понижение версии с v3.6.2 <-> v3.7.2 теперь на 100% бесшовно и не требует простоя или снижения производительности поиска во время переиндексации репозиториев. Пожалуйста, обратитесь к руководству по миграции v3.7+ (https://docs.sourcegraph.com/admin/migration/3_7.md) для получения подробной информации.
Версия 3.7.1
Исправлено:
— Во время переиндексации репозиториев мы теперь продолжаем обслуживать старый индекс. Таким образом, вы можете обновиться до версии 3.7.1 без простоев. — Поиск проиндексированных символов стал быстрее, так как мы исправили проблему с производительностью, которая возникала, когда существовало много репозиториев без каких-либо символов. — Поиск по проиндексированным символам теперь занимает меньше места на диске при обновлении непосредственно до версии v3.7.1, поскольку мы правильно удаляем старые индексы.
Версия 3.7.0
Добавлено:
— Поисковые запросы по индексированным символам поддерживаются. Эта функция потребует переиндексации всех репозиториев, что увеличит использование диска и памяти индексируемым поиском примерно на 10%. Вы Многострочный поиск теперь работает для неиндексированного поиска.
При использовании SITE_CONFIG_FILE и EXTSVC_CONFIG_FILE теперь можно также указать, например, SITE_CONFIG_ALLOW_EDITS=true (https://docs.sourcegraph.com/admin/config/advanced_config_file), чтобы разрешить внесение изменений в конфигурацию в приложении, которые будут перезаписаны при следующем перезапуске процесса.
Изменено:
— В конфигурации внешнего сервиса GitHub теперь можно указать orgs без указания repositoryQuery или repos тоже. — Встроенный анализатор TypeScript в обновлённой версии ctags обеспечивает значительно улучшенный интеллект кода на TypeScript. — Sourcegraph использует протокол Git версии 2 для повышения эффективности и производительности при получении данных от совместимых хостов кода. — Поиски с repohasfile: быстрее находят совпадения репозиториев. — Zoekt теперь запускается с GOGC=50 по умолчанию, помогая снизить потребление памяти Sourcegraph. — Обновлена версия Go, используемая для улучшения безопасности публично доступных экземпляров Sourcegraph.
Исправлено:
— Очистка диска в gitserver теперь выполняется в процентах для исправления. — Результаты поиска теперь корректно отображают выделение совпадений с рунами типа 'İ', которые в нижнем регистре преобразуются в руны с другим количеством байтов в UTF-8. — Исправлена ошибка, из-за которой поиск иногда завершался сбоем с паникой из-за нулевого указателя.
Удалено:
Версия 3.6.2
Исправлено:
— Исправлено Phabricator внешних сервисов, поэтому они не остановят процесс синхронизации репозиториев, если Phabricator не вернёт URL-адреса клонирования.
Версия 3.6.1
Добавлено:
— Новая опция сайта branding.brandName настраивает название бренда для отображения в... Элемент Sourcegraph <title>.
Поиски символов с усечёнными результатами теперь показывают символ «+» на странице результатов, чтобы сигнализировать о том, что некоторые результаты были опущены.
Поиск по индексу теперь поддерживает сопоставление последовательных буквальных новых строк, с запросами, такими как, например, foo\nbar. для поиска по нескольким строкам. Конфиг позволяет администраторам выбирать все репозитории из указанных организаций для синхронизации.
Новый экспериментальный фильтр поиска repohascommitafter:"30 days ago"
позволяет пользователям исключать устаревшие репозитории, которые не содержат коммитов (в указанную ветку поиска) после указанной даты, из своего поискового запроса.
Настройка authorization
в конфиге внешней службы сервера Bitbucket позволяет Sourcegraph применять разрешения репозитория, определённые на сервере Bitbucket.
Новый, экспериментальный индикатор состояния в панели навигации позволяет администраторам быстро видеть, обновлены ли настроенные репозитории или сколько из них сейчас обновляются в фоновом режиме. Вы можете включить индикатор состояния с помощью следующей конфигурации сайта: "experimentalFeatures": { "statusIndicator": "enabled" }
.
Новый фильтр поиска repohasfile
позволяет пользователям фильтровать результаты только по репозиториям, содержащим соответствующий файл. Например, ubuntu file:Dockerfile repohasfile:\.py$
найдёт упоминания Dockerfile в репозиториях, содержащих файлы Python. #4501.
Исправлены шаблоны поиска репозиториев, содержащие .*
. Ранее наш оптимизатор игнорировал .*
, что в некоторых случаях приводило к тому, что наш поиск репозиториев исключал некоторые репозитории из результатов.
Решена проблема, когда интеграция с Phabricator была нарушена в последних версиях Phabricator. Это исправление зависит от версии 1.2 расширения Phabricator.
Решена проблема, при которой баннер «Пустой репозиторий» отображался на странице репозитория при начале клонирования репозитория.
Предотвращена несогласованность данных в... Кэшированных архивах из-за перезапусков. #4366
На странице /extensions интерфейс теперь менее неоднозначен, когда расширение не активировано. #4446
При настройке repositoryPathPattern пути от полного длинного имени будут перенаправлены на настроенное имя. Расширения будут работать с настроенным именем. repositoryPathPattern позволяет администраторам настраивать «приятные имена». Например, sourcegraph.example.com/github.com/foo/bar можно настроить как sourcegraph.example.com/gh/foo/bar, используя "repositoryPathPattern": "gh/{nameWithOwner}". #462.
Админы теперь могут отключать оповещения о сайте для обновлений версии патча, используя настройку. Создание учётной записи пользователя
Исправлена ошибка, при которой gitserver пропускал файловые дескрипторы при выполнении обычных операций.
Существенно улучшена производительность обновления конфигураций внешних сервисов Bitbucket Server на экземплярах с тысячами репозиториев — например, с нескольких минут до примерно минуты для ~20 тыс. репозиториев (#4037).
Полностью устранена регрессия производительности поиска в v3.2.0, восстанавливающая производительность поиска до тех же уровней, что и до изменений, внесённых в v3.2.0.
Исправлена ошибка, когда фильтр поиска репо с префиксом github.com искал только репозитории, чьё имя начиналось с github.com, хотя в фильтре поиска не был указан ^ (#4103).
Исправлена проблема, из-за которой файлы, которые не могут выделить синтаксис, неправильно отображали ошибку вместо того, чтобы изящно вернуться к своей простой текстовой форме.
pq: duplicate key value violates unique constraint "repo_external_service_unique_idx"
) (#3680)Удаляет повреждённые архивы в... Исправления
bitbucketserver.repositoryQuery
не создавался при миграции со старых версий Sourcegraph.bitbucketserver.username
, если оно не задано или пусто, автоматически переносится для соответствия пользовательской части URL (если определено).Исправлена проблема, при которой служба обновления репозитория могла зайти в тупик во время миграции.
Исправлена ошибка, которая мешала работе внешних конфигураций служб, указывающих клиентские сертификаты.
Новые функции
В поисковых запросах foo(
обрабатывается как foo\(
, а bar[
— как bar\[
.
Администраторы предприятия теперь могут настраивать внешний вид домашней страницы и значка поиска.
Новое свойство настроек notices
позволяет показывать пользовательские информационные сообщения на домашней странице и в верхней части каждой страницы. Свойство motd
устарело, его значение автоматически переносится в новое свойство notices
.
Новая настройка gitlab.exclude
в конфигурации внешней службы GitLab позволяет исключать определённые репозитории, соответствующие gitlab.projectQuery
и gitlab.projects
, чтобы они не синхронизировались. После обновления ранее «отключённые» репозитории будут автоматически перенесены в этот список исключений.
Настройка gitlab.projects
в конфигурации внешней службы GitLab позволяет выбрать конкретные репозитории для синхронизации.
Новый параметр bitbucketserver.exclude
в конфигурации внешней службы Bitbucket Server позволяет исключить определённые репозитории, которые соответствуют bitbucketserver.repositoryQuery
и bitbucketserver.repos
, чтобы они не синхронизировались. При обновлении ранее «отключенные» репозитории автоматически переносятся в этот список исключений.
Параметр bitbucketserver.repos
в конфигурации внешней службы Bitbucket Server позволяет выбирать конкретные репозитории для синхронизации.
Обязательный параметр bitbucketserver.repositoryQuery
в конфигурации внешней службы Bitbucket Server позволяет использовать запросы поиска репозиториев API Bitbucket для выбора репозиториев для синхронизации. Существующие конфигурации будут перенесены с установкой значения ["?visibility=public", "?visibility=private"]
, что эквивалентно предыдущему неявному поведению, которое заменяет эта настройка.
Появились кнопки быстрой настройки для общих действий. В конфигурацию редактора добавлены настройки для всех внешних сервисов.
Все пользователи увидят отключаемое предупреждение об ограниченной производительности и точности поиска при использовании образа Docker sourcegraph/server с более чем 100 включёнными репозиториями.
Изменения:
Поисковые запросы, время ожидания которых истекает, теперь последовательно сообщают о тайм-ауте вместо ошибочного сообщения «Нет результатов».
На боковой панели символов теперь отображаются только символы, определённые в текущем файле или каталоге.
Динамические фильтры на страницах результатов поиска теперь будут отображать lang:
, а не file:
, для предложений фильтров языка/расширения файла.
По умолчанию github.repositoryQuery
внешней конфигурации службы GitHub был изменён на ["none"]
. Существующие конфигурации, в которых это поле было не задано, будут перенесены с предыдущим значением по умолчанию, установленным явно (["affiliated", "public"]
).
По умолчанию gitlab.projectQuery
внешней конфигурации GitLab был изменён на ["none"]
. Существующие конфигурации, в которых это поле не было задано, будут перенесены со значением предыдущего значения по умолчанию, установленного явно (["?membership=true"]
).
Максимальное значение maxReposToSearch
теперь не ограничено (было 500).
Значение по умолчанию github.repositoryQuery
внешней конфигурации GitHub было изменено на ["none"]
и теперь является Обязательные поля
Обязательным полем стало значение по умолчанию gitlab.projectQuery
внешней конфигурации GitLab, которое было изменено на ["none"]
. Существующие конфигурации, в которых это поле не было установлено, будут перенесены с предыдущим значением по умолчанию, явно установленным (["?membership=true"]
).
Поле bitbucketserver.username
внешней конфигурации Bitbucket Server теперь обязательно. Это поле необходимо для аутентификации с помощью API Bitbucket Server с использованием пароля или токена.
Изменения
3.2.6
Полностью устранена регрессия производительности поиска в версии 3.2.0, восстанавливая производительность поиска до того же уровня, что и до изменений, внесённых в версии 3.2.0.
3.2.5
Устранена серьёзная регрессия производительности индексированного поиска, возникшая в версии 3.2.0 (#3685).
3.2.4
Исправлено связывание ресурсов интеграции Phabricator в образе Docker Sourcegraph.
3.2.3
Решена проблема с GitHub (https://github.com/sourcegraph/sourcegraph/issues/3336). Более понятное сообщение об ошибке, когда синхронизация репозитория завершается неудачно из-за невозможности клонировать репозиторий. Переписывание символа '@' в именах репозиториев Gitolite на '-', что позволяет их просматривать в пользовательском интерфейсе.
3.2.2
При использовании внешнего экземпляра Zoekt (указанного через переменную среды ZOEKT_HOST
) sourcegraph/сервер больше не запускает избыточный внутренний экземпляр Zoekt.
3.2.1
Jaeger. Трассировка, после включения, теперь может быть настроена через стандартные переменные среды. Исправлена проблема, из-за которой некоторые ошибки поиска и zoekt не регистрировались.
3.2.0
Добавлено
Sourcegraph теперь может автоматически использовать тему системы. Чтобы включить, откройте меню пользователя в правом верхнем углу и убедитесь, что в раскрывающемся списке тем установлено значение «Система». В настоящее время поддерживается macOS Mojave с Safari Technology Preview 68 и более поздними версиями. В конфигурацию внешней службы GitHub добавлен параметр github.exclude
, позволяющий исключать репозитории, полученные с помощью github.repos
или github.repositoryQuery
, из синхронизации.
Изменено
Поиск символов теперь выполняется намного быстрее. После первоначальной индексации можно ожидать, что интеллект кода будет почти мгновенным независимо от размера вашего репозитория. Значительно сокращено количество запросов API хоста кода, которые выполняет Sourcegraph, что вызывало проблемы ограничения скорости, такие как медленная загрузка результатов поиска. Свойство конфигурации сайта corsOrigin
больше не требуется для интеграции с GitHub, GitLab и т. д. через расширение браузера Sourcegraph. Оно требуется только расширению Phabricator.
Исправленное
Исправлен баг, при котором добавление области поиска, добавляющей фильтр repogroup
, приводило к недопустимым запросам, если repogroup:sample
уже был частью запроса. Проблема, когда ошибки во время отображения результатов поиска не отображались.
Удалено
Эксперимент «updateScheduler2» теперь используется по умолчанию, и его больше нельзя... 3.1.2
— Добавлена настройка search.contextLines
, позволяющая настраивать количество строк контекста, отображаемых вокруг результатов поиска.
— Значительно уменьшено количество запросов API хоста кода, выполняемых Sourcegraph, что вызвало проблемы ограничения скорости, такие как медленная загрузка результатов поиска.
— Улучшено ведение журнала в различных ситуациях, когда Sourcegraph потенциально мог столкнуться с ограничениями скорости API хоста кода.
— Исправлена ошибка, из-за которой при медленной загрузке результатов поиска отображалась ошибка Cannot read property "lastChild" of undefined
.
3.1.1
— Состояние переключения (открыто/закрыто) конструктора запросов теперь сохраняется.
— Исправлена проблема, при которой значения с одним термином, введённые в поле «Точное соответствие» в конструкторе запросов, не заключались в кавычки.
3.1.0
— Добавлены справочные сведения о Docker при запуске образа Sourcegraph в среде с достаточным пределом дескриптора открытого файла.
— Синтаксическая подсветка для Kotlin и Dart.
— Переменная среды управления консолью для отключения HTTPS, см. документацию для получения дополнительной информации.
— auth.disableUsernameChanges
добавлен в критическую конфигурацию, чтобы запретить пользователям изменять свои имена пользователей.
— Администраторы сайта могут запрашивать пользователя по адресу электронной почты или имени пользователя из GraphQL API.
— На главную страницу поиска добавлен конструктор запросов. Нажмите «Использовать конструктор запросов», чтобы открыть конструктор запросов, который представляет собой форму с отдельными входами для часто используемых ключевых слов поиска.
— Результаты поиска файлов теперь показывают полное имя репозитория, если есть результаты от зеркал на разных хостах кода (например, github.com/sourcegraph/sourcegraph и gitlab.com/sourcegraph/sourcegraph).
— Поисковые запросы теперь используют «умный регистр» по умолчанию. Поиски нечувствительны к регистру, если вы не используете заглавные буквы. Чтобы явно установить регистр, вы всё равно можете использовать поле case
(например, case:yes
, case:no
). Чтобы явно установить умный регистр, используйте case:auto
.
— Исправлена проблема, из-за которой консоль управления неправильно регенерировала сертификат/ключ TLS, если не было установлено CUSTOM_TLS=true
. См. документацию о том, как использовать собственный сертификат TLS.
3.0.1
— Поиск по символам теперь поддерживает Elixir, Haskell, Kotlin, Scala и Swift.
— Значительно оптимизирован способ предоставления предложений поиска файлов при использовании индексированного поиска (кластерные развёртывания).
— И образ sourcegraph/server
, и манифесты Kubernetes-развёртывания поставляются с Postgres 11.1
. Однако для максимальной совместимости минимальная поддерживаемая версия остаётся 9.6
. Процедура обновления в основном автоматизирована для существующих развёртываний. Подробные инструкции см. на этой странице.
— Устарело свойство конфигурации сайта auth.disableAccessTokens
, оно было удалено. Вместо него используйте auth.accessTokens
.
— Удалено свойство конфигурации сайта disableBrowserExtension
. Вместо этого настройте nginx, чтобы блокировать клиентов (при необходимости).
3.0.0
См. записи журнала изменений для бета-версий 3.0.0 и наше. Руководство по обновлению до версии 3.0
3.0, если вы переходите с версии 2.x.
— Базовая интеллектуальная обработка кода для 10 основных языков программирования работает «из коробки» без какой-либо настройки. По умолчанию включены TypeScript/JavaScript TypeScript/JavaScript, Python Python, Java Java, Go Go, C/C++ C/C++, Ruby Ruby, PHP PHP, C# C#, Shell Shell и Scala Scala, и вы можете найти больше в реестре расширений extension registry.
— Исправлена проблема, из-за которой администратор сайта перенаправлялся на стартовую страницу вместо того, чтобы быть перенаправленным на обзор репозиториев после удаления репозитория.
— Репозитории теперь можно запрашивать по URL-адресу git clone через GraphQL API.
— Новая область Explore связана с верхней панелью навигации (когда включён флаг функции localStorage.explore=true;location.reload()
).
— Теперь поддерживается аутентификация через GitHub. Чтобы включить, добавьте элемент в список auth.providers
с type: "github"
. По умолчанию учётные записи GitHub должны быть связаны с существующей учётной записью пользователя Sourcegraph. Чтобы разрешить создание новых учётных записей через GitHub, используйте параметр allowSignup
в конфигурации GitHubConnection
.
— Поддерживается аутентификация через GitLab. Чтобы включить, добавьте элемент в список auth.providers
с type: "gitlab"
.
— Если включена аутентификация через GitHub, поддерживаются разрешения репозитория GitHub. См. документацию для поля authorization
конфигурации GitHubConnection
.
— Страница настроек зеркалирования репозитория теперь показывает, когда репозиторий запланирован для следующего обновления (требуется эксперимент "updateScheduler2": "enabled"
).
— Настроенные репозитории периодически планируются для обновлений с использованием нового алгоритма. Вы можете отключить новый алгоритм с помощью следующей конфигурации сайта: "experimentalFeatures": { "updateScheduler2": "disabled" }
. Если вы это сделаете, пожалуйста, создайте публичный вопрос, чтобы описать, почему вам нужно было его отключить.
— При использовании аутентификации заголовка HTTP stripUsernameHeaderPrefix
позволяет администратору указать префикс, который следует удалить из заголовка HTTP-аутентификации при преобразовании значения заголовка в имя пользователя.
— Расширения Sourcegraph, чей package.json содержит "wip": true
, считаются рабочими проектами. GitHub через github.repos
GitLab через gitlab.projectQuery
Phabricator через phabricator.repos
Другие внешние сервисы
Удалена опция конфигурации сайта httpStrictTransportSecurity
. Вместо этого используйте конфигурацию nginx.
Удалена опция конфигурации сайта tls.letsencrypt
. Вместо этого используйте конфигурацию nginx.
Удалены опции конфигурации сайта tls.cert
и tls.key
. Вместо них Используйте конфигурацию nginx (https://docs.sourcegraph.com/admin/nginx).
Удалены опции конфигурации сайта httpToHttpsRedirect
и experimentalFeatures.canonicalURLRedireect
. Вместо них также используйте конфигурацию nginx (https://docs.sourcegraph.com/admin/nginx).
Sourcegraph больше не требует доступа к /var/run/docker.sock
.
Конечная точка /-/editor
теперь принимает параметр URL hostname_patterns
, который указывает на объект JSON, сопоставляющий имя хоста с шаблоном имени репозитория. Это служит подсказкой для Sourcegraph при разрешении URL-адресов клонирования git в имена репозиториев. Шаблон имени такой же, как используется в конфигурациях хостов кода. Значение по умолчанию — {hostname}/{path}
.
Исправлена ещё одна проблема, из-за которой Sourcegraph пытался получить больше разрешённого количества репозиториев из AWS CodeCommit.
Значение по умолчанию для experimentalFeatures.canonicalURLRedirect
в конфигурации сайта было изменено обратно на disabled
(чтобы избежать #807).
— Исправлена проблема, из-за которой конечная точка проверки работоспособности интерфейса /healthz
не отвечала. Это влияет только на развёртывания Kubernetes.
— Исправлена ошибка политики CORS, которая приводила к отклонению запросов от источников, не указанных в нашем manifest.json (например, запрошенных через дополнительные разрешения пользователя).
— Исправлена проблема, препятствовавшая правильной работе repositoryQuery
на экземплярах GitHub enterprise.
Исправлено, что Sourcegraph пытается получить больше разрешённого числа репозиториев из AWS CodeCommit.
— Время ожидания при выполнении git ls-remote
для определения возможности клонирования удалённого URL увеличено с 5 до 30 секунд.
— Команды Git теперь используют версию 2 протокола Git, что должно ускорить определённые операции (например, git ls-remote
, git fetch
) при взаимодействии с сервером с поддержкой версии 2.
— Новый параметр конфигурации сайта search.index.enabled
позволяет включать индексированный поиск.
— Поиск теперь использует расширения Sourcegraph, которые регистрируют queryTransformer
s.
— Теперь поддерживаются разрешения репозитория GitLab. Чтобы включить это, вам нужно будет установить поле authz
в объекте конфигурации GitLabConnection
и убедиться, что токен, установленный в поле token
, имеет область действия sudo
и api
.
— Когда переменная среды DEPLOY_TYPE
указана неправильно, Sourcegraph теперь завершает работу и регистрирует сообщение об ошибке.
— Свойство конфигурации сайта experimentalFeatures.canonicalURLRedirect
теперь по умолчанию равно enabled
. Установите его на disabled
, чтобы отключить перенаправление на appURL
с других хостов.
— Обновление maxReposToSearch
больше не требует перезапуска сервера для вступления в силу.
— Страница обновления больше не показывает ошибку, если вы используете сборку инсайдеров. Сборки инсайдеров теперь будут уведомлять администраторов сайтов о том, что обновления доступны через 40 дней после даты выпуска установленной сборки. archived:only будет осуществлять поиск только по заархивированным репозиториям. Это относится к репозиториям GitHub и GitLab.
— Администраторы сайта теперь могут видеть, когда пользователи их экземпляра Sourcegraph использовали... Его в последний раз, через интеграцию с хостом кода (например, расширения браузера Sourcegraph).
Посетите страницу аналитики администратора сайта (например, https://sourcegraph.example.com/site-admin/analytics), чтобы просмотреть эту информацию.
— Новый параметр конфигурации сайта extensions.allowRemoteExtensions позволяет явно указать разрешённые удалённые расширения (например, с Sourcegraph.com).
— Теперь пинги включают общее количество учётных записей пользователей.
— Файлы с атрибутом gitattribute export-ignore больше не исключаются для анализа языка и поиска.
— Всплывающее окно подтверждения «Отменить изменения?» больше не появляется каждый раз, когда вы пытаетесь перейти на новую страницу после редактирования чего-либо на странице настроек сайта.
— Исправлена проблема, из-за которой иногда регистрировались URL-адреса репозиториев Git, потенциально содержащие, например, основные токены аутентификации.
— Исправлено форматирование даты на странице аналитики администратора сайта.
— Имена файлов двоичных и больших файлов включаются в результаты поиска.
— Устаревшие переменные среды SRC_SESSION_STORE_REDIS и REDIS_MASTER_ENDPOINT больше не используются для настройки альтернативных конечных точек redis. Дополнительную информацию смотрите в разделе «Использование внешних служб с Sourcegraph».
— Новая опция конфигурации сайта git.cloneURLToRepositoryName определяет ручное сопоставление URL-адресов клонирования Git с именами репозиториев Sourcegraph. Это полезно, например, для подмодулей Git, имеющих локальные URL-адреса клонов.
— Уведомления Slack для сохранённых поисков были исправлены.
— Поддержка ACME «tls-alpn-01» для получения сертификатов LetsEncrypt. Ранее Sourcegraph поддерживал только ACME «http-01», для которого требовался доступ к порту 80.
— gitserver периодически удаляет устаревшие файлы блокировки, которые может оставить git.
— Коммиты с пустыми деревьями больше не возвращают 404.
— Клиенты (расширения браузера/редактора) теперь могут запрашивать сведения о конфигурации из API GraphQL ClientConfiguration.
— Поле конфигурации auth.accessTokens.allow разрешает или ограничивает использование токенов доступа. Оно может быть установлено в одно из трёх значений: «all-users-create» (по умолчанию), «none» (все токены доступа отключены) и «site-admin-create» (токены доступа включены, но только администраторы сайта могут создавать новые токены доступа). Поле auth.disableAccessTokens теперь устарело в пользу этого нового поля.
— Существует конечная точка веб-перехватчика для запуска обновлений репозитория. Например, curl -XPOST -H 'Authorization: token $ACCESS_TOKEN' $SOURCEGRAPH_ORIGIN/.api/repos/$REPO_URI/-/refresh.
— Записи подмодулей git в дереве файлов теперь ссылаются на репозиторий подмодуля.
— Проблема / крайний случай, когда страница управления Code Intelligence администратора неправильно показывала языковые серверы как «Запущенные», когда они были удалены из Docker.
— Уровень журнала соблюдается в журналах lsp-proxy.
— Исправлена ошибка, из-за которой текстовые поиски могли направляться на неисправный рабочий поиск.
— Интеграция с Gitolite должна правильно определять имена, которые Gitolite считал бы шаблонами, и не рассматривать их как репозитории.
— repo-updater приостанавливает выборку в репозитории, который не может выполнить выборку.
— Попытки добавить репозиторий с пустой строкой для имени проверяются и игнорируются.
— Исправлена проблема, из-за которой пользователи, не являющиеся администраторами сайта, могли изменять глобальные настройки (не конфигурацию сайта), настройки других организаций и настройки других пользователей.
— Результаты поиска отображаются более охотно, что приводит к меньшему количеству пустых предварительных просмотров файлов.
— Проблема, при которой автоматический код интеллекта не мог подключиться к базовой сети lsp, приводя к... Ошибки. - Более полезные сообщения об ошибках от lsp-proxy, когда языковой сервер не может получить запрошенную версию репозитория.
— Исправлены уведомления Slack для сохранённых поисков.
— Исправлена проблема, из-за которой интерфейс возвращал HTTP 500 и регистрировал сообщение об ошибке вроде:
lvl=eror msg="ui HTTP handler error response" method=GET status_code=500 error="Post http://127.0.0.1:3182/repo-lookup: context canceled"
— Подпись SAML AuthnRequest при использовании привязки HTTP redirect теперь вычисляется с использованием строки запроса URL с правильным порядком параметров. Ранее порядок был неправильным и вызывал ошибки, когда IdP был настроен на проверку подписи в AuthnRequest.
— Вход в систему, инициированный SAML IdP, ранее завершался неудачно, если IdP устанавливал значение RelayState. Теперь это работает.
— Большинство экспериментальных функций в конфигурации сайта теперь реагируют на изменения конфигурации в реальном времени, не требуя перезапуска сервера. Как обычно, после сохранения изменений конфигурации вам будет предложено перезапустить сервер, если это необходимо. — Аватары Gravatar больше не отображаются для коммиттеров.
— В дереве файлов, если каталог, содержащий только один каталог, развёрнут, его дочерний каталог теперь разворачивается автоматически.
— Исправлена проблема, при которой sourcegraph/server неправильно запускал контейнеры с кодовой разведкой, когда контейнер sourcegraph/server был остановлен некорректно. — Исправлена ошибка, при которой дерево файлов возвращало ошибку при переходе между репозиториями.
— Repo-updater имеет новый улучшенный планировщик для периодического получения репозиториев. Если у вас есть проблемы с ним, вы можете вернуться к старому поведению, добавив "experimentalFeatures": { "updateScheduler": "disabled" }
в свой config.json
.
— Будет выполнен одноразовый перенос, который изменит макет клонированных репозиториев на диске. Это должно повлиять только на установки, созданные в январе 2018 года или ранее. Не должно быть видимых пользователю изменений.
— Экспериментальная функция флага «updateScheduler» включает более умный и менее навязчивый алгоритм автоматического обновления репозиториев.
— Больше невозможно отключить кодовую разведку, сбросив переменную среды LSP_PROXY. Вместо этого кодовая разведка может быть отключена для каждого языка на странице администратора сайта (например, https://sourcegraph.example.com/site-admin/code-intelligence).
— Запросы API Bitbucket, сделанные Sourcegraph, теперь ограничены самонастраиваемым пределом скорости API (поскольку Bitbucket Server ещё не имеет концепции ограничения скорости). Это снизит вероятность того, что Sourcegraph замедлит работу или вызовет проблемы для экземпляров Bitbucket Server, подключённых к нему. Пределы составляют: 7200 общих запросов/час, с размером корзины / максимальным размером пакета в 500 запросов.
— Глобальные, организационные и пользовательские настройки теперь проверяются по схеме, поэтому недопустимые настройки будут отображаться в редакторе настроек с красной волнистой линией.
— Поставщик аутентификации http-header теперь поддерживает использование с другими поставщиками аутентификации (всё ещё только тогда, когда experimentalFeatures.multipleAuthProviders
равно true
).
— Периодическое получение репозиториев, размещённых на Gitolite, теперь обрабатывается внутренне с помощью repo-updater.
— Поле log.sentry.dsn
в конфигурации сайта заставляет Sourcegraph регистрировать ошибки приложения в экземпляре Sentry.
— Добавлены два новых сочетания клавиш для страницы репозитория: r, чтобы открыть меню репозиториев, и v, чтобы открыть селектор ревизий.
— Репозитории Периодически (~45 дней) переклонируются с хоста кода. На хост кода можно положиться, чтобы обеспечить эффективное пакетирование. Это альтернатива запуску интенсивного использования памяти и процессора git gc и git prune.
— Поле auth.sessionExpiry
устанавливает возраст истечения сеанса в секундах (по умолчанию — 90 дней).
— Исправлена ошибка в консоли API, которая приводила к тому, что она отображалась как пустая. Исправления и изменения в версии 2.9.3
Проблема с дублированием строк контекста на странице результатов поиска решена.
Устранена утечка горутины, возникающая при отмене поисковых запросов.
Исправлено несколько проблем с выводом на консоль, в том числе уменьшено количество лишних переносов строк.
Исправлена проблема, из-за которой было невозможно переопределить параметр SSH StrictHostKeyChecking в конфигурации SSH.
Восстановлена работа межрепозитарного индексирования для языков, отличных от Go (первоначально нарушена в версии 2.9.2).
Изменено:
Удалено:
Версия 2.9.1
Исправлено:
Версия 2.9.0
Изменено:
Всплывающие подсказки были переписаны, чтобы исправить пару проблем, и теперь они более надёжны, получили новый дизайн и показывают больше информации.
Флаг поиска max: был переименован в count: в версии 2.8.8, но для обратной совместимости max: снова добавлен как устаревший псевдоним для count:.
Значительно улучшена производительность / время загрузки страницы администратора сайта Code Intelligence.
Добавлено:
Страница администратора сайта теперь отображает ошибку или причину, когда языковые серверы не могут управляться через пользовательский интерфейс или API Sourcegraph.
Возможность напрямую указать корневой путь импорта репозитория через .sourcegraph/config.json в корне репозитория, вместо того чтобы полагаться на эвристику языкового сервера Go для его обнаружения.
Исправленное:
Теперь настройка Bitbucket Server правильно подавляет всплывающее сообщение «Настройте репозитории и хосты кода для добавления в Sourcegraph».
Ошибка, из-за которой комментарии канонического пути импорта не обнаруживались эвристикой языкового сервера Go под папками cmd/, устранена.
Решена проблема, из-за которой репозиторий обновлялся только по требованию определённых действий пользователя (например, перезагрузки страницы) и не обновлялся, когда ожидалось.
Если хост кода возвращал ошибку repository-not-found или unauthorized (для репозитория, который ранее был известен Sourcegraph), то в некоторых случаях отображался вводящий в заблуждение экран «Пустой репозиторий». Теперь репозиторий отображается так, как будто он всё ещё существует, используя кэшированные данные; администраторы сайта должны явно удалять репозитории в Sourcegraph после их удаления на хосте кода.
Улучшено управление случаями исчерпания предела скорости API GitHub. Кэшированные метаданные репозиториев и данные Git будут использоваться для обеспечения полной функциональности в это время, а сообщения журнала более информативны. Ранее в некоторых случаях репозитории становились недоступными.
Исправлена ошибка, из-за которой индексированный поиск иногда не указывал, что есть дополнительные результаты для отображения для данного файла.
Исправлена... Ошибка, из-за которой код...
Интеллектуальная административная страница никогда не завершает загрузку языковых серверов.
lsp-proxy
до 3 минут для каждого языка."experimentalFeatures": { "hostSurveysLocally" }
устарел.Теперь имя файла cookie сессии — sgs
(а не sg-session
), чтобы Sourcegraph 2.7 и Sourcegraph 2.8 могли временно работать параллельно во время скользящего обновления без очистки файлов cookie сессий друг друга.
Исправлены имена хостов по умолчанию для серверов языков C# и R.
Исправлена проблема, когда удаление организации предотвращало создание организаций с именем удалённой организации.
Файлы в кодировке, отличной от UTF8 (например, ISO-8859-1/Latin1, UTF16 и т. д.), теперь отображаются как текст должным образом, а не определяются как двоичные файлы.
Улучшено сообщение об ошибке при возникновении тайм-аута инициализации lsp-proxy.
Исправлены проблемы совместимости и добавлены инструкции по использованию Microsoft ADFS 2.1 и 3.0 для аутентификации SAML.
Исправлена ошибка, из-за которой внешние учётные записи, связанные с удалёнными учётными записями пользователей, всё ещё возвращались GraphQL API. Это приводило к сбою отображения страницы администратора сайта внешних учётных записей в некоторых случаях.
Значительно уменьшено количество запросов к хостам кода для репозиториев, отличных от GitHub.com или GitLab.com.
В всплывающем окне ревизий репозитория теперь отображается дата последнего зафиксированного/автора для веток и тегов.
Установка переменной среды INSECURE_SAML_LOG_TRACES=1
на сервере (или модуле sourcegraph-frontend
в Kubernetes) приводит к регистрации всех запросов и ответов SAML, что помогает при отладке SAML.
Администраторы сайтов теперь могут просматривать опросы удовлетворённости пользователей, сгруппированные по пользователям, в дополнение к хронологическому порядку, и отображать сводные значения (включая средний балл и чистый показатель промоутера за последние 30 дней).
На странице обзора администратора сайта отображаются идентификатор сайта, основной адрес электронной почты администратора и информация об использовании премиум-функций.
Добавлен язык программирования Haskell в качестве экспериментального языкового сервера на странице администратора кодовой аналитики.
gitMaxConcurrentClones
теперь также ограничивает параллелизм обновлений репозиториев в дополнение к первоначальному клонированию.
В GraphQL API site.users
был переименован в users
, site.orgs
— в organizations
, а site.repositories
— в repositories
.
Поставщик аутентификации должен быть установлен в конфигурации сайта (см. документацию поставщика аутентификации). Ранее сервер по умолчанию использовал встроенную аутентификацию, если она не была установлена.
Если процесс умирает внутри контейнера Sourcegraph, весь контейнер завершает работу. Мы рекомендуем операторам настроить политику перезапуска Docker или политику перезапуска Kubernetes. Ранее контейнер работал бы в ухудшенном режиме, если бы процесс умер.
Изменения в конфигурации auth.public
сайта применяются немедленно в sourcegraph/server
(перезапуск не требуется).
Новое поведение тайм-аута поиска теперь включено по умолчанию. Установите "experimentalFeatures": {"searchTimeoutParameter": "disabled"}
в конфигурации сайта, чтобы отключить его.
Поиск включает файлы размером до 1 МБ (предыдущий лимит составлял 512 КБ для неиндексированного поиска и 128 КБ для индексированного поиска).
Имена пользователей и адреса электронной почты, сообщаемые поставщиками аутентификации OpenID Connect и SAML, теперь считаются....
(Здесь заканчивается перевод текста запроса.) Токен
Ссылки на журнал изменений Sourcegraph были добавлены на страницу обновлений администратора сайта и уведомление об обновлении.
Если конфигурация сайта недействительна или использует устаревшие свойства, глобальное предупреждение будет показано всем администраторам сайта.
Теперь есть индикатор состояния интеллекта кода при просмотре файлов. Он содержит информацию о возможностях языкового сервера, предоставляющего интеллект кода для файла.
Интеллект кода Java теперь можно включить для репозиториев, которые автоматически не поддерживаются, используя файл javaconfig.json
. Для плагинов Gradle этот файл можно сгенерировать с помощью плагина Gradle Javaconfig (https://docs.sourcegraph.com/extensions/language_servers/java#gradle-execution).
Новая конфигурация сайта auth.providers
представляет собой массив объектов провайдера аутентификации. В настоящее время поддерживается только один провайдер аутентификации. Единственное число auth.provider
устарело.
Пользователи, прошедшие аутентификацию с помощью OpenID Connect, теперь могут выйти из Sourcegraph (если поставщик поддерживает отзыв токена или конечную точку сеанса).
Пользователи теперь могут указать количество дней, недель и месяцев активности сайта для запроса через API GraphQL.
Добавлены 14 новых экспериментальных языковых серверов в код. Интеллектуальная административная страница.
Добавлена опция конфигурации сайта httpStrictTransportSecurity
для настройки HTTP-заголовка Strict-Transport-Security. По умолчанию используется значение max-age=31536000
(один год).
В провайдере аутентификации saml
добавлен параметр nameIDFormat
для установки формата SAML NameID. Значение по умолчанию изменилось с временного на постоянное.
Экспериментальное расширение переменных среды в JSON конфигурации сайта: установите SOURCEGRAPH_EXPAND_CONFIG_VARS=1
, чтобы заменить ${var}
или $var
(на основе переменных окружения) в любом строковом значении в JSON конфигурации сайта (кроме имён свойств объектов JSON).
Новое (необязательное) свойство конфигурации сайта serviceProviderIssuer
в записи массива auth.providers
с {"type":"saml", ...}
позволяет настроить имя поставщика услуг SAML.
Теперь в области администрирования сайта есть раздел «Auth», который показывает включённые поставщики аутентификации и внешние учётные записи пользователей.
При развёртывании Sourcegraph в Kubernetes теперь по умолчанию используется RBAC. Большинство кластеров Kubernetes требуют его использования. Дополнительную информацию см. в инструкциях по установке Kubernetes (включая отключение при необходимости).
Увеличен тайм-аут соединения git ssh до 30 секунд с 7 секунд.
Интеграция Phabricator больше не требует промежуточных областей, но их использование всё ещё рекомендуется, поскольку это повышает производительность.
Исправлена проблема, из-за которой языковые серверы, которые не были включены, отображали кнопку «Перезапустить» на панели управления Code Intelligence.
Исправлена ошибка, из-за которой кнопка «Обновить» на панели управления Code Intelligence отображалась непоследовательно.
Исправлена ошибка, при которой переключение динамической области поиска не удаляло @rev
(если указано).
Исправлена ошибка, когда не поддерживались режимы, которые можно определить только по полному имени файла (а не только по расширению файла) пути (первым примером этого являются Dockerfiles).
Исправлена ошибка, при которой консоль GraphiQL не работала при указании переменных.
Индексированный поиск больше не поддерживает собственные клоны git. Для развёртывания кластера Kubernetes это значительно снижает требования к дисковому пространству для модуля индексированного поиска.
Исправлена ошибка, при которой контейнеры языковых серверов Docker не перезапускались автоматически, если они аварийно завершали работу (sourcegraph/server
). Исправлена ошибка, при которой сайт оставался в режиме инициализации, если первый пользователь на сайте прошёл аутентификацию через SSO.
Добавлено:
"experimentalFeatures": { "hostSurveysLocally": "enabled"}
. Эта функция будет включена для всех экземпляров после стабилизации.motd
(в глобальных, организационных и пользовательских настройках) отображает указанные сообщения вверху всех страниц.2.7.0
Изменено:
file:
является частью поискового запроса)."auth.provider": "http-header"
) имена пользователей теперь правильно нормализуются (специальные символы, включая .
, заменяются на -
). Это устраняет проблему, мешающую пользователям войти в систему, если их имя пользователя содержало эти специальные символы.telemetryDisabled
, даже если она продолжала сообщать о новых обновлениях.repo:
, которые соответствуют нескольким репозиториям и содержат спецификацию ревизии, теперь корректно возвращают частичные результаты, даже если некоторые из соответствующих репозиториев не имеют соответствующей ревизии.config.json
на диске не приводило к правильной отметке сервера как требующего перезапуска.langservers
в конфигурации сайта не требовало указания обоих полей language
и address
для каждой записи.Новые функции:
Пользователи (и т. д.) Администраторы сайта теперь могут создавать и управлять токенами доступа для аутентификации клиентов API. Конфигурация сайта auth.disableAccessTokens
(переименована в auth.accessTokens
в версии 2.11) отключает эту новую функцию. В настоящее время токены доступа поддерживаются только при использовании встроенных и HTTP-заголовков поставщиков аутентификации (не OpenID Connect или SAML).
Улучшены возможности управления адресами электронной почты пользователей и администраторов сайта.
Пользовательский интерфейс управления пользователями и организациями был значительно улучшен. Администраторы сайтов теперь могут администрировать все организации (даже те, членами которых они не являются) и могут редактировать информацию профиля и конфигурацию для всех пользователей.
Если включено SSO (через OpenID Connect или SAML) и система единого входа предоставляет изображения аватаров пользователей и/или отображаемые имена, они теперь используются Sourcegraph.
Можно включить новое поведение тайм-аута поиска, установив "experimentalFeatures": { "searchTimeoutParameter": "enabled"}
в вашей конфигурации сайта.
timeout:
, чтобы настроить тайм-аут для поисков. По умолчанию он равен 10 с и не может быть установлен выше 1 м.timeout:
представляет собой строку, которую можно проанализировать с помощью time.Duration (например, «100 мс», «2 с»).timeout:
не указан, поиск оптимизируется для возврата результатов как можно скорее и будет включать более медленные виды результатов (например, символы), только если они найдены быстро.timeout:
, всем видам результатов предоставляется полный тайм-аут для завершения.Добавлена новая страница токенов настроек пользователя, позволяющая пользователям получать токен, который они могут использовать для аутентификации в API Sourcegraph.
Индексы интеллектуального анализа кода теперь создаются для всех репозиториев в фоновом режиме, независимо от того, посещаются ли они напрямую пользователем.
Языковые серверы теперь автоматически включаются при посещении репозитория. Например, посещение репозитория Go теперь автоматически загрузит и запустит соответствующий контейнер Docker для интеллектуального анализа кода Go.
sourcegraph/server
(не с использованием Kubernetes).docker run
по адресу https://docs.sourcegraph.com/#quick-install. Порядок включения этой функции. В противном случае вы будете получать ошибки в журнале о /var/run/docker.sock
, и всё будет работать так же, как раньше. Дополнительную информацию см. на странице https://docs.sourcegraph.com/extensions/language_servers.На странице аналитики администратора сайта теперь отображается количество действий «Code Intelligence», выполненных каждым пользователем, включая наведение курсора, переход к определениям и поиск ссылок в веб-приложении Sourcegraph или в интеграции или расширении хоста кода.
Экспериментальный переход между репозиториями с определением по индексу OSS на Sourcegraph.com. По умолчанию отключён; чтобы включить его, используйте "experimentalFeatures": { "jumpToDefOSSIndex": "enabled" }
в конфигурации вашего сайта.
Пользователи теперь могут просматривать ветки Git, теги и коммиты, а также сравнивать ветки и ревизии Git на Sourcegraph (значок хоста кода в заголовке ведёт к фиксации на хосте кода).
Новая панель администратора позволяет просматривать и управлять языковыми серверами. Для развёртываний Docker она позволяет включать, отключать, обновлять и перезапускать языковые серверы одним нажатием кнопки. Для кластерных развёртываний она показывает текущее состояние языковых серверов.
Теперь пользователи могут оставлять отзывы о Sourcegraph, нажимая на смайлик обратной связи в панели навигации и заполняя форму обратной связи Twitter.
Кнопка в заголовке репозитория включает и выключает панель истории Git для текущего файла. ## 2.6.8
type:repo
теперь работает правильно с «Показать больше» и параметром max
.DB_STARTUP_TIMEOUT
(значение — любая допустимая строка длительности Go).bitbucketServer
username
/password
), для серверов, работающих под управлением версии Bitbucket Server 2.4 и более ранних версий (которые не поддерживают персональные маркеры доступа)./healthz
выполняет базовую проверку работоспособности приложения, возвращая HTTP 200 в случае успеха и HTTP 500 в случае сбоя.type:symbol
.#my-section
) в визуализированных файлах Markdown теперь поддерживаются.type:
, чтобы не блокировать результаты обычного текста. Без изменения поведения, если явно указано type: symbol
.SSO error: ID Token verification failed
.Поддержка Bitbucket. Сервер](https://www.atlassian.com/software/bitbucket/server) как хост для кода. Настройка через поле конфигурации сайта bitbucketServer
.
Датчики Prometheus для глубины очереди git clone (src_gitserver_clone_queue
) и глубины очереди git ls-remote (src_gitserver_lsremote_queue
).
Уведомления Slack о сохранённых поисках теперь могут быть добавлены для отдельных пользователей (не только организаций).
Новый фильтр поиска lang:
фильтрует результаты по языку программирования (пример: foo lang:go
или foo -lang:clojure
).
Динамические фильтры: фильтры, сгенерированные из результатов поиска, чтобы помочь уточнить результаты.
Поисковые запросы, состоящие только из file:
, теперь показывают файлы, путь которых соответствует фильтрам (вместо отсутствия результатов).
Sourcegraph теперь автоматически обнаруживает базовые конфигурации $GOPATH
, найденные в файлах .envrc
в корне репозиториев.
Теперь можно настроить эффективные $GOPATH
репозитория, добавив файл. Фабрикулер на репозитории
Поиски по одному репозиторию теперь реже сразу завершаются по таймауту при первом поиске.
Исправлен баг, при котором auth.provider == «http-header» некорректно требовал встроенной аутентификации / блокировал доступ к сайту, когда auth.public == «false».
Изменения интеграции с Фабрикулером
Теперь мы показываем ссылку «Посмотреть на Фабрикулере», а не ссылку «Посмотреть на другом хосте кода», если вы используете Фабрикулер и размещаете на GitHub или другом хосте кода с пользовательским интерфейсом. Ссылки на коммиты также будут указывать на Фабрикулер.
Улучшения аутентификации SAML
Теперь вы можете дополнительно предоставить содержимое файла метаданных XML поставщика удостоверений SAML напрямую с помощью свойства конфигурации сайта auth.saml identityProviderMetadata. (Ранее необходимо было указать URL, где этот файл был доступен; это всё ещё возможно и более распространено.) Новый вариант полезен для организаций, чьи метаданные SAML недоступны через Интернет или при тестировании изменений конфигурации метаданных SAML.
2.5.13
Улучшения встроенной аутентификации
При использовании auth.provider == "builtin" два новых важных изменения означают, что сервер Sourcegraph будет заблокирован и доступен только пользователям, приглашённым администратором (ранее мы советовали пользователям размещать собственный прокси-сервер аутентификации перед серверами Sourcegraph).
2.4.3
Добавлено
— Поддержка Code Intelligence. — Пользовательские ссылки на хосты кода с параметрами конфигурации links: в repos.list.
Изменено
— По умолчанию включён поиск по пути к файлу.
2.4.2
Добавленное
— Страница диагностики зеркалирования/клонирования репозиториев.
Изменённое
— Репозитории, добавленные с GitHub, больше не включаются по умолчанию. Улучшен пользовательский интерфейс сайта для включения/отключения репозиториев.
2.4.0
Добавленное
— Поиск файлов по имени путём включения type:path в поисковый запрос. — Глобальные оповещения о необходимости настройки и клонировании. — Улучшенные интерфейсы списков для репозиториев, пользователей, организаций и потоков. — Пользователи могут изменить свой пароль в настройках. — Группы репозиториев теперь могут быть указаны администраторами, организациями и пользователями. Затем repogroup:foo в поисковом запросе будет искать только те репозитории, которые указаны для группы репозиториев foo.
Изменённое
— Сообщения журнала по умолчанию намного тише.
2.3.11
Добавленное
— Добавлена страница обновлений и проверки сайта администратора. — Добавленная страница телеметрии сайта администратора.
Изменённое
— Расширенная панель администратора сайта. — Изменены имена свойств конфигурации сайта, связанных с репозиториями и SSO, для обеспечения согласованности, обновлена документация.
2.3.10
Добавленное
— Онлайн-редактирование и перезагрузка конфигурации сайта.
Изменённое
— Администраторы сайтов теперь настраиваются в области администрирования сайта вместо ключа конфигурации adminUsernames или переменной среды ADMIN_USERNAMES. Пользователи, указанные в этих устаревших конфигурациях, будут назначены администраторами сайтов в базе данных при запуске сервера до тех пор, пока эти конфигурации не будут удалены в будущем выпуске.
2.3.9
Исправленное
— Проблема, которая препятствовала созданию и удалению сохранённых запросов.
2.3.8
Добавленное
— Встроенная аутентификация. Аутентификация: теперь вы можете... Зарегистрироваться без провайдера SSO.
Исправлено
Изменено
Мы опционально считываем SOURCEGRAPH_CONFIG из $DATA_DIR/config.json. При использовании самозаверяющего сертификата для клонирования репозиториев с GitHub Enterprise требуется SSH-ключ.
0.3 — 13 декабря 2017 года Последняя версия без CHANGELOG.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )