Список изменений

Версия 0.1.1

25.03.2020

Закончено документирование всех классов и основных методов!

Переломные изменения

  • Классы отметок «мне нравится» для альбомов, плейлистов и исполнителей обобщены. Теперь представлены одним классом.
    • Удаленные классы:
      • ArtistsLikes.
      • AlbumsLikes.
      • PlaylistsLikes.
    • Новый класс: Like (поле type для определения содержимого).
  • Изменено название пакета с status на account (#195).
  • Исправлено выбрасываемое исключение при таймауте:
    • Прошлое исключение: TimeoutError (built-in).
    • Новое исключение: TimedOut (yandex_music.exceptions).
  • Удалены следующие файлы: requirements.txt, requirements-dev.txt, requirements-docs.txt.

Крупные изменения

  • Добавлено обнаружение новых полей с просьбой сообщить о них (#216).
    • Добавлена проверка на неизвестные поля.
    • Добавлен вывод отладочной информации в виде warning’a.
    • Добавлен шаблон issue для отправки логов.
  • Добавлено поле type для класса SearchResult для определения типа результата поиска по объекту.
  • Добавлены настройки пользователя (#195):
    • Добавлен класс UserSettings.
    • Добавлен метод для получения своих настроек (account_settings).
    • Добавлен метод для получения настроек другого пользователя (users_settings).
    • Добавлен метод для изменения настроек (account_settings_set).
  • Добавлен возможность получить похожие треки (#197):
    • Добавлен класс TracksSimilar с полями трека и списка похожих треков.
    • Добавлен метод для получения похожих треков (tracks_similar).
  • Добавлены шоты от Алисы (#185):
    • Добавлен метод after_track в класс Client для получения контента для воспоризведения после трека (реклама, шот).
    • Добавлены методы для загрузки обложки и аудиоверсии шота.
    • Добавлены новые классы:
      • Shot
      • ShotData
      • ShotEvent
      • ShotType
  • Добавлен метод для изменения видимости плейлиста (#179).
  • Добавлена поддержка Яндекс.Радио (#20):
    • Исправлена отправка фидбека.
    • Написана инструкция по использованию (в доке к методу).
    • Добавлен аругмент для перехода по цепочке треков.
    • Добавлен метод для изменения настроек станции.

Незначительные изменения и/или исправления

  • Убрано дублирование информации в документации (#247).
  • Добавленые новые поля в класс Track: version, remember_position (#238).
  • Добавлено исключение InvalidBitrate при попытке загрузить недопустимый трек по критериям (кодек, битрейт).
  • Исправлено получение прямой ссылки на файл с кодеком AAC (#237, #25).
  • Исправлено получение плейлиста с Алисой в лендинге (#185).
  • Исправлено название поля с ссылкой на источник в классе Descriptionurl на uri).
  • Исправлена десериализация несуществующего исполнителя.
  • Добавлено поле version в класс Album (#178).
  • Поле picture класса Vinyl теперь опциональное.
  • Поле week класса Ratings теперь опциональное.
  • Поле product_id класса AutoRenewable теперь опциональное (#182).
  • Правки замечаний по codacy.

Версия 0.0.16

29.12.2019

Переломные изменения

  • Поле account переименовано в me и теперь содержит объект Status, вместо Account (#162).
  • Убрано использование зарезервированных имён в аргументах конструкторов (теперь они с _ на конце). Имена с нижними подчёркиваниями есть как при сериализации так и при десериализации (#168).

Крупные изменения

  • Добавлены аннотации типов во всей библиотеке!

Незначительные изменения и/или исправления

  • Добавлен аргумент fetch_account_status для опциональности получения информации об аккаунте при инициализации клиента (#162).
  • Добавлены тесты c передачей пустого словаря в de_json и de_list (#174).
  • Использование ujson при наличии, обновлены зависимости (#161).
  • Добавлен в зависимости для разработки importlib_metadata для поддержки старых версий (в новой версии pytest его больше не используют, в угоду importlib.metadata #pytest-5537)) (#161).
  • Добавлен в зависимости для разработки atomicwrites, который используется pytest теперь только на Windows - #pytest-6148 (#161).
  • Исправлен баг с передачей timeout аргумента в аргумент params в следующих методах: artists, albums, playlists_list (#120).
  • Исправлена иницилазиация клиента при помощи логина и пароля с использованием прокси (#159).
  • Исправлен баг в загрузке обложки альбома.

Версия 0.0.15

01.12.2019

Переломные изменения

  • У классов Artist, Track и Playlist изменился перечень полей для генерации хеша.

Крупные изменения

  • Добавлена возможность выполнять запросы через прокси-сервер для использовании библиотеки на зарубежных серверах (#139).
    • Добавлен пример использования в README.
  • Добавлена обработка капчи при авторизации с возможностью использования callback-функции для её обработки (#140):
    • Новые исключения:
      • Captcha:
        • CaptchaRequired.
        • CaptchaWrong.
    • Новые классы:
      • CaptchaResponse.
    • Новые примеры в README:
      • Пример обработки с использованием callback-функции.
      • Пример полностью своей обработки капчи.
  • Добавлена документация для класса Search (#83).
  • Добавлена возможность получения всех альбомов исполнителя (#141):
    • Новые классы:
      • ArtistAlbums.
    • Новые методы:
      • artists_direct_albums у Client.
      • get_albums у Artist.
  • Добавлена обработка несуществующего плейлиста (#147):
    • Новые классы:
      • PlaylistAbsence.

Незначительные изменения и/или исправления

  • Исправлен баг с загрузкой файлов (#149).
  • Исправлен баг некорректной десериализации плейлиста при отсутствии прав на него (#147).
  • Исправлен баг неправильной десериализации треков и артистов у собственных загруженных файлов (#154).

Версия 0.0.14

10.11.2019

Переломные изменения

  • Практически у всех классов был обновлён список полей участвующих при сравнении объектов.
  • Если в атрибутах для стравнения объектов присутствуют списки, то они будут преобразованы к frozenset.
  • Убрано конвертирование даты из строки в объект. Теперь все даты представляны строками в ISO формате.
  • Классы AlbumSearchResult, ArtistSearchResult, PlaylistSearchResult, TrackSearchResult, VideoSearchResult были объединены в один - SearchResult.

Крупные изменения

  • Добавлен метод получения треков исполнителя (#123).
  • Добавлены классы-обёртки над пагинацией (Pager) и списка треков артиста (ArtistsTracks).
  • Добавлено 554 unit-теста для всех классов-обёрток над объектами API.
  • Добавлен codecov и workflows для GitHub Actions.

Незначительные изменения и/или исправления

  • Поле cover_uri класса Album теперь опциональное.
  • Поле region у класса Account теперь не обязательное.
  • Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
  • Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией.
  • Исправлена десериализация similar_artists в BriefInfo.
  • Исправлен баг с десериализацией artist в классе ArtistEvent.
  • Исправлен баг десериализации списка альбомов и артистов у класса Track (#122).
  • Исправлена загрузка обложки у трека.
  • Исправлены сравнения объектов.