Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Заметки к релизам модуля Prom++. Каждая запись имеет единую структуру: дату релиза, опциональные краткое описание и ключевые изменения, а также секции в порядке Ключевые изменения → Новый функционал → Улучшения → Исправления → Обновления безопасности → Несовместимые изменения → Что учесть при обновлении → Известные ограничения → Документация → Зависимости. Пустые секции не выводятся.
v3.8.19
Дата релиза: 2026-10-01
Кратко: меньше памяти и быстрее запись вокруг ротации головы, исправлено падение на некорректной native-гистограмме от цели скрейпа, появился способ заметить, что инстанс работает не с теми фича-флагами, которые ожидались.
Новый функционал
- Появилась необязательная переменная окружения
PROMPP_FEATURES_DEFAULT— в неё кладётся набор флагов, с которым инстанс должен работать. При старте он сравнивается сPROMPP_FEATURES, результат публикуется метрикойprompp_features_differ_from_default:1— наборы расходятся,0— совпадают, так что на расхождение конфигурации можно повесить алерт. Разница пишется и в лог. Сравнение не зависит от порядка и пробелов, а равнозначные значения считаются одинаковыми —60mи1hрасхождением не будут.
Улучшения
- Снизилось потребление памяти после ротации головы: ротированная голова теперь освобождает структуры поиска, которые были нужны только на приёме данных, а не держит их до истечения retention.
- Запись больше не замедляется сразу после ротации. Дорогая подготовка первого WAL-сегмента новой головы теперь выполняется во время самой ротации, до того как голова начинает принимать данные. Сама ротация из-за этого идёт дольше, но предыдущая голова всё это время продолжает принимать запись.
- Кодирование данных стало примерно на 10% быстрее.
- Идентификаторы голов теперь UUIDv7 — каталоги голов и записи каталога сортируются в порядке создания, что удобно при разборе содержимого директории данных.
Исправления
- Исправлено падение из-за некорректной native-гистограммы, пришедшей от цели скрейпа по protobuf. Теперь такая гистограмма отбраковывается валидацией, а не роняет процесс.
- Исправлена скрытая ошибка, из-за которой будущая миграция формата
head.logочистила бы каталог голов — потерялись бы активная голова, ещё не сброшенные на диск головы и позиции remote write. - Добавлены точки монтирования для
prometheus-main-rulefiles-5…-99— в инсталляциях, где правила алертинга и записи не умещаются в пять ConfigMap’ов, теперь монтируются все.
Обновления безопасности
- Обновлён
momentв веб-интерфейсе до 2.31.0 — закрыта GHSA-4p3w-j4w9-5jqw (обход пути через специально составленное имя локали). - Набор базовых образов обновлён с v3.0.3 до v3.1.6.
- Исправлено переиспользование стадии VEX-аттестации между реестрами.
Несовместимые изменения
- Удалена метрика
prompp_data_storage_gorilla_countвместе с комбинированным путём кодирования, который она считала. Уберите её из дашбордов и алертов.
v3.8.18
Дата релиза: 2026-09-20
Кратко: исправлены утечка памяти при включённых аренах jemalloc и ситуация, когда живые серии могли пропасть из индекса; Go обновлён до 1.26.8, обновлён ряд зависимостей — закрыты известные уязвимости.
Новый функционал
- Серии без сэмплов теперь отбраковываются при разборе remote-write запроса, а не на более дорогой стадии записи в индекс. Если клиент присылает такие серии намеренно, включите
PROMPP_FEATURES=enable_skip_no_samples_series— они будут пропускаться без ошибки. - Экспериментальный формат сегментов WAL V2 теперь можно включить флагом
PROMPP_FEATURES=enable_wal_writer_v2. По умолчанию выключен.
Исправления
- Исправлена утечка памяти: при включённых аренах jemalloc память завершённых чанков не возвращалась системе.
- Исправлено то, что серии, в которые продолжали поступать данные по remote write, могли посчитаться неактивными и быть вычищены из индекса — запросы переставали их находить.
- Исправлено рассогласование внутреннего учёта головы с индексом наборов меток, если релейблинг завершался ошибкой.
Обновления безопасности
- Go, которым собирается модуль, обновлён с 1.26.5 до 1.26.8 — закрыты семь уязвимостей стандартной библиотеки (
net/url,html/template,crypto/tls,net/http,encoding/xml,encoding/asn1и разбор DNS-записей). - Обновлён
sanitize-htmlв веб-интерфейсе — исправлена хранимая XSS (GHSA-g8qq-57p8-ggw5). - Обновлены gRPC до 1.83.2 (запрос без заголовков
:authorityиHostмог приводить к падению gRPC-сервера) и все модули OpenTelemetry до 1.45.0.
v3.8.17
Дата релиза: 2026-09-08
Кратко: исправлен баг квериера чанков, приводивший к панике, проблема с ротацией секрета при релоаде конфига remote write и гонка при остановке; также обновление безопасности grpc/crypto.
Исправления
- Исправлен баг квериера чанков, который мог приводить к падению процесса при исчерпании чанков для перекодирования вместо корректного завершения выборки.
- Исправлено то, что перезагрузка конфига remote write не замечала изменение секрета (например, ротацию токена авторизации) — данные продолжали отправляться со старым, уже недействительным токеном.
- Исправлена гонка между остановкой и триггером ротации головы, которая могла приводить к панике процесса.
- Эндпоинт профилирования
/debug/jemallocтеперь сериализует параллельные запросы и возвращает 404, если профилирование jemalloc фактически не включено, вместо непредсказуемой ошибки.
Обновления безопасности
- Обновлены
google.golang.org/grpcиgolang.org/x/cryptoс закрытием уязвимостей.
Несовместимые изменения
- Экспериментальные WebSocket и refill эндпоинты pp_protocol для remote write временно отключены (возвращают 404) на время доработки протокола.
v3.8.16
Дата релиза: 2026-09-01
Кратко: по умолчанию отключён флаг shrink_shard_copier — из-за него могли периодически пропадать метрики, полученные через Remote Write.
Исправление ошибок
- Отключён по умолчанию флаг
shrink_shard_copier: из-за него могли периодически пропадать метрики, полученные через Remote Write.
v3.8.15
Дата релиза: 2026-08-27
Кратко: MADV_RANDOM для отображений файлов блоков теперь включается отдельным флагом, чтобы не увеличивать нагрузку по IOPS на некоторых инсталляциях, а скрейпер теперь по умолчанию проверяет UTF-8 во всём теле скрейпа.
Исправления
- Отключено по умолчанию
madvise(MADV_RANDOM)для отображений в память файлов индекса/чанков блоков: на некоторых инсталляциях это увеличивало нагрузку по IOPS. Включить обратно можно флагомenable_madvise_random.
Улучшения
- Скрейпер теперь по умолчанию проверяет UTF-8 во всём теле скрейпа, а не только в отдельных полях, как раньше, и находит невалидные символы в любом месте payload’а. Старое поведение можно вернуть флагом
disable_scraper_full_utf8.
v3.8.14
Дата релиза: 2026-08-21
Кратко: исправлены падения при конвертации головы в исторический блок, убрали возможную ошибку состояния при обработке out of order точек, которая могла приводить к SIGSEV, а также обновления зависимостей безопасности.
Исправления
- Исправлена проблема при конвертации головы в исторический блок: при высоком чёрне мог произойти выход за границы массива приводящий к падению.
- Исправлена возможная ошибка состояния при обработке out of order точек.
Обновления безопасности
- Обновлены Go-модуль
golang.org/x/modи пакет web-UInanoidс устранением уязвимостей из upstream.
v3.8.13
Дата релиза: 2026-08-18
Кратко: релиз только на уровне модуля — возвращено поле weight в описании модуля, которое требуется для установки на старых версиях DKP.
Исправления
- Возвращено поле
weightвmodule.yaml, удалённое в v3.7.10: без него модуль не устанавливается на старых версиях DKP.
v3.8.12
Дата релиза: 2026-08-14
Кратко: теперь блоки могут группироваться по сегментам перед компакцией в схеме block-manager, повторные попытки remote write стали различимы, а новый флаг позволяет принудительно перевести remote write на HTTP/1.1.
Улучшения
- Переработан компактор схемы хранения block-manager: блоки теперь могут группироваться по временному диапазону и сегменту перед планированием компакции, поэтому блоки из разных сегментов никогда не объединяются.
- Повторные отправки remote write теперь несут стабильный идентификатор идемпотентности и настоящий номер попытки; лог неудачной отправки сообщает адрес назначения, номер попытки, длительность и размер сообщения.
- Снижен объём страничного кеша для файлов блоков: их отображения в память больше не вызывают опережающее чтение ядром.
Исправления
- Исправлена потенциальная гонка в счётчиках ссылок индекса серий.
v3.8.11
Дата релиза: 2026-08-07
Кратко: скрейпы больше 4 ГиБ больше не теряются целиком, снижено потребление памяти на запросах, ускорен разбор скрейпов и улучшено поведение при большом числе групп правил.
Ключевые изменения
- Скрейпы размером больше 4 ГиБ больше не теряются целиком: раньше не сохранялись ни метрики, ни метаданные.
- Улучшена производительность при большом количестве групп правил (от 1000), где раньше замедлялся сам аллокатор памяти.
Улучшения
- Снижено потребление памяти на запросах с большим числом матчеров по меткам.
- Ускорен разбор скрейпов.
- Короткоживущие хранилища больше не создают арены памяти, которые не давали им выигрыша и только замедляли аллокатор.
- Память объектов C++ освобождается раньше под растущей нагрузкой.
Исправления
- Исправлен скрапинг очень больших ответов: смещения в буфере разметки стали 64-битными, поэтому ответ
/federateразмером больше 4 ГиБ разбирается и аппендится корректно, а не теряется целиком.
Обновления безопасности
- Обновлены пакеты web-UI
postcssиsanitize-htmlс устранением уязвимостей из upstream.
Документация
- Исправлены неработающие ссылки в документации модуля, добавлены страницы справочника по конфигурации.
v3.8.10
Дата релиза: 2026-07-31
Кратко: меньше памяти на пути запросов, исправления крашей лога активных запросов и DataStorage, ускоренное чтение WAL-сегментов.
Ключевые изменения
- Результаты запросов больше не удерживают крупные off-heap буферы до GC, что снижает рост памяти под нагрузкой запросов.
- Исправлены SIGBUS-краши, связанные с логом активных запросов на некоторых файловых системах.
Улучшения
- Снижено потребление памяти при выполнении запросов: буферы результатов запросов освобождаются сразу после построения ответа.
- Ускорено чтение WAL-сегментов за счёт переиспользования буферов из пула.
Исправления
- Исправлен SIGBUS в ActiveQueryTracker, когда лог активных запросов создавался как sparse-файл.
- Исправлена гонка при инициализации статических объектов, которая могла приводить к ошибкам запуска на устаревших процессорах.
Обновления безопасности
- Обновлены зависимости Go (
github.com/klauspost/compress,go.opentelemetry.io/otel) и пакет web-UIpostcssс устранением уязвимостей из upstream.
v3.8.9
Дата релиза: 2026-07-24
Кратко: корректное определение возможностей процессора для лучшей производительности «из коробки», ускоренный разбор метрик при скрейпе, меньше памяти при приёме данных, а также исправления стабильности и безопасности.
Ключевые изменения
- Исправлено определение возможностей процессора: движок теперь выбирает правильный набор инструкций на современных CPU вместо базового, что повышает производительность «из коробки».
- Ускорён разбор метрик при скрейпе.
Улучшения
- Ускорён разбор метрик при скрейпе за счёт переработанного кодирования журнала предзаписи (WAL) скрейпера.
- Снижено пиковое потребление памяти при приёме данных: снапшот транзакции теперь освобождается сразу после её коммита.
- Образ модуля теперь использует статически слинкованный curl, что уменьшает число зависимостей в рантайме.
- Заметки о релизе модуля теперь поставляются вместе с релизом и отображаются в интерфейсе Deckhouse (единый формат changelog).
Исправления
- Исправлено определение возможностей процессора, которое всегда выбирало базовый набор инструкций даже на современных CPU, снижая производительность.
Обновления безопасности
- Обновлены зависимости Go (
golang.org/x/text,golang.org/x/net,google.golang.org/grpc) и пакеты web-UI (body-parser,webpack-dev-server,immutable) с устранением уязвимостей из upstream.
v3.8.8
Дата релиза: 2026-07-17
Кратко: инструменты восстановления после инцидентов и улучшения наблюдаемости, снижение потребления памяти при записи блоков, а также исправления стабильности и безопасности.
Ключевые изменения
- Добавлена команда
persist-headв prompptool для восстановления отдельного head в TSDB-блоки при разборе инцидентов. - Снижено потребление памяти при записи блоков на широких или разреженных временных интервалах.
- Добавлено снятие heap-профиля jemalloc по запросу через HTTP для диагностики потребления памяти.
Улучшения
- Запись блоков теперь пропускает блоки, которые целиком выходят за пределы периода хранения, что исключает лишние записи на диск.
- Добавлен HTTP-эндпоинт
/debug/jemallocдля снятия heap-профиля jemalloc по запросу (требует включённого профилирования при старте). - Добавлена метрика суммарного размера неизвестных объектов в локальном хранилище, делающая видимыми «остатки» на диске.
- Снижено потребление памяти при записи блоков на широких или разреженных временных интервалах.
Исправления
- Исправлено редкое аварийное завершение (heap-buffer-overflow) в обработчике устаревших чанков.
- Оставшиеся временные каталоги блоков после прерванной компакции или персиста теперь очищаются при старте.
Обновления безопасности
- Обновлён Go-тулчейн, устранены известные уязвимости безопасности.
v3.8.7
Дата релиза: 2026-07-16
Исправления
- Убрана регистрация C++-метрик, так как она приводила к утечке памяти.
v3.8.6
Дата релиза: 2026-07-15
Исправления
- Внутренний сборщик C++-метрик по умолчанию отключён, чтобы предотвратить редкое аварийное завершение (use-after-free), которое могло возникать при сборе метрик.
v3.8.5
Дата релиза: 2026-07-09
Улучшения
- Переработано хранение исторических блоков на новом движке block-manager: улучшено планирование компакции и добавлены метрики диагностики раскладки блоков.
- Core dump’ы больше не создаются при аварийном завершении, что предотвращает неожиданный рост занятого места в ограниченных окружениях (например, в Kubernetes).
- Добавлены метрики для наблюдения за внутренним хранилищем данных.
- Повышена производительность обработки наборов меток и записи индекса.
Обновления безопасности
- Обновлены сборочный тулчейн и зависимости, устранены известные уязвимости безопасности.
v3.8.4
Дата релиза: 2026-06-11
Улучшения
- Ускорена производительность instant-запросов.
- Снижено потребление памяти при ротации head и обработке высококардинальных метрик через federation API.
Обновления безопасности
- Обновлены базовые образы и компоненты безопасности.
v3.8.3
Дата релиза: 2026-06-02
Исправления
- Исправлена ошибка кодировщика чанков, которая в отдельных случаях могла приводить к повреждению исторических данных.
- Изменено поведение диапазонных запросов PromQL в соответствии с актуальным поведением Prometheus. В результате значения функций
rate,sum_over_timeиcount_over_timeмогут незначительно отличаться от результатов предыдущих версий.
Обновления безопасности
- Устранена уязвимость, которая могла приводить к исчерпанию памяти при выполнении запросов remote-read.
- Устранены несколько XSS-уязвимостей в веб-интерфейсе.
v3.8.1
Дата релиза: 2026-05-15
Улучшения
- Повышена производительность обработки данных и снижено потребление памяти при выполнении запросов в шардированных окружениях.
Исправления
- Исправлена обработка WAL при ротации шардов.
Обновления безопасности
- Обновлены зависимости и устранены известные уязвимости безопасности.
v3.8.0
Дата релиза: 2026-04-22
Улучшения
- Добавлены метрики для анализа конкуренции за мьютексы и семафоры в Go-рантайме.
- Добавлена метрика использования резидентной памяти аллокатора jemalloc.
- Усилена защита компонентов C++ при сборке в соответствии с требованиями ГОСТ.
- Улучшено освобождение ресурсов при ротации WAL.
v3.7.11
Дата релиза: 2026-05-15
Улучшения
- Добавлены метрики эффективности повторного использования jemalloc-арен.
v3.7.10
Дата релиза: 2026-04-22
Улучшения
- Добавлена поддержка формата WAL v2 для remote write.
Исправления
- Исправлено ложное срабатывание алерта
PrometheusRemoteWriteDesiredShards. - Устранены возможные проблемы при работе remote write под высокой нагрузкой.
v3.7.9
Дата релиза: 2026-03-30
Новый функционал
- Добавлены новые PromQL-функции:
op_defined,op_replace_nan,op_smoothie,op_zero_if_noneиop_top.
Улучшения
- Повышена производительность remote write.
- Добавлено ограничение возраста данных для remote write, предотвращающее накопление WAL-файлов при недоступности внешних систем.
Исправления
- Исправлен расчёт метрик ingestion.
- Устранён рост потребления памяти при использовании пользовательских jemalloc-арен.
Обновления безопасности
- Обновлены зависимости и устранены известные уязвимости безопасности.
v3.7.6
Дата релиза: 2026-02-20
Улучшения
- Повышена производительность обработки правил и отправки данных через remote write.
Обновления безопасности
- Обновлены зависимости безопасности.
v3.7.5
Дата релиза: 2026-01-23
Улучшения
- Оптимизированы процессы добавления и обработки данных.
v3.7.4
Дата релиза: 2026-01-12
Улучшения
- Добавлена возможность разбиения высококардинальных метрик при использовании federation API, что снижает пиковое потребление памяти.
v3.7.2
Дата релиза: 2025-12-08
Улучшения
- Повышена производительность выполнения правил и обработки запросов.
Исправления
- Исправлены проблемы стабильности, которые могли приводить к периодическим сбоям.
- Исправлена обработка пустых лейблов в OTLP Protobuf.
v3.7.0
Дата релиза: 2025-11-05
Улучшения
- Копирование данных при ротации выполняется в фоновом режиме, что уменьшает влияние ротации на отзывчивость системы.
- Повышена производительность выполнения запросов и правил.
Исправления
- Исправлена обработка значений StaleNaN при ротации данных.
v3.6.5
Дата релиза: 2025-10-22
Улучшения
- Добавлен механизм выгрузки редко используемых серий на диск, позволяющий значительно снизить потребление оперативной памяти на крупных инсталляциях.
- Снижено потребление памяти при сборе и обработке метрик.
Исправления
- Исправлена обработка регулярных выражений в матчерах.
- Повышена устойчивость к повреждённым WAL-файлам и некорректным данным.
- Исправлена обработка значений StaleNaN для данных, записываемых задним числом.
v3.5.0
Дата релиза: 2025-08-25
Улучшения
- Выполнено обновление базовой версии Prometheus до 2.55.1.
- Добавлена поддержка формата хранения данных Prometheus 3.x.
Обновления безопасности
- Обновлены зависимости и устранены известные уязвимости безопасности.