Python wrapper for the Mastodon ( API.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

268 lines
12 KiB

A note on versioning: This librarys major version will grow with the APIs
version number. Breaking changes will be indicated by a change in the minor
(or major) version number, and will generally be avoided.
* 3.1 support
* Added `discoverable` parameter to account_update_credentials (Thanks gdunstone)
* Added new notification type "follow_request"
* Added bookmarks support:
* New functions: `status_bookmark`, `status_unbookmark`, `bookmarks`
* New fine-grained oauth scopes: read:bookmarks and write:bookmarks.
* Added announcement support
* New functions: `announcements`, `announcement_dismiss`
* Added announcement reaction support
* New functions: `announcement_reaction_create`, `announcement_reaction_delete`
* Fixed missing notification type "poll" in push notification API and documentation.´
* Fixed a token loading bug
* Fix header upload in account_update_credentials (Thanks gdunstone)
* Commented blocklist code (Thanks marnanel for the report)
* Added fallback for when magic is not available (Thanks limburgher)
* Added missing "mentions_only" parameter to notifications (Thanks adbenitez for the report)
* Moved "content_type" parameter into "pleroma" feature set. This is a breaking change.
* BREAKING CHANGE: the search_v1 API is now gone from Mastodon, will still let you use it where available / use it where needed if you call search()
* Support for new 3.0.0 features
* Added profile directory API: directory()
* Added featured and suggested tags API: featured_tags(), featured_tag_suggestions(), featured_tag_create(), featured_tag_delete() (Thanks Gargron for the advice)
* Added read-markers API: markers_get(), markers_set()
* Re-added trends API: trends()
* Added health api: instance_health()
* Added nodeinfo support: instance_nodeinfo()
* Added new parameters to search (exclude_unreviewed) and create_account (reason)
* Added ability to persist base URLs together with access token and client id / secret files
* Documented that status_card endpoint has been removed, switched to alternate method of retrieving cards if function is still used
* Added blurhash as a core dependency, since it is now licensed permissively again
* Added me() function as synonym for account_verify_credentials() to lessen confusion
* Fixed notification-dismiss to use new API endpoint where the old one is not available (Thanks kensanata)
* Fixed status_reply to match status_post
* Add basic support for non-mainline features via the feature_set parameter
* Added support for fedibirds quote_id parameter in status_post
* Future-proofed webpush cryptography api while trying to remain very backwards compatible so that it can hopefully in the future become part of the core
* Clarified and updated the documentation and improved the tests in various ways
* Fix documentation for list_accounts()
* Add note about block lists to documentation
* Add note that 2.7 support is being sunset
* Small fix to be friendlier to hosted apps
* Added support for moderation API (Thanks Gargron for the clarifications and dotUser for helping with testing)
* Made status_delete return the deleted status (With "source" attribute)
* Added account_id parameter to notifications
* Added streaming_health
* Added support for local hashtag streams
* Made blurhash an optional dependency (Thanks limburgher)
* Fixed some things related to error handling (Thanks lefherz)
* Fixed various small documentation issues (Thanks lefherz)
* BREAKING BUT ONLY FOR YOUR DEPLOY, POTENTIALLY: http_ece and cryptography are now optional dependencies, if you need full webpush crypto support add the "webpush" feature to your requirements or require one or both manually in your own
* Fixed a bug in create_account (Thanks csmall for the report)
* Allowed and documented non-authenticated access to streaming API (Thanks webwurst)
* Fixed MastodonServerError not being exported (Thanks lefherz)
* Fixed various small documentation issues (Thanks julianaito)
* Fixed date parsing in hashtag dicts.
* Fixed search not working on Mastodon versions before 2.8.0. search now dynamically selects search_v1 or search_v2 and adjusts valid parameters depending on the detected Mastodon version.
* Added blurhash decoding.
There are some breaking changes in this release, though less than you might think, considering
this goes all the way from version 2.4.3 to 2.8.0.
* BREAKING CHANGE: Changed streaming API behaviour to make the initial connection asynchronous (Thanks to Shura0 for the detailed report)
* Old behaviour: The initial connection could fail, the stream functions would then throw an exception.
* New behaviour: The initial connection function just returns immediately. If there is a connection error, the listeners on_abort handler is called to inform the user and the connection is retried.
* BREAKING CHANGE: search() now calls through to search_v2. The old behaviour is available as search_v1.
* Added support for polls (Added in 2.8.0)
* Added support for preferences API (Added in 2.8.0)
* Added support for the boost visibility parameter (Added in 2.8.0)
* Added support for type, limit, offset, min_id, max_id, account_id on the search API (Added in 2.8.0)
* Added support for scheduled statuses (Added in 2.7.0)
* Added support for account creation via the API (Thanks gargron for clarifying many things here and in other places. Added in 2.7.0)
* Added support for conversation streaming / stream_direct (Added in 2.6.0)
* Added support for conversations (Added in 2.6.0)
* Added support for report forwarding (Added in 2.5.0)
* Added support for multiple OAuth redirect URIs and forcing the user to re-login in OAuth flows.
* Added support for app_verify_credentials endpoint (Added in 2.7.2).
* Added support for min_id based backwards pagination (Added in 2.6.0). The old method is still supported for older installs.
* Added support for account pins / endorsements (Added in 2.5.0).
* Updated documentation for changes to entities.
* Added the ability to access non-authenticated endpoints with no app credentials (Thanks to cerisara for the report and codl).
* Fixed the streaming API not working with gzip encoding (Thanks to bitleks for the report).
* Added more explicitly caught error classes (Thanks to lefherz).
* Improved Pleroma support including content-type and pagination fixes (Thanks to jfmcbrayer for the report and codl).
* Added better session support (Thanks to jrabbit).
* Fixed dependencies (Thanks to jrabbit).
* Fixed variousmime type issues (Thanks to errbufferoverfl and jfmcbrayer).
* Improved the example code (Thanks to MarkEEaton).
* Fixed various small documentation issues (Thanks to allo-).
* Mastodon v2.4.3 compatibility:
* Keyword filter support: filters(), filter(), filters_apply(), filter_create(), filter_update(), filter_delete()
* Follow suggestions support: suggestions(), suggestion_delete()
* account_follow() now has "reblogs" parameter
* account_mute() now has "notifications" parameter
* Support for granular scopes
* Added status_reply() convenience function
* First attempt at basic Pleroma compatibility (Thanks deeunderscore)
* Several small fixes
!!!!! There are several potentially breaking changes in here, and a lot
of things changed, since this release covers two Mastodon versions and
then some !!!!!
* Several small bug fixes (Thanks goldensuneur, bowlercaptain, joyeusenoelle)
* Improved stream error handling (Thanks codl)
* Improvements to streaming:
* Added on_abort() handler to streams
* Added automatic reconnecting
* POTENTIALLY BREAKING CHANGE: Added better error catching to make sure
streaming functions do not just crash
* Mastodon v2.3 compatibility (sorry for the late release)
* only_media parameter in timeline functions
* focus support for media_upload()
* Added media_update()
* Mastodon v2.4 compatibility
* Added fields to account_update_credentials()
* WebPush support:
* Added push_subscription(), push_subscription_set(), push_subscription_update(),
* Added webpush crypto utilities: push_subscription_generate_keys(),
* Added support for pinned toots, an oversight from 2.1.0: status_pin(), status_unpin()
* POTENTIALLY BREAKING CHANGE: Changed pagination attributes to not be part of the dict keys
of paginated return values.
* Many internal improvements, more tests
* Several small bugfixes (thanks codl)
* Mastodon v2.1.2 compatibility
* Added instance_activity()
* Added instance_peers()
* Fixed StreamListener breaking when listening to more than one stream (again thanks, codl)
* POTENTIALLY BREAKING CHANGE: Remvoved handle_line, which should have been an internal helper to begin with
* Internal stability changes and fixes to streaming code
* Fixed async parameter being ignored in two streaming methods
* BREAKING CHANGE: Renamed streaming functions to be more in line with the rest
* POTENTIALLY BREAKING CHANGE: Added attribute-style access for returned dicts
* Mastodon v2.1.0 compatibility
* Added custom_emojis()
* Added list(), lists(), list_accounts()
* Added list_create(), list_update(), list_delete()
* Added list_accounts_add(), list_accounts_delete()
* Added account_lists()
* Added timeline_list()
* Added stream_list()
* Added automatic id unpacking
* Added api versioning
* Added a large amount of tests (MASSIVE thanks to codl)
* Added asynchronous mode to streaming api (Thanks Kjwon15)
* Added CallbackStreamListener
* Improved documentation for the streaming API
* Various fixes, clarifications, et cetera (Thanks Dryusdan, codl)
* 2.0 id compatibility (thanks codl)
* Added emoji support
* Media alt-text support (thanks foozmeat)
* Python2 fixes (thanks ragingscholar)
* General code cleanup and small fixes (thanks codl)
* Beginnings of better error handling (thanks Elizafox)
* Various documentation updates
* Emergency fix to allow logging in to work (thanks codl)
* BREAKING CHANGE: Added date parsing to the response parser
* Added notification dismissal
* Added conversation muting
* Updated documentation
* Added asynchronous mode for the streaming API
* Fixed several bugs (thanks ng-0, LogalDeveloper, Chronister, Elizafox, codl, lambadalambda)
* Improved code style (thanks foxmask)
* Added support for domain blocks
* Updated the documentation to reflect API changes
* Added support for pagination (Thanks gled-rs, azillion)
* Fixed various bugs (Thanks brrzap, fumi-san)
* Added support for OAuth2 (Thanks to azillon)
* Added support for several new endpoints (Thanks phryk, aeonofdiscord, naoyat)
* Fixed various bugs (Thanks EliotBerriot, csu, edsu)
* Added support for streaming API (Thanks wjt)
* Fixed several bugs (Thanks to Psycojoker, wjt and wxcafe)
* Added support for spoiler text (Thanks to Erin Congden)
* Added support for mute functionality (Thanks to Erin Congden)
* Added support for getting favourites (Thanks to Erin Congden)
* Added support for follow requests (Thanks to Erin Congden, again)
* Added to allow for conda packaging (Thanks, pmlandwehr)
* Fixed previous fix (Thank you,
* Fixed an app creation bug (Thank you,
* Added support for toot privacy (thanks fpietsche)
* Removed functions and documentation for APIs that have been removed
* Documentation is now vastly improved thanks to / girlsim
* Rate limiting code - can now attempt to respect rate limits
* Several small bug fixes, consistency fixes, quality-of-life improvements
* Added timeline_*() functions for consistency. timeline() functions as before.
* Clarified documentation in various places.
* Added previously-undocumented notifications() - API that gets a users notifications.
* Initial Release