Тема
Changelog
Здесь собраны изменения LogSense. Записи идут от свежих сборок к ранним.
0.9.0-pre.4 — 31 июля 2026
Pre-production
Сборка проходит проверку перед выпуском 0.9.0. Формат индекса уже зафиксирован, но имена нескольких полей API ещё могут измениться.
Готово к проверке
- добавлен планировщик фонового уплотнения индекса;
- источники можно объединять в группы
frontend,backendиinfra; - поиск понимает исключения
-service:workerи-level:debug; - сохранённый запрос можно закрепить на стартовом экране;
- ответ
GET /healthпоказывает очередь записи и задержку индексации; - экспорт JSONL работает с выборками до 500 000 событий;
- команда
logsense doctorпроверяет права на каталоги и конфигурацию.
Изменено
- курсор поиска теперь содержит версию схемы;
- диапазон
last=15mвычисляется на стороне коллектора; - повторный запуск источника не сбрасывает счётчики;
- пустые значения атрибутов не попадают в индекс;
- размер сегмента по умолчанию увеличен с 32 до 64 МБ;
- сообщения длиннее 256 КБ обрезаются после записи исходного размера.
Исправлено
- фильтр
level=gte:warnбольше не включает пользовательские уровни; - удаление источника не останавливает соседние источники группы;
- ручное уплотнение не запускается второй раз для того же сегмента;
- курсор остаётся валидным после удаления старых сегментов;
- поиск по кириллице не теряет букву
ё; - файл с CRLF корректно читается после ротации.
Ещё проверяется
- восстановление после заполнения диска;
- импорт пачки из 100 000 событий;
- одновременная ротация десяти файлов;
- работа индекса на сетевой файловой системе.
0.8.5 — 29 июля 2026
Добавлено
- endpoint
GET /index/jobs/{jobId}; - оценка свободного места перед уплотнением;
- поле
last_errorв состоянии источника; - сортировка сохранённых запросов по имени и дате;
- метрика
events_per_secondдля каждого источника.
Исправлено
- задача уплотнения больше не зависает в состоянии
queued; - удалённое событие исчезает из статистики без перезапуска;
- путь с пробелами корректно читается в Windows;
- значение
0в атрибутах не считается пустым; - ошибка одного файла не переводит весь коллектор в состояние
failed.
0.8.2 — 25 июля 2026
Добавлено
- endpoint
DELETE /events/{id}; - параметр
purge=trueпри удалении источника; - статистика по значениям
attributes.host; - поиск событий без поля
trace_id; - ограничение частоты ручного уплотнения.
Изменено
- код частичного приёма пачки изменён на
207; - ошибки пачки содержат индекс исходной записи;
limit=0возвращаетinvalid_limit;- JSON-ответы используют один порядок системных полей.
Исправлено
- удаление события из текущего сегмента не портит курсор;
has=trace_idработает для вложенных атрибутов;- неизвестный уровень сохраняется без смены регистра;
- пустая пачка возвращает
400, а не500.
0.8.0 — 19 июля 2026
Добавлено
- сохранённые поисковые запросы;
- приём пачек событий через
POST /events; - статистика по сервисам, уровням и интервалам;
- пауза и повторный запуск источника;
- курсорная пагинация больших выборок;
- ручной запуск уплотнения индекса.
Исправлено
- события больше не дублируются после ротации файла в Windows;
- временные метки без часового пояса читаются как UTC;
- события одной трассировки сортируются по времени;
- пустая последняя строка JSONL не создаёт ошибку парсинга;
- повреждённый курсор возвращает
invalid_cursor.
0.7.6 — 14 июля 2026
Добавлено
- фильтр
duration_ms; - поиск точной фразы в кавычках;
- сортировка
time:ascиtime:desc; - поле
took_msв результатах поиска; - параметр
include=attributesдля трассировок.
Изменено
- поиск по фразе учитывает порядок слов;
- сканирование сегментов начинается с указанного диапазона;
- одинаковые фильтры используют общий кэш плана.
Исправлено
- фраза с дефисом больше не разбивается на два запроса;
- сортировка стабильна для одинаковых временных меток;
- диапазон с одинаковыми
fromиtoвозвращает пустой список.
0.7.2 — 9 июля 2026
Добавлено
- фильтры
host,trace_idиhas; - просмотр позиции чтения для каждого файла;
- endpoint
PATCH /sources/{id}; - счётчик ошибок парсинга;
- состояние
pausedдля источников.
Исправлено
- сохранённая позиция не перескакивает через последнюю строку;
- переименование файла не создаёт второй источник;
- относительный путь разворачивается от каталога конфигурации;
- пауза дожидается завершения текущей записи.
0.7.0 — 3 июля 2026
Добавлено
- REST API версии
v1; - группировка событий по
trace_id; - разбор многострочных stack trace;
- нормализация полей
timestamp,severityиservice_name; - экспорт результата поиска в JSON Lines;
- единый формат ошибок API.
Исправлено
- кириллица индексируется без потери регистра;
- перенос строки внутри сообщения не разбивает JSON-событие;
- отрицательный
limitвозвращаетinvalid_limit; - неизвестный endpoint возвращает JSON с кодом
not_found.
0.6.8 — 28 июня 2026
Добавлено
- автоматическое удаление сегментов по политике хранения;
- сухой запуск
logsense config check; - счётчик пропущенных строк;
- вывод размера индекса в
logsense status; - поддержка переменных окружения в путях.
Изменено
- очистка обрабатывает один сегмент за проход;
- контрольная точка записывается после подтверждения индекса;
- каталог данных создаётся с правами текущего пользователя.
Исправлено
- очистка не удаляет открытый сегмент;
- путь
${LOGSENSE_DATA_DIR}раскрывается только один раз; - ошибка конфигурации содержит имя поля и номер строки.
0.6.4 — 22 июня 2026
Добавлено
- чтение архивов
.gz; - контрольные точки позиции файла;
- политика хранения с интервалами
hиd; - ограничение размера одного сообщения;
- восстановление незакрытого сегмента после остановки процесса.
Исправлено
- повреждённый архив пропускается с понятной ошибкой;
- контрольная точка обновляется атомарно;
- короткая запись в конце файла дочитывается после продолжения;
- дата изменения файла не используется как время события.
0.6.0 — 16 июня 2026
Добавлено
- конфигурация нескольких источников;
- отдельные правила разбора для каждого источника;
- полнотекстовый поиск по
message; - точные фильтры по уровню и сервису;
- команда
logsense status; - формат источника
text.
Изменено
- индекс разбит на часовые сегменты;
- повторный запуск продолжает чтение с последней позиции;
- неизвестные JSON-поля сохраняются в
attributes.
Исправлено
- файл не блокируется во время чтения;
- повреждённая строка попадает в счётчик ошибок;
- пустой
serviceзаменяется именем источника; - уровень
warningнормализуется вwarn.
0.5.3 — 10 июня 2026
Добавлено
- формат источника
jsonl; - отображение текущего offset;
- фильтр временного диапазона;
- ограничение числа результатов;
- вывод версии схемы индекса.
Исправлено
- последняя строка без перевода строки индексируется;
- UTF-8 BOM удаляется перед разбором;
- файл после truncation читается с начала;
- несколько пробелов не меняют текст сообщения.
0.5.0 — 2 июня 2026
Добавлено
- файловый коллектор;
- локальный индекс событий;
- поиск по словам и временному диапазону;
- базовая схема события;
- команды
start,stopиversion; - уровни
trace,debug,info,warn,errorиfatal; - хранение дополнительных полей в
attributes.
Известные ограничения
- один процесс обслуживает один каталог индекса;
- поддерживаются UTF-8 и JSON Lines;
- изменение схемы требует пересоздания тестового индекса;
- поиск работает только по полю
message.