Skip to content

Releases: Sheppsu/osu.py

v0.6.0

11 Mar 04:54

Choose a tag to compare

v0.6.0 Pre-release
Pre-release

New changes

  • Updated UserStatistics object with several attributes: count_300, count_100, count_50, count_miss
  • Updated NotificationWebsocket with updated functionality. If you're looking to check out all the functionality, check out this example.
  • Created a class for each type of detail object for Notification.details
  • Added enums NotificationCategory and NotificationType
  • Update chat_acknowledge with new query params.

Bug fixes

  • Fix mark_notifications_read

v0.5.1

22 Feb 19:31

Choose a tag to compare

v0.5.1 Pre-release
Pre-release

New

  • New mod AC added to Mod enum.
  • LazerMod will fallback to using a string value when the Mod enum does not contain a mod.

Breaking change

  • ScoreDataStatistic -> ScoreDataStatistics
    I know I really shouldn't be putting a breaking change in a minor version change, but it was more like a typo fix so w/e.

v0.5.0

24 Jan 10:56

Choose a tag to compare

v0.5.0 Pre-release
Pre-release

All changes to Client have also been applied to AsynchronousClient
All changes to HTTPHandler have also been applied to AsynchronousHTTPHandler

New

  • Client.chat_acknowledge
  • Client.get_new_score_token
  • Client.submit_score
  • Client.favourite_beatmapset
  • Client.get_open_chat_channels
  • Client.join_user_to_room
  • Client.kick_user_from_room
  • Client.report
  • Client.create_multiplayer_room
  • Client.create_playlist
  • Client.check_download_quota
  • added use_lazer argument to Client init
  • added Client.from_osu_credential
  • LazerAuthHandler
  • RoomFilterMode enum
  • PlaylistItemUtil
  • ReadNotification
  • UserStatistics.pp_exp
  • UserStatistics.global_rank_exp
  • Room.realtime_type
  • Mod.FreezeFrame
  • ChatChannelType.ANNOUNCE
  • Scope supports being passed "*"
  • Details prints a warning when given an unknown type
  • SearchResults
  • HTTPHandler and AsynchronousHTTPHandler print an error message if the api replies with one

Breaking change

  • The return type for Client.search has changed

Non-breaking changes

  • Comment representation changes from showing message, user_id, and created_at to user_id and message

Bug fixes

  • fixed typo for CurrentUserAttributes if type ChatChannelUserAttributes
  • fixed values for Room.types and Room.queue_mode
  • KeyError being thrown in Navigation
  • KeyError being thrown in CommentBundle
  • KeyError being thrown in Spotlight
  • KeyError being thrown in MultiplayerScores
  • KeyError being thrown in Comment
  • KeyError being thrown in ChatChannel
  • fixed all bugs with NotificationWebsocket
  • fixed Client.create_new_pm
  • fixed Client.get_updates
  • fixed Client.mark_channel_as_read
  • fixed Client.create_channel
  • fixed Client.get_channel
  • fixed Client.get_comments
  • fixed Client.post_comment
  • fixed Client.edit_comment
  • fixed Client.get_notifications
  • fixed Client.mark_notifications_read
  • fixed Client.get_rooms

Inside changes

  • request method is associated with Path instead of passed as argument when making requests
  • HTTPHandler and AsynchronousHTTPHandler can send multipart/form-data requests
  • added lazer_base_url and lazer_token_url to constants
  • added Path.beatmapset_search

v0.4.2

01 Oct 08:24

Choose a tag to compare

v0.4.2 Pre-release
Pre-release

New

  • OsuBeatmapDifficultyAttributes objects have speed_note_count attribute now.

Breaking changes

  • TaikoBeatmapDifficultyAttributes object no longer has approach_rate attribute and now has a peak_difficulty attribute
  • ManiaBeatmapDifficultyAttributes object no longer has score_multiplier attribute.
  • LazerMod.settings can now be None

v0.4.1

18 Sep 22:47

Choose a tag to compare

v0.4.1 Pre-release
Pre-release

Breaking changes

  • status attribute of BeatmapsetCompact and BeatmapCompact objects changed from type str to type RankStatus

Non-breaking changes

  • Typing and doc changes

v0.4.0

10 Sep 23:33

Choose a tag to compare

v0.4.0 Pre-release
Pre-release

New

Breaking changes

  • Score class was renamed to LegacyScore and the Score class is a class for instantiating a score object (SoloScore or LegacyScore) based on the type attribute given by the API.

Non-breaking changes

  • The scope required for the get_users endpoint changed from lazer to public.

v0.3.0

07 Aug 10:09

Choose a tag to compare

v0.3.0 Pre-release
Pre-release

Changes from v0.2.10 to v0.3.0

New

  • More custom rate limit handling. You can choose the wait time between requests as well as the max requests per minute. Just make sure you're always following peppy's TOU for the api:

Use the API for good. Don't overdo it. If in doubt, ask before (ab)using :). this section may expand as necessary.
Current rate limit is set at an insanely high 1200 requests per minute, with burst capability of up to 200 beyond that. If you require more, you probably fall into the above category of abuse. If you are doing more than 60 requests a minute, you should probably give peppy a yell.

  • Mods enum has new methods to check compatibility between mods.
  • Scope object has a __str__ method. ( #5 )
  • Mods enum has new methods: __iter__ and to_readable_string (read about it here https://osupy.readthedocs.io/en/latest/api.html#osu.Mods.to_readable_string)
  • All objects have __repr__ method. (#7 )
  • Many new objects, enums, and endpoints. All new objects and enums are related to the new endpoints. List of new endpoints:
    • get_beatamapset_events
    • get_matches
    • get_match
    • get_rooms
    • get_seasonal_backgrounds
    • get_room
    • get_score_by_id
    • search_beatmapsets
    • get_room_leaderboard
    • get_replay_data
    • get_friends
  • AuthHandler has save and load utilities now.
  • Endpoints are marked as needing a user where necessary and an error is raised when trying to make a request to an endpoint that requires a user without having a user authorized.
  • Mod enum which is an enum for all mods and is not a flag enum compared to the Mods enum.

Breaking changes

  • Deleting and adding a few mods to the Mods enum as well as changing Relax2 to AutoPilot.
  • Mods.parse_and_return_any_list -> Mods.parse_any_list
  • (Possibly breaking) Score.mods is of type Mods now.

Non-breaking changes

  • AsynchronousClient uses aiohttp for asynchronous requests.

Bug fixes

  • AsynchronousClient.get_user_beatmap_scores (#5 )
  • KudosuHistory data fix (#8 )
  • EventUser data fix (#8 )
  • Rate limit fix for AsynchronousClient