Releases: SecondThundeR/shikithon
v2.1.0 (Time to cooldown)
Changelog
- Добавлена поддержка библиотек
pyrate-limiter
иbackoff
(Более стабильная работа с ограничениями запросов к API) - Добавлена query-строка при выводе ссылки в логах
- Повышен лимит размера лога для ротации
- Изменены названия некоторых экспешенов
- Удалена библиотека
ratelimit
Full Changelog: v2.0.1...v2.1.0
v2.0.1
Changelog:
- Добавлен вывод количества одновременных запросов при использовании
multiple_requests
Изменения в README:
- Добавлена ссылка на гайд по миграции с версии 1.x.x
- Обновлен пример кода с использованием
multiple_requests
(Используются 3 разных эндпоинта и добавлена пропавшая "висячая" запятая для распаковки одной переменной из массива) - Исправлен пример кода для отключения логгирования
- Исправлены опечатки
Full Changelog: v2.0.0...v2.0.1
v2.0.0 (Make me asynchronous)
Это второе релизное обновление, последующие обновления будут выходить в качестве патчей и минорных обновлений
до следующего мажорного изменения
Breaking Changes
- Многочисленные изменения делают старый код неактуальным и в связи с отстуствием обратной совместимости, после обновления необходимо выполнить миграцию. Информация о миграции с версии 1.x.x на 2.0.0 находится здесь
- Теперь этот и новые ченджлоги будут включать себя лишь изменения с внешней стороны (внутренние изменения можно посмотреть по ссылке сравнения ниже)
- Обновлена логика возвращения данных для некоторых методов. Теперь некоторые методы возвращают данные по умолчанию, если API возвращает ничего или произошла ошибка (Пустые списки, конкретные значения булеанов и т.д.)
Changelog:
- Добавлена поддержка асинхронности и ресурсов API в качестве отдельных классов (см. новые примеры кода в README)
- Добавлена поддержка выполнения нескольких API запросов за раз
- Добавлен флаг для отключения логирования (см. раздел "Пара уточнений по использованию" в README)
- Обновлены зависимости (Добавлен
aiohttp
, убранrequests
) - Исправлены некоторые модели объектов из-за которых многие методы API возвращали ошибку валидации
- Исправлена ссылка на эндпоинт
/api/ranobe
- Исправлена документация некоторых методов API
- Прочие исправления и улучшения
Full Changelog: v1.0.2...v2.0.0
v1.0.2
v1.0.1 (Very small fix)
Changelog:
api.py:
- Исправлен текст в декораторе метода
convert_comment_review
Full Changelog: v1.0.0...v1.0.1
v1.0.0 (Stage v.2 completed)
Это первое релизное обновление, последующие обновления будут выходить в качестве патчей и минорных обновлений
до следующего мажорного изменения
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
(#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: v0.9.0...v1.0.0
v0.9.0 (Stage v.1 completed)
Breaking Changes
- Тип поля
is_ignored
в моделиuser.py
изменен сOptional[str]
наOptional[bool]
Changelog:
api.py:
- Завершено добавление поддержки v.1 методов API:
- Добавлена поддержка
/api/user_rates/:type/cleanup
и/api/user_rates/:type/reset
- Добавлена поддержка
enums/user_rate.py
- Добавлены перечисления для методов user_rates (v.1)
pyproject.toml:
- Обновлен
pylint
до версии 2.14.5
Full Changelog: v0.8.0...v0.9.0
0.8.0 (Is there an anime rickroll?)
Breaking Changes
- Перечисления
video.py
изменены на:Kind
->VideoKind
Hosting
->VideoHosting
Changelog:
api.py:
- Добавлена поддержка
/api/animes/.../videos
- Добавлена поддержка фотографий в виде URL в методе для
/api/user_images
- Добавлено больше точек для логгирования экспешенов
endoints.py:
- Обновлена документация метода
anime_video
models/user_rate.py
- Обновлена документация
models/video.py
- Обновлена документация и типизация
pyproject.toml:
- Обновлен
pre-commit
до версии 2.20.0 и добавлена библиотекаvalidators
README.md:
- Обновлен текст насчет зависимостей проекта
Full Changelog: v0.7.0...v0.8.0
0.7.0 (Time for some files)
Changelog:
api.py:
- Добавлена поддержка
/api/user_images
(На данный момент поддерживается только отправление локальных файлов) - Добавлена поддержка бинарных файлов в запросах (В частности, изображений и прочего)
- Флаг
json_logging
переименован вoutput_logging
models/created_user_image.py
- Первое добавление
pyproject.toml:
- Обновлены
pylint
до версии 2.14.4 иrequests
до версии 2.28.1
.pylintrc:
- Отключены некоторые правила, которых уже нет в последней версии PyLint
CONTRIBUTING.md, README.md:
- Фикс стилизации
Остальное:
- Этот и последующие релизы больше не будут поставляться билдом библиотеки. При необходимости, собрать библиотеку из исходного кода можно через команду
poetry build
Full Changelog: v0.6.0...v0.7.0
0.6.0 (Great Refactoring Saga)
Breaking changes
- Все неопциональные типы возврата данных заменены на опциональные для всех методов для взаимодействия с API
Changelog:
README.md:
- Добавлен комментарий насчет уведомления от сред разработки IntelliJ насчет параметра
align
уdiv
- Добавлен базовый тег
alt
для картинки с логотипом
api.py:
- Добавлена поддержка
/api/topics
- Добавлена поддержка унифицированного валидатора данных от сервера
- Добавлено обновление токена на инициализации конфигурации
- Обновлен импорт
FavoriteLinkedType
- Убрано лишнее описание
or None if list is empty
из документации - Убрана проверка и замечание по поводу передачи юзернеймов для создания и удаления друзей
endpoints.py:
- Метод
topic_updates
переименован вupdates_topics
- Обновлен импорт
FavoriteLinkedType
enums/favorite.py:
LinkedType
переименован вFavoriteLinkedType
для предотвращения коллизий сLinkedType
вenums/topic.py
enums/topic.py
- Первое добавление
models/topic.py:
- Добавлены опциональные типы для некоторых полей
utils.py:
- Добавлен метод
validate_return_data
для унифицированного валидирования данных возврата от сервера - Убрана проверка на
True
еслиdata
является булеаном в генерации Query-словаря