Skip to content

Releases: Sheppsu/osu.py

v2.2.0

29 Jul 02:57

Choose a tag to compare

Changes

  • Deprecated Client.from_client_credentials in favor of Client.from_credentials and same for AsynchronousClient.from_credentials, which has a new parameter lazily_authenticate that determines whether to immediately authenticate or not (defaults to lazy). Additionally, AsynchronousClient.from_credentials is no longer asynchronous, but returns an awaitable if lazily_authenticate is false.

New

  • Added UserScoreType.PINNED
  • Added User.daily_challenge_user_stats and DailyChallengeUserStats

v2.1.2

09 Jun 02:45

Choose a tag to compare

Removes some uncaught debug code

v2.1.1

08 Jun 16:21

Choose a tag to compare

This version complies with changes to beatmapset nomination requirements

  • BeatmapsetRequirement has two new optional attributes: eligible_main_rulesets and required_meta and required is now optional
  • Added BeatmapsetRequiredNominations as the type of required_meta

v2.1.0

31 May 15:32

Choose a tag to compare

New features

  • Add UserStatistics.rank_change_since_30_days

v2.0.2

02 May 00:49

Choose a tag to compare

Bug fixes

  • Made CurrentUserPin.score_type optional
  • Removed a debug print statement (oops)

v2.0.1

21 Apr 08:56

Choose a tag to compare

Small update that just has doc changes and removes unused objects

v2.0.0

21 Apr 07:09

Choose a tag to compare

Breaking changes

  • Remove support for endpoints requiring the lazer scope, which no longer works anyways
  • Remove anything involving lazer.ppy.sh
  • AsynchronousClient.from_client_credentials is asynchronous

New changes

  • Add Client.set_api_version
  • Create BaseAuthHandler and change some internals to reference it
  • Create AsynchronousAuthHandler for AsynchronousClient
  • Added __slots__ to Client
  • Added active_tournament_banners for User
  • Added Client.get_score_by_id_only
  • Added __len__ and __iter__ to BeatmapScores

Other stuff

  • websockets and osrparse requirements are now under their own features: replay and notifications respectively

v1.2.0

21 Oct 06:38

Choose a tag to compare

Bug fixes

  • fixed BaseNominations.nominated, ranking_eta, and ranking_queue_position not being optional
  • added CurrentNomination and fixed BeatmapsetCompact.current_nominations type

New changes

  • added download_beatmapset endpoint
  • get_score has been removed because the endpoint was removed (not marking as breaking because a 404 error would be raised anyway)
  • renamed LegacyScore.replay to has_replay because replay has been deprecated in favor of has_replay (though LegacyScore has a replay property for backwards compatibility)
  • added UserBadge.image_2x_url
  • added aiofiles to requirements.txt

Internal changes

  • replace use of time.perf_counter with monotonic
  • added make_request_to_endpoint and make_request wrapper for it
  • removed is_download from async make_request_to_endpoint and allow_redirect from both sync and async

v1.1.0

18 Aug 01:01

Choose a tag to compare

New changes

  • Implement cursor parameter for get_matches
  • Add ASCENDING and DESCENDING to MatchSort to make it more inuitive. OLDEST and NEWEST still exist there for backwards compatibility, but are not listed in the documentation.

Bug fixes

  • Fix rate limit handler for AsynchronousClient when multiple asynchronous requests
  • Fix UserAccountHistory.supporting_url

Other

  • Update required version of websockets in requirements.txt from >=10.2,<11 to >=11,<12

v1.0.0

01 Aug 01:19

Choose a tag to compare

Unfortunately, I did not keep good track of all the small changes I made in this version, though I will make sure to keep better track in the future. Most of the changes here will be rather vague.

  • Several of the changes in this update are related to making the library more user friendly and providing quality of life features:
    • Everything in the library has been properly typed.
    • Previously undocumented objects have been documented.
    • Each endpoint that would previously return a dictionary returns a unique object that is documented and typed. However, they are also backwards compatible and will still work when indexed like dictionaries.
    • Some examples have been updated to be more informative and a couple more have been added.
  • Much documentation has been fixed to be up to professional standards and there should be barely any mistakes in documentation.
  • The formatting of the code has been standardized using black, which is being used in tandem with flake8.
  • Tests have been updated to account for all the new changes and some of them have been improved to better ensure functions are working correctly.
  • Several endpoints have been fixed so that they work correctly.

Regarding breaking changes: there are some, but since I didn't keep track of all the changes I made, it'd be very time consuming to pin point and list all of them. Sorry for the inconvenience.