> Это первое релизное обновление, последующие обновления будут выходить в качестве патчей и минорных обновлений
> до следующего мажорного изменения
Breaking Changes
- Методы теперь больше не требуют передачи значений Enum. Теперь они используются лишь для валидации параметров, которые теперь являются обычными строками
> Теперь пользователи могут вводить обычные строки, как при регулярном запросе, без необходимости импорта необходимого енама. При провале валидации, loguru выведет на экран сообщение с уровнем warning, которое покажет какая строка не прошла проверку и какие варианты для нужного параметра доступны
Changelog:
**api.py:**
- **Завершено добавление поддержки v.2 методов API:**
- `/api/v2/topics/:topic_id/ignore`
- `/api/v2/users/:user_id/ignore`
- `/api/v2/abuse_requests/...`
- `/api/v2/user_rates/...`
> Метод `/api/v2/episode_notifications` не был добавлен из-за "приватности" метода
- Добавлена поддержка декоратора `method_endpoint(...)` для вынесения логгирования текущего эндпоинта метода
- Убрано явное объявление `scope=...` в декораторе `protected_method(...)`
- Убраны некоторые явные объявления типов _(Переход к инференции типов)_
- Обновлены все зависимости методов, в которых произошло обновление
- Исправлена документация
**utils.py:**
- Добавлены новые функции:
- `get_image_data` - логика по получению данных с картинки, перенесённая с `api.py`
- `validate_enum_params ` - валидация строковых значений с данными из енамов, которые соответствуют их параметрам
- Добавлена проверка на поле `is_ignored` в `validate_query_number`
- Убраны проверки на Enum в `generate_query_dict` и `generate_data_dict`
**decorators.py:**
- Добавлена функция для логгирования текущего эндпоинта метода
- Изменены тайпинги и названия функций-врапперов
**enums/...:**
- Добавлен `EnhancedEnum` с некоторыми удобными методами для утилит
- Обновлены все текущие енамы с использованием `EnhancedEnum`
- Смёржены типы топиков в `enums/topic.py`
- Добавлены новые енамы в `enums/user_rate.py`
**exceptions.py:**
- Пересена часть логики по выводу сообщений экепшенов
- Удалены некоторые лишние классы эксепшенов
**endpoints.py:**
- Удалены некоторые тайпинги и Enum в типах
**models/...:**
- Добавлена новая модель `abuse_response.py`
- Исправлена модель `favorites.py` (https://github.com/SecondThundeR/shikithon/pull/2, спасибо ren3104)
- Исправлен тип поля в `user_rate.py`
**pyproject.toml:**
- Обновлены версии `pydantic` и `pylint`
**.github/workflows/pypi-publish.yml:**
- Изменена версия `pypa/gh-action-pypi-publish`
**.pre-commit-config.yaml:**
- Версия `pre-commit-hooks` обновлена до версии 4.3.0
**README.md:**
- Обновлено содержание _(плейсхолдер, пример использования, и т.д.)_
**assets/logo.png:**
- Обновлен логотип для README.md
Full Changelog: https://github.com/SecondThundeR/shikithon/compare/v0.9.0...v1.0.0