• v1.6.0 86f083aa79

    artem.kokos released this 2026-06-29 12:38:54 +07:00 | 53 commits to main since this release

    Примечания к релизу redmine-reporter v1.6.0

    Общее

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

    Новые возможности

    • Улучшения CLI:
      • флаги --url, --api-key, --config (#20)
      • флаги --version, --verbose, --debug (#18)
      • флаг --summary — сводка по времени и разбивка по проектам (#22)
    • Динамический период отчёта по умолчанию: текущий месяц, если даты не заданы в .env (#17)
    • Новые форматы экспорта:
      • JSON (#23)
      • Excel (.xlsx) (#23)

    Улучшения

    • Клиент Redmine:
      • retry/backoff-адаптер и таймауты запросов (#24)
      • загрузка issue_id чанками, чтобы не превышать лимит длины URL (#21)
      • исправлено монтирование retry-адаптера на реальную сессию движка
    • Конфигурация:
      • .env больше не переопределяет переменные окружения (#15)
      • все геттеры конфига теперь обрезают whitespace (#35)

    Исправления багов

    • Форматтеры:
      • CSV экспортирует полные project/version в каждой строке и содержит UTF-8 BOM для Excel (#26, #31)
      • HTML-экспорт содержит <meta charset="utf-8"> (#27)
      • ODT: при пустом авторе заголовок не содержит мусорных символов (#30)
      • ODT: корректно используются covered-cell при объединении ячеек (#13)
      • Markdown и HTML корректно экранируют спецсимволы
    • CLI:
      • информационные сообщения («Total issues») пишутся в stderr, stdout остаётся чистым для pipe (#28)
      • пустой результат time entries обрабатывается корректно (#36)
    • Перевод статусов:
      • «Wait Release» теперь корректно отображается как «Закрыто» (#29)

    Внутренние доработки

    • Общая логика группировки по проекту/версии вынесена в report_builder (#19)
    • Добавлен __init__.py в redmine_reporter/formatters/, пакет стал обычным (#16)
    • Исправлен недетерминированный порядок задач внутри одной группы (#33)
    • Убрана избыточная двойная сортировка и мёртвый код (#32, #34, #37)
    • Ленивый импорт ODT больше не ломается при отсутствии odfpy (#25)

    Закрытые задачи

    #37, #36, #35, #34, #33, #32, #31, #30, #29, #28, #27, #26, #25, #24, #23,
    #22, #21, #20, #19, #18, #17, #16, #15

    Downloads