NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2322 most downloaded on PyPI
Library for accessing the X API (Twitter)
Last release 3 months ago
02 Jul 2026
Ships unpredictably
gaps range from 2 weeks to 1.7 years
Nearly every release is documented
notes for 48 of 50 stable releases
Nothing withdrawn
no release was ever pulled
17 years old
50 releases · first in 2009
Replace deprecated datetime.utcnow() in MongodbCache.store by @Sanjays2402 in #2241
Full Changelog: v4.16.0...v4.17.0
Nothing published for this version
One column per quarter.
Fix error "No module named 'imghdr'" due to removed package in Python 3.13+
Remove support for deprecated Premium v1.1 Search APIs
DIRECT_MESSAGE_EVENT_FIELDSDM_EVENT_FIELDSLIST_FIELDSMEDIA_FIELDSPLACE_FIELDSPOLL_FIELDSPUBLIC_SPACE_FIELDSSPACE_FIELDSPUBLIC_TWEET_FIELDSTWEET_FIELDSUSER_FIELDScreator_id field for Space (a13726a)StreamAsyncStreamAPI.search_30_dayAPI.search_full_archiveDeprecate streaming with Twitter API v1.1 statuses/filter endpoint
verified_type field for User (9f7afae)Stream.sampleAsyncStream.sampleStream.on_delete, Stream.on_scrub_geo, Stream.on_status_withheld, Stream.on_user_withheldAsyncStream.on_delete, AsyncStream.on_scrub_geo, AsyncStream.on_status_withheld, AsyncStream.on_user_withheldStreamAsyncStreamStreamingClient._process_data and AsyncStreamingClient._process_data methods (2744073)JSONParser.parse (e854138, #2051)dm_event_fields parameter (e2fb467)dm_event_fields parameter (4b0fa90)Tweet source field (5d22a01)Add 1 second buffer to API v2 streaming timeout
AsyncBaseStream to abort closed SSL transports (#1904)edit_history_tweet_ids field (3dea0df, #1994)network_error_wait to 0 for streaming (b18c1a6)
limit and pagination_token parameters for Paginator and AsyncPaginator (e98ab02, bb934fc)Response in Client and AsyncClient (#1997, 9983735)namedtuple in documentation for Response (352c74a)Add support for Direct Messages with Twitter API v2
DirectMessageEvent modelClient.get_direct_message_events, Client.create_direct_message, and Client.create_direct_message_conversationAsyncClient.get_direct_message_events, AsyncClient.create_direct_message, and AsyncClient.create_direct_message_conversationvariants Media field (#1910, e31be15)ReferencedTweet (d4df069)edit_history_tweet_ids and edit_controls Tweet fields (2b1e159)
AsyncClient methods (f737b87)Client.get_quote_tweets in documentation (6f7de39)Add support for retrieving edited Tweet metadata
asynchronous.AsyncPaginator for pagination for AsyncClient (33e444a)exclude parameter for get_quote_tweets (4f28bd8, 17e02b7, 48ebdb7)AsyncStream (29bbb7b, a4c6325, 5ade386)endpoint_parameters argument in API.indicate_direct_message_typing (396ab84)models.List methods to pass keyword arguments to API methods (#1987)models.List methods to use list ID instead of slug (73f6308)AsyncBaseStream (51c3762)get_list_tweets in documentation (86577b1)
media_fields, place_fields, and poll_fields parametersget_list_tweets (5cb2616)wait_on_rate_limit parameter for streaming (#1986)Fix AsyncBaseClient rate limit handling
AsyncBaseClient rate limit handling (#1902)StreamRule when passed in list to StreamingClient.delete_rules or AsyncStreamingClient.delete_rules (#1942)media_fields, place_fields, and poll_fields parameters for Client.get_list_tweets and AsyncClient.get_list_tweets (#1931)AsyncClient method parameters explicitly passed as None (#1944)Deprecate AsyncStream.sample and note deprecation of compliance messages for AsyncStream.filter (e043074, 1b77007)
Client.get_home_timeline and AsyncClient.get_home_timelineAsyncStream.user_agent even if AsyncStream.session is already initialized/set (096a62c)AsyncStream.sample and note deprecation of compliance messages for AsyncStream.filter (e043074, 1b77007)Deprecate Stream.sample and note deprecation of compliance messages for Stream.filter
API.indicate_direct_message_typing and API.mark_direct_message_read"detail" response value for HTTPException message (b6b8241)"error" key of response being a string in HTTPException (2da4452)Stream.sample and note deprecation of compliance messages for Stream.filter (#1876)tests_require from setup.py (2870031)Add support for Bookmarks with Twitter API v2
Client.remove_bookmark, Client.get_bookmarks, Client.bookmarkClient methods that require the authenticating user's ID (0157d0b)
TypeError for those methods when the access token isn't setNotFound rather than HTTPException when encountering 404 response status codes in BaseClient.request (b6b8219)Add support for Quote Tweets lookup with Twitter API v2
Client.get_quote_tweetsClient.follow to return response from Client.follow_user rather than None (0742f54)Client.unfollow to return response from Client.unfollow_user rather than None (c1787f0)List (360594b)Media (c2dacc8)Place (e3fa223)Poll (61ed5d7)Space (1a7ea1f)Tweet (b9cef72)ReferencedTweet (9a995b5)User (aa3658e)Tweet.referenced_tweets initialization (3299881)This will be the last minor version to support Python 3.6 (#1788).
This will be the last minor version to support Python 3.6 (#1788).
Client and Stream to inherit from new BaseClient and BaseStream classes and add StreamingClient, StreamResponse, and StreamRulemax_results and pagination_token parameters for Client.get_liking_users (bdd6b55)max_results and pagination_token parameters for Client.get_retweeters (3479e56)sort_order parameter for Client.search_all_tweets (bd202e5)sort_order parameter for Client.search_recent_tweets (8b47170)Client.get_space_tweets (c8d5d9a)Space.subscriber_count (1ffc8cd)repr of text in Tweet.__repr__ (4e2997e)
Mapping.__contains__ in DataMapping (9f10a58)
Stream.session within Stream.__init__ (80adf5b)
Stream.user_agent even if Stream.session is already initializedClient._make_request (#1793)OAuthHandler is kept as a deprecated alias
OAuthHandler to OAuth1UserHandler (fb6eb7d)
OAuthHandler is kept as a deprecated alias (cba7317)AppAuthHandler to Oauth2AppHandler (529d793)
AppAuthHandler is kept as a deprecated alias (d4ceb1a)OAuth2Bearer to OAuth2BearerHandler (0781fde)OAuth1UserHandler.__init__ (99f3583)
callback parameter to be the fifth argument, positionallyOAuth2BearerHandler to be used as auth parameter for API (5a2a3fc)AuthHandler (d600c4c)OAuth1UserHandler.get_xauth_access_token (8e2de9f)Client.get_me (c49cbdf, 62b5b58, f6895d3, bb87b26)Media.url (#1722)JSONDecodeError (b492b0a)
Response.includes["polls"] not being Poll objects (#1733)Paginator handling of Client.get_all_tweets_count (#1761)Add support for List lookup with Twitter API v2
Add support for managing Tweets with Twitter API v2
Client.follow and Client.unfollow are kept as deprecated aliases
Client.follow and Client.unfollow to Client.follow_user and Client.unfollow_user, respectively (8f8de15)
Client.follow and Client.unfollow are kept as deprecated aliasesstate to optional parameter for Client.search_spaces (e61d5d6)Update minimum dev requirement version for tox to 3.14.0
Space modelClient.search_spaces, Client.get_spaces, and Client.get_spaceClient.get_compliance_jobs, Client.get_compliance_job, and Client.create_compliance_jobClient.get_muted (00cdab8)Fix handling of strings passed as fields parameters for Client methods
Client methods (d61a5d9)Client methods in Twitter API request (618d1c2)
Client methods from datetimes to strings (1320a37)
start_time and end_time that accept datetimesJSONDecodeError in HTTPException (586c162)Support Twitter API v2 (#1472, #1535)
Support Twitter API v2 (#1472, #1535)
Rework API
bind_api and APIMethod with API.request
API methodspagination decoratorrequests.Session instance as API.session attribute (2f28757)
requests.Session instance per API instance, rather than for each requestallowed_param) to endpoint parameters (endpoint_parameters) (b4fc6a0)API.request and other API methodsRework streaming
StreamListener has been merged into Stream (see Backwards-Incompatible Changes section)Stream data/event handling methods (i.e. those starting with on_) now log by default and disregard return valuesStreamRework documentation
Stream (18a6059)API documentation (6db8e4c)Rework exceptions
APIAPI and models methods
API.blocks -> API.get_blocks (9541794)API.blocks_ids -> API.get_blocked_ids (e241ca4)API.destroy_direct_message -> API.delete_direct_message (2731fc9)
DirectMessage.destroy -> DirectMessage.delete (2731fc9)API.favorites -> API.get_favorites (3c467da)API.followers -> API.get_followers (ce768d9)API.followers_ids -> API.get_follower_ids (fa5e7c4)
models.User.followers_ids -> models.User.follower_ids (fa5e7c4)API.friends -> API.get_friends (6f3fccb)API.friends_ids -> API.get_friend_ids (bab3e5e)API.friendships_incoming -> API.incoming_friendships (007bd07)API.friendships_outgoing -> API.outgoing_friendships (1400065)API.geo_search -> API.search_geo (6f4fb39)API.list_direct_messages -> API.get_direct_messages (ff1186f)API.list_members -> API.get_list_members (5845f02)API.list_subscribers -> API.get_list_subscribers (a05b630)API.lists_all -> API.get_lists (458e0e8)API.lists_memberships -> API.get_list_memberships (9dddc12)
models.User.lists_memberships -> models.User.list_memberships (9dddc12)API.lists_subscriptions -> API.get_list_subscriptions (51945a7)
models.User.lists_subscriptions -> models.User.list_subscriptions (51945a7)API.mutes -> API.get_mutes (744edc2)API.mutes_ids -> API.get_muted_ids (ea26a29)API.retweeters -> API.get_retweeter_ids (588c342)API.retweets -> API.get_retweets (3b3ba24)API.retweets_of_me -> API.get_retweets_of_me (737bd0b)API.saved_searches -> API.get_saved_searches (8b39f74)API.search -> API.search_tweets (7fac253)API.show_friendship -> API.get_friendship (ee9ea2e)API.show_list_member -> API.get_list_member (431ab15)API.show_list_subscriber -> API.get_list_subscriber (bf26301)API.statuses_lookup -> API.lookup_statuses (#477)API.trends_available -> API.available_trends (68b33d7)API.trends_closest -> API.closest_trends (2e18162)API.trends_place -> API.get_place_trends (4912a7c)API.update_with_media -> API.update_status_with_media (0a5e533)API method parameters
API.geo_id: id -> place_id (78051e8)API.lookup_friendships: screen_names -> screen_name (4573b35), user_ids -> user_id (3bcccf8)API.lookup_statuses: id_ -> id (f13a34b)API.lookup_users: screen_names -> screen_name (17a2e7c), user_ids -> user_id (e7d9e55)API.search_30_day: environment_name -> label (6c66c60)API.search_full_archive: environment_name -> label (295bfe4)API.update_profile_image: file_ -> file (69f6c1d)API method parameters
API.closest_trends: lat, long (75b9616)API.create_favorite: id (d3d2abe)API.create_list: name (5e7385a)API.create_saved_search: query (c57a4be)API.delete_direct_message: id (bcb56ab)API.destroy_favorite: id (a9d41b6)API.get_direct_message: id (f5775ee)API.get_oembed: url (af0cc51)API.get_place_trends: id (c50f540)API.get_retweeter_ids: id (66f6704)API.get_status: id (bac73c3)API.reverse_geocode: lat, long (87d8646)API.search_30_day: query (52874b7)API.search_full_archive: query (801f15d)API.search_tweets: q (9377e7e)API.search_users: q (21802f9)API.update_status: status (f64c076)API.update_status_with_media: status (0726263)API methods (change to be keyword-only arguments):
API.add_list_member (ae18ee5)API.add_list_members (8eb900f)API.available_trends (7a74863)API.closest_trends, besides lat and long (7946490)API.create_block (caa34c6)API.create_favorite, besides id (0b83984)API.create_friendship (82cd798)API.create_list, besides name (25cb01e)API.create_mute (4aae710)API.create_saved_search, besides query (76be2d9)API.delete_direct_message, besides id (53ca00f)API.destroy_block (c49cfb2)API.destroy_favorite, besides id (8afee87)API.destroy_friendship (b2d44fe)API.destroy_list (4b2cfc4)API.destroy_mute (009b54e)API.destroy_saved_search, besides id (b7afca2)API.destroy_status, besides id (876c8ca)API.geo_id, besides place_id (a0cff22)API.get_blocked_ids (ff38b70)API.get_blocks (dc81854)API.get_direct_message, besides id (4ae0ec8)API.get_direct_messages (8e0507d)API.get_favorites (e80b49a)API.get_follower_ids (7d42597)API.get_followers (c6ab5a0)API.get_friend_ids (c65641b)API.get_friends (e6965fa)API.get_friendship (6dea7de)API.get_list (92dc37f)API.get_list_member (0af06db)API.get_list_members (7c8be8d)API.get_list_memberships (ec7601f)API.get_list_subscriber (a175cdd)API.get_list_subscribers (3ee84ef)API.get_list_subscriptions (178d719)API.get_lists (3cd0058)API.get_muted_ids (2967104)API.get_mutes (9e9d370)API.get_oembed, besides url (d13d853)API.get_place_trends, besides id (548810c)API.get_retweeter_ids, besides id (9907c25)API.get_retweets, besides id (0bd0292)API.get_retweets_of_me (2b2ed0a)API.get_saved_search, besides id (1d3d3ae)API.get_saved_searches (c5f5b4b)API.get_settings (2c2f0ec)API.get_status, besides id (30af3ac)API.get_user (6b761ce)API.home_timeline (b91be22)API.incoming_friendships (6d3b7f2)API.list_timeline (e3ec5c1)API.lookup_friendships (0eff951)API.lookup_statuses, besides id (cf9845d)API.lookup_users (7317109)API.media_upload, besides filename (ec2498f)API.mentions_timeline (3614ce4)API.outgoing_friendships (09f8504)API.rate_limit_status (b4b91c1)API.remove_list_member (e7fa800)API.remove_list_members (593ef1c)API.report_spam (f55efcf)API.retweet, besides id (4f7be88)API.reverse_geocode: besides lat and long (b209c48)API.search_30_day, besides label and query (434fd35)API.search_full_archive, besides label and query (44391bc)API.search_geo (0a6bec9)API.search_tweets, besides q (445da4e)API.search_users, besides q (76ca416)API.send_direct_message, besides recipient_id and text (7d1a549)API.set_settings (bf1d928)API.supported_languages (2034efc)API.subscribe_list (ee3b718)API.unretweet, besides id (4626c42)API.unsubscribe_list (2df2311)API.update_list (8b3b4fb)API.update_profile (99cd815)API.update_profile_banner, besides filename (1ca22be)API.update_profile_image, besides filename (3539fa2)API.update_status, besides status (761cbfe)API.update_status_with_media, besides filename and status (0ac4e83)API.user_timeline (0ef964f)API.update_status_with_media parameters (87abdcd)API initialization parameter: auth_handler -> auth (ee313bd)auth for API initialization (da2f276)API.api_root and API.upload_root (e757919)API.compression (4590c7a)API.me, AuthHandler.get_username, and OAuthHandler.get_username (807f937)API.search_host and API.search_root (92db0cf)API.wait_on_rate_limit_notify (f325738)
map_ keyword argument aliasing for API.lookup_statuses (0a404c3)StreamStreamListener by merging it into Stream (39abff4)
StreamListener.keep_alive -> Stream.on_keep_alive (abf4d5d)StreamListener.on_connect -> Stream.on_connectStreamListener.on_data -> Stream.on_dataStreamListener.on_delete -> Stream.on_deleteStreamListener.on_disconnect -> Stream.on_disconnect_message (6c3b997)StreamListener.on_error -> Stream.on_request_error (fe3bb8b)StreamListener.on_exception -> Stream.on_exceptionStreamListener.on_limit -> Stream.on_limitStreamListener.on_scrub_geo -> Stream.on_scrub_geoStreamListener.on_status -> Stream.on_statusStreamListener.on_status_withheld -> Stream.on_status_withheldStreamListener.on_timeout -> Stream.on_connection_error (8f62297)StreamListener.on_user_withheld -> Stream.on_user_withheldStreamListener.on_warning -> Stream.on_warningStream.api (21a9db2)Stream.body (3e40193)Stream.headers (d07af4e)Stream.host (9cf8518)Stream.new_session (26518ab)Stream.timeout (a2f79f1)Stream.url (48cbf97)Stream.retry_time_start, Stream.retry_420_start, Stream.retry_time_cap, Stream.snooze_time_step, Stream.snooze_time_cap, Stream.retry_time, and Stream.snooze_timeStream.retry_count to Stream.max_retries (3585f13)Stream.auth with parameters and attributes for each credential (c9f59e6)
Stream.auth with Stream.consumer_key, Stream.consumer_secret, Stream.access_token, and Stream.access_token_secretStream parameter, proxies, with proxy (#1272)Stream.filter parameter: encoding (b3f2db2)Stream.filter and Stream.sample parameters: is_async -> threaded (6c96c15)Stream.filter (0629d5f)Stream.sample (b170720)API.configuration (#1614)API.geo_similar_places (c6cfd97)API.related_results (068273b)
Relation model (cc4479a)id endpoint parameter for API.create_block (e4eaa4b)id endpoint parameter for API.create_friendship (6a3c1ab)id endpoint parameter for API.create_mute (bb25d69)id endpoint parameter for API.destroy_block (1a9b52d)id endpoint parameter for API.destroy_friendship (66f1612)id endpoint parameter for API.destroy_mute (8c444c5)id endpoint parameter for API.get_follower_ids (5cddd12)id endpoint parameter for API.get_followers (a3fb959)id endpoint parameter for API.get_friend_ids(7cbf818)id endpoint parameter for API.get_friends (6875e15)id endpoint parameter for API.get_user (a2681ed)accuracy and contained_within endpoint parameters for API.search_geo (d37a409)allow_contributor_request endpoint parameter for API.set_settings (1cc33b2)API.update_profile_banner endpoint parameters: offset_right -> offset_top (83f9b79)enable_dmcommands and fail_dmcommands parameters for API.update_status (fe5b3ef)in_reply_to_status_id_str and auto_populate_reply_metadata endpoint parameters for API.update_status_with_media (c3c9d29)id endpoint parameter for API.user_timeline (#1484)Stream.firehose (ad50cdc)Stream.retweet(6b1944b)Stream.sitestream and Stream.userstream (96f7e63)
models.List.created_at, models.SavedSearch.created_at, models.Status.created_at, and models.User.created_at are now aware (59d4d92)return_cursors parameter for JSONParser.parse and ModelParser.parse to be keyword-only argument (56b8e31)method parameter from parse method for Parser and its subclasses (dda2ec6)API.verify_credentials (7e4d2a4)models.List.is_member and models.List.is_subscribed (b765aee)API.get_list_ownerships (#1282, #1498)
models.User.list_ownerships (#1282)API.get_profile_banner (58ac8bb)API.no_retweets_friendships (496a399)API.remove_profile_banner (f0e53c6)API.update_friendship (ddd24a4)API.user_agent (bbec64b)API methods:
API.create_block: include_entities, skip_status (5e694b2)API.create_favorite: include_entities (65c7ce7)API.destroy_block: include_entities, skip_status (7299362)API.destroy_favorite: include_entities (ecd19f0)API.destroy_status: trim_user (ed363e6)API.get_blocked_ids: stringify_ids (316b4cc)API.get_blocks: include_entities, skip_status (7ef1e85)API.get_favorites: include_entities (2b91edc)API.get_follower_ids: stringify_ids (c490027)API.get_friend_ids: stringify_ids, count (aba327e)API.get_list_member: include_entities, skip_status (e959787)API.get_list_members: count, include_entities, skip_status (232fa29)API.get_list_subscriber: include_entities, skip_status (783941a)API.get_muted_ids: stringify_ids (8b04108)API.get_retweeter_ids: count (71ca488)API.get_retweets: trim_user (e377188)API.get_retweets_of_me: trim_user, include_entities, include_user_entities (589d97d)API.get_user: include_entities (485691d)API.incoming_friendships: stringify_ids (ffb7c0e)API.media_upload: media_category, additional_owners (#1486)API.mentions_timeline: trim_user, include_entities (eb7c8f6)API.outgoing_friendships: stringify_ids (7ed0762)API.retweet: trim_user (70d9665)API.search_users: include_entities (8d64b61)API.unretweet: trim_user (6d93f3b)API.update_profile: include_entities, skip_status (9715c4a)Stream.on_disconnect method (#277)Stream.thread (9c2419d)API.send_direct_message parameter, quick_reply_type, with quick_reply_optionsAPI.send_direct_message (#1311)API.get_settings (cbac800)API.incoming_friendships (09dbe0e)API.outgoing_friendships (8ff5f22)API.search_geo (a51a097)API.set_settings (4703da3)API.supported_languages (9bb8446)API.update_profile_banner (a5df615)install_requires (38b6de6)
OAuthHandler (#1489)models.User hashable (#1306)API (#1049)API.update_profile_image (ab96f2f)API.update_profile_banner (88c3fa1)Stream.filter and Stream.sample (2e957b6)Stream (5994c4b)Stream (#892)Stream._connect (#1072)Stream.sample method to use GET HTTP method (1b0e869)models.User model in models.Status.parse more broadly for user attribute to handle parsers without model_factory attribute or model factories without user attribute (#538)models.Status model in models.SearchResults.parse more broadly for results to handle parsers without model_factory attribute or model factories without status attribute (71c031b)PageIterator (#958)API.search_users (#958, #1465)Stream.filter (#829, #830)ChunkedEncodingError during streaming (e8fcc4d)Cursor iterators (c1457b7)This will be the last major and minor version to support Python 2.7 (#1253) and Python 3.5. The next non-patch release should be version 4.0.0.
This will be the last major and minor version to support Python 2.7 (#1253) and Python 3.5.
The next non-patch release should be version 4.0.0.
API.search_30_day and API.search_full_archive (#1175, #1294)API.home_timeline (#1410, #1458)
trim_user, exclude_replies, include_entitiespage as erroneously documented parametercount to be the first parameterAPI.get_oembed
hide_thread, theme, link_color, widget_type, dntidAPI.update_profile_background_image (#1466)mimetypes.guess_type as fallback for determining image file type (#1411)file parameter to be used again for API.media_upload (#1412, #1413)file parameter to be used again for API.update_profile_banner, API.update_profile_image, and API.update_with_media (#1475)User.lists, User.lists_memberships, and User.lists_subscriptions to retrieve information about the user in question rather than the authenticating user (#1443, #1444)Update allowed parameters for API.update_status
API.create_media_metadata (#716)API.update_status (#1101)
exclude_reply_user_ids, attachment_url, possibly_sensitive, trim_user, enable_dmcommands, fail_dmcommands, card_uriin_reply_to_status_id_str, sourceAPI.get_status
trim_user, include_my_retweet, include_entities, include_ext_alt_text, include_card_uriAPI.statuses_lookup
include_ext_alt_text, include_card_uriAPI.lookup_users (#706)API.statuses_lookup, API.create_media_metadata, API.update_statusreverse as allowed parameter for API.lists_allcount as allowed parameter for API.lists_membershipscount as allowed parameter for API.lists_subscriptionsinclude_entities as allowed parameter for API.list_timelineAPI.list_subscribers
count, include_entities, skip_statusRelationship model (#1375)_json attribute to DirectMessage model (#1342)API.lookup_users (#539)API.lookup_friendships (#1375)Allow streams to use daemon threads
API.set_delivery_device (#1203)cursor parameter for API.blocks_ids and API.mutes_ids (#1208)perform_block parameter for API.report_spam (#1090)API.mutes (#1197, #1215)count parameter for API.friends (#577)since, from, to, and source as allowed parameters for API.searchUser objects (#939)_json attribute to Category, Friendship, and List models (#590, #1169)API.suggested_categories, API.suggested_users, and API.suggested_users_tweetsDirectMessage model (#1081, #1228)API.direct_messages and API.sent_direct_messages with API.list_direct_messages (#1081, #1228)API.get_direct_message, API.send_direct_message, and API.destroy_direct_message (#1081, #1228)OAuthHandler.request_token (#1149)map_ parameter for API.statuses_lookup (#598)API.blocks_ids and API.mutes_ids (#930, #931)API.update_profile_background_image and API.update_profile_banner (#904)Note: 3.7.0 was released on 2018-11-27. The release was re-published when the associated tag was renamed from 3.7.0 to v3.7.0 to be consistent with re
Note: 3.7.0 was released on 2018-11-27. The release was re-published when the associated tag was renamed from 3.7.0 to v3.7.0 to be consistent with recent releases.
trim_user and exclude_replies as parameters for API.user_timeline (#909)tweet_mode parameter for API.statuses_lookup (#840, #926)API.create_mute, API.destroy_mute, and API.mutes_ids (#1055)tweet_mode parameter for API.lookup_users (#1130)AttributeError during streaming (#1026, #1027)Parse Status.quoted_status as a Status object
Status.quoted_status as a Status object (#633)in_reply_to_status_id_str as a parameter for API.update_status and API.update_with_media (#693)stall_warnings parameter to Stream.sample (#701)API.unretweet (#735, #736)auto_populate_reply_metadata as a parameter for API.update_status and API.update_with_media (#761)profile_link_color as a parameter for API.update_profileAPI.media_upload (#717)JSONParser.parse returning None in certain cases (#765, #766)AttributeError and TypeError during streaming (#698)filter_level for Stream.filter (#782)Remove deprecated function and clean up codes
Add API for account/settings (PR #596)
Loosen our dependency requirements for Requests (>= 2.4.3)
Remove deprecated trends methods.
Allow specifying your own ssl certificates for streaming client.
Added multiple list members operation api methods (add_list_members, remove_list_members).
Nothing published for this version
Removed deprecated retweeted_by and retweeted_by_ids.
Switched API search() to v1.1 endpoint. Some breaking changes.
Basic Authentication deprecated.
Dedicated in memory of Aaron Swartz
Added some new helper methods to List model
Added people search API method. API.search_users()
API.verify_credentials() now returns an User object if credentials are valid. Otherwise false will be returned.
Added cursor parameter to API.friends and API.followers methods. Note: page parameter is being deprecated by twitter on 10/26
API
Cursor Added the Cursor object to help with pagination within the API. Please see the pagination tutorial for more details (tutorial/t6). This is the recommended way for using the 'page' and 'cursor' parameters.
Models
Python 2.4 support
Update OAuth bundled library.
Google App Engine fixes (thanks Thomas Bohmbach, Jr)
Your coding agent can read these notes before it upgrades. Set up the MCP server →