Langfuse выпустила v4.25.0 31 августа в 10:42:43 UTC. В этом релизе вводится ограничение на глубину исторического запроса: 30 дней для тарифа Cloud Hobby и 90 дней для Core. Лимит применяется примерно в дюжине REST-эндпоинтов и шести инструментах MCP. Pull request классифицирован как bug fix, non-breaking.
Почему эта классификация неверна по сути
API, которое вчера возвращало 180 дней трассировок, а сегодня — 30, изменило свой контракт. Сам запрос не стал некорректным; просто ответ теперь обрезается. Любая панель, плановый отчёт или оценочная задача, считающая показатель за квартал, продолжит работать, продолжит возвращать 200 и начнёт выдавать другой ответ. Изменение, которое меняет результаты без изменения статусов, — самый дорогой вид non-breaking-классификации, потому что downstream-системы не могут его обнаружить.
Сигнал, который вычислили и выбросили
Реализация знает, когда запрос был урезан, — она вычисляет флаг, указывающий, что диапазон был ограничен. Этот флаг не показывается наружу. Он не становится заголовком ответа, не попадает в поле полезной нагрузки и не превращается в предупреждение. В итоге сервер располагает ровно той информацией, которая нужна клиенту, чтобы понять, что данные неполны, и отбрасывает её перед ответом. Один заголовок превратил бы тихое усечение в обнаруживаемое — практически без затрат.
Что не так с распространённой трактовкой
Ограничения хранения для бесплатных тарифов — обычная и оправданная практика; hosted-сервис вправе ограничивать то, что он хранит и отдаёт. Проблема не в том, что Langfuse ввела лимит. Проблема в том, как именно он доставляется: как незаметное, нигде не объявленное ограничение, помеченное как non-breaking, на эндпоинтах, которыми пользуются автоматизированные системы. Если читать это как «бесплатный тариф получает 30-дневное хранение», это просто заметка о тарифе. Если как «дюжина эндпоинтов тихо начала возвращать меньше данных», это сбой наблюдаемости в продукте для наблюдаемости.
Что проверить
Любую метрику на основе Langfuse, охватывающую более 30 дней на Hobby или более 90 на Core, после обновления нужно пересчитать заново. Ошибки не будет. Она просто станет меньше, и разница будет выглядеть как падение трафика, а не как падение видимости.
