Mastodon.py Versions Save

Python wrapper for the Mastodon ( https://github.com/mastodon/mastodon/ ) API.

1.8.1

1 year ago

Maintenance release. No new features, fixes only.

  • Replace some lambdas with list comprenehsions (thanks eumiro)
  • Add resolve keyword to account_search (thanks zevaryx)
  • Add support for user agent header in create_app (thanks jkawamoto)
  • Update tox.ini for newer versions (thanks jkawamoto)
  • Various doc and argument check fixes (thanks cnotin, codl, alexmshepherd, RedactedCode)
  • Fix magic not working on windows (thanks xloem)
  • Add readme to PyPi page (thanks hugovk)
  • Fix list_accounts to actually include request parameters (thanks leoncowle)
  • Small formatting changes (thanks amaargiru)
  • Add link to examples to docs and readme.
  • Add local and remote parameter to stream_public (thank you for the report jeafreezy)
  • Fix limit and lang parameters on trend related functions not present or working (thanks for the report pdeitel)
  • Fix some issues with stream reconnect handling (thanks for the report ianh)
  • Added an example for how to receive webpush notifications (thanks JesseWeinstein)
  • Replaced follows with a backwards compatibility stub.
  • Added pagination parameters to admin_domain_blocks (thanks for the report defnull)

Docs: https://mastodonpy.readthedocs.io/en/1.8.1/ PyPi: https://pypi.org/project/Mastodon.py/1.8.1/

1.8.0

1 year ago
  • Overall: Support level is now 3.5.5 (last before 4.0.0)
  • BREAKING CHANGE: Switch the base URL to None, throw an error when no base url is passed. Having mastosoc as default was sensible when there were only three mastodon servers. It is not sensible now and trips people up constantly.
  • GENERAL WARNING: Currently, Mastodon.py does not support the "new" filter system. In the future, it will, and it will respect filters by default (i.e. remove filtered posts).
  • Fixed an issue with the fix for the Pleroma date bug (thanks adbenitez)
  • Added trending APIs (trending_tags, trending_statuses, trending_links, admin_trending_tags, admin_trending_statuses, admin_trending_links)
  • Added lang parameter and document what it does properly.
  • Added category and rule_ids to reports
  • Made the documentation a bit neater (thanks dieseltravis)
  • Added the domain blocking admin API (admin_domain_blocks, admin_domain_block, admin_update_domain_block, admin_delete_domain_block - thanks catgoat)
  • Added the stats admin APIs (admin_measures, admin_dimensions, admin_retention)
  • Added client auth data to access token file.
  • Added account_familiar_followers API
  • Added account_remove_from_followers API
  • Added admin_accounts_v2 API
  • FUTURE BREAKING CHANGE WARNING: For now, admin_accounts still calls v1, but this may change in the future. You are encouraged to use v2 instead.
  • Made the version comparisons a bit nicer (thanks eumiro)
  • Switch to more recent modules for datetime and timezone stuff (thanks eumiro)
  • Made the documentation a bit more consistent (thanks dieseltravis)
  • Substantially restructured the documentation, making it a lot nicer to read
  • Substantially restructured the code, making it hopefully a lot easier to maintain
    • This SHOULD NOT break anything. If this breaks your code, please let me know.
  • This too isn't really a changelog entry but in the same vein as the last post, thank you Claire and Gargron for clarifying many things about the API when asked.

Docs: https://mastodonpy.readthedocs.io/en/1.8.0/ PyPi: https://pypi.org/project/Mastodon.py/1.8.0/

1.7.0

1 year ago
  • Cleaned code up a bit (thanks eumiro)

  • Fixed some Pleroma related issues (thanks aveao, taraletti, adbenitez)

  • Added post editing (status_update, status_source, status_history)

  • Added missing streaming events

  • Added missing parameters on directory endpoint (thanks heharkon)

  • This isn't somehing I changed but thank you a / triggerofsol for answering Many questions I had about specifics of what the API does that are not documented

  • Fixed search ignoring exclude_unreviewed (Thanks acidghost)

  • Added support for using pathlib paths when loading media files (Thanks reagle)

  • Removed blocklist with long dead instances

  • Added types parameter to notifications.

  • Documented additional notification types

  • Made version parsing more robust against varions things that Mastodon-compatible APIs might throw at it.

  • TECHNICALLY BREAKING CHANGE, but I would be quite surprised if this actually breaks anyone: Date parsing will now, when the date string is empty, return Jan. 1st, 1970 instead. This is to work around what I assume is a bug in Pleroma.

  • Docs: https://mastodonpy.readthedocs.io/en/1.7.0/

  • PyPi: https://pypi.org/project/Mastodon.py/1.7.0/

1.6.3

1 year ago
  • Add server rules API (instance_rules)
  • Add confirmation email resend API (email_resend_confirmation)
  • Add account lookup API (account_lookup)
  • Add policy param to control notification sources for push_subscription_set
  • Add ability to get detailed signup error to create_account
  • Fix version check for limited federation instances (Thanks to ulysseus-eu for the report)
  • (From 1.6.2, untagged) Fix some issues with datetime conversion (thanks to various people for reporting it)

Docs: https://mastodonpy.readthedocs.io/en/1.6.3/ PyPi: https://pypi.org/manage/project/Mastodon.py/release/1.6.3/

1.6.1

1 year ago
  • BREAKING CHANGE: Change behaviour of streaming api handlers to no longer raise an exception when an unknown event is received and change the contract of the unknown event handler to explicitly state that it will not receive events once Mastodon.py updates.
  • 3.1.3 support
    • Added v2 media_post api
  • 3.1.4 support
    • Added "remote", "local" and "only_media" parameter for timelines more broadly
    • Documented updates to instance information api return value
  • 3.2.0 support
    • Added account notes API
    • Added thumbnail support to media_post / media_update
    • Documented new keys in media API
  • 3.3.0 support
    • Added "notify" parameter for following.
    • Added support for timed mutes
    • Added support for getting an accounts features tags via account_featured_tags
  • Miscelaneous additions
    • Added support for paginating by date via converting dates to snowflake IDs (on Mastodon only - thanks to edent for the suggestion)
    • Added a method to revoke oauth tokens (thanks fluffy-critter)
  • Fixes
    • Various small and big fixes, improving reliablity and test coverage
    • Changed health APIs to work with newer Mastodon versions
    • Changed URLs from "tootsuite" to "mastodon" in several places (thanks andypiper)
    • Fixed some fields not converting to datetimes (thanks SouthFox-D)
    • Improved oauth web flow support
    • Improved documentation consistency (thanks andypiper)

Docs: https://mastodonpy.readthedocs.io/en/1.6.1/ PyPi: https://pypi.org/project/Mastodon.py/1.6.1/

1.5.2

1 year ago
  • BREAKING CHANGE: Greatly improve how pagination info is stored (arittner)
  • Add "unknown event" handler for streaming (arittner)
  • Add support for exclude_types in notifications api (MicroCheapFx)
  • Add pagination to bookmarks (arittner)
  • Make connecting for streaming more resilient (arittner)
  • Allow specifying a user agent header (arittner)
  • Add support for tagged and exclude_reblogs on account_statuses api (arittner)
  • Add support for reports without attached statuses (arittner)
  • General fixes
    • Fix a typo in __json_fruefalse_parse (zen-tools)
  • Some non-mastodon related fixes
    • Fix a typo in error message for content_type (rinpatch
    • Add support for specifying file name when uploading (animeavi)
    • Fix several crashes related to gotosocials version string (fwaggle)
    • Fix an issue related to hometowns version string

Docs: https://mastodonpy.readthedocs.io/en/1.5.2/ Pip: https://pypi.org/project/Mastodon.py/1.5.2/

1.5.1

4 years ago
  • 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.

Docs: https://mastodonpy.readthedocs.io/en/1.5.1/ Pip: https://pypi.org/project/Mastodon.py/1.5.1/

1.5.0

4 years ago

3.0.0 support release (actually bumps supported version to 3.0.1, though), with some additional improvements

  • BREAKING CHANGE: the search_v1 API is now gone from Mastodon, Mastodon.py 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 featuresvia 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

Docs: https://mastodonpy.readthedocs.io/en/1.5.0/ PyPi: https://pypi.org/project/Mastodon.py/1.5.0/

1.4.6

4 years ago

Bugfix release, no new features

  • Fix documentation for list_accounts()
  • Add note about block lists to documentation
  • Add note that 2.7 support is being sunset

1.4.5

4 years ago

Bugfix release for previous, no new features

Docs: https://mastodonpy.readthedocs.io/en/1.4.5/ PyPi: https://pypi.org/project/Mastodon.py/1.4.5/