2026-06-17 - 2026-09-17
Overview
12 Releases published by 1 user
Published
v1.12.1
Release v1.12.1
Published
v1.12.0
Published
v1.11.1
Published
v1.11.0
Published
v1.10.1
Published
v1.10.0
Published
v1.9.0
Published
v1.8.1
Published
v1.8.0
Published
v1.7.0
Published
v1.6.1
Published
v1.6.0
60 Issues closed from 2 users
Closed
#68 Участие в коде
Closed
#69 Сбор данных в одну таблицу с нескольких аккаунтов
Closed
#70 Как-то криво работает автопереключение на следующий период
Closed
#53 [Enhancement] Настроить CI/CD для автоматического прогона тестов и линтеров
Closed
#65 [Enhancement] Вынести перевод статусов (STATUS_TRANSLATION) из кода в конфигурацию
Closed
#56 [Enhancement] Убрать/пересмотреть хардкод даты по умолчанию 2025-12-19--2026-01-31
Closed
#62 [Code Quality] Несогласованная семантика verify_ssl: из YAML true → путь к CA-bundle, из env true → bool
Closed
#63 [Code Quality] Мёртвый и избыточный код: двойная проверка пустого результата в cli.py, недостижимая ветка в xlsx.py
Closed
#64 [Code Quality] Side effects при импорте: load_dotenv() в config.py и глобальная мутация email.charset в mailer.py
Closed
#54 [Security] Требовать HTTPS для REDMINE_URL или предупреждать при HTTP
Closed
#55 [Security] Санитизировать вывод исключений Redmine в CLI
Closed
#57 [Security/Enhancement] Предупреждать при REDMINE_VERIFY=false
Closed
#58 [Bug] precision: datetime: дедупликация падает с TypeError (naive vs aware datetime)
Closed
#59 [Bug] dynamic: true + precision: datetime без --date падает: parse_date_range принимает только даты
Closed
#60 [Bug] --user-login резолвится в первого попавшегося пользователя без проверки совпадения
Closed
#61 [Reliability] Молчаливая потеря данных: недоступные задачи выпадают из отчёта, сбой справочника активностей глотается
Closed
#51 [Bug] Python 3.9: tuple[str, str] несовместим с declared requires-python = ">=3.9"
Closed
#66 [Packaging] Прямые зависимости requests/urllib3 не объявлены в pyproject.toml
Closed
#67 [Tests] Пробелы в тестовом покрытии: дедупликация datetime, dynamic-режим, моки не соответствуют сигнатуре, нет конфигурации pytest
Closed
#52 [Code Quality] black --check не проходит для client.py и tests/test_client.py
Closed
#50 period.default_to приводит к устаревшему периоду при --send без --date
Closed
#48 HTML-тело письма при отправке отчёта
Closed
#49 Добавить report.no_time в YAML-конфиг
Closed
#45 Автоотправка по почте
Closed
#44 --commit -- автоматически переключить даты
Closed
#43 Имя файла и пути по умолчанию
Closed
#47 Поддержка времени в периоде отчёта (datetime precision)
Closed
#46 Поддержка YAML-конфига в ~/.config/redmine-reporter/config.yml
Closed
#42 Лишний пустой абзац в начале ODT (из шаблона)
Closed
#41 Добавить в отчёт тип активности (activity) затреканного времени
Closed
#40 Возможность строить отчёт по time entries другого пользователя
Closed
#39 Нечитаемые сообщения об ошибках Redmine API
Closed
#38 XLSX-вывод не использует возможности Excel
Closed
#4 Генерация отчёта по команде
Closed
#3 Добавить тип затреканного времени
Closed
#21 Разбить длинный issue_id на чанки при запросе к Redmine
Closed
#34 Мёртвый код: недостижимая проверка len(parts) != 2 в parse_date_range
Closed
#37 Мёртвый код: неиспользуемая переменная mock_path в тесте ODT
Closed
#31 Несогласованность: CSV экспортирует полные project/version, остальные — display-значения
Closed
#28 Информационное сообщение «Total issues» пишется в stdout и портит вывод при pipe
Closed
#30 ODT: мусор в заголовке при пустом авторе
Closed
#26 CSV-экспорт без UTF-8 BOM — кракозябры в Excel
Closed
#27 HTML-экспорт без charset — риск неверного определения кодировки
Closed
#36 Тест test_cli_smoke_empty проверяет недостижимый путь (возврат пустого списка)
Closed
#22 Добавить итоги и сводки в отчёт
Closed
#23 Добавить экспорт в Excel (.xlsx) и JSON
Closed
#17 Сделать дефолтный период динамическим (текущий/прошлый месяц)
Closed
#18 Добавить флаги --verbose, --debug и --version
Closed
#20 Добавить CLI-флаги --url, --api-key, --config, --template
Closed
#24 Добавить retry/backoff и таймауты для запросов к Redmine
Closed
#13 Исправить ODT-группировку ячеек (numberrowsspanned)
Closed
#19 Вынести группировку проект/версия из HTML и ODT в report_builder
Closed
#14 Починить отображение версии задачи: сейчас выводится ID вместо имени
Closed
#32 Избыточная двойная сортировка задач (client.py + report_builder.py)
Closed
#33 Недетерминированный порядок задач внутри одной группы проект+версия
Closed
#29 Неверный перевод статуса «Wait Release» → «Закрыто»
Closed
#15 Запретить .env переопределять переменные окружения
Closed
#16 Добавить __init__.py в redmine_reporter/formatters/
Closed
#25 Недостижимый обработчик ImportError для odfpy (импорт на уровне модуля)
Closed
#35 get_redmine_password() — единственный геттер без .strip()
58 Issues created by 0 users
Opened
#13 Исправить ODT-группировку ячеек (numberrowsspanned)
Opened
#14 Починить отображение версии задачи: сейчас выводится ID вместо имени
Opened
#15 Запретить .env переопределять переменные окружения
Opened
#16 Добавить __init__.py в redmine_reporter/formatters/
Opened
#17 Сделать дефолтный период динамическим (текущий/прошлый месяц)
Opened
#18 Добавить флаги --verbose, --debug и --version
Opened
#19 Вынести группировку проект/версия из HTML и ODT в report_builder
Opened
#20 Добавить CLI-флаги --url, --api-key, --config, --template
Opened
#21 Разбить длинный issue_id на чанки при запросе к Redmine
Opened
#22 Добавить итоги и сводки в отчёт
Opened
#23 Добавить экспорт в Excel (.xlsx) и JSON
Opened
#24 Добавить retry/backoff и таймауты для запросов к Redmine
Opened
#25 Недостижимый обработчик ImportError для odfpy (импорт на уровне модуля)
Opened
#26 CSV-экспорт без UTF-8 BOM — кракозябры в Excel
Opened
#27 HTML-экспорт без charset — риск неверного определения кодировки
Opened
#28 Информационное сообщение «Total issues» пишется в stdout и портит вывод при pipe
Opened
#29 Неверный перевод статуса «Wait Release» → «Закрыто»
Opened
#30 ODT: мусор в заголовке при пустом авторе
Opened
#31 Несогласованность: CSV экспортирует полные project/version, остальные — display-значения
Opened
#32 Избыточная двойная сортировка задач (client.py + report_builder.py)
Opened
#33 Недетерминированный порядок задач внутри одной группы проект+версия
Opened
#34 Мёртвый код: недостижимая проверка len(parts) != 2 в parse_date_range
Opened
#35 get_redmine_password() — единственный геттер без .strip()
Opened
#36 Тест test_cli_smoke_empty проверяет недостижимый путь (возврат пустого списка)
Opened
#37 Мёртвый код: неиспользуемая переменная mock_path в тесте ODT
Opened
#38 XLSX-вывод не использует возможности Excel
Opened
#39 Нечитаемые сообщения об ошибках Redmine API
Opened
#40 Возможность строить отчёт по time entries другого пользователя
Opened
#41 Добавить в отчёт тип активности (activity) затреканного времени
Opened
#42 Лишний пустой абзац в начале ODT (из шаблона)
Opened
#43 Имя файла и пути по умолчанию
Opened
#44 --commit -- автоматически переключить даты
Opened
#45 Автоотправка по почте
Opened
#46 Поддержка YAML-конфига в ~/.config/redmine-reporter/config.yml
Opened
#47 Поддержка времени в периоде отчёта (datetime precision)
Opened
#48 HTML-тело письма при отправке отчёта
Opened
#49 Добавить report.no_time в YAML-конфиг
Opened
#50 period.default_to приводит к устаревшему периоду при --send без --date
Opened
#51 [Bug] Python 3.9: tuple[str, str] несовместим с declared requires-python = ">=3.9"
Opened
#52 [Code Quality] black --check не проходит для client.py и tests/test_client.py
Opened
#53 [Enhancement] Настроить CI/CD для автоматического прогона тестов и линтеров
Opened
#54 [Security] Требовать HTTPS для REDMINE_URL или предупреждать при HTTP
Opened
#55 [Security] Санитизировать вывод исключений Redmine в CLI
Opened
#56 [Enhancement] Убрать/пересмотреть хардкод даты по умолчанию 2025-12-19--2026-01-31
Opened
#57 [Security/Enhancement] Предупреждать при REDMINE_VERIFY=false
Opened
#58 [Bug] precision: datetime: дедупликация падает с TypeError (naive vs aware datetime)
Opened
#59 [Bug] dynamic: true + precision: datetime без --date падает: parse_date_range принимает только даты
Opened
#60 [Bug] --user-login резолвится в первого попавшегося пользователя без проверки совпадения
Opened
#61 [Reliability] Молчаливая потеря данных: недоступные задачи выпадают из отчёта, сбой справочника активностей глотается
Opened
#62 [Code Quality] Несогласованная семантика verify_ssl: из YAML true → путь к CA-bundle, из env true → bool
Opened
#63 [Code Quality] Мёртвый и избыточный код: двойная проверка пустого результата в cli.py, недостижимая ветка в xlsx.py
Opened
#64 [Code Quality] Side effects при импорте: load_dotenv() в config.py и глобальная мутация email.charset в mailer.py
Opened
#65 [Enhancement] Вынести перевод статусов (STATUS_TRANSLATION) из кода в конфигурацию
Opened
#66 [Packaging] Прямые зависимости requests/urllib3 не объявлены в pyproject.toml
Opened
#67 [Tests] Пробелы в тестовом покрытии: дедупликация datetime, dynamic-режим, моки не соответствуют сигнатуре, нет конфигурации pytest
Opened
#68 Участие в коде
Opened
#69 Сбор данных в одну таблицу с нескольких аккаунтов
Opened
#70 Как-то криво работает автопереключение на следующий период