• v2.0.0 3ce4f408ed

    Release v2.0.0
    Some checks failed
    checks / checks (3.10) (push) Has been cancelled
    checks / checks (3.11) (push) Has been cancelled
    checks / checks (3.12) (push) Has been cancelled
    checks / checks (3.13) (push) Has been cancelled
    Stable

    artem.kokos released this 2026-09-30 12:42:31 +07:00 | 4 commits to main since this release

    v2.0.0

    Ломающие изменения

    • Новая модель периода. Вместо period.last_used, period.precision, period.dynamic, period.default_from — единое поле period.from (дата начала окна). Окно отчёта — from .. сегодня. Старые ключи при загрузке игнорируются; env DEFAULT_FROM_DATE заменён на FROM_DATE, DEFAULT_TO_DATE удалён.
    • Дедупликация по created_on/updated_on удалена вместе с подсистемой last_used.

    Что нового

    • Авто-сдвиг окна. После успешного --commit или реальной отправки --send в конфиг пишется period.from = конец окна отчёта. Сдвига нет при: отказе от подтверждения отправки, ошибке SMTP, отсутствии записей в окне, ошибке сохранения файла.
    • Полные дни в --date. datetime-границы приводятся к датам (гранулярность API Redmine); смешение форматов date/datetime в одной границе допустим��.
    • Краевые случаи. period.from в будущем — окно «сегодня--сегодня»; невалидный from — warning и текущий месяц.

    Осознанные следствия

    • Граничный день (день коммита/отправки) перечитывается в следующем отчёте: уже отправленные записи этого дня повторятся, но записи, добавленные задним числом на день коммита, не теряются.
    • Обновления старых записей больше не подтягиваются в отчёт.

    Миграция

    Удалите из YAML period.last_used, period.precision, period.dynamic; замените period.default_from на period.from. В .env используйте FROM_DATE. Подробнее — в docs/CONFIG.md.

    Downloads