Skip to content

Releases: tybug/ossapi

v4.0.0

29 May 18:03
Compare
Choose a tag to compare

The big change in this release is to account for the migration from old score ids (https://osu.ppy.sh/scores/osu/3772000814) to new score ids (https://osu.ppy.sh/scores/1312718771). The former requires the gamemode while the latter does not. Endpoints which previously took both a gamemode and a score id have been changed to take just a score id (new format), while the previous endpoint behavior was kept under a different method name.

Breaking changes

  • rename api.score to api.score_mode
  • add a new api.score method which takes the new score id format
  • rename api.download_score to api.download_score_mode
  • rename BeatmapScores.userScore to BeatmapScores.user_score
  • add a new api.download_score method which takes the new score id format
  • rename before and after parameters of api.match to before_id and after_id, to better reflect that the api filters by id and not something like time
  • remove Domain.LAZER
    • lazer.ppy.sh was decommissioned in the past few months, so this parameter has no effect and in fact causes errors. Lazer data is now live on the main site and you do not need to pass a Domain to access it

Migration guide

  • change any api.score calls to api.score_mode (and consider migrating to the new api.score, to use the new score ids without gamemodes)
  • change any api.download_score calls to api.download_score_mode (and consider migrating to the new api.download_score, for the same reason)
  • rename any api.match(before=..., after=...) calls to api.match(before_id=..., after_id=...)

Non-breaking changes

  • add legacy_only parameter to applicable endpoints
  • make Statistics counts optional
  • correctly type cursor_string as optional

v4.0.0beta1

19 Apr 02:02
Compare
Choose a tag to compare

This is a beta release. You can install it with pip install -U --pre ossapi. I may make breaking changes based on feedback before releasing 4.0.0 final (though I don't expect to).

The big change in this release is to account for the migration from old score ids (https://osu.ppy.sh/scores/osu/3772000814) to new score ids (https://osu.ppy.sh/scores/1312718771). The former requires the gamemode while the latter does not. Endpoints which previously took both a gamemode and a score id have been changed to take just a score id (new format), while the previous endpoint behavior was kept under a different method name.

Breaking changes

  • rename api.score to api.score_mode
  • add a new api.score method which takes the new score id format
  • rename api.download_score to api.download_score_mode
  • add a new api.download_score method which takes the new score id format
  • rename before and after parameters of api.match to before_id and after_id, to better reflect that the api filters by id and not something like time
  • remove Domain.LAZER
    • lazer.ppy.sh was decommissioned in the past few months, so this parameter has no effect and in fact causes errors. Lazer data is now live on the main site and you do not need to pass a Domain to access it

Migration guide

  • change any api.score calls to api.score_mode (and consider migrating to the new api.score, to use the new score ids without gamemodes)
  • change any api.download_score calls to api.download_score_mode (and consider migrating to the new api.download_score, for the same reason)
  • rename any api.match(before=..., after=...) calls to api.match(before_id=..., after_id=...)

Non-breaking changes

  • make Statistics counts optional
  • correctly type cursor_string as optional

v3.4.4

09 Feb 23:17
Compare
Choose a tag to compare
  • add provisional api._beatmap_scores_non_legacy endpoint
    • this implements the /beatmaps/{beatmap}/solo-scores endpoint, which returns lazer-specific data in a new format.
    • feel free to give feedback on this endpoint on either discord or through github issues! The api design and classes on ossapi's side are not final and subject to change.
    • speaking of, this is a provisional and unstable api. I may and will make breaking changes to this endpoint without a major version bump before I finalize it by removing its underscore. As always, I will try to minimize this changes, and any changes will be communicated in release notes and on discord.
  • add UserCompact.active_tournament_banners
  • add UserCompact.session_verified
  • add Events.cursor
  • fix some events from api.events() not parsing correctly

v3.4.3

09 Jan 04:48
Compare
Choose a tag to compare
  • fix error parsing UserSupportGiftEvent

v3.4.2

27 Nov 05:24
Compare
Choose a tag to compare
  • add support for writing ossapi Replay files, like r.write_path. See osrparse documentation for details.

v3.4.1

23 Oct 20:23
Compare
Choose a tag to compare
  • fix recent Union deserialization improvements not being applied to OssapiAsync

v3.4.0

21 Oct 21:09
Compare
Choose a tag to compare
  • implement endpoint api.beatmap_packs()
  • implement endpoint api.beatmap_pack()
  • add GithubUser.github_username
  • fix api.ranking with type="country" erroring
  • fix RankingType.CHARTS value. previously spotlight, now charts
  • remove User.is_{admin, bng, full_bn, gmt, limited_bn, moderator, nat}
    • these attributes have not been returned from the api in years. Use user.groups instead
  • add a user agent header to all requests, in the format ossapi (vx.x.x)
  • use correct return type annotation for api.beatmap_user_scores()

v3.3.7

01 Oct 20:30
Compare
Choose a tag to compare
  • add after, before, and limit params to api.match
  • make MatchGame.beatmap optional
  • export more enums and models from __init__

v3.3.6

08 Sep 22:48
Compare
Choose a tag to compare
  • improve deserialization performance even more (490b386)

v3.3.5

07 Sep 19:09
Compare
Choose a tag to compare
  • improve deserialization performance (bcad462)
  • add UserBadge.image_2x_url
  • add ProfileBanner.image_2x