Releases: praw-dev/asyncpraw
v7.8.1
v7.8.0
7.8.0 (2024/10/20)
Added
-
:meth:
~.SubredditLinkFlairTemplates.reorderto reorder a subreddit's link flair
templates. -
:meth:
~.SubredditRedditorFlairTemplates.reorderto reorder a subreddit's redditor
flair templates. -
Experimental :meth:
~.Submission._edit_experimentalfor adding new inline media or
editing a submission that has inline media... danger::
This method is experimental. It is reliant on undocumented API endpoints and may result in existing inline media not displaying correctly and/or creating a malformed body. Use at your own risk. This method may be removed in the future without warning.This method is identical to :meth:
.Submission.editexcept for the following:- The ability to add inline media to existing posts.
- Additional
preserve_inline_mediakeyword argument to allow Async PRAW to attempt
to preserve the existing inline media when editing a post. This is an experimental
fix for an issue that occurs when editing a post with inline media would cause the
media to lose their inline appearance.
-
:func:
.stream_generatornow accepts thecontinue_after_idparameter, which
starts the stream after a given item ID. -
Support for new share URL format created from Reddit's mobile apps.
-
:class:
.Reddithas a new configurable parameter,window_size. This tells PRAW
how long reddit's rate limit window is. This defaults to 600 seconds and shouldn't
need to be changed unless reddit changes the size of their rate limit window.
Fixed
- An issue where submitting a post with media would fail due to an API change.
Changed
- Drop support for Python 3.7, which is end-of-life on 2023-06-27.
Fixed
- XML parsing error when media uploads fail.
v7.7.1
7.7.1 (2023/07/11)
Changed
- Drop asyncio_extras dependency, use contextlib.asynccontextmanager instead.
Fixed
- An issue with replying to a modmail conversation results in a error.
v7.7.0
7.7.0 (2023/02/25)
Added
- :meth:
.delete_mobile_bannerto delete mobile banners. - :meth:
.upload_mobile_bannerto upload mobile banners.
Fixed
- An issue with iterating :class:
.ModNotewhen a user has more than a hundred notes. - An issue when uploading media during the submission of a new media post.
- Removal reasons are now returned in the same order as they appear on Reddit.
v7.6.1
7.6.1 (2022/11/28)
Changed
- Revert :meth:
~.Comment.editpositional argument deprecation. - Revert :meth:
~.Submission.editpositional argument deprecation.
Fixed
- An issue where :class:
.ModmailConversation'smessagesattribute would only
contain the latest message.
v7.6.0
7.6.0 (2022/10/23)
Added
- :meth:
.pinto manage pinned submissions on the authenticated user's profile. - :meth:
.update_display_layoutto update the display layout of posts in a
:class:.Collection. - :meth:
.SubredditCollectionsModeration.createkeyword argumentdisplay_layoutfor
specifying a display layout when creating a :class:.Collection. - :attr:
~.Message.parentto get the parent of a :class:.Message. - :class:
.ModNoteto represent a moderator note. - :meth:
.ModNote.deleteto delete a single moderator note. - :class:
.RedditModNotesto interact with moderator notes from a :class:.Reddit
instance. This provides the ability to create and fetch notes for one or more
redditors from one or more subreddits. - :class:
.RedditorModNotesto interact with moderator notes from a :class:.Redditor
instance. - :meth:
.RedditorModNotes.subredditsto obtain moderator notes from multiple
subreddits for a single redditor. - :class:
.SubredditModNotesto interact with moderator notes from a
:class:.Subredditinstance. - :meth:
.SubredditModNotes.redditorsto obtain moderator notes for multiple redditors
from a single subreddit. - :meth:
~.BaseModNotes.createto create a moderator note. - :attr:
.Redditor.notesto interact with :class:.RedditorModNotes. - :attr:
.SubredditModeration.notesto interact with :class:.SubredditModNotes. - :meth:
~.ModNoteMixin.create_notecreate a moderator note from a :class:.Commentor
:class:.Submission. - :meth:
~.ModNoteMixin.author_notesto view the moderator notes for the author of a
:class:.Commentor :class:.Submission.
Changed
- Drop support for Python 3.6, which is end-of-life on 2021-12-23.
- :meth:
.conversationsnow returns a :class:.ListingGeneratorallowing you to page
through more than 100 conversations.
Deprecated
- The
afterargument for :meth:.conversationswill now have to be included in
paramskeyword argument. - Positional keyword arguments for applicable functions and methods. Starting with Async
PRAW 8, most functions and methods will no longer support positional arguments. It
will encourage more explicit argument passing, enable arguments to be sorted
alphabetically, and prevent breaking changes when adding new arguments to existing
methods.
v7.5.0
7.5.0 (2021/11/13)
Added
- Log a warning if a submission's
comment_sortattribute is updated after the
submission has already been fetched and awarn_comment_sortconfig setting to turn
off the warning. - :meth:
.user_selectableto get available subreddit link flairs. - Automatic RateLimit handling will support errors with millisecond resolution.
- :class:
.Draftto represent a submission draft. - :meth:
.Draft.deleteto delete drafts. - :meth:
.Draft.submitto submit drafts. - :meth:
.Draft.updateto modify drafts. - :class:
.DraftHelperto fetch or create drafts on new Reddit. - :class:
.DraftListto represent a list of :class:.Draftobjects.
Deprecated
- Ability to use :class:
.CommentForestas an asynchronous iterator. - :meth:
.CommentForest.listno longer needs to be awaited. - :attr:
.Submission.commentsno longer needs to be awaited and is now a property.
Fixed
- Fixed return value type of methods returning a listing in :class:
.Subredditand its
helper classes. - An import error when using Async PRAW in environments where
libsqlite3-devis
needed to utilizeaiosqlitepackage which depends on thesqlite3builtin.
Deprecated
- The keyword argument
lazyhas been replace byfetchto consolidate the keyword
argument used to explicitly perform a fetch when initializing an object.
v7.4.0
7.4.0 (2021/07/30)
Added
- :meth:
~.WikiPage.discussionsto obtain site-wide link submissions that link to the
WikiPage. - :meth:
.revertto revert a WikiPage to a specified revision. - :meth:
.Inbox.mark_all_readto mark all messages as read with one API call. - :meth:
~.InboxableMixin.unblock_subredditto unblock a subreddit. - :meth:
.update_crowd_control_levelto update the crowd control level of a post. - :meth:
.moderator_subreddits, which returns information about the subreddits that the
authenticated user moderates, has been restored. - The configuration setting
refresh_tokenhas been added back. See
https://www.reddit.com/r/redditdev/comments/olk5e6/followup_oauth2_api_changes_regarding_refresh/
for more info.
Deprecated
- :class:
.Redditkeyword argumenttoken_manager.
v7.3.1
7.3.1 (2021/07/06)
Changed
- :class:
.Redditwill now be shallow copied when a deepcopy is preformed on it as
asyncprawcore.Session(more specifically, :py:class:asyncio.AbstractEventLoop)
does not support being deepcopied.
Fixed
- Fixed an issue where some :class:
.RedditBaseobjects would be sent in a request as
"None".
v7.3.0
7.3.0 (2021/06/18)
Added
- :class:
.UserSubredditfor thesubredditattribute of :class:.Redditor. - :meth:
.Reddit.username_availablechecks if a username is available. - :meth:
.trustedto retrieve a :class:.RedditorListof trusted users. - :meth:
.trustto add a user to the trusted list. - :meth:
.distrustto remove a user from the trusted list. - :class:
.SQLiteTokenManager(may not work on Windows)
Changed
- :meth:
.Redditor.moderatedwill now objectify all data returned from the API. - The
wiki_editendpoint has been changed fromr/{subreddit}/api/wiki/edit/to
r/{subreddit}/api/wiki/edit. - :meth:
.Redditor.blockno longer needs to retrieve a user's fullname.
Deprecated
- The
subredditattribute of :class:.Redditoris no longer a dict. - Legacy modmail is slated for deprecation by Reddit in June 2021. See
https://www.reddit.com/r/modnews/comments/mar9ha/even_more_modmail_improvements/ for
more info.
Fixed
- Fixed bug where :meth:
.WikiPage.editand :meth:.SubredditWiki.createwould fail if
passedcontentandreasonparameters that produced a request with a body
greater than 500 KiB, even when the parameters did not exceed their respective
permitted maximum lengths. - Fixed bug where :meth:
.Reddit.requestcould not handle instances ofBadRequest\s
when the JSON data contained only the keys "reason" and "message". - Fixed bug where :meth:
.Reddit.requestcould not handle instances ofBadRequest\s
when the response did not contain valid JSON data. - Fixed bug where :meth:
.FullnameMixin.fullnamesometimes returned the wrong fullname.