1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Sourcegraph

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 560 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 03.12.2024 02:05 80f6284

Журнал изменений

Все заметные изменения в Sourcegraph задокументированы в этом файле.

Не выпущено

Добавлено

  • Базовая поддержка рендеринга Jupyter ноутбуков в веб-приложении Sourcegraph. (#59685)
  • Диаграммы Mermaid в Markdown теперь отображаются в веб-приложении Sourcegraph (#62678)
  • Добавлен флаг функции для Cody completions.smartContextWindow, который по умолчанию установлен в «включено». Он позволяет клиентам настраивать контекстное окно на основе имени модели чата. Когда smartContextWindow включен, значение completions.chatModelMaxTokens игнорируется. (#62802)
  • Code Insights: при появлении предупреждения «неполные точки данных» теперь можно использовать GraphQL для определения того, какие репозитории имели проблемы. Схемы для TimeoutDatapointAlert и GenericIncompleteDatapointAlert теперь содержат дополнительное поле repositories. (#62756).
  • Теперь пользователям будет представлен модальный диалог, напоминающий им о необходимости подключения любых внешних учётных записей хоста кода, которые требуются для разрешений. Без подключённых учётных записей пользователи могут быть неспособны просматривать репозитории, к которым у них есть доступ. (#62983)
  • Добавлена поддержка Google в качестве поставщика LLM для Cody со следующими моделями, доступными через Cody Gateway: Gemini Pro (gemini-pro-latest), Gemini 1.5 Flash (gemini-1.5-flash-latest) и Gemini 1.5 Pro (gemini-1.5-pro-latest). (#63053)
  • Добавлено выделение синтаксиса для языка программирования Magik. (#62919)
  • Добавлено выделение синтаксиса для языка программирования Hack. (#62770)

Изменено

  • Модель чата по умолчанию и рекомендуемая для конфигураций Anthropic и Cody Gateway теперь claude-3-sonnet-20240229. (#62757)
  • Автозаполнение модели по умолчанию и рекомендованной для конфигураций Cody Gateway теперь fireworks/starcoder. (#62757)

Исправлено

  • Нажатие клавиши Enter на цифровой клавиатуре теперь циклически перебирает результаты поиска внутри файла. (#62665)
  • Предоставление токена доступа через переменную среды SRC_ACCESS_TOKEN теперь обязательно для загрузки индексов SCIP с помощью src-cli. (#62573)
  • Исправлены несколько условий, которые могли привести к неправильной маркировке репозитория как изменённого во время синхронизации хоста кода. В этих случаях запускались ненужные выборки git. (#62837)
  • Исправлено добавление случайных суффиксов к именам пользователей во время предоставления SCIM. (#63122)

5.4.2198

Добавлено

Изменённое

Исправленное

  • Исправлена ошибка, из-за которой имена моделей Bedrock Provisioned Throughput терпели неудачу. # 5.4.0

Добавленное

  • Добавлены показатели производительности и задержки для операций синхронизации репозиториев git / пакетов. Они отображаются на панелях мониторинга gitserver (VCS «Клонирование/Извлечение/Возможность клонирования»). #61708
  • Добавлено выделение синтаксиса для языка конфигурации Pkl. #61478
  • Новый фильтр поиска rev:at.time(), который позволяет искать ветку в определённый момент времени. #61513
  • Поле cody.contextFilters в конфигурации сайта. Администраторы могут устанавливать правила включения и исключения, чтобы определить, какие репозитории Cody может использовать в качестве контекста в своих запросах к сторонним LLM. Исправлен баг для классов Python с декораторами и классов C# с атрибутами, который мешал поиску символов (type:symbol) и боковой панели символов обнаруживать их должным образом:
  • Исправлен баг, который мешал обнаружению символов и работе боковой панели поиска символов для классов Python, использующих декораторы, и классов C#, использующих атрибуты.

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 автоматически Изменения:

  • Записи об установке приложений GitHub будут удаляться из базы данных только в том случае, если приложение GitHub было удалено или деактивировано.
  • Поставщик Anthropic для Cody теперь использует API сообщений, который включает поддержку моделей Claude 3. Это относится как к пользователям BYOK, так и к пользователям Cody Gateway. API сообщений не поддерживает идентификаторы моделей, которые устанавливают только основную версию модели, например: claude-2, claude-instant-v1 и claude-instant-1. Значения по умолчанию были обновлены до claude-2.0 и claude-instant-1.2, любые устаревшие идентификаторы моделей в конфигурации сайта будут установлены на соответствующие значения по умолчанию, упомянутые ранее.
  • Поставщик AWS Bedrock для Cody был обновлён для использования API сообщений Anthropic, что обеспечивает поддержку моделей Claude 3.
  • Улучшен рейтинг ветвей для репозиториев с большим количеством ветвей. Ветви в селекторе ветвей теперь всегда сортируются по новизне, а HEAD находится вверху.
  • Уведомления, настроенные в конфигурации сайта, теперь позволяют указать стиль или цвет.

Исправления:

  • Мониторы кода теперь правильно игнорируют мониторы, связанные с пользователями, удалёнными без сохранения, что ранее приводило к ошибке на обзорной странице.
  • Исправлена ошибка, из-за которой нажатие кнопки «Исключить репозиторий» в Azure DevOps или репозиториях Gerrit не работало.
  • Ссылки в всплывающих окнах codeintel учитывают ревизию из URL.
  • Устранена проблема, из-за которой репозитории с именем, оканчивающимся на .git, не могли быть клонированы.
  • Исправлено, что Sourcegraph мог потерять отслеживание репозиториев на gitserver, оставляя после себя ненужные данные и непоследовательный статус клонирования в пользовательском интерфейсе.
  • Кнопка «Commits» на страницах репозиториев и папок теперь ссылается на коммиты в текущей ревизии, а не в основной ветке.
  • Исправлена проблема, когда запросы кодовых идей терпели неудачу, если было более 65535 ограниченных репозиториев и регулярных выражений.
  • Кнопка «Коммиты» на страницах репозиториев и папок использует язык Perforce и ссылается на /-/changelists для хранилищ Perforce, когда включена экспериментальная функция perforceChangelistMapping.

Изменения

  • При выборе «Просмотреть изменения до этого» для файла, который был перемещён, теперь корректно осуществляется переход к старому местоположению файла при указанном коммите.
  • Значительно улучшена производительность Git blame для больших файлов с большим количеством коммитов.
  • Code Insights теперь правильно игнорирует оповещения API поиска, которые ранее могли привести к ошибке в Code Insight.

5.3.3

Добавления

Изменения

  • Изменён поставщик Azure OpenAI Cody для использования стабильной версии API от 2023-05-15 из-за прекращения поддержки предыдущих версий предварительного просмотра.

Исправления

  • Исправлена проблема в процессе сборки, которая нарушала всплывающие подсказки и валидацию в редакторах настроек.
  • Устранена ошибка, из-за которой панель ссылок не отображала определения или ссылки для Protocol Buffers (и других языков, где имя содержало пробел).
  • Исправлена ошибка, при которой синхронизация разрешений могла быть запланирована для репозиториев или пользователей, даже когда синхронизация уже была запланирована или выполнялась, что приводило к значительным задержкам в системе синхронизации разрешений в целом.
  • Исправлена ошибка в gitserver, из-за которой можно было использовать просроченные токены авторизации Github App при синхронизации большого репозитория. Теперь gitserver будет использовать последние токены для каждого шага процесса синхронизации (и при необходимости обновлять их).

Удаления Результаты поиска при использовании LineMatch API, которое включало бы окружающие строки без совпадений.

  • Autoupgrade ищет только открытые соединения с базой данных из служб приложений Sourcegraph и игнорирует другие приложения, подключённые к экземпляру postgres.

  • Устраняет ошибку, из-за которой наведение курсора не появлялось в заголовках C++ с расширением .hxx.

Исправления:

  • Обновлены образы контейнеров для устранения уязвимостей CVE-2023-4408, CVE-2023-50387, CVE-2023-50868, CVE-2023-5517, CVE-2023-5679, CVE-2023-6516.

Добавление:

  • Панель поиска теперь поддерживает поиск по ключевым словам по умолчанию, который объединяет термины вместе, а не выполняет буквальный поиск, как раньше. Поведение можно отключить с помощью переключателя на странице результатов поиска.

  • Фильтр 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.

    • Несколько атрибутов в одной записи exclude теперь должны быть истинными, чтобы исключить репозиторий. Пример: {"exclude": [{"name": "github.com/example/example"}, {"id": "my-id"}]} будет исключать только те репозитории, которые имеют указанное имя и указанный идентификатор.
    • Соединения хоста кода GitHub теперь могут исключать по размеру и звёздам: {"exclude": [{"name": "github.com/example/example"}, {"stars": "< 100", "size": ">= 1GB"}]}.
    • Для size и stars поддерживаются операторы <, >, <=, >=.
    • Для size поддерживаемыми единицами измерения являются B, b, kB, KB, kiB, KiB, MiB, MB, GiB, GB. Десятичные точки не поддерживаются.

Изменения в Sourcegraph

  1. По умолчанию отключена функция, для её включения необходимо установить experimentalFeatures.structuralSearch: "enabled" в конфигурации сайта.
  2. Функция поиска вакансий переключает формат загружаемых результатов с CSV на JSON.
  3. Функция «Поиск вакансий» теперь находится в стадии бета-тестирования и включена по умолчанию. Её можно отключить в конфигурации сайта, установив experimentalFeatures.searchJobs: false.
  4. Теперь при загрузке страницы поисковый ввод на главной странице поиска автоматически фокусируется.
  5. gRPC теперь является единственным методом для наших внутренних API и не может быть отключён. Все соответствующие реализации REST были удалены. Большинству клиентов, обновляющихся до версии 5.3, не нужно предпринимать никаких действий — изменение должно быть незаметным. Однако если у вас есть ограничения на внутренний трафик Sourcegraph, могут потребоваться некоторые настройки брандмауэра или безопасности. Вы можете перейти на версию Sourcegraph 5.2 и отключить gRPC, пока устраняете неполадки или обращаетесь в нашу службу поддержки. Подробнее см. на сайте https://sourcegraph.com/docs/admin/updates/grpc.
  6. Значение по умолчанию для параметра count: в поиске было увеличено до 10000, что значительно увеличило количество исчерпывающих поисков по умолчанию.

Исправлено:

  • История редактирования конфигурации сайта больше не прерывается, когда пользователь, сделавший редактирование, удаляется.
  • Детализация запроса аналитики больше не искажает поля content: в вашем запросе.
  • Столбец обвинений теперь показывает правильную информацию об обвинениях, когда фрагмент начинается в сложенном разделе кода.
  • Исправлена ошибка, из-за которой при наборе текста в редакторе GraphQL в консоли Site Admin API курсор мог переходить в начало редактора.
  • Столбец обвинений больше не игнорирует изменения, состоящие только из пробелов, по умолчанию.
  • Длинные строки теперь правильно переносятся в представлении различий.
  • Исправлена проблема с полем ввода поиска, из-за которой после выбора предложения иногда вставлялось другое предложение вместо отправки запроса. Изменённое
  • Улучшена административная страница для индексации поиска.

5.2.4

Добавленное

  • Возможность использования Workload Identity, Managed Identity и Environmental учётных данных при использовании поставщиков завершения и встраивания Azure OpenAI.

  • Поддержка клонирования через SSH из Azure DevOps.

Исправленное

  • Две проблемы в Zoekt, которые могли вызвать ошибки нехватки памяти во время индексации поиска, были устранены.

  • Проблема с производительностью при планировании заданий по встраиванию была устранена.

5.2.3

Добавленное

  • Настраиваемые ограничения стоимости запросов GraphQL для предотвращения непреднамеренного исчерпания ресурсов. Теперь предоставляются и применяются значения по умолчанию, заменяя предыдущее неограниченное поведение. Для получения дополнительной информации см.: Документацию по ограничениям стоимости GraphQL. Подробнее:
  • Примечание: В ответе могут быть неточности, так как некоторые фрагменты исходного текста сложно интерпретировать.

58346. Теперь Sourcegraph поддерживает подключение к Bitbucket Cloud с помощью токенов доступа к рабочему пространству.

58465. Исправлено: определение фильтров файлов для заданий встраивания больше не приводит к пропуску всех файлов, если не определено MaxFileSizeBytes.

5.2.2

Добавлено:

  • добавлена новая конфигурация параметров авторизации для подключений к хостам кода GitLab: «markInternalReposAsPublic». Установка «markInternalReposAsPublic» в значение true полезна для организаций, у которых есть большое количество внутренних репозиториев, доступ к которым должен быть у всех пользователей экземпляра, что устраняет необходимость иметь разрешения на доступ к этим репозиториям. Кроме того, при настройке поставщика аутентификации GitLab можно указать «syncInternalRepoPermissions»: false, что устранит необходимость синхронизации разрешений для этих внутренних репозиториев.
  • экспериментальная поддержка автозаполнения на базе OpenAI.

Исправлено:

  • обновлена конечная точка, используемая провайдером AWS Bedrock Claude.

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» для получения дополнительной информации.

  • Для выделения кода теперь по умолчанию используется go-enry для всех файлов, что исправляет выделение для файлов MATLAB.

Индексированный поиск:

— Удалённая устаревшая переменная среды ZOEKT_ENABLE_LAZY_DOC_SECTIONS.

Федерация:

Функция федерации, которая могла перенаправлять пользователей из их собственного экземпляра Sourcegraph на общедоступные репозитории на Sourcegraph.com, была удалена. Она позволяла пользователям открывать URL-адрес репозитория на своём собственном Sourcegraph.

  1. Экземпляр и, если репозиторий не был найден в этом экземпляре, пользователь будет перенаправлен в репозиторий на Sourcegraph.com, где он, возможно, был найден. Функция была сломана больше года, и мы не знаем, использовалась ли она. Если вы хотите её использовать, пожалуйста, откройте запрос функции и отметьте команду @sourcegraph/source.

  2. Экспериментальный флаг функции applySearchQuerySuggestionOnEnter в настройках пользователя был удалён, и теперь это поведение всегда включено. Ранее это поведение было включено по умолчанию, но его можно было отключить.

  3. Флаг функции search-hybrid, который позволял отключать улучшения производительности для неиндексированного поиска в версии 4.3, теперь устарел и больше не будет читаться.

  4. Версия 5.1.9:

    • Добавлено: включена функция «Проверить соединение» для хостов кода Perforce. Кнопка «Проверить соединение» на странице хоста кода теперь работает для хостов кода Perforce.
  5. Версия 5.1.8:

    • Добавлено: добавлена экспериментальная поддержка автозаполнения для Azure OpenAI.
    • Изменено: улучшена стабильность соединений gRPC.
  6. Версия 5.1.7:

    • Изменена: нажатие Mod-f всегда выбирает входное значение в поиске представления файла.
    • Изменено: Caddy был обновлён до версии 2.7.3, что устраняет ряд уязвимостей.
    • Изменено: сообщение о фиксации, определённое в спецификации пакета, теперь будет передаваться в git commit на stdin с использованием --file=- вместо включения в строку с git commit -m, чтобы улучшить интерпретацию сообщения git в определённых крайних случаях, таких как когда сообщение фиксации начинается с тире, и предотвратить добавление дополнительных кавычек к сообщению. Это может означать, что предыдущие стратегии экранирования будут вести себя по-другому.
    • Исправлена ошибка в развёртывании Sourcegraph с помощью deploy-sourcegraph-helm, для достаточно больших индексов scip загрузка завершится неудачно, когда рабочий с точным кодом попытается записать в /tmp и для этой цели не будет установлен том. Подробнее см. в разделе «Примечания к выпуску Kubernetes» (kubernetes release notes).
  7. Версия 5.1.6:

    • Добавлены новые метрики Prometheus для отслеживания размеров ответов / запросов вызовов gRPC.
    • Новая настройка конфигурации сайта встраивания excludeChunkOnError позволяет встраивать. Работа над завершением выполнения заданий, несмотря на неудачные фрагменты кода или текста.

При включении эти фрагменты пропускаются после неудачных попыток, но индекс может продолжать заполняться. При отключении всё задание завершается неудачно и индекс не сохраняется. Эта настройка включена по умолчанию.

Встроенные статистические данные о заданиях теперь фиксируют code_chunks_excluded и text_chunks_excluded. Экспериментальная поддержка Azure OpenAI для поставщиков завершений и внедрений.

Экспериментальная поддержка Azure OpenAI для провайдеров завершений и внедрений.

Добавлена функция флага для альтернативного разрешения видимости проектов GitLab. Это может решить некоторые странные случаи, когда внутренние проекты GitLab не видны.

Чтобы использовать этот флаг функции, создайте логический флаг с именем «gitLabProjectVisibilityExperimental» и установите значение True.

Теперь можно добавлять аннотации к подам, порождённым заданиями, созданными исполнителем Kubernetes.

Изменённое

  • Обновлены все пакеты в образах контейнеров до последних версий.
  • Обновлено изображение Docker-in-Docker с 23.0.1 до 23.0.6.
  • Реализация gRPC для конечной точки LocalCodeIntel сервиса Symbol была изменена для потоковой передачи результатов.
  • При использовании OpenAI или Azure OpenAI для завершений Cody завершения кода будут отключены, чат продолжит работать. Это связано с тем, что в настоящее время мы не поддерживаем завершения кода с OpenAI.

Исправленное

  • Исправлена ошибка, из-за которой запросы на создание учётных записей пользователей не могли быть одобрены, хотя лицензия в противном случае разрешала бы создание пользователя.
  • Исправлена ошибка, при которой фоновый планировщик для встраивания заданий на основе политик не планировал задания для частных репозиториев.
  • Исправлено несоответствие в точной навигации по коду, особенно влияющее на реализации и прототипы.

Удалённое

5.1.5

Известные проблемы

Стандартное и многоверсионное обновление в настоящее время не работает с версий Sourcegraph 5.0.X до 5.1.5. В качестве временного решения обновите версию 5.0.X до версии 5.1.0, затем версию 5.1.0 до версии 5.1.5.

Исправленное

  • Создание приложений GitHub теперь учитывает системные центры сертификации при указании сертификатов для конфигурации сайта tls.external.
  • Передача многострочных учётных данных Coursier в конфигурации пакетов JVM теперь должна работать правильно.
  • Индексы SCIP теперь загружаются в потоковом режиме, устраняя ошибки нехватки памяти в большинстве случаев, даже при загрузке очень больших индексов (более 1 ГБ несжатых).
  • Лицензионные проверки перенесены в рабочую службу. Таким образом, мы гарантируем запуск только одного экземпляра лицензионных проверок.
  • Базовые образы обновлены для устранения проблем с curl, OpenSSL и OpenSSL.
  • Максимальный размер сообщения для клиентов gRPC был увеличен с 4 МБ до 90 МБ.
  • Функция печати сообщений для пользовательских... ГРЦПИ теперь перехватывает и регистрирует все внутренние ошибки, а не только ошибки с. Изменения:

— Исправлена проблема, из-за которой нельзя было настроить приложения GitHub с помощью Firefox.

— Исправлено падение nil при выполнении определённых запросов GraphQL для перечисления пользователей.

Вкладка «Файлы» в инструменте поиска теперь позволяет перейти непосредственно к номеру строки, добавив :NUMBER. Например, запрос fuzzy main.ts:100 открывает строку 100 в файле main.ts.

Реализация gRPC для конечной точки LocalCodeIntel сервиса Symbol теперь передаёт результаты потоком.

Поставщики аутентификации GitLab теперь поддерживают опцию ssoURL, которая упрощает сценарии, когда группе GitLab требуется SAML/SSO.

5.1.4

Исправлено:

— Ошибка, из-за которой мы временно использовали гораздо больше памяти, чем требовалось, при получении вложений.

Изменено:

— Пользовательский интерфейс лицензионных ключей теперь отображает больше информации о действительности лицензии.

— Sourcegraph теперь поддерживает более одного поставщика аутентификации на URL.

— Администраторы сайта теперь могут просматривать, редактировать и перечислять все мониторы кода.

5.1.3

Изменённое:

— Код Cody (для расширения VS Code, CLI и общих библиотек клиента) перемещён в репозиторий sourcegraph/cody.

— Инструментарий golang.org/x/net/trace, ранее доступный в /debug/requests и /debug/events, полностью удалён из основных сервисов Sourcegraph. Он остаётся доступным для Zoekt.

Исправленное:

— Исправлен сбой в планировщике заданий по встраиванию, когда мы не можем разрешить один из репозиториев или его ветку по умолчанию, тогда все отправленные репозитории не будут иметь соответствующие задания по встраиванию в очереди. Планировщик заданий по встраиванию теперь продолжит планировать задания для последующих репозиториев в наборе отправленных репозиториев.

5.1.2

Исправленное:

— Устранён сбой при загрузке индексов с неправильно сформированными исходными диапазонами (это была ошибка в scip-go).

— Проверена валидация конфигурации Bitbucket Cloud в форме создания/обновления сайта-администратора.

— Устранено состояние гонки с сообщением grpc server.send.

— Решена проблема инициализации конфигурации, которая нарушила исходящий запрос на странице администратора сайта.

— Исправлен крайний случай построения DSN Postgres.

5.1.1

Исправленное:

— Поведение по умолчанию при включении явного API разрешений теперь исправлено. Репозитории больше не помечаются как неограниченные по умолчанию.

5.1.0

Примечание: Начиная с версии 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) для получения дополнительной информации и шагов по решению проблемы.

Известные проблемы

  • Существует проблема с экземплярами Sourcegraph, настроенными на использование явных разрешений с использованием permissions.userMapping в конфигурации сайта, где разрешения репозитория не применяются. Клиентам, использующим API явных разрешений, рекомендуется выполнить обновление до версии 5.1.1 напрямую.
  • Существует проблема с созданием и обновлением существующих подключений к хостам кода Bitbucket.org (Cloud) из-за проблемы с проверкой схемы JSON, которая препятствует загрузке редактора JSON и отображается как ошибка в пользовательском интерфейсе.

Добавлено

  • Исполнители изначально поддерживают среды Kubernetes. #49236.
  • Документация для точных токенов доступа GitHub. #50274.
  • Панели мониторинга Code Insight сохраняют размер и порядок карточек. #50301.
  • Теперь конечная точка завершения LLM доступна через запрос GraphQL в дополнение к потоковой конечной точке #50455.
  • Добавлена панель статистики центра разрешений. Статистика включает количество поставленных в очередь заданий, пользователей/репозиториев с неудачными заданиями, без разрешений и устаревших разрешений. #50535.
  • Поддержка SCIM для деактивации/реактивации пользователей. #50533.
  • Форму входа теперь можно настроить с помощью упорядочивания и ограничения поставщиков аутентификации. См. документацию. #50586, 50284 и #50705.
  • События OOM Reaper, влияющие на задания p4-fusion на gitserver, лучше обнаруживаются и обрабатываются. Используется ненулевой статус выхода, а использование ресурсов (ЦП, память) процессом задания добавляется к выводу задания, чтобы администраторы могли определить возможную активность OOM и принять меры для её устранения. #51284.
  • При создании нового пакетного изменения пробелы автоматически заменяются дефисами в поле имени. #50825 и 51071.
  • Поддержка настраиваемой инъекции HTML за переменной среды (ENABLE_INJECT_HTML). Это позволяет пользователям включать или отключать настройку HTML по мере необходимости, что теперь отключено по умолчанию. #51400.
  • Возможность блокировать планирование автоиндексации и вывод с помощью таблицы Postgres codeintel_autoindexing_exceptions. #51578.
  • Когда администратор настроил окна развёртывания для наборов изменений пакетных изменений, сведения о конфигурации теперь видны всем пользователям на странице настроек пакетных изменений. #50479.
  • Поддерживаются регулярные выражения в репозиториях исключений для подключений кода хоста GitLab. #51862.
  • Ветви, созданные пакетными изменениями, теперь будут автоматически удаляться на хосте кода при объединении или закрытии набора изменений, если включена новая настройка сайта batchChanges.autoDeleteBranch. # 52055

Метаданные репозитория теперь общедоступны для всех: #50567, #50607, #50857, #50908, #972, #51031.

  • Пакетные изменения для хостов кода Gerrit:

    • Пакетные изменения теперь поддерживают контроль за каждым пакетным изменением при отправке во форк вышестоящего репозитория, когда в спецификации пакета указано свойство changesetTemplate.fork.
  • Исполнители:

    • Исполнители теперь могут быть настроены для обработки нескольких очередей.
  • Добавлено isCodyEnabled как новое поле GraphQL для Site:

    • Улучшенный поиск включён по умолчанию. Эту функцию можно отключить с помощью флага функции search-ranking.
    • Добавлен маршрут обратного вызова токена для Cody в VS Code и VS Code insiders.
  • Последний вывод клона/синхронизации репозитория:

    • Последний вывод клона/синхронизации репозитория отображается на странице «Зеркальное отображение и клонирование» ({REPO}/-/settings/mirror). Эта функция добавлена в первую очередь для упрощения отладки проблем с хранилищами Perforce, но также может быть полезна для других хостов кода.
  • Новый предикат file:has.contributor(...) для фильтрации файлов на основе участников.

  • Для Cody в Интернете добавлен селектор области видимости для нескольких репозиториев:

    • Поддерживает унифицированный API генерации контекста, который использует комбинацию поиска вложений и поиска по ключевым словам в качестве запасного варианта для генерации контекста.
  • 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).

  • cody.enabled в конфигурации сайта теперь управляет включением/выключением Cody, по умолчанию false.
  • Когда cody.enabled установлено и не задана конкретная конфигурация для completions и embeddings, Cody по умолчанию будет разговаривать с провайдером sourcegraph, шлюзом Sourcegraphs Cody, который позволяет получать доступ к дополнениям чата и внедрениям.
  • Включение Cody теперь требует установки cody.enabled на true и включения completions.
  • cody.restrictUsersFeatureFlag заменяет experimentalFeatures.CodyRestrictUsersFeatureFlag в конфигурации сайта, по умолчанию false.
  • completions.enabled устарел, заменён на cody.enabled.
  • Флаги функций для Cody в веб-функциях были удалены, и теперь единственным источником истины является cody.enabled.
  • Конфигурация внедрений теперь требует, чтобы поле provider было установлено.
  • Данные Ping теперь отражают, установлены ли cody.enabled и completions.

Если запрос 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.

Исправлено

  • Поиски GitHub repositoryQuery теперь учитывают диапазоны дат и используют API-запросы более эффективно (#49969).
  • Исправлена проблема, когда поисковые ссылки не отображались на панели ссылок (#50157).
  • Символьные предложения вставляют фильтры типа: символ только при необходимости (#50183).
  • Убрана неправильная метка бета на странице создания контекста поиска (#51188).
  • Многоверсионные обновления до версии 5.0.2 в полностью изолированной среде не будут работать без команды --skip-drift-check (#51164).
  • Не удалось установить. permissions.syncOldestUsers или permissions.syncOldestRepos в ноль (#51255).
  • Соединения с хостом кода GitLab отключат синхронизацию разрешений репозиториев, ориентированных на репо, когда поставщик аутентификации установлен как «oauth». Это предотвращает получение неверных данных при синхронизации разрешений, ориентированных на репозиторий (#51452).
  • Фоновые задания интеллектуального анализа кода неправильно использовали внутренний контекст, что иногда приводило к преждевременному удалению данных SCIP (#51591).
  • Журналы медленных запросов теперь имеют правильные идентификаторы трассировки и диапазона, если трассировка присутствует в запросе (#51826).
  • Меню braindot в представлении BLOB больше не извлекает данные активно, чтобы предотвратить проблемы с производительностью для крупных пользователей монорепо (#53039).
  • Исправлена ошибка, из-за которой комментирование отредактированных секретов site-config приводило к их повторному добавлению (#53152).
  • Исправлена ошибка, при которой пакеты SCIP иногда не записывались в базу данных, нарушая переход между репозиториями (#53763).
  • Исправлена ошибка, когда добавление новой внешней учётной записи пользователя не планировало новую синхронизацию разрешений для пользователя (#54144).
  • Добавление новой учётной записи пользователя теперь правильно планирует синхронизацию разрешений для пользователя (#54258).
  • Пользователи/репозитории без существующей задачи синхронизации в таблице permission_sync_jobs теперь планируются должным образом (#54278).

Удалено

  • Пользовательские теги удалены в пользу новой функциональности флагов функций (#49318).
  • Ранее устаревший сайт config experimentalFeatures.bitbucketServerFastPerm был удалён (#50707).
  • Ненужный сайт-конфиг. Филд api.rateLimit был удалён.

Легаси (табличный) вьювер блобов.

5.0.6

Исправлено:

— утверждения SAML для получения отображаемого имени пользователя теперь сравниваются без учёта регистра, и мы не всегда возвращаем ошибку;

— исправлена проблема, из-за которой поиск типа «diff» не работал, когда были включены разрешения подрепозитория.

5.0.5

Добавлено:

— члены организации теперь могут администрировать пакетные изменения, созданные другими участниками в пространстве имён их организации, если для этой организации включена настройка 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. Другие варианты развёртывания не были затронуты.

5.0.4

Исправленное:

— поиск вины Git репозиториев, синхронизированных через src serve-git или хосты кода с использованием пользовательского repositoryPathPattern, теперь будет использовать правильный URL при включённой потоковой передаче вины Git;

— Code Insights, ограниченные статическим списком имён репозиториев, не смогут разрешить репозитории с включёнными разрешениями, что приведёт к неработоспособности Insights;

— пакеты: решена проблема с веб-перехватчиками GitHub, где обновления CI-проверки не выполнялись из-за удаления поля из полезной нагрузки веб-перехвата GitHub.

5.0.3

Добавленное:

— агрегированные пинги Cody.

Исправленное:

— Bitbucket Server добавляет журнал ошибок, если нет совпадения учётных записей для пользователя;

— ... В версии 5.0.2:

  • Экспериментальная настройка сайта для ограничения доступа к Cody пользователям с помощью флага функции cody-experimental.

Изменения:

  • Использование Alpine 3.17 выпусков cURL и Git.

Исправления:

  • Для Cody явно обнаруживать некоторые случаи.

[#50541] Аналитика кода, которая выполняется над нулевыми репозиториями, завершает обработку и показывает «Нет данных для отображения».

[#50561] Таймауты DNS при вызовах host.docker.internal из каждой загрузки HTML-страницы для экземпляров docker-compose без подключения к сети. Больше никаких DNS-запросов в jscontext.go.

[#50638] Улучшена скорость встраивания индекса за счёт значительного уменьшения вызовов Gitserver.

[#50410]

Версия 5.0.1:

Добавленное:

  • Возможность исключать определённые шаблоны путей файлов из встраиваний.
  • Добавлен модальный режим для отображения предупреждений и ошибок при экспорте результатов поиска.

[#50348]

Изменённое:

Исправленное:

  • Исправлена CVE-2023-0464 в образах контейнеров.
  • Исправлена CVE-2023-24532 в образах контейнеров.
  • Исправлена проблема, когда уведомления мониторинга кода Slack не срабатывали, если сообщение было слишком длинным.

[#50083]

  • Исправлен крайний случай проблемы с расчётами статистики использования, которые пересекают границы месяца и года.
  • Исправлено значение «Последняя инкрементная синхронизация» в разрешениях пользователя/репо от отображения неправильной даты, если синхронизация ещё не была завершена.
  • Исправлена ошибка, из-за которой создание контекста поиска завершалось ошибкой «вы должны предоставить первое или последнее значение для правильной разбивки на страницы» при определении репозиториев и ревизий с помощью конфигурации JSON.
  • Исправлена ошибка, при которой предоставлялся неправильный субъект при поиске индекса встраиваний.
  • Исправлены множественные запросы, загружающие индекс встраиваний одновременно в пустой кэш, что приводило к ошибке нехватки памяти.
  • Исправлено кодирование индексов встраиваний, которое вызывало ошибки нехватки памяти для больших индексов при их загрузке с рабочего сервиса.
  • Исправлены стили оформления git blame.
  • Правила CODEOWNERS с последовательными косыми чертами (//) больше не будут приводить к сбою поиска владельцев.
  • Предоставление ожидающих разрешений пользователям, когда experimentalFeatures.unifiedPermissions включён.

[#50059]

  • Объединённые разрешения внеполосной миграции, о которых сообщалось как о незавершённых, если были пользователи без разрешений.

[#50147]

  • Имена файлов со специальными символами правильно обрабатываются в службе встраивания Cody.

[#50023]

  • Структурный поиск корректно очищается после завершения, предотвращая утечку горутины.

[#50034]

  • Извлечение определений поиска на основе структуры в панели ссылок, если точные определения не найдены.

[#50179]

Удалено:

Версия 5.0.0:

Добавленное:

  • Переменная среды TELEMETRY_HTTP_PROXY может быть установлена в сервисе sourcegraph-frontend, чтобы использовать HTTP-прокси для запросов телеметрии и проверки обновлений.

[#47466]

  • Развёртывание Kubernetes: представлен новый вариант развёртывания Kubernetes. Развёртывание Kubernetes: новое развёртывание Kustomize

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 в настоящее время всё ещё остаётся, но не действует.

Исправлено:

  • Символы службы CACHE_DIR и MAX_TOTAL_PATHS_LENGTH были переименованы в SYMBOLS_ в последней версии Sourcegraph; эта версия исправляет ошибку, из-за которой старые имена без префикса SYMBOLS_ не учитывались правильно. Теперь оба имени работают.
  • Исправлены проблемы с распространением конфигурации трассировки по всему приложению.
  • Включить auto gc при выборке, когда SRC_ENABLE_GC_AUTO установлено в значение true.
  • Исправления подсветки синтаксиса и проблем с номерами строк в предварительном просмотре кода, отображаемом внутри панели ссылок.
  • Порядок сообщений об ошибках синхронизации хоста кода в меню уведомлений теперь будет постоянным. Ранее порядок не гарантировался при обновлении статусных сообщений, что приводило к тому, что сообщения об ошибках синхронизации хоста кода перескакивали позиции, создавая ложное ощущение изменений у администраторов сайта.
  • Обнаружение и отслеживание Code Insights выполняются во всех репозиториях, когда во время создания использовался поиск для указания репозиториев для анализа.

Удалено:

  • Конечная точка загрузки LSIF больше не поддерживается и была заменена страницей диагностики ошибок. src-cli v4.5+ будет переводить все локальные файлы LSIF в SCIP перед загрузкой.
  • Экспериментальная настройка authz.syncJobsRecordsLimit была удалена.
  • Хранение статусов заданий синхронизации разрешений в Redis было удалено, поскольку теперь все связанные с синхронизацией разрешений данные хранятся в базе данных.
  • Ключ shared_steps был удалён из описаний конфигураций автоматического индексирования. Если у вас есть пользовательская конфигурация автоматического индексирования JSON, установленная для репозитория, которая определяет этот ключ, вы должны встроить содержимое в массив steps каждой индексной задачи.

4.5.1

Изменено:

4.5.0

Добавлено:

  • Переменные среды (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.

4.4.2

Изменено:

— Теперь срок действия лицензий обрабатывается по-другому. Когда лицензия истекает, продвижение до администратора сайта отключается, функции, специфичные для лицензии, отключаются (исключение составляют SSO и синхронизация разрешений), а семидневный период перед истечением срока действия был заменён предупреждением за семь дней до истечения срока действия. #47251

4.4.1

Изменено:

— Проверки подключения к хостам кода были изменены, чтобы напрямую взаимодействовать с API хостов кода через HTTP вместо выполнения поиска DNS и установления TCP-соединения. Это делает их более устойчивыми в средах, где используются прокси. #46918

— Исправлено поведение переполнения поля ввода поискового запроса на домашней странице поиска. #46922

4.4.0

Добавлено:

— На страницу состояния индекса добавлена кнопка «Переиндексировать сейчас». Администраторы теперь могут принудительно выполнить немедленный переиндекс репозитория. #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.

Исправлено:

  • Результаты поиска при экспорте используют тот же список результатов, что и страница результатов поиска.
  • Кодовые идеи с более чем 1 годом истории будут правильно отображать 12 точек данных вместо 11.
  • Часовые кодовые идеи теперь будут вести себя правильно и больше не будут усекаться до полуночи UTC в календарную дату создания идеи.
  • Исправлена проблема, из-за которой фильтрация по контексту поиска, включающему несколько репозиториев, исключала данные.
  • Игнорируются нулевые объекты JSON, возвращаемые API GitHub, при перечислении общедоступных репозиториев.
  • Устранена проблема, из-за которой электронные письма, которые ранее не были проверены, не могли получать повторные электронные письма для проверки.
  • Решена проблема, препятствующая успешной загрузке файлов LSIF размером более 2 ГБ (в сжатом виде).
  • Локальные переменные в Typescript теперь обнаруживаются как символы, что положительно повлияет на ранжирование результатов поиска.
  • Исправление проблемы в Gitlab OAuth, в которой членство в группе пользователей установлено слишком широко — добавляет min_access_level=10 к запросу /groups.

Удалено:

  • Реестр расширений больше не поддерживает просмотр, создание или обновление устаревших расширений. Существующие расширения по-прежнему можно включать или отключать в настройках пользователя, и их можно перечислить через API. (API расширения был объявлен устаревшим в 2022-09, но всё ещё доступен, если включён экспериментальный флаг функций сайта enableLegacyExtensions.)
  • Автоматически определяемые контексты поиска пользователей и организаций были окончательно удалены вместе с запросом GraphQL autoDefinedSearchContexts. Теперь существует только один автоматически определённый контекст — глобальный контекст.
  • Настройки experimentalFeatures.showSearchContext, experimentalFeatures.showSearchNotebook и experimentalFeatures.codeMonitoring были удалены, и эти функции теперь постоянно включены, когда они доступны.
  • Устаревшие панели на домашней странице (недавние поиски и т. д.), которые были отключены по умолчанию, но их всё ещё можно было снова включить, установив для experimentalFeatures.showEnterpriseHomePanels значение true, теперь окончательно удалены.
  • Запрос GraphQL site { monitoringStatistics { alerts } } был объявлен устаревшим и больше не будет возвращать никаких данных. Запрос будет полностью удалён в будущем выпуске.
  • Версия Monaco поискового запроса и соответствующий флаг функции (experimentalFeatures.editor) были окончательно удалены. 4.3.0

Добавлено:

  • В результаты поиска по содержимому файлов, пути и символам при наведении или фокусировке добавлена кнопка «Копировать путь». Она копирует относительный путь файла в репозитории так же, как это делает кнопка «Скопировать путь» на страницах файлов и репозиториев. #42721.
  • Теперь для файлов, которые не изменились между неиндексированным и индексированным коммитами, используется индекс для неиндексированного поиска. Это ускоряет неиндексированный поиск в целом. Если вы заметили проблемы, вы можете отключить эту функцию, установив флаг функции 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 удалена. Все блокноты, которые использовали вычислительный компонент, больше не будут отображать блок. Блок будет удалён из базы данных при следующем сохранении блокнота, который его использует.

4.2.1

— minio заменён на blobstore. См. примечания к обновлению здесь: https://docs.sourcegraph.com/admin/how-to/blobstore_update_notes

4.2.0

Добавлено

— Создание токенов доступа теперь отслеживается в событиях безопасности.

— Добавлен 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.3

Исправлено

  • Исправлена ошибка, приводившая к тому, что расширение Phabricator не загружало нужные ресурсы CSS. (#43868).
  • Исправлена ошибка, препятствовавшая загрузке результатов поиска. (#43344).

4.1.2

Исправлено

  • Исправлено перемещение по коду на OSS, когда CodeIntel недоступен. (#43458).

Удалено

  • Из пользовательского интерфейса удалён контрольный список для новых пользователей, который отображался в верхней панели навигации, на профилях пользователей и на странице обзора администратора сайта. После изменений в базовой системе статистики пользователей. 4.1.1

Исправлено

  • Исправлена ошибка с нормализацией значения published черновика для changeset_specs. (#43390).

4.1.0

Добавлено

  • Устаревшие исполнители теперь показывают предупреждение на странице администратора. (#40916).
  • Добавлена поддержка улучшенных предварительных просмотров ссылок Slack для частных экземпляров. Предварительные просмотры ссылок в настоящее время помечены флагом функции, и администраторы сайта могут включить их, создав флаг функции enable-link-previews на странице /site-admin/feature-flags. (#41843).
  • В настройках репозитория добавлена новая кнопка под «Зеркальное отображение» для удаления репозитория с диска и его повторного клонирования. (#42177).
  • Теперь можно создавать пакетные изменения на сервере внутри организаций. (#36536).
  • Журналы запросов GraphQL теперь соответствуют формату аудита. Старый формат ведения журнала GraphQl на основе переменной среды LOG_ALL_GRAPHQL_REQUESTS теперь устарел и планируется к удалению. (#42550).
  • Работа с файлами при выполнении пакетных изменений на стороне сервера теперь работает. (#31792).
  • На верхнюю часть страницы списка пакетных изменений добавлен мини-дашборд с общей статистикой пакетных изменений. (#42046).
  • На страницу сведений о хосте кода добавлены счётчики синхронизации репозиториев. (#43039).

Изменено

  • Журналы доступа к серверу Git теперь соответствуют формату аудита. Поле «актёр» теперь вложено в поле «аудит». (#41865).
  • Все правила Perforce теперь хранятся вместе в одном столбце и оцениваются по принципу «последнее правило имеет приоритет». (#41785).
  • События безопасности теперь являются частью журнала аудита. (#42653).
  • «GC AUTO» теперь является заданием сборки мусора по умолчанию. Мы... Отключить техническое обслуживание SG, которое ранее заменило «GC AUTO», после неоднократных сообщений о повреждении репозитория. #42856

Теперь в журнале аудита событий безопасности (security events) можно опционально опускать действия внутренних субъектов (internal actor actions), то есть внутренний трафик. #42946

Для использования дополнительной функции customGitFetch на gitserver необходимо установить переменную среды ENABLE_CUSTOM_GIT_FETCH. #42704

Исправлено

  • В Gitlab версии 14.0 и выше наборы изменений WIP теперь начинаются с префикса Draft: вместо WIP: для учёта критического изменения в Gitlab 14.0. #42024
  • При обновлении конфигурации сайта теперь используется предоставленный последний идентификатор, чтобы предотвратить возникновение конфликтов при одновременном обновлении конфигураций. #42691
  • Когда настроено несколько провайдеров аутентификации одного типа внешней службы, в настройках безопасности учётной записи пользователя теперь есть отдельные записи. #42865
  • Исправлена ошибка с хостами кода GitHub, которые неправильно помечали архивные репозитории при использовании ключевого слова «public» repositoryQuery. #41461
  • Исправлена ошибка, из-за которой в панели выполнения пакетных спецификаций отображалась пустая спецификация пакета, с которой было инициировано изменение пакета. #42914
  • Исправлена ошибка, приводившая к некорректному открытию выпадающих меню. #42779

Удалено

4.0.1

Исправлено

  • Исправлен сбой, который мог быть вызван некоторыми конфигурациями трассировки. #42027
  • Исправлены проблемы с навигацией по коду для JavaScript. #42055
  • Устранена проблема с пустыми всплывающими окнами навигации по коду. #41958

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.

3.43.2

Исправлено

— Исправлена проблема, вызывающая дампы ошибок отмены контекста при обновлении конфигурации хоста кода вручную.

— Исправлены некритические ошибки, останавливающие процесс синхронизации репозиториев для Bitbucket projectKeys.

— Исправлена ошибка, помечающая учётные записи как просроченные, когда предоставленный список идентификаторов учётных записей не содержит записей.

3.43.1

Исправлено

— Исправлен бесконечный цикл рендеринга на странице сведений об изменениях пакета, что делало страницу непригодной для использования.

— Невозможно выбрать правильный GitLab OAuth для аутентификации пользователя и синхронизации разрешений репозитория, когда экземпляр настраивает более одного поставщика аутентификации GitLab OAuth.

3.43.0

Добавлено

— Принудительное ограничение в 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.

3.42.2

  • Исправлено:

— Исправлена ошибка в запросах группы захвата, которая приводила к немедленному сбою запросов, если они содержали недопустимые запросы.

— Исправлена проблема с преобразованием оперативных аналитических данных в код, чтобы начать заполнение данных с текущего времени вместо даты создания анализа.

3.42.1

  • Исправлено:

— Вернули версию git, чтобы избежать проблемы с графиком фиксации, которая могла вызвать повреждение репозиториев.

— Исправили проблему с символами, которые не учитывали разрешения подрепозиториев.

3.42.0

  • Добавлено:

— Изменения, внесённые повторно, теперь отображают действие и учитываются в статистике при предварительном просмотре пакетных изменений.

— Новая опция конфигурации сайта "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: в поисковом запросе.
  • Пакетные изменения: теперь будут использоваться учётные данные последнего применившего пользователя для синхронизации наборов изменений, если они доступны. Если нет, то сохраняется предыдущее поведение использования конфигурации сайта или хоста кода. #33413.
  • Gitserver: мы отключаем автоматический git-gc для вызовов git-fetch, чтобы избежать повреждения репозиториев конкурирующими процессами git-gc. #36274.
  • Поиск коммитов и различий: снято жёсткое ограничение в 50. * Базам данных Postgres frontend и codeintel-db теперь даётся 1 час на начало приёма подключений, прежде чем Kubernetes перезапустит контейнеры.
  • Внутренний переадресатор команд git устарел и будет удалён в версии 3.42.

Исправленное

  • Невозможно отправить электронные письма через Google SMTP relay с загадочной ошибкой «EOF».

  • Распространённая причина вытеснения искателей в kubernetes при выполнении больших структурных поисков. Исправления ошибок и улучшения в версии 3.40.2

  • Исправлена ошибка авторизации: проверка авторизации при неработающем Redis теперь приводит к внутренней ошибке сервера вместо очистки действительного сеанса из файлов cookie пользователя.

Исправления ошибок в версии 3.40.1

  • Поддержка истечения срока действия токенов OAuth для GitLab, которое стало стандартом в версии 15.0.
  • Исправление ошибки внешнего сервиса resolver при возникновении ошибки, когда веб-перехватчики не поддерживаются.

Версия 3.40.0

  • Добавлены функции:

    • Code Insights: добавлен фильтр нечеткого поиска для выпадающего списка панели инструментов.
    • Code Insights: можно поделиться анализом кода через ссылку для общего доступа.
    • Поиск: «path:» теперь является допустимым фильтром. Это псевдоним существующего фильтра «file:».
    • Поиск: «-language» является допустимым фильтром, но веб-приложение отображает его как недопустимый. Веб-приложение исправлено, чтобы отражать достоверность.
    • Поисковая интеллектуальная система кода теперь распознает локальные переменные в Python, Java, JavaScript, TypeScript, C/C++, C#, Go и Ruby.
    • GraphQL API: добавлена поддержка асинхронного удаления внешней службы. Это должно использоваться для удаления внешней службы, которую нельзя удалить в течение 75 секунд из-за большого количества репозиториев. Использование: добавьте логическое поле «async» в мутацию «deleteExternalService». Пример: «mutation deleteExternalService (externalService: "id", async: true) { alwaysNil }».
    • «search.largeFiles» теперь поддерживает рекурсивные шаблоны. Например, теперь можно указать шаблон вроде «**/*.lock», чтобы найти файл блокировки в любом месте репозитория.
    • Разрешения: добавлена мутация «setRepositoryPermissionsUnrestricted», которая позволяет явно пометить репозиторий как доступный всем пользователям Sourcegraph.
    • Предикат «repo:deps(...)» теперь может выполнять поиск по зависимостям Python ваших репозиториев.
    • Поддерживаются пакетные изменения на Bitbucket Cloud.
    • Добавлены пинги для серверных пакетных изменений.
    • Индексированный поиск обнаружит, если он неправильно настроен и несколько реплик записывают данные в один и тот же каталог.
    • Новая функция обратного вызова создания токена, которая автоматически отправляет токен обратно в доверенную программу после того, как пользователь вошёл в систему.
    • На панели Grafana теперь есть глобальное представление использования ресурсов контейнера, помогающее администратору сайта быстро выявлять потенциальные проблемы масштабирования.
  • Изменения:

    • Образы Docker Sourcegraph теперь основаны на Alpine Linux 3.14.
    • Sourcegraph теперь собирается с использованием Go 1.18.
    • Захваты групп Code Insights теперь используют вычислительную потоковую конечную точку. Код Инсайтс теперь автоматически генерирует запросы со значениями по умолчанию «fork:no» и «archived:no», если эти поля не указаны пользователем. Это устраняет необходимость вручную добавлять эти поля для обеспечения согласованного поведения исторических и неисторических результатов.

#30204

Теперь в Поиске Код Инсайтс используется потоковая конечная точка поиска. Развёртывание: Nginx ingress controller обновлён до версии v1.2.0.

Исправлено

— В «Код Инсайтс» исправлен эффект наведения курсора на активную линию при отображении данных серии линейных диаграмм. Теперь активная линия будет отображаться поверх остальных.

— Исправлена ошибка в расчёте размера линейных диаграмм в FireFox.

— Непроверенные первичные электронные письма больше не нарушают работу страницы электронных писем для пользователей и страницы пользователей для администратора сайта.

Удалено

— Экспериментальная функция API Docs, выпущенная на нашем облачном экземпляре начиная с версии 3.30.0, полностью удалена из продукта. Эта функциональность продукта заменяется doctree.

3.39.1

Исправлено

— В Code Insights исправлена ошибка, которая вызывала проблемы с рендерингом строк, когда данные серии возвращались не по порядку по дате.

— В Code Insights исправлена ошибка, приводившая к переключению параметров до и после при переходе во представление различий из инсайта.

— Решена проблема с ноутбуками, из-за которой курсор вёл себя беспорядочно в блоках markdown.

— Сбои пакетных изменений в установках docker compose из-за отсутствующей переменной среды.

3.39.0

Добавлено

— Добавлена поддержка аутентификации 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 для необязательной настройки глобального предела скорости по умолчанию для внешних служб.

Изменённое

  • Code Insights: Заменён собственный диалог подтверждения окна на фирменный модальный. # 33637
  • Code Insights: Данные серии теперь сортируются по семантической версии, а затем в алфавитном порядке.
  • Code Insights: Добавлены заблокированные оверлеи для замороженных инсайтов во время работы в режиме ограниченного доступа. Ограничена кнопка сохранения изменений для редактирования замороженных инсайтов. # 33062
  • Code Insights: Глобальная панель мониторинга теперь будет автоматически создаваться во время работы в ограниченном режиме доступа, чтобы обеспечить постоянную видимость для разблокированных инсайтов. Эту панель нельзя удалить или изменить во время работы в ограниченном доступе. # 32992
  • Обновление «контрольного списка для посетителей» до нового дизайна [TODO:]
  • Обновление «быстрого старта для посетителей» до нового дизайна # 32882
  • Code Insights: Значения групп захвата теперь ограничены 100 символами. # 32828
  • Репозитории, для которых задание janitor gitserver «sg maintenance» не удаётся, в конечном итоге будут повторно клонированы, если «DisableAutoGitUpdates» установлено в значение false (по умолчанию) в конфигурации сайта. # 33432
  • База данных Code Insights теперь основана на Postgres 12, что устраняет зависимость от TimescaleDB. # 32697

Исправленное

  • Исправлена ошибка, из-за которой кнопка создания инсайта была ошибочно отключена.
  • Исправлено появление баннера «Предупреждение: Sourcegraph не может отправлять электронные письма!» для всех пользователей вместо только администраторов сайта (представлено в версии v3.38).
  • Чтение типа шаблона поиска из настроек # 32989
  • Отображение всплывающей подсказки и усечение заголовка результата поиска при переполнении содержимого # 32904
  • Поисковые шаблоны, содержащие выражения and и not, теперь оптимизированы для оценки на внутреннем сервере Zoekt для индексированного содержимого кода и поиска символов везде, где это возможно. Такие запросы теперь обычно выполняются на порядок быстрее. Предыдущие случаи, когда результаты не возвращались для дорогостоящих поисковых выражений, теперь должны работать и быстро возвращать результаты. # 33308
  • Ошибка регистрации события активации расширения больше не будет блокировать активацию расширения # 33300
  • Устранены события нехватки памяти для задания janitor gitserver «sg maintenance». # 33353
  • Настройка публикации Состояние наборов изменений при предварительном просмотре пакетной спецификации теперь корректно работает, если выбраны все наборы изменений и есть более одной страницы наборов изменений.

3.38.1

Исправлено:

— Проблема, возникшая в версии 3.38, из-за которой оповещения не доставлялись.

3.38.0

Добавлено:

— Новый «Тур по началу работы» для не прошедших аутентификацию пользователей на Sourcegraph.com вместо «Тура по поиску». — Пинги теперь включают показатели использования интеграции хоста кода. — Добавлена переменная среды PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS, позволяющая использовать аутентификацию API метаданных EC2 для внешнего сегмента. S3, в котором хранятся точные загрузки данных об интеллекте кода

  • Страницы загрузки LSIF теперь содержат раздел со списком причин и политик хранения, приводящих к сохранению и не истечению срока действия загрузки.
  • Временные метки на панели истории теперь можно форматировать как абсолютные временные метки с помощью пользовательской настройки history.preferAbsoluteTimestamps.
  • Блокноты из частных корпоративных экземпляров теперь можно встраивать во внешние сайты, включив функцию enable-embed-route.
  • Пинги теперь включают метрики использования расширений IDE.
  • Новый тип EventSource: 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.

При закрытии пакетного... Изменения

Также отображаются черновики наборов изменений, которые будут закрыты.

Удалено

  • Устаревшее поле GraphQL SearchResults.resultCount было удалено в пользу его замены matchCount.
  • Устаревшее поле конфигурации сайта UseJaeger было удалено. Вместо этого используйте "observability.tracing": { "sampling": "all" }.

Добавлено

  • Код в результатах поиска теперь можно выбирать (например, для копирования). Простое нажатие на код, как и раньше, открывает соответствующий файл.
  • Поисковые записные книжки теперь поддерживают импорт и экспорт файлов в формате Markdown.
  • Добавлен автономный сервис миграции, который можно использовать для запуска миграций базы данных независимо от обновления. Более подробную информацию см. в документации по автономному сервису миграции и в документации по обновлению docker-compose или kubernetes.

Изменено

  • Подсветка синтаксиса для JSON теперь использует отдельный цвет для строк в позициях ключей объектов.
  • API GraphQL: порядок событий, возвращаемых MonitorTriggerEventConnection, был изменён так, что более новые события возвращаются первыми. Параметр after был соответствующим образом изменён, чтобы возвращать события старше указанного, что позволяет выполнять разбиение на страницы. Запрос 31219.

Контексты поиска на основе запросов теперь включены по умолчанию как бета-функция. #30888.

Символы в боковой панели загружаются быстрее для старых коммитов (после их обработки), когда область ограничена подкаталогом в большом репозитории. #31300.

Исправлено

  • Ссылки, сгенерированные конечной точкой редактора, корректно отображают превью изображений. #30767.
  • Устранено состояние гонки в процессе точного истечения срока действия кода, из-за которого новые загрузки завершались преждевременно. #30546.
  • Исправлена проблема с отправкой изменений из пакетных изменений на хосты кода с самозаверяющими сертификатами TLS. #31010.
  • Исправлено, что LSIF-загрузки не истекали в соответствии с политиками хранения, когда репозиторий содержал теги и ветки с одинаковыми именами, но указывающие на разные коммиты. #31108.
  • Обнаружение служб для службы символов может переходить от отсутствия конечных точек к конечным точкам. Ранее мы всегда возвращали ошибку после первого пустого состояния. #31225.
  • Улучшена производительность при обработке загрузки LSIF, уменьшая задержку между загрузкой индекса LSIF и доступом к точной информации о коде в пользовательском интерфейсе. (#30978, #31143).
  • Символы отображаются правильно, даже если между коммитами не было изменено ни одного файла. #31295.
  • Символы отображаются корректно, даже если между коммитами было изменено слишком много файлов. #31110.
  • Решена проблема с чрезмерным использованием диска в службе символов. #30647.

Удалено

  • Удалена экспериментальная функция «showCodeMonitoringTestEmailButton». Тестовые электронные письма всё ещё можно отправлять, редактируя монитор кода и расширяя раздел «Отправить уведомление по электронной почте». #29953.

Версия 3.36.3

Исправленное

  • Исправлены разрешения Code Monitor. Для получения более подробной информации см. наш совет по безопасности. #30547.

Версия 3.36.2

Удалённое

  • Экран согласия с Условиями использования, который появлялся для всех пользователей при входе в Sourcegraph. У нас была некоторая внутренняя путаница в этом потоке адаптации, и он получился не таким, как мы планировали, это фактически отменяет это изменение. #30192.

Версия 3.36.1

Исправленное

  • Исправлен неработающий 'src lsif upload' внутри исполнителя из-за удаления базовой аутентификации. #30023.

Версия 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".

#29046

— Увеличено время обработки символов с 20 минут до 2 часов и сделана его настраиваемость. #29891

Исправлено

— Проблема, из-за которой поиск не завершался при наличии определённых шаблонов, содержащих символ @. #29489 — Панель инструментов Grafana для «успешной длительности поискового запроса» сообщает о времени потокового поиска, которое используется браузером. Ранее она сообщала о времени GraphQL, которое браузер больше не использует. #29625 — Регрессия, введённая в версии 3.35, приводит к тому, что Code Insights, которые выполняются во всех репозиториях, не запрашивают репозитории, у которых включены разрешения. (Ограниченные репозитории фильтруются на основе разрешений пользователя, когда пользователь просматривает диаграмму, а не во время запроса.) Это может привести к занижению глобальных данных Insights для точек данных, созданных после обновления до версии 3.35 и перед обновлением до версии 3.36. — Переименование репозиториев теперь удаляет старые индексы на дисках Zoekt. Это не повлияло на результаты поиска, только привело к потере дискового пространства. Это была регрессия, появившаяся в Sourcegraph 3.33. #29685

Удалено

— Удалена неиспользуемая бэкенд-служба из развёртываний Kubernetes. #4050

3.35.2

Исправлено

— Исправлены разрешения Code Monitor. Подробнее см. наш security advisory. #30547

3.35.1

⚠️ Из-за проблем, связанных с Code Insights в выпуске 3.35.0, пользователям рекомендуется выполнить обновление непосредственно до версии 3.35.1.

Исправлено

— Пропущенные миграции привели к тому, что существующие Code Insights не отображались. #29395 — Внеполосные миграции только для корпоративных пользователей не выполнялись из-за отсутствия флага конфигурации предприятия. #29426

3.35.0

⚠️ Из-за проблем, связанных с 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 были объявлены устаревшими в прошлом выпуске и больше не доступны.

Изменения:

  1. Теперь предложения работают только с API поиска в потоковом режиме.
  2. При нажатии на токен происходит переход к его определению.
  3. Переменная среды ALLOW_DECRYPT_MIGRATION теперь считывается службой worker, а не службой frontend, как в предыдущих версиях.
  4. Внешние службы прекратят синхронизацию, если они превысят лимит для пользователя или сайта по общему количеству добавленных репозиториев. Синхронизация продолжится только после удаления лишних репозиториев или увеличения соответствующего лимита, иначе она прекратится для самого первого репозитория при каждой попытке синхронизатора снова синхронизировать внешнюю службу.
  5. Службы Sourcegraph теперь прослушивают сигналы SIGTERM. Это позволяет более плавно выполнять развёртывание в кластерах Kubernetes.
  6. Входная точка sourcegraph-frontend теперь использует api networking.k8s.io/v1. Это добавляет поддержку k8s версии 1.22 и выше и отменяет поддержку версий старше v1.18.x.
  7. Непустые репозитории, найденные на gitserver, будут удалены заданием уборщика.
  8. Панель поиска больше не фокусируется автоматически при переходе между файлами. Это изменение означает, что сочетание клавиш Cmd+LeftArrow (или Ctrl-LeftArrow) теперь возвращает на предыдущую страницу браузера вместо перемещения позиции курсора в начало панели поиска.
  9. Серии Code Insights для всех репозиториев теперь можно редактировать.
  10. Серии Code Insights для всех репозиториев теперь поддерживают настраиваемый интервал времени и будут рассчитывать с 12 точками, начиная с момента создания серии и двигаясь назад во времени.
  11. Сервис Minio обновлён до RELEASE.2021-12-10T23-03-39Z.
  12. Поле запроса формы создания Code Insights теперь поддерживает предложения и подсветку синтаксиса.
  13. Использование select:repo в поисковых запросах теперь будет выдавать результаты постепенно, значительно улучшая скорость и сокращая время до получения первого результата.
  14. Нёчеткий поиск файлов теперь включён по умолчанию и может быть активирован с помощью сочетания клавиш Cmd+K на macOS и Ctrl+K на Linux/Windows. Отключить эту функцию можно, установив для параметра experimentalFeatures.fuzzyFinder значение false.
  15. Поиск на основе кода и интеллект символов, а также боковая панель символов стали намного быстрее благодаря тому, что служба символов обрабатывает файлы, которые изменились, постепенно.

Исправления:

  1. Перенос набора изменений из состояния черновика в опубликованное состояние был нарушен на хостах кода GitLab.
  2. Сочетания клавиш для переключения панели истории и переноса строк не работали на Mac.
  3. Подавляет предупреждение docker-on-mac для развёртываний Kubernetes, Docker Compose и Pure Docker. Исправления:
  • Исправлена проблема, когда определённый синтаксис регулярных выражений для поиска репозиториев приводил к сбою всего поиска, включая поиск нерепозиториев, с ошибкой синтаксического анализа (проблема затрагивает только версию 3.34).

  • Изменение наборов изменений на Bitbucket Server могло ранее завершиться неудачно, если локальная копия в пакетных изменениях была устаревшей. Проблема устранена путём повторной попытки операций в случае ответа 409.

Удаления:

  • Файлы настроек (пользовательские, организационные, глобальные) как механизм сохранения данных для Code Insights теперь устарели.

  • Развёртывание query-runner имеет... Из запроса был удалён сервис query-runner, его можно безопасно удалить из вашей установки.

3.34.2

Исправлено:

  • Исправлена ошибка, появившаяся в версиях 3.34 и 3.34.1, которая приводила к тому, что некоторые репозитории не отображались в результатах поиска.

3.34.1

Исправлено:

  • Устранена проблема с оповещением Redis для развёртываний docker-compose.

3.34.0

Добавлено:

  • Добавлена документация по объединению файлов конфигурации сайта. Доступно с версии 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 может быть дополнительно настроена в провайдере.

  • #26152

Добавлена поддержка языка Apex для выделения синтаксиса и интеллектуального поиска кода.

  • #25268

Изменено

Страницы управления контекстом поиска теперь доступны только в корпоративной версии Sourcegraph. Выпадающий список контекста поиска отключён в версии OSS.

  • #25147

GQL API контекста поиска теперь доступен только в корпоративной версии Sourcegraph.

  • #25281

При выполнении запроса фиксации или сравнения принятые значения before и after изменились с «всё, что принимает git» на немного более строгий поднабор этого.

  • #25414

Репогруппы и контексты версий устарели в пользу контекстов поиска. Подробнее об устаревании и миграции на контексты поиска читайте в блоге.

Исправления:

В версии 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

3.32.1

Исправлено:

  • Исправлена регрессия, появившаяся в версии 3.27 и нарушившая аутентификацию по SSH для управления наборами изменений Batch Changes на хостах кода. Ключи SSH, сгенерированные Sourcegraph, не использовались для аутентификации, и аутентификация с хостом кода завершалась ошибкой, если в gitserver не был добавлен ключ SSH с доступом на запись. #27491

3.32.0

Добавлено:

  • В панели поиска отображается раздел ревизий, если все результаты поиска взяты из одного репозитория. Это упрощает поиск и переключение между различными ревизиями. #23835
  • Панели различных предупреждений в Grafana теперь можно щёлкнуть, чтобы перейти непосредственно к соответствующим панелям и информационным панелям. #24920
  • Добавлена вкладка «Документация» на панели обслуживания администратора сайта, которая ссылается на официальную документацию Sourcegraph. #24917
  • Кодовые идеи, которые выполняются во всех репозиториях, теперь генерируют движущийся ежедневный снимок между временными точками. #24804
  • API Code Insights GraphQL теперь ограничивает результаты пользовательскими, организационными и глобальными идеями. Идеи будут синхронизироваться с базой данных с доступом, связанным с настройкой пользователя или организации, содержащей определение идеи. #25017
  • Тайм-аут для длительных команд Git можно настроить через gitLongCommandTimeout в конфигурации сайта. #25080

Изменено:

  • allowGroupsPermissionsSync в провайдере авторизации GitHub теперь требуется для включения экспериментального кэширования разрешений команд и организаций GitHub. #24561
  • Внешние хосты кода GitHub теперь проверяют, установлен ли соответствующий поставщик авторизации, и выдают предупреждение, если это не так. #24526
  • Sourcegraph теперь собирается с использованием Go 1.17. #24566
  • Code Insights теперь доступен только в Sourcegraph enterprise. #24741
  • Prometheus в Sourcegraph с Docker Compose теперь очищает метрики экземпляров Postgres и Redis. [deploy-sourcegraph-docker#580]
  • Предложения символов теперь используют оптимизации для глобальных поисков. #24943

Исправлено:

  • Исправлено несколько проблем, когда синхронизация разрешений репозиториев может завершиться сбоем для экземпляров с очень большим количеством репозиториев. #24852, #24972
  • Устранено чрезмерное повторное рендеринг всего веб-приложения при каждом нажатии клавиши в поле ввода поискового запроса. #24844
  • Линейная диаграмма Code Insights теперь поддерживает разные временные шкалы для каждой серии данных (линий). #25005
  • Экспортёр Postgres теперь предоставляет счётчик учётных записей pg_stat_activity для отображения количества активных подключений к БД. #25086

Удалено:

  • Переменная среды PRECISE_CODE_INTEL_DATA_TTL больше не считывается службой worker. Вместо этого глобальные и специфичные для репозитория политики хранения данных, настраиваемые в пользовательском интерфейсе администраторами сайтов, будут контролировать продолжительность времени, в течение которого загрузки LSIF считаются свежими. #24793
  • Строка repo.cloned column был удалён, так как он устарел в версии 3.26.

3.31.2

Исправлено:

  • исправлены несколько CVE для libssl и Python3.

3.31.1

Добавлено:

  • теперь можно запрашивать необходимые области аутентификации для включения кэширования поведения разрешений репозитория GitHub через allowGroupsPermissionsSync в auth.providers GitHub.

Изменено:

  • поведение кэширования разрешений репозиториев GitHub, включённое через поле authorization.groupsCacheTTL в конфигурации хоста кода, теперь может использовать дополнительное кэширование разрешений команд и организаций для синхронизации разрешений репозиториев (помимо кэширования разрешений пользователей, введённого в версии 3.31).

3.31.0

Добавлено:

  • запросы Backend Code Insights GraphQL теперь поддерживают аргументы includeRepoRegex и excludeRepoRegex для фильтрации по именам репозиториев.
  • фоновые запросы Code Insights теперь обрабатываются в обратном порядке по времени. Это позволит одновременно заполнять данные.
  • в раздел боковой панели «Поиск по справочнику» добавлена. Документация оператора:
  • добавлена поддержка синтаксиса языка Cue;
  • повторно представлена пересмотренная версия раздела боковой панели «Типы поиска»;
  • улучшено удобство использования: фильтры, за которыми следует пробел в поисковом запросе, будут предупреждать пользователей о том, что значение фильтра пусто;
  • опция git p4 —use-client-spec теперь может быть включена путём настройки поля p4.client;
  • Code Insights выполнит одноразовый сброс эфемерных таблиц данных конкретных баз данных для очистки устаревших и недействительных данных. Данные Insight будут автоматически восстанавливаться;
  • добавлена базовая поддержка подстановочных знаков пути таблицы разрешений Perforce;
  • добавлено автозаполнение и фильтрация поиска ревизий ветвей/тегов/фиксаций на странице сравнения репозиториев;
  • наборы изменений пакетных изменений теперь могут быть установлены как опубликованные при предварительном просмотре новых или обновлённых пакетных изменений;
  • добавлен Python3 к образам сервера и gitserver для поддержки git-p4;
  • фильтры детализации Code Insights теперь позволяют фильтровать данные Insights на странице панели инструментов с помощью фильтров repo:.

Ряд изменений:

  • Теперь запросы Code Insights будут извлекать имя репозитория из ответа GraphQL, а не обращаться к базе данных;
  • Код Insights backend перемещён из сервиса repo-updater в сервис worker;
  • Флаг функции Code Insights DISABLE_CODE_INSIGHTS перемещён из службы repo-updater в службу worker. Всем пользователям этого флага потребуется обновить конфигурацию службы worker, чтобы продолжить его использование;
  • Обновлён образ Docker-Compose Caddy до версии v2.0.0-alpine;
  • Исторические образцы Code Insights теперь будут записываться с использованием метки времени коммита, который был найден;
  • Проверки авторизации теперь выполняются с помощью ролевых разрешений вместо ручного изменения SQL-операторов;
  • В Jaeger-контейнере Docker Compose файл SAMPLING_STRATEGIES_FILE теперь имеет значение по умолчанию. При использовании пользовательской конфигурации стратегий выборки необходимо убедиться, что она не будет переопределена при обновлении;
  • Значок копирования, отображаемый рядом с файлами и репозиториями, теперь копирует путь к файлу или репозиторию. Ранее это действие копировало URL в буфер обмена;
  • Зависимость Prometheus от Sourcegraph была обновлена до версии 2.28.1;
  • Зависимость Alertmanager от Sourcegraph была обновлена до версии 0.22.2;
  • Code Insights теперь будет планировать запись образцов в первый день следующего месяца после создания или предыдущей записи;
  • Данные Code Insights теперь хранятся в новом формате. Точки данных будут хранить полные векторы для всех репозиториев, даже если базовые запросы Sourcegraph были сжаты;
  • Значения ограничений скорости Code Insights были настроены для более разумной производительности;
  • Code Insights будет генерировать исторические данные один раз в месяц в первый день месяца, вплоть до настроенного количества фреймов insights.historical.frames;
  • Code Insights попытается синхронизировать определения инсайтов из настроек с базой данных каждые 10 минут;
  • Code Insights предоставляет информацию о запросах, помеченных как «грязные», через запрос GraphQL insights;
  • Запрос GraphQL insights Code Insights теперь будет получать данные за 12 месяцев вместо 6, если конкретный временной диапазон не указан;
  • Code Insights генерирует... 12-месячные исторические данные во время заполнения, а не 6.

В 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} и установите флажок в пользовательском интерфейсе создания/редактирования инсайтов.

Изменения:

  • Backend Code Insights теперь заполняет только изменённые исторические фреймы данных, чтобы уменьшить количество необходимых поисков.
  • Backend Code Insights отображает точки данных за фиксированный 6-месячный период с двухнедельными интервалами и будет переносить отсутствующие наблюдения вперёд.
  • Backend Code Insights теперь агрегирует данные за 26 недель вместо 6 месяцев.
  • Поисковые запросы теперь запрещают указывать rev: без repo:. Обратите внимание, что для поиска по нескольким версиям запрос типа repo:.* rev:<revision> остаётся действительным.
  • Статусная строка расширений на страницах различий была переработана и теперь показывает информацию как для базового, так и для головного коммитов.
  • Мутации applyBatchChange и createBatchChange теперь принимают необязательный аргумент publicationStates, чтобы установить состояние публикации определённых наборов изменений в пакетном изменении.
  • Поисковые запросы теперь возвращают до 80 предложенных фильтров. Ранее мы возвращали до 24.
  • Соединения хоста кода GitHub теперь могут включать записи repositoryQuery, которые соответствуют более чем 1000 репозиториям из поискового API GitHub без необходимости использования ранее задокументированного обходного пути разделения запроса с квалификаторами created:, который теперь выполняется автоматически.

Исправления:

  • Миграторы шифрования учётных данных пользователя и сайта Batch Changes, добавленные в Sourcegraph 3.28, могли сообщать о нулевом прогрессе при отключённом шифровании, даже если им нечего было делать. Это было исправлено, и прогресс теперь будет сообщаться правильно.
  • Список репозиториев Github Entreprise org теперь возвращает и внутренние репозитории.
  • Jaeger снова работает в развёртываниях Docker-compose.
  • Исправлена ошибка, из-за которой шаблон ) делал браузер невосприимчивым.
  • Исправлено использование select:repo в сочетании с шаблонами and, которое не давало ожидаемых результатов репо.
  • Поля isLocked и isDisabled репозиториев GitHub теперь корректно извлекаются из GraphQL API экземпляров GitHub Enterprise. Пользователи, которые полагаются на конфигурацию repos в соединениях хоста кода GitHub, должны обновить её, чтобы фактически пропустить заблокированные и отключённые репозитории, определённые в этом списке.
  • Домашняя страница больше не даёт сбой при наличии недопустимых записей в истории поиска пользователя.
  • Исправлена проблема, когда выделение запросов регулярных выражений в строке поиска неправильно отображалось в Firefox.
  • Загрузка и индексация интеллекта кода ограничены только администраторами сайта. Раньше это было доступно только для чтения любому пользователю.
  • Ежедневная статистика использования ограничена только администраторами сайтов. Раньше она была доступна любому пользователю. Доступна только для чтения любому пользователю

Запросы на эфемерное хранилище теперь соответствуют их запросам на размер кэша для развёртываний Kubernetes. ### Удалено

  • Экспериментальная функция поиска с разбивкой на страницы (ключевое слово stable:) была удалена и заменена на потоковый поиск. #22428
  • Страница просмотра экспериментальных расширений была удалена. #22565
  • Диагностический запрос поиска, который ранее предупреждал пользователя о том, что кавычки интерпретируются буквально, был удалён. Буквальное значение уже некоторое время является поведением поиска по умолчанию в Sourcegraph. #22892
  • Для deploy-sourcegraph были удалены оверлеи без прав суперпользователя в пользу использования non-privileged. #3404

API docs (экспериментальный)

API docs — это новая экспериментальная функция Sourcegraph (подробнее см. https://docs.sourcegraph.com/code_intelligence/apidocs). Она включена по умолчанию в версии Sourcegraph 3.30.0.

  • API docs включён по умолчанию в версии Sourcegraph 3.30.0. Его можно отключить, добавив "apiDocs": false в раздел experimentalFeatures пользовательских настроек.
  • На целевой странице API docs теперь указано, что такое API docs, и предоставлена дополнительная информация.
  • Целевая страница API docs теперь представляет код в корне репозитория, а не пустую страницу.
  • Страницы теперь правильно указывают, что это экспериментальная функция, и включают виджет обратной связи.
  • Подстраницы, связанные через боковую панель, теперь отображаются гораздо лучше и имеют расширяемый раздел.
  • Символы в документации теперь имеют отдельные значки для функций, переменных, констант и т. д.
  • Символы теперь сортируются в порядке экспорта, затем в алфавитном порядке.
  • Репозитории без данных документации LSIF теперь отображают дружественную страницу ошибок, указывающую, какие языки поддерживаются, как их настроить и т.д.
  • API docs теперь может различать разные типы символов, тестов, примеров, бенчмарков и т. д., а также то, являются ли символы общедоступными или частными, чтобы поддерживать фильтрацию в будущем.
  • По умолчанию сейчас включены только общедоступные/экспортированные символы.
  • Пути URL для пакетов Go теперь более удобны, например, /-/docs/cmd/frontend/auth вместо /-/docs/cmd-frontend-auth.
  • URL-адреса теперь форматируются индексатором языка таким образом, чтобы это имело смысл для языка, например, #Mocks.CreateUserAndSave вместо #ypeMocksCreateUserAndSave для метода Go CreateUserAndSave типа Mocks.
  • Присваивания пустых идентификаторов Go var _ = ... больше не включаются неправильно.
  • Определения символов Go внутри функций, например var внутри области действия func, больше не включаются неправильно.
  • Разделы Functions, Variables и другие разделы верхнего уровня больше не отображаются пустыми, если в этом разделе их нет.
  • Доступен новый набор тестов для индексаторов LSIF, реализующих расширение документации Sourcegraph для LSIF (см. https://github.com/sourcegraph/lsif-static-doc).
  • Теперь мы выдаём данные LSIF, необходимые для будущей поддержки «Перейти к API docs» из представлений кода, «Просмотр кода» из API docs, примеров использования в API docs и индексации поиска.
  • Были исправлены различные проблемы с пользовательским интерфейсом, проблемы с цветовым контрастом и т. д.
  • Основные улучшения в GraphQL API для документации API.

3.29.0

Добавлено

  • Запросы Code Insights теперь могут выполняться одновременно до предела, установленного конфигурацией сайта insights.query.worker.concurrency. #21219
  • Рабочие процессы Code Insights теперь поддерживают ограничение скорости для выполнения запросов и анализа исторических данных с использованием конфигураций сайта insights.query.worker.rateLimit и insights.historical.worker.rateLimit. #21533
  • Тип Site SettingsSubject в GraphQL теперь имеет поле allowSiteSettingsEdits, позволяющее клиентам определять, использует ли экземпляр переменную среды GLOBAL_SETTINGS_FILE. #21827
  • Интерфейс создания Code Insights теперь запоминает ранее введённые значения полей при возврате к форме после перехода. Улучшенные макеты: мы улучшили страницы, такие как представления различий, чтобы ими было легче пользоваться и быстро находить информацию.

Новая навигация: новая глобальная навигация обеспечивает быстрый поиск и доступ к текущей и будущей функциональности.

Продвижение расширяемости: мы вернули реестр расширений в основную навигацию и улучшили его дизайн и навигацию.

После завершения основной части редизайна будущие выпуски будут включать больше улучшений и доработок.

Исправлено

  • Более строгая проверка структурных поисковых запросов. Параметр type: не поддерживается для структурных поисков и возвращает соответствующее предупреждение.
  • Спецификации пакетных изменений, которые не привязаны к изменениям, больше не истекают преждевременно перед спецификациями пакетных изменений, с которыми они связаны.
  • Ось Y линейных диаграмм Code Insights больше не начинается с отрицательного значения.
  • Правильное обращение с псевдонимами полей в запросе (например, r: вместо repo:) при использовании с предикатами contains.
  • Выполнение анализа кода за период времени, когда репозиторий ещё не существовал, больше не приводит к сбою всего анализа.

Удалено

  • Удалённое поле GraphQL icon на CommitSearchResult и Repository.
  • Удалённый недокументированный фильтр index из предложений по типу поиска.
  • Токены подключения хоста кода больше не используются для создания изменений, если пользователь является администратором сайта и не указаны учётные данные.

3.28.0

Добавлено

  • Добавлены select:commit.diff.added и select:commit.diff.removed для поисковых запросов типа diff. Эти селекторы возвращают только коммиты с изменениями, если шаблон совпадает в добавленных (соответственно, удалённых) строках.
  • Дополнительные языковые автозаполнения для фильтра lang: в строке поиска.
  • Шаги в спецификациях пакетов теперь могут иметь атрибут if:, чтобы включить условное выполнение различных шагов.
  • Расширения теперь могут регистрировать сообщения через sourcegraph.app.log, чтобы помочь в отладке проблем пользователей.
  • Теперь доступны массовые комментарии ко многим изменениям.
  • Спецификации пакетов теперь можно просматривать при предварительном просмотре изменений.
  • Добавлен новый интерфейс для создания анализов кода.

Изменено

  • Пользовательские и системные учётные данные, используемые в Batch Changes, теперь шифруются в базе данных, если шифрование включено с помощью конфигурации encryption.keys.
  • Все изображения Sourcegraph в deploy-sourcegraph теперь указывают реестр.
  • По умолчанию рецензенты теперь добавляются в PRs Bitbucket Server, открытые с помощью Batch Changes.
  • Новые требования к памяти для контейнеров redis-* Увеличен объём памяти Redis до 7 ГБ. Это изменение позволяет Redis правильно выполнять свои процедуры удаления ключей, не будучи убитым хост-машиной. Это касается как docker-compose, так и Kubernetes развёртывания.

Изменения в Sourcegraph:

  • Только администраторы сайта теперь могут перечислять пользователей в экземпляре.
  • Разрешения репозитория теперь можно включить для администраторов сайта с помощью параметра authz.enforceForSiteAdmins.
  • Администраторы сайта больше не могут просматривать добавленную пользователем конфигурацию хоста кода.
  • По умолчанию администраторы сайта не могут добавлять токены доступа для любого пользователя.
  • Наши оверлеи с пространством имён теперь собирают только метрики контейнеров в этом пространстве имён.
  • На главной странице реестра расширений появился новый визуальный дизайн, который лучше передаёт наиболее полезную информацию о расширениях, а страницы отдельных расширений имеют улучшенную информационную архитектуру.

Исправления ошибок:

  • Поиск возвращал непоследовательное количество результатов, когда не был указан предел count:.
  • Индексированный поиск не удался, когда ветка master нуждалась в индексации, но не была по умолчанию.
  • Встроенный repo:contains(...) не учитывал параметры, влияющие на фильтрацию репозиториев (например, repogroup, fork). Теперь он их учитывает.
  • Проблема, из-за которой дублирующиеся результаты отображались для определённых выражений or.
  • Проблема, при которой поисковый запрос предлагал, что некоторые значения lang недействительны.
  • Паники больше не возникают из-за событий веб-перехватчиков запросов на вытягивание GitHub.
  • Шаблоны поиска репозиториев, такие как ^repo/(prefix-suffix|prefix)$, теперь правильно соответствуют как repo/prefix-suffix, так и repo/prefix.
  • Запросы на временное хранилище и ограничения теперь соответствуют размеру кэша по умолчанию, чтобы избежать выселения модулей Symbols. Теперь для модуля symbols требуется минимум 10 ГБ временного пространства для планирования.
  • Незначительная ошибка выделения синтаксиса запроса для предиката repo:contains.
  • Проблема, приводящая к тому, что результаты различий и фиксации с фильтрами файлов возвращают неверные результаты.
  • Все базы данных теперь имеют класс качества обслуживания Kubernetes «Гарантированный», что должно снизить вероятность их выселения во время событий NodePressure.
  • Проблема, вызывающая отображение представлений различий без подсветки синтаксиса.

Удалено:

  • Устаревшая мутация SetRepositoryEnabled была удалена. Исправления и добавления в версии 3.27.4:

  • Решена проблема, связанная с репозиториями Gitolite, где перед @ добавлялся ?.

Исправления в версии 3.27.3:

  • Отправка пакетных изменений в репозитории Bitbucket Server через SSH была нарушена в версии 3.27.0 и исправлена.

Исправления в версии 3.27.2:

  • Исправлена проблема с нашим инструментом выпуска, которая мешала пометить все образы правильной версией. Все изображения Sourcegraph теперь имеют соответствующую версию выпуска.

Исправления в версии 3.27.1:

  • Сбой индексированного поиска, когда ветке master требовалась индексация, но она не была установлена по умолчанию.
  • Исправлена регрессия, из-за которой URL-адреса «других» хостов кода не создавались правильно, что не позволяло клонировать или обновлять код в версии 3.27.0. Это изменение вызовет некоторые ошибки клонирования в уже синхронизированных репозиториях до следующей синхронизации хоста кода.

Добавления в версии 3.27.0:

  • count: теперь поддерживает значение «all». Запросы с count:all будут возвращать до 999 999 результатов.
  • Теперь проверяются учётные данные для пакетных изменений при их добавлении.
  • Пакетные изменения теперь игнорируют репозитории, содержащие файл .batchignore.
  • Параллельное сравнение для визуализации фиксации.
  • Конфигурация сайта теперь поддерживает определение окон развёртывания пакетных изменений, которые можно использовать для замедления или отключения отправки наборов изменений в определённое время суток или дни недели.
  • Функциональность поиска через встроенный предикат contains: repo:contains(...), repo:contains.file(...), repo:contains.content(...), repo:contains.commit.after(...).
  • Шифрование базы данных, конфигурация внешней службы и пользовательские данные аутентификации теперь могут быть зашифрованы в базе данных с использованием конфигурации encryption.keys. Подробнее см. в документации.
  • Репозитории, клон или выборка которых не удалась на gitserver, теперь постепенно перемещаются в конец очереди фонового обновления вместо того, чтобы оставаться в начале.
  • Новый параметр disableAutoCodeHostSyncs позволяет администраторам сайтов отключать любую периодическую фоновую синхронизацию настроенных подключений хоста кода. Сюда входит синхронизация метаданных репозиториев (т. е. не обновлений git, для этого используйте disableAutoGitUpdates), разрешений и наборов изменений пакетных изменений, но может включать другие данные, которые мы будем синхронизировать из API хоста кода в будущем.

Изменения в версии 3.27.0:

  • Повышена минимальная поддерживаемая версия Postgres с 9.6 до 12. Процедура обновления в основном автоматизирована для существующих развёртываний, но может потребовать действий при использовании одноконтейнерного развёртывания или внешней базы данных. Подробные инструкции см. в документации по обновлению для вашего типа развёртывания.

  • Наборы изменений в пакетных изменениях теперь... Изменения в Sourcegraph 3.26.3

  • По умолчанию количество реплик на sourcegraph-frontend и precise-code-intel-worker для Kubernetes изменилось с 1 -> 2.

  • Изменения в поисковых запросах монитора кода:

    • Теперь требуется фильтр repo:. Это связано с существующим ограничением, согласно которому можно искать только 50 репозиториев одновременно, поэтому использование фильтра repo: гарантирует, что будет выполнен поиск нужного кода. Любой существующий монитор кода без repo: в триггерном запросе продолжит работать (с ограничением, заключающимся в том, что не все репозитории будут найдены), но потребует добавления фильтра repo:, если в него будут внесены какие-либо изменения.
    • Фильтр patternType больше не требуется. patternType:literal будет добавлен в запрос монитора кода, если он не указан.
    • Добавлен новый контрольный список в пользовательский интерфейс. Создание запросов триггеров для мониторинга кода стало более интуитивным.

Устарело поле GraphQL icon в интерфейсе GenericSearchResultInterface. Оно будет удалено в будущем выпуске.

Создание наборов изменений через пакетные изменения в качестве администратора сайта без настроенных учётных данных пакетных изменений устарело. Пожалуйста, настройте пользовательские или глобальные учётные данные до версии Sourcegraph 3.29, чтобы не было перебоев с созданием наборов изменений.

Устарело поле GraphQL limitHit в LineMatch. Оно будет удалено в будущем выпуске.

Исправлено:

  • Регрессия, вызванная логикой включения поиска, никогда не фокусировала ввод в строке поиска на главной странице. Теперь ввод фокусируется на домашней странице, если тур поиска не действует.
  • Новые изменения репозитория Perforce теперь будут отражены в ветке master после первоначального клонирования.
  • Конфигурация подключения к хосту кода Gitolite и другого типа может отображаться правильно.
  • Исправлена регрессия, из-за которой игнорировались ограничения пользователя и хоста кода.
  • Регрессия, при которой происходило неправильное выделение запроса для определённых значений в кавычках.
  • Теперь мы учитываем настройку disableAutoGitUpdates при клонировании или извлечении репозиториев по запросу и во время задач очистки, которые могут повторно клонировать старые репозитории.

Версия 3.26.2

Исправлено:

Наша логика индексированного поиска теперь корректно обрабатывает дедупликацию результатов поиска по нескольким репликам.

Версия 3.26.1

Добавлено:

Экспериментально: синхронизация разрешений репозиториев Perforce через интерфейс Sourcegraph. Чтобы включить, используйте флаг функции «experimentalFeatures»: { «perforce»: «enabled» }. Для получения дополнительной информации см. как включить разрешения для ваших репозиториев Perforce.

Добавлена поддержка заголовков электронной почты пользователей в HTTP-прокси аутентификации. См. документы HTTP Auth Proxy для получения дополнительной информации.

Игнорируйте заблокированные и отключённые репозитории GitHub Enterprise.

Удалённые операции хоста кода Git (например, clone или ls-remote) теперь можно ограничивать по скорости за пределами параллелизма (что уже было возможно с помощью gitMaxConcurrentClones). Установите gitMaxCodehostRequestsPerSecond в конфигурации сайта, чтобы контролировать максимальную скорость этих операций. Изменено:

  • Поиск коммитов возвращает повторяющиеся коммиты. #19460.
  • При нажатии на вкладку «Мониторинг кода» пытается перейти пользователей к несуществующему репозиторию. #19525.
  • Дифференциация и поиск коммитов неправильно выделяют поисковые термины для некоторых файлов. #19543, #19639.
  • Действия с файлами не отображались при больших размерах окна в Firefox и Safari. #19380.

Удалено:

  • Не указано.

Версия 3.26.0

Добавленное:

  • Поисковые запросы передаются в Sourcegraph по умолчанию. #19300. Это обеспечивает более быстрое время до первого результата. Несколько...

В запросе не удалось перевести часть текста, поэтому он остался без перевода. Были улучшены эвристики, связанные с ограничением результатов. Теперь вы должны видеть более согласованные подсчёты результатов.

  • Можно отключить с помощью настройки experimentalFeatures.streamingSearch.
  • Ключи API Opsgenie теперь можно добавить через переменную среды. #18662.
  • Теперь можно контролировать, где отображаются инсайты кода, с помощью логических настроек insights.displayLocation.homepage, insights.displayLocation.insightsPage и insights.displayLocation.directory. #18979.
  • Пользователи теперь могут создавать изменения в пакетных изменениях в репозиториях, которые клонируются с использованием SSH. #16888.
  • Синтаксическая подсветка для Elixir, Elm, REG, Julia, Move, Nix, Puppet, VimL, Coq. #19282.
  • Файлы BUILD.in теперь выделяются как файлы сборки Bazel/Starlark. Благодаря @jjwon0 #19282.
  • *.pyst и *.pyst-include теперь выделяются как файлы Python. Благодаря @jjwon0 #19282.
  • Флаг функции мониторинга кода теперь включён по умолчанию. #19295.
  • Новое поле запроса select позволяет возвращать только результаты нужного типа. См. документацию для получения подробной информации. #19236.
  • Синтаксическая подсветка для Elixer, Elm, REG, Julia, Move, Nix, Puppet, VimL благодаря @rvantonder.
  • Файлы BUILD.in теперь выделяются как файлы сборки Bazel/Starlark. Благодаря @jjwon0.
  • *.pyst и *.pyst-include теперь выделяются как файлы Python. Благодаря @jjwon0.
  • Добавлена настройка search.defaultCaseSensitive, чтобы настроить, следует ли по умолчанию обрабатывать шаблоны запросов с учётом регистра.

Изменённое

  • Кампании были переименованы в Пакетные изменения! См. #18771 для подробного журнала того, что было переименовано. Новая версия Sourcegraph CLI будет использовать команды src batch [preview|apply], при этом старые версии будут работать со старыми версиями Sourcegraph. Старые URL-адреса в приложении и в документации будут перенаправлены. Сущности GraphQL API с «кампанией» в названии устарели и имеют новые аналоги Пакетных изменений:
    • Устаревшие сущности GraphQL: CampaignState, Campaign, CampaignSpec, CampaignConnection, CampaignsCodeHostConnection, CampaignsCodeHost, CampaignsCredential, CampaignDescription.
    • Устаревшие мутации GraphQL: createCampaign, applyCampaign, moveCampaign, closeCampaign, deleteCampaign, createCampaignSpec, createCampaignsCredential, deleteCampaignsCredential.
    • Устаревшие запросы GraphQL: Org.campaigns, User.campaigns, User.campaignsCodeHosts, camapigns, campaign.
    • Настройки сайта с кампаниями в их названии были заменены эквивалентными настройками batchChanges.
  • Удалось избежать сохранения remote.origin.url репозитория на диске gitserver. Примечание: если вы используете экспериментальную функцию customGitFetch, возможно, вам потребуется обновить настройку, чтобы указать удалённый URL. #18535.
  • Репозитории и файлы, содержащие пробелы, теперь будут отображаться с экранированными пробелами в строке запроса, а не в кавычках. #18642.
  • Sourcegraph теперь собран с Go 1.16. #18447.
  • Информация о наведении курсора в строке поиска теперь отображается через 150 мс (ранее 0 мс). #18916.
  • Столбец repo.cloned устарел в пользу gitserver_repos.clone_status. Он будет удалён в следующем выпуске.
  • Индикаторы класса точности были. Улучшения для результатов интеллектуального анализа кода в обоих...

Ховер оверлей, а также панель определения и расположения ссылок. #18843

Пинги теперь содержат добавленные агрегированные данные об использовании кампаний: совокупные подсчёты уникальных ежемесячных пользователей и еженедельные подсчёты кампаний и изменений для когорт кампаний, созданных за последние 12 месяцев. #18604

Исправлено:

Автозавершение предложений для репозиториев и файлов, содержащих пробелы, теперь будет автоматически экранироваться при принятии предложения. #18635

Проблема, из-за которой результаты репозитория, содержащие пробелы, не были кликабельными в некоторых случаях, устранена. #18668

Закрытие пакетного изменения теперь корректно закрывает связанные изменения, когда это требуется пользователю. #18957

Исправлена ошибка выделения TypeScript. #15930

Теперь количество сегментов точно сообщается в разделе «Администрирование сайта» > «Статус репозитория» > «Настройки» > «Индексирование». #19265

Удалено:

  • Удалены устаревшие поля GraphQL SearchResults.repositoriesSearched и SearchResults.indexedRepositoriesSearched.
  • Удалён устаревший поисковый запрос max.
  • Отключена настройка experimentalFeatures.showBadgeAttachments.

3.25.2

Исправлено:

Решена проблема безопасности в рабочем процессе аутентификации. #18686

3.25.1

Добавлено:

Экспериментально: синхронизация депо Perforce напрямую через пользовательский интерфейс Sourcegraph. Чтобы включить, используйте флаг функции "experimentalFeatures": { "perforce": "enabled" }. Для получения дополнительной информации см. как добавить свои депо Perforce. #16703

3.25.0

ВАЖНО: 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).

Исправленное:

  • Исправлена проблема, из-за которой было невозможно жёстко удалить пользователя, если у него были сохранённые поиски. #17461 (https://github.com/sourcegraph/sourcegraph/pull/17461).
  • Исправлена проблема, приводившая к отсутствию некоторых результатов для type:commit при использовании шаблона вместо поля message. #17490 (https://github.com/sourcegraph/sourcegraph/pull/17490#issuecomment-764004758).
  • Исправлена проблема, когда оповещения на основе cAdvisor не срабатывали правильно для служб с несколькими репликами. #17600 (https://github.com/sourcegraph/sourcegraph/pull/17600).
  • Значительно улучшена производительность структурного поиска в развёртываниях монорепо. #17846 (https://github.com/sourcegraph/sourcegraph/pull/17846).
  • Удалена настройка search.migrateParser. Начиная с версии 3.20 и далее новый парсер обрабатывает поисковые запросы по умолчанию. Ранее был доступен параметр search.migrateParser для включения устаревшего парсера. Включение или отключение этой настройки больше не имеет никакого эффекта. #17344 (https://github.com/sourcegraph/sourcegraph/pull/17344).

3.24.1

Исправленное:

  • Исправлена проблема, из-за которой SAML не может продолжить работу с ошибкой «Ожидаются преобразования Enveloped и C14N». #13032 (https://github.com/sourcegraph/sourcegraph/issues/13032).

3.24.0

Добавленное:

Панели в мониторинговых панелях Sourcegraph (https://docs.sourcegraph.com/admin/observability/metrics#grafana) теперь:

  • включают ссылки на соответствующую документацию по оповещениям и новые справочные панели мониторинга (https://docs.sourcegraph.com/admin/observability/dashboards). #16939 (https://github.com/sourcegraph/sourcegraph/pull/16939).
  • содержат события оповещений и изменения версий. Изменения:
    • Аннотации, которые можно включить в верхней части каждой панели инструментов сервиса.
    • Предлагаемые фильтры на странице результатов поиска теперь можно прокручивать.
    • Структурные поисковые запросы теперь можно использовать в сохранённых запросах, добавив patternType:structural.

Что изменилось:

  • Ссылки на панели мониторинга, включённые в оповещения о мониторинге. - Теперь ведут непосредственно к соответствующей панели 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.

3.23.0

Добавлено:

— Срок действия ссылки для сброса пароля можно настроить с помощью 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 внутри контейнера.

Добавленные функции

  • Новое поле запроса GraphQL API namespaceByName(name: String!) упрощает поиск пользователя или организации по заданному имени. Ранее вызывающие должны были отдельно искать пользователя и организацию.
  • В текст изменений, созданных кампаниями, теперь включена ссылка на кампанию.
  • Пользователи теперь могут предварительно просматривать коммиты, которые будут созданы в их репозиториях, в пользовательском интерфейсе предварительного просмотра кампании.
  • Если настроены электронные письма, пользователю будет отправлено электронное письмо при изменении важной информации об учётной записи. В настоящее время это включает изменение/сброс пароля, добавление/удаление электронных писем и добавление/удаление токенов доступа.
  • Теперь можно опубликовать подмножество наборов изменений, установив флаг published в спецификации кампании в массив, что позволяет публиковать только определённые наборы изменений в рамках кампании на основе имени репозитория.
  • Панели домашней страницы теперь включены по умолчанию.
  • Самые последние данные пинга теперь доступны администраторам сайта через страницу «Администратор сайта > Пины».
  • Метрики взаимодействия с панелями домашней страницы будут отправляться обратно в пинги.
  • На домашней странице появился нижний колонтитул со ссылками на различные функции расширения.
  • Добавлен ознакомительный тур по Sourcegraph для новых пользователей. Его можно включить в настройках пользователя с помощью experimentalFeatures.showOnboardingTour.
  • Запросы репозиториев GraphQL теперь поддерживают параметр 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 был удалён.

3.19.2

Исправленное:

— поиск: всегда ограничивайте коммит и разницу менее чем 10 000 репозиториями.

— поиск: настраиваемые ограничения на поиск коммитов/различий.

— поиск: добавьте конфигурацию сайта для maxTimeout.

3.19.1

Исправленное:

— Миграции: отменить миграцию, вызывающую взаимоблокировки в некоторых развёртываниях.

3.19.0

Добавленное:

— электронные письма теперь можно отправлять на 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:

    • Уведомления теперь содержат больше информации о соответствующих оповещениях.
    • Добавлена поддержка уведомлений по электронной почте и OpsGenie. Обратите внимание, что для получения уведомлений по электронной почте необходимо настроить параметры email.address и email.smtp.
    • Некоторые уведомители теперь имеют новые опции:
      • уведомители PagerDuty: severity и apiUrl;
      • вебхук-уведомители: bearerToken.
    • Новая опция disableSendResolved отключает уведомления при самостоятельном разрешении оповещений.
  • Критические оповещения, которые недавно срабатывали, теперь могут отображаться администраторам через оповещения сайта. Используйте флаг { "alerts.hideObservabilitySiteAlerts": false }, чтобы включить эти оповещения в конфигурации пользователя.

  • Теперь можно отключать конкретные оповещения с помощью observability.silenceAlerts.

  • Ревизии, перечисленные в experimentalFeatures.versionContext, будут проиндексированы для более быстрого поиска. Это первая поддержка индексации ветвей, отличных от стандартных.

  • Ревизии, указанные в experimentalFeatures.versionContext или experimentalFeatures.search.index.branches, будут проиндексированы для ускорения поиска. Это первый шаг к поддержке индексирования ветвей, отличных от стандартных.

  • В GitLab теперь поддерживаются кампании.

  • Кампании теперь поддерживают GitLab и позволяют пользователям создавать, обновлять и отслеживать запросы на слияние в экземплярах GitLab.

  • Добавлен новый раздел на домашней странице поиска на Sourcegraph.com. В настоящее время он активируется флагом функции experimentalFeatures.showRepogroupHomepage в настройках.

  • Созданы новые страницы групп репозиториев.

Исправления

  • Одноконтейнерный образ sourcegraph/server теперь правильно сообщает свою версию.
  • Проблема, из-за которой репозитории не клонировались и не индексировались в некоторых крайних случаях, когда клоны были удалены или не были успешными, устранена. Через поле pattern. Это соответствует тому, как мы исключаем в других внешних службах. Кроме того, это замена устаревшей конфигурации blacklist.

#11403

Теперь уведомления об устаревании 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.

3.16.2

Исправленное

— Поиск: исправлено количество совпадений в индексированном поиске. — Сортировка обнаруженных языков должным образом.

3.16.1

Исправленное

— Исправлено сообщение об ошибке «Репозиторий не найден» для патчей. — Отображение экрана с истёкшей лицензией. — Теперь Sourcegraph собирается с использованием Go 1.14.3, что устраняет проблемы с запуском Sourcegraph на Ubuntu 19 и 20.

3.16.0

Добавленное

Завершение кода для фильтров 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, содержащие определённые символы, не могли быть исключены (косая черта и точки в частях путей). Теперь эти символы разрешены, поэтому пути репозитория можно исключить.

10096

Символы для индексированных коммитов на языках Haskell, JSONNet, Kotlin, Scala, Swift, Thrift и TypeScript снова будут отображаться. Ранее наш индексатор символов не знал, как извлекать символы для этих языков, хотя наша служба неиндексированных символов это делала.

10357

При периодическом повторном клонировании репозиторий по-прежнему будет доступен.

Удалено

Устаревшие обсуждения функций были удалены.

3.15.2

Исправлено

Исправлена ошибка «репозиторий не найден» для патчей.

Отображается экран с истёкшей лицензией.

3.15.1

Исправлено

Устранена потенциальная уязвимость безопасности. В рабочем процессе аутентификации.

Проблема, из-за которой 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.

3.15.0

Добавлено

— Пользователи и администраторы сайта теперь могут просматривать журнал своих действий/событий в настройках пользователя. — С новым фильтром 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
* Улучшения видимости и читаемости панели мониторинга:
— Все: «внутренние ошибки внешнего интерфейса» теперь разбиты только по маршруту, что упрощает. Изменённое:

  • Функция «автоматизация» была переименована в «кампании».

    • campaigns.readAccess.enabled заменяет устаревшую конфигурацию сайта automation.readAccess.enabled.
    • Экспериментальный флаг функции не был переименован (поскольку он скоро исчезнет) и остаётся {"experimentalFeatures": {"automation": "enabled"}}.
  • Развёртывание 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 был удалён. Его следует устанавливать в глобальных/организационных/пользовательских настройках.
  • Sourcegraph теперь ожидает доступности Redis в течение 90 секунд вместо 5 секунд перед завершением работы. Эту длительность можно настроить с помощью новой переменной среды SRC_REDIS_WAIT_FOR.
  • Статистика использования функций интеллектуального анализа кода будет отправляться обратно через пинги по умолчанию. Агрегированные подсчёты событий можно отключить с помощью флага администратора сайта disableNonCriticalTelemetry.
  • Образ Sourcegraph Docker оптимизировал использование Redis, чтобы значительно ускорить запуск в определённых сценариях (например, при частых перезапусках контейнеров).
  • Официально поддерживается обновление Sourcegraph на одну младшую версию (например, с 3.12 до 3.13). Ранее поддерживались обновления с двух младших версий. Если вы хотите получить помощь в обновлении с гораздо более старой версии Sourcegraph, обратитесь в службу поддержки по адресу support@sourcegraph.com.
  • Мутация GraphQL previewCampaignPlan была переименована в createCampaignPlan. Эта мутация является частью кампаний, которые всё ещё находятся в стадии бета-тестирования и скрыты за флагом функции, поэтому возможны критические изменения, пока мы продолжаем работать над ней.
  • Поле GraphQL CampaignPlan.changesets было объявлено устаревшим и будет удалено в версии 3.15. Было введено новое поле под названием CampaignPlan.changesetPlans, чтобы сделать наименование более согласованным с полем Campaign.changesetPlans. Пожалуйста, используйте его вместо этого.
  • Длинные строки (>2000 байт) больше не выделяются, чтобы предотвратить проблемы с производительностью при рендеринге в браузере.
  • Больше не требуется разрешение read:org для GitHub OAuth, если allowOrgs не включён в конфигурацию сайта.
  • Документация на github.com/sourcegraph/deploy-sourcegraph для развёртывания Jaeger в кластерах Kubernetes, работающих с Sourcegraph, была обновлена для использования Jaeger Operator, рекомендуемого стандартного способа развёртывания Jaeger в кластере Kubernetes. Мы рекомендуем существующим клиентам, использующим Jaeger, перейти на этот новый метод развёртывания. Пожалуйста, свяжитесь со службой поддержки по адресу support@sourcegraph.com, если вам нужна помощь в обновлении.

Исправления:

  • Синтаксический анализатор (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.12.10

Этот выпуск переносит исправления, выпущенные в версии 3.13.2, для клиентов, всё ещё использующих версию 3.12.

Исправлено:

  • Увеличен тайм-аут по умолчанию для индексированного поиска. Раньше индексированный поиск всегда возвращался в течение 3 секунд. Это приводило к некорректному поведению на новых экземплярах, которым ещё предстояло настроить распределение ресурсов.

  • Bitbucket Server старше версии 5.13 не синхронизировался с Sourcegraph 3.12 из-за того, что мы запрашивали метку «архивировано», но Bitbucket Server 5.13 не поддерживает метки.

  • Регрессия в repo-updater была исправлена, из-за чего каждый репозиторий git обновлялся каждый раз, когда список репозиториев синхронизировался с хостом кода.

Версия 3.12.9

Это версия 3.12.8 с внутренними инфраструктурными исправлениями для публикации образов Docker.

Версия 3.12.8

Исправленное:

  • Методы showInputBox и другие методы Window теперь работают на страницах результатов поиска.

  • Стилизация уведомлений об ошибках расширений стала более понятной.

Версия 3.12.7

Исправленное:

  • Кампании теперь корректно обрабатывают отклонения отзывов GitHub при рендеринге диаграммы выгорания.

Версия 3.12.6

Изменённое:

  • При включении разрешений GitLab с использованием аутентификации GitLab OAuth видимость проекта GitLab извлекается пакетами, что обычно более эффективно, чем их индивидуальная загрузка. Поля minBatchingThreshold и maxBatchRequests объекта authorization.identityProvider в конфигурации репозиториев GitLab контролируют, когда используется такая пакетная загрузка.

Версия 3.12.5

Исправленное:

  • Исправлено внутреннее состояние гонки в процессе сборки Docker. Предыдущая версия патча 3.12.4 содержала версию lsif-server новее, чем ожидалось. Затронутые артефакты были удалены из реестра Docker.

Версия 3.12.4

Добавленное:

  • Новый необязательный параметр конфигурации apiURL для подключения к хосту кода Bitbucket Cloud.

Версия 3.12.3

Исправленное:

  • Исправлена проблема в образах Docker sourcegraph/***, где папки данных либо не создавались, либо имели неправильные разрешения — это препятствовало использованию томов Docker. Использование \ в поисковых запросах при использовании регулярных выражений. #7604

Нажатие на фильтры с пробелами теперь корректно заключено в кавычки в веб-интерфейсе. #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 была удалена.

3.11.4

Исправлено

  • Исправлена конечная точка /.auth/saml/metadata. Раньше она вызывала панику, если не был установлен ключ шифрования.

  • Исправлена логика обновления версии для sourcegraph/server. Пользователи, работающие с sourcegraph/server:3.11.1, должны вручную изменить команду запуска docker run, чтобы использовать sourcegraph/server:3.11.4 или выше.

3.11.1

Исправлено

  • Процесс синхронизации для вновь созданных наборов изменений кампании был снова исправлен после того, как они были ошибочно помечены как удалённые в базе данных.

  • Синхронизация процесса для вновь созданных изменений... Кампании были снова исправлены после того, как они были ошибочно помечены как удалённые в базе данных. #7522

3.11.0

Важно: Если вы используете SITE_CONFIG_FILE или CRITICAL_CONFIG_FILE, пожалуйста, обязательно следуйте шагам, описанным в: миграционные заметки для Sourcegraph v3.11+ после обновления.

Добавленное

  • Статистические данные по языку доступны через API. #6737
  • Добавлена новая страница, которая показывает статистику по языку для результатов поискового запроса.
  • Глобальные настройки можно настроить из локального файла с помощью переменной среды GLOBAL_SETTINGS_FILE.
  • Были добавлены высокоуровневые показатели работоспособности и панели мониторинга в систему мониторинга Sourcegraph (находятся в разделе Администратор сайта -> Мониторинг). #7216
  • Ведение журнала запросов GraphQL API, не отправленных Sourcegraph, теперь более подробное, что упрощает отладку проблемных запросов и их источников. #5706
  • Новый тип кампании находит и удаляет утекшие учётные данные npm. #6893
  • Кампании теперь можно повторить, чтобы создать неудачные изменения из-за временных ошибок (например, проблем с сетью при создании запроса на вытягивание на GitHub). #6718
  • Первый выпуск структурного поиска кода.

Изменённое

  • Фильтр поиска repohascommitafter: использует более эффективную команду git для определения включения. #6739
  • Вместо HOSTNAME можно указать NODE_NAME для zoekt-indexserver. HOSTNAME был запутанной конфигурацией для использования в развёртываниях Pure-Docker Sourcegraph. #6846
  • Тост обратной связи теперь запрашивает обратную связь каждые 60 дней использования (ранее только один раз на третий день использования). #7165
  • Контейнер сервера lsif теперь зависит только от Postgres, тогда как раньше он также полагался на Redis. #6880
  • Переименованы поля GraphQL API LanguageStatistics в name, totalBytes и totalLines (раньше имена полей начинались с заглавной буквы, что было непоследовательно).
  • Обнаружение языка файла использует более точный, но более медленный алгоритм. Чтобы вернуться к старому (более быстрому и менее точному) алгоритму, установите переменную окружения USE_ENHANCED_LANGUAGE_DETECTION в строку false (в контейнере sourcegraph/server или, если используется кластерное развёртывание, в поде sourcegraph-frontend).
  • Поиск различий и коммитов, которые используют фильтры before: и after: для сужения области поиска, больше не ограничены лимитом в 50 репозиториев. Это позволяет создавать сохранённые поиски более чем в 50 репозиториях, как и раньше. #7215

Исправленное

  • Изменения в конфигурациях внешних сервисов отражаются гораздо быстрее. #6058
  • Удаление внешнего сервиса не будет показывать предупреждения для несуществующего сервиса. #5617
  • Предлагаемые чипы фильтров поиска заключаются в кавычки при необходимости. #6498
  • Устранена потенциальная паника в gitserver при большой нагрузке. #6710
  • Несколько исправлений, чтобы сделать предварительный просмотр и создание кампаний более надёжными и улучшить пользовательский опыт. #6682 #6625 Репозитории, на которые ссылаются кампании и которые удаляются в результате изменения конфигурации внешнего сервиса, больше не будут вызывать проблем с процессом синхронизации.

В панели мониторинга Searcher (и метрике Prometheus src_graphql_search_response) теперь корректно учитываются поисковые оповещения, вместо того чтобы неправильно добавляться в категорию timeout.

В экспериментальном API поиска с разбивкой на страницы поля cloning, missing и другие поля репозитория теперь возвращают чётко определённый набор результатов.

Удалено

Консоль управления была удалена. Вся критическая конфигурация, ранее хранимая в консоли управления, будет автоматически перенесена в конфигурацию вашего сайта. Для получения дополнительной информации об этом изменении или если вы используете... SITE_CONFIG_FILE / CRITICAL_CONFIG_FILE, см. примечания по миграции для Sourcegraph v3.11+.

3.10.4

Исправлено

Исправлена проблема, из-за которой поиск различий/фиксаций, который должен был выполняться более чем в 50 репозиториях, неправильно отображал ошибку тайм-аута вместо правильной ошибки, предлагающей пользователям ограничить свой запрос меньшим количеством репозиториев.

3.10.3

Исправлено

Критическая ошибка в версии 3.10.2, которая приводила к тайм-аутам поиска различий, фиксаций и репозиториев. Критическая ошибка в версии 3.10.2, приводившая к частому появлению сообщения «Нет результатов» на страницах с результатами поиска. Проблема, из-за которой встроенная панель инструментов Grafana Searcher показывала повторяющиеся показатели успеха/ошибки.

3.10.2

Добавлено

Администраторы сайтов теперь могут использовать встроенную панель инструментов Grafana Searcher для наблюдения за тем, сколько поисковых запросов успешно выполнено, приводит к ошибкам или тайм-аутам.

Исправлено

При тайм-аутах поиска возвращается согласованный пользовательский интерфейс с чёткими действиями, такими как кнопка для увеличения времени ожидания. Чтобы уменьшить вероятность тайм-аутов поиска в некоторых случаях, значение по умолчанию для индексированного тайм-аута поиска было увеличено с 1,5 с до 3 с. Теперь мы правильно информируем пользователей об ограничениях поиска различий/фиксаций. Если поиск различий/фиксаций будет выполняться более чем в 50 репозиториях, пользователям будет показана ошибка, предлагающая им ограничить свой поиск меньшим количеством репозиториев с помощью фильтра repo:. Поддержка глобального поиска различий/фиксаций отслеживается в #6826.

3.10.1

Добавленное

Подсветка синтаксиса для файлов Starlark (Bazel).

Исправленное

Экспериментальный API поиска с нумерацией страниц больше не выдаёт тайм-аут при обнаружении больших репозиториев. Во встроенных развёртываниях с одним контейнером postgres_exporter теперь правильно учитывает внешние настроенные базы данных. Ранее это приводило к тому, что метрики PostgreSQL не отображались в Grafana при использовании внешней БД.

3.10.0

Добавленное

Индексированный поиск поддерживает горизонтальное масштабирование. Экземпляры с большим количеством репозиториев могут обновить поле 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 и активное состояние значка со звёздочкой при определении типа шаблона запроса.
  • Старые URL-адреса без параметра URL-адреса patternType будут перенаправлены на тот же URL-адрес с добавленным параметром patternType=regexp для сохранения предполагаемого поведения.

Добавлена поддержка веб-хуков GitHub организации для ускорения обновления метаданных, используемых кампаниями, такими как запросы на вытягивание или комментарии к проблемам. Инструкции по включению веб-перехватчиков см. в документации GitHub webhook.

Добавлено визуальное представление прогресса кампаний с помощью диаграммы сгорания.

Возможность редактирования заголовков и описаний кампаний.

Изменённое

Рекомендуемое обновление Kubernetes: манифест развёртывания Kubernetes (Kubernetes deployment) для модулей индексированного поиска изменился с Deployment на StatefulSet. Это сделано для того, чтобы в будущем можно было горизонтально масштабировать индексированный поиск. Чтобы сохранить существующие индексы, есть миграция. Руководство по изменениям в Sourcegraph:

  1. Разрешён один завершающий дефис в именах пользователей и названиях организаций.
  2. Индексированный поиск не будет заспамливать логи при запуске, если фронтенд API ещё недоступен.
  3. Поля поисковых запросов теперь нечувствительны к регистру. Например, repoHasFile: теперь будет распознаваться, а не только repohasfile:.
  4. Поисковые запросы теперь интерпретируются буквально по умолчанию, а не как регулярные выражения.
  5. Поле search в GraphQL API теперь принимает два новых необязательных параметра: version и patternType. version определяет используемую версию синтаксиса поиска, а patternType определяет тип шаблона для запроса. Значение по умолчанию для version — «V1», что означает поиск по регулярным выражениям, если явно не указано иное. patternType переопределяет тип шаблона, определённый версией.
  6. Сохранённые поиски были обновлены для поддержки нового фильтра patternType. Все существующие сохранённые поиски были обновлены, чтобы добавить patternType:regexp в конец запросов, чтобы обеспечить детерминированные результаты независимо от конфигураций patternType на экземпляре. Все новые сохранённые поиски должны иметь поле patternType: в запросе.
  7. Разрешено выделение текста в заголовках результатов поиска (чтобы можно было, например, копировать имена файлов).

Исправлено

  • Веб-приложение: исправлены пути со специальными символами.
  • Исправлена проблема, из-за которой фильтр поиска repohascommitafter был непригоден для использования при пустом репозитории.
  • Проблема, когда externalURL, не настроенный в консоли управления, могла остаться незамеченной.
  • Список веток и ссылок теперь возвращается к быстрому пути, если имеется большое количество веток. Ранее мы могли получить тайм-аут. (#4581).
  • Sourcegraph теперь игнорирует неоднозначный ref HEAD, если репозиторий содержит его. (#5291).

Удалено

Версия 3.8.2

  • Исправления:
    • Развёртывания кластеров Sourcegraph теперь запускают более стабильный сервер подсветки синтаксиса, который может самостоятельно восстанавливаться после редких случаев сбоя, таких как застревание при высокой загрузке ЦП при выделении некоторых конкретных файлов. (#5406). Это будет перенесено на развёртывания с одним контейнером позже.

Версия 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>.

  • Опция repositoryPathPattern добавлена к типу внешнего сервиса «Другое» для настройки имени репозитория.

3.6.0

Добавлено

  • Настройка github.exclude в конфигурации внешней службы GitHub теперь дополнительно позволяет указывать регулярные выражения с помощью {"pattern": "regex"}.
  • Новая настройка quicklinks позволяет добавлять ссылки, которые будут отображаться на главной странице и странице поиска для всех пользователей (или пользователей в организации).
  • Совместимость с плагином Sourcegraph for Bitbucket Server.
  • Поддержка Bitbucket Cloud в качестве внешней службы.

Изменено

  • Обновление или создание внешней службы больше не блокируется до синхронизации службы.
  • Поля GraphQL Repository.createdAt и Repository.updatedAt устарели и будут удалены в версии 3.8. Теперь createdAt всегда является текущим временем, а updatedAt всегда равен нулю.
  • В конфигурации внешней службы GitHub и Bitbucket Server repositoryQuery теперь требуется только если repos не установлен.
  • Сообщения журнала от query-runner при сбое сохранённых поисков теперь включают необработанный запрос как часть сообщения.
  • Индикатор состояния в панели навигации теперь включён по умолчанию.
  • Имена пользователей и названия организаций теперь могут содержать символ «.».

Исправлено

  • Поиски по коммитам теперь правильно выделяют. Поиски символов теперь показывают количество совпадений символов, а не количество найденных совпадений файлов.

Поиски символов с усечёнными результатами теперь показывают символ «+» на странице результатов, чтобы сигнализировать о том, что некоторые результаты были опущены.

3.5.4

Исправлено

  • Исправлены внешние службы Phabricator, чтобы они не останавливали процесс синхронизации для репозиториев, когда Phabricator не возвращает URL-адреса клонирования.

3.5.2

Изменено

  • Имена пользователей и названия организаций теперь могут содержать символ «.».

Добавлено

  • Запросы на выделение синтаксиса, которые завершаются неудачно, теперь регистрируются и отслеживаются. Новый показатель Prometheus src_syntax_highlighting_requests позволяет отслеживать и оповещать.
  • SAML-аутентификация Sourcegraph теперь поддерживает RSA PKCS#1 v1.5.

Исправлено

  • Увеличен размер буфера прокси-сервера nginx, чтобы исправить проблему, из-за которой вход в систему не выполнялся, когда SAML AuthnRequest был слишком большим.
  • Регрессия в версии 3.3.8, где "corsOrigin": ""* было неправильно запрещено.

3.5.1

Добавленное

  • Новая настройка quicklinks позволяет добавить ссылки, которые будут отображаться на домашней странице и странице поиска для всех пользователей (или пользователей в организации).
  • Администраторы сайта могут предотвратить вращение значка в верхнем левом углу экрана при наведении курсора, установив "branding": { "disableSymbolSpin": true } в конфигурации своего сайта.

Исправленное

  • Исправление поля GraphQL repository.language (ранее возвращалось пустым для большинства репозиториев).

3.5.0

Добавленное

  • Поиск по индексу теперь поддерживает сопоставление последовательных буквальных новых строк, с запросами, такими как, например, 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

3.4.5

Исправлено:

  • Решена проблема, из-за которой выделение синтаксиса занимало слишком много времени, что приводило к ошибкам или ожиданию длительного времени без правильного перехода на отображение простого текста после нескольких секунд. #4267, #4268 (это исправление планировалось внести в 3.4.3, но фактически было случайно пропущено).
  • Решена проблема с развёртываниями sourcegraph/server Docker, где выделение синтаксиса могло вызывать ошибки server closed idle connection. #4269 (это исправление планировалось внести в 3.4.3, но фактически было случайно пропущено).
  • Исправлено поле GraphQL repository.language (ранее возвращалось пустым для большинства репозиториев).

3.4.4

Исправлено:

  • Устранена ошибка выхода за границы в запросе GraphQL репозитория. #4426.

3.4.3

Исправлено:

  • Значительно улучшена производительность страницы /site-admin/repositories (предотвращает тайм-ауты). #4063.
  • Решена проблема, при которой репозитории Gitolite были недоступны для пользователей, не являющихся администраторами, после обновления до версии 3.3.0+ со старой версии. #4263.
  • Теперь имена репозиториев обрабатываются с учётом регистра, решая проблему, когда пользователи видели pq: duplicate key value violates unique constraint repo_name_unique. #4283.
  • Репозитории, содержащие подмодули, которых нет на Sourcegraph, теперь загружаются без ошибок #2947.
  • Метрики HTTP в Prometheus/Grafana теперь различают между различными типами запросов GraphQL.

3.4.2

Исправлено:

  • Исправлена некорректная формулировка в процессе адаптации к сайту администратора. #4127.

3.4.1

Добавлено:

  • Теперь можно указать DISABLE_CONFIG_UPDATES=true в консоли управления, чтобы предотвратить обновления критической конфигурации. Это полезно при загрузке критической конфигурации через файл с использованием CRITICAL_CONFIG_FILE на интерфейсе.

Изменено:

  • Когда указаны EXTSVC_CONFIG_FILE или SITE_CONFIG_FILE, обновления внешних служб и конфигурации сайта теперь предотвращаются.
  • Администраторы сайта теперь увидят предупреждение, если создание или обновление внешней службы прошло успешно, но процесс не смог завершиться полностью из-за временной ошибки (например, поисковые запросы GitHub API выполняются с таймаутами и возвращают неполные результаты).

Удалено:

Исправлено:

  • Исправлена проблема, когда указание EXTSVC_CONFIG_FILE приводило к неправильной панике.
  • Исправлена проблема, при которой настройки пользователя/организации/глобальные настройки из старых версий Sourcegraph (2.x) могли быть неправильно нулевыми, что приводило к различным ошибкам.
  • Исправлена проблема, при которой временная ошибка инфраструктуры tar/archive: invalid tar header приводила к сбою поиска.

3.4.0

Добавлено:

  • При настройке 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).

  • Исправлена проблема, из-за которой файлы, которые не могут выделить синтаксис, неправильно отображали ошибку вместо того, чтобы изящно вернуться к своей простой текстовой форме.

3.3.9

Добавлено

  • Запросы на выделение синтаксиса, которые завершаются неудачно, теперь регистрируются и отслеживаются. Новая метрика Prometheus src_syntax_highlighting_requests позволяет осуществлять мониторинг и оповещение. #4877.

3.3.8

Исправленное

  • Полностью устранена регрессия производительности поиска в v3.2.0, восстанавливающая производительность поиска до тех же уровней, что и до изменений, внесённых в v3.2.0.
  • Исправлена проблема, из-за которой файлы, которые не могли выделить синтаксис, неправильно отображали ошибку вместо того, чтобы изящно вернуться к своей простой текстовой форме.
  • Исправлена проблема, появившаяся в версии 3.3, из-за которой Sourcegraph при определённых обстоятельствах ошибочно приходилось повторно клонировать и повторно индексировать репозитории из Bitbucket Server и AWS CodeCommit.

3.3.7

Добавленное

Изменённое

Удалённое

Исправленное

  • Устранена серьёзная регрессия производительности проиндексированного поиска, которая произошла в версии 3.2.0. (#3685)
  • Исправлена проблема, из-за которой Sourcegraph не удавалось обновить репозитории на некоторых экземплярах (pq: duplicate key value violates unique constraint "repo_external_service_unique_idx") (#3680)
  • Исправлена проблема, из-за которой Sourcegraph не исключал недоступные репозитории Bitbucket Server. (#3772)

3.3.6

Изменённое

  • Все 24 языковых расширения включены по умолчанию.

3.3.5

Изменённое

  • Индексированный поиск теперь включён по умолчанию для новых развёртываний Docker. (#3540)

Удалённое

  • Поведение интеллектуального ввода заглавных букв в поиске удалено.

Исправленное

  • Удаляет повреждённые архивы в... Исправления

    • Поисковик кэширует и пытается снова заполнить кэш вместо того, чтобы вернуть ошибку.
    • Исправлена ошибка, из-за которой области поиска не объединялись, и отображался только список областей поиска самого низкого уровня.
    • Устранена проблема, из-за которой repo-updater работал медленнее, что иногда могло вызывать другие проблемы с производительностью.
    • Исправлено объединение ресурсов интеграции Phabricator в образе докера Sourcegraph.
    • Исправлен баг, который мешал завершению действия «Найти ссылки» в контрольном списке активации.
    • Решена проблема, при которой по умолчанию bitbucketserver.repositoryQuery не создавался при миграции со старых версий Sourcegraph.
    • Исправлена проблема, когда Sourcegraph добавлял удалённые репозитории в конфигурацию внешней службы.
    • Устранена проблема, когда миграция repo-updater достигала ограничений скорости кода хоста.
    • Поле 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.

3.0.0-beta.4

Добавлено

— Базовая интеллектуальная обработка кода для 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.

3.0.0-бета.3

— Исправлена проблема, из-за которой администратор сайта перенаправлялся на стартовую страницу вместо того, чтобы быть перенаправленным на обзор репозиториев после удаления репозитория.

3.0.0-бета

Добавлены

— Репозитории теперь можно запрашивать по 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.

2.13.6

Добавлено

Конечная точка /-/editor теперь принимает параметр URL hostname_patterns, который указывает на объект JSON, сопоставляющий имя хоста с шаблоном имени репозитория. Это служит подсказкой для Sourcegraph при разрешении URL-адресов клонирования git в имена репозиториев. Шаблон имени такой же, как используется в конфигурациях хостов кода. Значение по умолчанию — {hostname}/{path}.

2.13.5

Исправлено

Исправлена ещё одна проблема, из-за которой Sourcegraph пытался получить больше разрешённого количества репозиториев из AWS CodeCommit.

2.13.4

Изменено

Значение по умолчанию для experimentalFeatures.canonicalURLRedirect в конфигурации сайта было изменено обратно на disabled (чтобы избежать #807).

2.13.3

Исправлено

— Исправлена проблема, из-за которой конечная точка проверки работоспособности интерфейса /healthz не отвечала. Это влияет только на развёртывания Kubernetes.
— Исправлена ошибка политики CORS, которая приводила к отклонению запросов от источников, не указанных в нашем manifest.json (например, запрошенных через дополнительные разрешения пользователя).
— Исправлена проблема, препятствовавшая правильной работе repositoryQuery на экземплярах GitHub enterprise.

2.13.2

Исправлено

Исправлено, что Sourcegraph пытается получить больше разрешённого числа репозиториев из AWS CodeCommit.

2.13.1

Изменённое

— Время ожидания при выполнении git ls-remote для определения возможности клонирования удалённого URL увеличено с 5 до 30 секунд.
— Команды Git теперь используют версию 2 протокола Git, что должно ускорить определённые операции (например, git ls-remote, git fetch) при взаимодействии с сервером с поддержкой версии 2.

2.13.0

Добавленное

— Новый параметр конфигурации сайта search.index.enabled позволяет включать индексированный поиск.
— Поиск теперь использует расширения Sourcegraph, которые регистрируют queryTransformers.
— Теперь поддерживаются разрешения репозитория GitLab. Чтобы включить это, вам нужно будет установить поле authz в объекте конфигурации GitLabConnection и убедиться, что токен, установленный в поле token, имеет область действия sudo и api.

Изменённое

— Когда переменная среды DEPLOY_TYPE указана неправильно, Sourcegraph теперь завершает работу и регистрирует сообщение об ошибке.
— Свойство конфигурации сайта experimentalFeatures.canonicalURLRedirect теперь по умолчанию равно enabled. Установите его на disabled, чтобы отключить перенаправление на appURL с других хостов.
— Обновление maxReposToSearch больше не требует перезапуска сервера для вступления в силу.
— Страница обновления больше не показывает ошибку, если вы используете сборку инсайдеров. Сборки инсайдеров теперь будут уведомлять администраторов сайтов о том, что обновления доступны через 40 дней после даты выпуска установленной сборки. archived:only будет осуществлять поиск только по заархивированным репозиториям. Это относится к репозиториям GitHub и GitLab.

  • Возможность Bitbucket Server исключать личные репозитории на случай, если вы решите предоставить токен доступа на уровне администратора в Sourcegraph и не хотите создавать учётную запись бота. Дополнительную информацию см. на странице https://docs.sourcegraph.com/integration/bitbucket_server#excluding-personal-repositories.

— Администраторы сайта теперь могут видеть, когда пользователи их экземпляра 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».

2.11.1

Добавлено

— Новая опция конфигурации сайта git.cloneURLToRepositoryName определяет ручное сопоставление URL-адресов клонирования Git с именами репозиториев Sourcegraph. Это полезно, например, для подмодулей Git, имеющих локальные URL-адреса клонов.

Исправлено

— Уведомления Slack для сохранённых поисков были исправлены.

2.11.0

Изменено

Добавленное

— Поддержка 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, когда языковой сервер не может получить запрошенную версию репозитория.

  • Создание нового пользователя с тем же именем, что и у существующей организации (и наоборот), предотвращается.

Удалено

2.10.5

Исправлено

— Исправлены уведомления Slack для сохранённых поисков.

2.10.4

Исправлено

— Исправлена проблема, из-за которой интерфейс возвращал 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"

2.10.3

Исправлено

— Подпись SAML AuthnRequest при использовании привязки HTTP redirect теперь вычисляется с использованием строки запроса URL с правильным порядком параметров. Ранее порядок был неправильным и вызывал ошибки, когда IdP был настроен на проверку подписи в AuthnRequest.

2.10.2

Исправлено

— Вход в систему, инициированный SAML IdP, ранее завершался неудачно, если IdP устанавливал значение RelayState. Теперь это работает.

2.10.1

Изменено

— Большинство экспериментальных функций в конфигурации сайта теперь реагируют на изменения конфигурации в реальном времени, не требуя перезапуска сервера. Как обычно, после сохранения изменений конфигурации вам будет предложено перезапустить сервер, если это необходимо. — Аватары Gravatar больше не отображаются для коммиттеров.

2.10.0

Изменённое

— В дереве файлов, если каталог, содержащий только один каталог, развёрнут, его дочерний каталог теперь разворачивается автоматически.

Исправлено

— Исправлена проблема, при которой sourcegraph/server неправильно запускал контейнеры с кодовой разведкой, когда контейнер sourcegraph/server был остановлен некорректно. — Исправлена ошибка, при которой дерево файлов возвращало ошибку при переходе между репозиториями.

2.9.4

Изменённое

— 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).

    • Изменено:

      • Страницы настроек больше не поддерживаются. Администраторы сайтов должны перенести настройки (если они есть) в глобальные настройки пользовательского интерфейса администратора сайта. Глобальные настройки предпочтительнее настроек файла конфигурации сайта, поскольку первые можно применить без необходимости перезапускать или повторно развёртывать сервер или кластер Sourcegraph.
    • Удалено:

      • Переменная среды SOURCEGRAPH_CONFIG удалена. Конфигурация сайта всегда считывается с диска и записывается на диск. Вы можете настроить расположение, указав SOURCEGRAPH_CONFIG_FILE. По умолчанию путь — /etc/sourcegraph/config.json.

Версия 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 будут использоваться для обеспечения полной функциональности в это время, а сообщения журнала более информативны. Ранее в некоторых случаях репозитории становились недоступными.

    • Исправлена ошибка, из-за которой индексированный поиск иногда не указывал, что есть дополнительные результаты для отображения для данного файла.

    • Исправлена... Ошибка, из-за которой код...

Интеллектуальная административная страница никогда не завершает загрузку языковых серверов.

2.9.0-pre0

Изменённое

  • Области поиска были объединены в панель «Фильтры» на странице результатов поиска.
  • Теперь разрешены имена пользователей и названия организаций длиной до 255 символов (ранее максимальная длина составляла 38).

Исправленное

  • Идентификатор целевой фиксации объекта тега Git (то есть не облегчённые ссылки тегов Git) теперь разыменовывается правильно. Ранее предоставлялся OID объекта тега.
  • Исправлена проблема, из-за которой AWS Code Commit достигал ограничения скорости.
  • Исправлена ошибка, при которой закрытие выпадающего списка предложений поиска не снимало выделение с ранее выделенных предложений.
  • Устранена проблема, при которой предложения поиска появлялись дважды.
  • Индексированные поиски теперь возвращают частичные результаты, если они превышают время ожидания.
  • Репозитории Git с файлами, пути которых содержат компоненты пути .git, теперь можно использовать (через индексированный и неиндексированный поиск и анализ кода). Эти повреждённые репозитории встречаются редко и обычно были созданы путём преобразования какого-либо другого репозитория VCS в Git (Git CLI запретит создание таких путей).
  • Различные улучшения производительности поиска различий и исправления ошибок.
  • Новые версии расширения Phabricator будут использовать кэшированные таблицы стилей вместо обновлённой версии.
  • Исправлено, что при наведении курсора будет отображаться ошибка для файлов Rust и C/C++.

Добавленное

  • Контейнер sourcegraph/server теперь выводит последнее сообщение журнала, когда redis завершает работу, чтобы упростить отладку, почему redis остановился.
  • Приглашения организации (которые позволяют пользователям приглашать других пользователей присоединиться к организациям) значительно улучшены. Добавлена новая страница принятия приглашения.
  • Новая всплывающая подсказка справки позволяет пользователям легко создавать проблемы в общедоступном трекере проблем Sourcegraph и просматривать документацию.
  • Проблема, из-за которой файлы Java выделялись неправильно, если они содержали блоки JavaDoc с неравномерным количеством открывающих/закрывающих *s.

Удалённое

  • Значение конфигурации сайта secretKey больше не требуется. Оно использовалось только для генерации токенов для приглашения пользователя в организацию. Приглашение теперь хранится в базе данных, связанной с получателем, поэтому секретный токен больше не нужен.
  • Удалено значение конфигурации сайта experimentalFeatures.searchTimeoutParameter. По умолчанию оно было включено в версии 2.8, и его больше нельзя отключить.

Добавленное

  • Синтаксическая подсветка для:
    • файлов TOML (включая файлы Go Gopkg.lock и файлы Rust Cargo.lock);
    • файлов Rust;
    • файлов GraphQL;
    • файлов Protobuf;
    • файлов .editorconfig.

2.8.9

Изменённое

  • Страница администратора сайта «пригласить пользователя» была перемещена на подстраницу страницы пользователей (/site-admin/users/new).
  • Администратор сайта теперь может создать нового пользователя без указания адреса электронной почты.

Исправленное

  • Проверки того, клонирован ли репозиторий, больше не будут исчерпывать пулы открытых файлов со временем.

Добавленное

  • Расширение Phabricator показывает статус интеллектуального анализа кода и поддерживает включение / отключение интеллектуального анализа кода для файлов.

2.8.8

Изменённое

  • Запросы на репозитории (в разделе изучения, репозиториев администратора сайта и раскрывающемся списке заголовков репозиториев) сопоставляются по нечувствительным к регистру подстрокам, а не с использованием логики приблизительного соответствия.
  • HTTP-заголовки авторизации с неузнаваемой схемой игнорируются; они больше не вызывают отклонения HTTP-запроса с HTTP 401 Unauthorized и ошибкой «Недействительный заголовок авторизации».
  • Переименован флаг поиска max в count. Поиски, которые указывают count:, будут извлекать как минимум это количество результатов или полный набор. * Истекло время ожидания инициализации lsp-proxy до 3 минут для каждого языка.
  • Результаты поиска теперь сортируются по репозиторию и имени файла.
  • Более доступная кнопка «Показать ещё» в верхней части страницы результатов поиска.
  • Результаты опросов удовлетворённости пользователей теперь всегда размещаются локально и видны администраторам. Параметр конфигурации "experimentalFeatures": { "hostSurveysLocally" } устарел.
  • Если поставщик аутентификации OpenID Connect сообщает, что адрес электронной почты пользователя не подтверждён, попытка аутентификации завершится неудачно.

Исправленное

  • Исправлен баг. Где страница результатов поиска не обновляла свой заголовок.

Теперь имя файла 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 в качестве экспериментального языкового сервера на странице администратора кодовой аналитики.

2.8.0

Изменено

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», который показывает включённые поставщики аутентификации и внешние учётные записи пользователей.

2.7.6

Исправлено

  • Если учётная запись пользователя удалена, сеансовые файлы cookie для этого пользователя больше не считаются действительными.

2.7.5

Изменено

  • При развёртывании Sourcegraph в Kubernetes теперь по умолчанию используется RBAC. Большинство кластеров Kubernetes требуют его использования. Дополнительную информацию см. в инструкциях по установке Kubernetes (включая отключение при необходимости).

  • Увеличен тайм-аут соединения git ssh до 30 секунд с 7 секунд.

  • Интеграция Phabricator больше не требует промежуточных областей, но их использование всё ещё рекомендуется, поскольку это повышает производительность.

Исправлено

  • Исправлена проблема, из-за которой языковые серверы, которые не были включены, отображали кнопку «Перезапустить» на панели управления Code Intelligence.

  • Исправлена ошибка, из-за которой кнопка «Обновить» на панели управления Code Intelligence отображалась непоследовательно.

  • Исправлена ошибка, при которой переключение динамической области поиска не удаляло @rev (если указано).

  • Исправлена ошибка, когда не поддерживались режимы, которые можно определить только по полному имени файла (а не только по расширению файла) пути (первым примером этого являются Dockerfiles).

  • Исправлена ошибка, при которой консоль GraphiQL не работала при указании переменных.

  • Индексированный поиск больше не поддерживает собственные клоны git. Для развёртывания кластера Kubernetes это значительно снижает требования к дисковому пространству для модуля индексированного поиска.

  • Исправлена ошибка, при которой контейнеры языковых серверов Docker не перезапускались автоматически, если они аварийно завершали работу (sourcegraph/server). Исправлена ошибка, при которой сайт оставался в режиме инициализации, если первый пользователь на сайте прошёл аутентификацию через SSO.

Добавлено:

  • Более подробная информация о прогрессе отображается на страницах, ожидающих клонирования репозиториев.
  • Администраторы теперь могут видеть графики с ежедневными, еженедельными и ежемесячными уникальными подсчётами пользователей, посетив страницу аналитики администратора сайта.
  • Администраторы могут теперь размещать и просматривать результаты опросов удовлетворённости пользователей Sourcegraph локально, установив опцию конфигурации сайта "experimentalFeatures": { "hostSurveysLocally": "enabled"}. Эта функция будет включена для всех экземпляров после стабилизации.
  • Поддерживаются токены доступа для всех поставщиков аутентификации (включая OpenID Connect и SAML, которые ранее не поддерживались).
  • Новая настройка motd (в глобальных, организационных и пользовательских настройках) отображает указанные сообщения вверху всех страниц.
  • Админы сайтов теперь могут просматривать все токены доступа на уровне сайта (для всех пользователей) и отзывать токены на новой странице токенов доступа в административной области сайта.

2.7.0

Изменено:

  • Отсутствующие репозитории больше не отображаются как результаты поиска. Вместо этого над результатами поиска отображается количество репозиториев, которые не удалось найти. При наведении курсора на счётчик будут отображаться имена отсутствующих репозиториев.
  • «Показать больше» на странице результатов поиска теперь будет показывать результаты, которые уже были получены (если такие результаты существуют), без необходимости выполнения нового запроса.
  • Нижняя панель (на файле) теперь показывает больше вкладок, включая докстроки, несколько определений, ссылки (как и раньше), внешние ссылки, сгруппированные по репозиториям, реализации (если поддерживается языковым сервером) и историю файлов.
  • Дерево файлов на боковой панели репозитория. Исправления:
    • Поиск больше не блокируется, если индекс недоступен (например, после перезапуска модуля индекса). Вместо этого соблюдается обычный тайм-аут поиска и пользователю сообщается о ситуации, если индекс ещё не доступен.
    • Результаты репозитория больше не возвращаются для неподдерживаемых фильтров (например, если file: является частью поискового запроса).
    • Исправлена проблема, из-за которой элементы дерева файлов могли прокручиваться за пределы видимости при загрузке страницы.
    • Исправлена ошибка, которая вызывала сообщения журнала «Не удалось обеспечить обновление репозитория» при попытке обновить большое количество репозиториев из gitolite.
    • При использовании HTTP-прокси аутентификации ("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 с использованием образа Docker 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.
  • Исправлена проблема, из-за которой сервер аварийно завершал работу, если БД не была доступна при запуске.

2.6.7

Добавлены функции

  • Время, в течение которого интерфейс ожидает доступности базы данных PostgreSQL, теперь можно настроить с помощью переменной среды DB_STARTUP_TIMEOUT (значение — любая допустимая строка длительности Go).
  • Динамические фильтры поиска теперь предлагают исключения файлов тестов Go, файлов вендора и файлов node_modules.

2.6.6

Добавленные функции

  • Поддерживается аутентификация на сервере Bitbucket с использованием учётных данных имени пользователя и пароля (в параметрах конфигурации сайта bitbucketServer username/password), для серверов, работающих под управлением версии Bitbucket Server 2.4 и более ранних версий (которые не поддерживают персональные маркеры доступа).

2.6.5

Добавленные функции

  • Внешне доступный URL-путь /healthz выполняет базовую проверку работоспособности приложения, возвращая HTTP 200 в случае успеха и HTTP 500 в случае сбоя.

Изменения поведения

  • Одноранговые вилки на GitHub больше не синхронизируются по умолчанию. Если вы хотите добавить одноранговую вилку, перейдите непосредственно на страницу репозитория на Sourcegraph, чтобы добавить её (например, https://sourcegraph.mycompany.internal/github.com/owner/repo). Это предотвращает засорение списка ваших репозиториев большим количеством частных вилок частного репозитория, к которому у вас есть доступ. Одним из ярких примеров является https://github.com/EpicGames/UnrealEngine.
  • Файлы cookie SAML теперь истекают через 90 дней. Предыдущее поведение составляло каждый час, что было непреднамеренно низким.

2.6.4

Добавленные функции

  • Улучшены сообщения об ошибках тайм-аута поиска.
  • Повышена производительность поиска регулярных выражений, которые не начинаются с литерала.

2.6.3

Исправленные ошибки

  • Результаты поиска символов теперь возвращаются только для поисков, содержащих type:symbol.

2.6.2

Добавленные функции

  • Более подробное ведение журнала для диагностики ошибок с сторонними поставщиками аутентификации.
  • Якоря (такие как #my-section) в визуализированных файлах Markdown теперь поддерживаются.
  • Раздел инструментов для администраторов. Для каждой службы мы предоставляем pprof, метрики Prometheus и трассировки.

Исправленные ошибки

  • Применять 1-секундный тайм-аут к поиску символов, если он вызывается без указания type:, чтобы не блокировать результаты обычного текста. Без изменения поведения, если явно указано type: symbol.
  • Отображать переключатель переноса строк только для файлов с представлением кода.

2.6.1

Исправленные ошибки

  • Исправляет ошибку, когда ввод текста в поле запроса поиска изменял расширенное состояние результатов поиска файлов.
  • Исправляет ошибку, при которой новые логины через OpenID Connect завершались ошибкой SSO error: ID Token verification failed.

2.6.0

Добавленные функции

  • Поддержка 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).

  1. Теперь Sourcegraph по умолчанию требует, чтобы администратор приглашал пользователей вместо того, чтобы позволить любому, кто может посетить сайт, зарегистрироваться. Установите auth.allowSignup == true, чтобы сохранить старое поведение, позволяющее регистрироваться любому, кто имеет доступ к сайту.
  2. Теперь Sourcegraph учитывает новый параметр конфигурации сайта auth.public (значение по умолчанию: false). Когда auth.public == false, 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-Sourcegraph.git
git@api.gitlife.ru:oschina-mirror/mirrors-Sourcegraph.git
oschina-mirror
mirrors-Sourcegraph
mirrors-Sourcegraph
main