Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated Core APIs #1461

Closed
jodal opened this issue Feb 22, 2016 · 2 comments
Closed

Remove deprecated Core APIs #1461

jodal opened this issue Feb 22, 2016 · 2 comments

Comments

@jodal
Copy link
Member

@jodal jodal commented Feb 22, 2016

Our Core API is starting to become quite cluttered with old deprecated APIs that we need to remove to make the API easier to use correctly. In additon, removing the old @property APIs will lead to some performance improvements, given the way Pykka proxies currently accesses the properties when inspecting the actor's interface.

Before we can remove the deprecated core APIs, we need to stop using them. Luckily, none of the WebSocket API based clients have ever had access to the deprecated properties, reducing the scope of this a great deal.

  • Update Mopidy tests to not use deprecated APIs. See #1083.
  • Review Mopidy itself for deprecated API use. For example by removing the deprecated Core APIs, then running automated and manual tests.
  • Review all Python-based Mopidy Core API users. See https://github.com/jodal/mopidy-core-api-users for an easy way to search across the source code of many extensions.

Extensions that needs to be updated:

Remove deprecated APIs:

  • Core
    • uri_schemes property
    • version property
  • LibraryController
    • find_exact() method
    • lookup() method's uri argument
    • search() method's empty query returns everything behavior
    • search() method's kwargs argument
  • PlaybackController
    • current_tl_track property
    • current_track property
    • state property
    • time_position property
    • get_volume() method
    • set_volume() method
    • volume property
    • get_mute() method
    • set_mute() method
    • mute property
  • PlaylistController
    • get_playlists() method
    • playlists property
    • filter() method
  • TracklistController
    • tl_tracks property
    • tracks property
    • length property
    • version property
    • consume property
    • random property
    • repeat property
    • single property
    • add() method's tracks argument
    • add() method's uri argument
    • filter() method's kwargs argument
    • remove() method's kwargs argument
@jodal jodal self-assigned this Sep 30, 2018
jodal added a commit to jodal/mopidy that referenced this issue Jun 4, 2019
jodal added a commit to jodal/mopidy that referenced this issue Jun 4, 2019
jodal added a commit to jodal/mopidy that referenced this issue Jun 5, 2019
jodal added a commit to jodal/mopidy that referenced this issue Jun 5, 2019
jodal added a commit to jodal/mopidy that referenced this issue Jun 5, 2019
@jodal jodal removed their assignment Nov 9, 2019
@jodal

This comment has been minimized.

Copy link
Member Author

@jodal jodal commented Nov 9, 2019

We should ignore the items about other extensions above. Extensions will have to cross this bridge themselves.

What remains to close this issue is to:

  • Update tests/core/test_playback.py to not use core.tracklist.add()'s tracks argument. (This is also tracked as #1083).
  • Remove core.tracklist.add()'s tracks argument.
@jodal jodal added this to To do in Mopidy 3 on Python 3 via automation Dec 9, 2019
@jodal

This comment has been minimized.

Copy link
Member Author

@jodal jodal commented Dec 14, 2019

I've deferred removing the tracks arg to core.tracklist.add() to Mopidy 4.0, ref. #1855.

@jodal jodal closed this Dec 14, 2019
Mopidy 3 on Python 3 automation moved this from To do to Done in master branch Dec 14, 2019
@jodal jodal self-assigned this Dec 14, 2019
@jodal jodal moved this from Done in master branch to Released in pre-release in Mopidy 3 on Python 3 Dec 14, 2019
@jodal jodal moved this from Released in pre-release to Released in final release in Mopidy 3 on Python 3 Dec 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Mopidy 3 on Python 3
  
Released in final release
1 participant
You can’t perform that action at this time.