Releases: praw-dev/praw
Releases · praw-dev/praw
v7.8.1
v7.8.0
7.8.0 (2024/10/20)
Added
- :meth:
~.SubredditLinkFlairTemplates.reorder
to reorder a subreddit's link flair
templates. - :meth:
~.SubredditRedditorFlairTemplates.reorder
to reorder a subreddit's redditor
flair templates. - :func:
.stream_generator
now accepts thecontinue_after_id
parameter, which
starts the stream after a given item ID. - Support for new share URL format created from Reddit's mobile apps.
- :class:
.Reddit
has 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.
v7.7.1
7.7.1 (2023/07/11)
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_banner
to delete mobile banners. - :meth:
.upload_mobile_banner
to upload mobile banners.
Fixed
- An issue with iterating :class:
.ModNote
when a user has more than a hundred notes. - Removal reasons are now returned in the same order as they appear on Reddit.
v7.6.1
7.6.1 (2022/11/11)
Changed
- Revert :meth:
~.Comment.edit
positional argument deprecation. - Revert :meth:
~.Comment.reply
positional argument deprecation. - Revert :meth:
~.Message.reply
positional argument deprecation. - Revert :meth:
~.Submission.edit
positional argument deprecation. - Revert :meth:
~.Submission.reply
positional argument deprecation.
Fixed
- An issue where :class:
.ModmailConversation
'smessages
attribute would only
contain the latest message.
v7.6.0
7.6.0 (2022/05/10)
Added
- :meth:
.pin
to manage pinned submissions on the authenticated user's profile. - :meth:
.update_display_layout
to update the display layout of posts in a
:class:.Collection
. - :meth:
.SubredditCollectionsModeration.create
keyword argumentdisplay_layout
for
specifying a display layout when creating a :class:.Collection
. - :attr:
~.Message.parent
to get the parent of a :class:.Message
. - :class:
.ModNote
to represent a moderator note. - :meth:
.ModNote.delete
to delete a single moderator note. - :class:
.RedditModNotes
to 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:
.RedditorModNotes
to interact with moderator notes from a :class:.Redditor
instance. - :meth:
.RedditorModNotes.subreddits
to obtain moderator notes from multiple
subreddits for a single redditor. - :class:
.SubredditModNotes
to interact with moderator notes from a
:class:.Subreddit
instance. - :meth:
.SubredditModNotes.redditors
to obtain moderator notes for multiple redditors
from a single subreddit. - :meth:
~.BaseModNotes.create
to create a moderator note. - :attr:
.Redditor.notes
to interact with :class:.RedditorModNotes
. - :attr:
.SubredditModeration.notes
to interact with :class:.SubredditModNotes
. - :meth:
~.ModNoteMixin.create_note
create a moderator note from a :class:.Comment
or
:class:.Submission
. - :meth:
~.ModNoteMixin.author_notes
to view the moderator notes for the author of a
:class:.Comment
or :class:.Submission
.
Changed
- Drop support for Python 3.6, which is end-of-life on 2021-12-23.
- :meth:
.conversations
now returns a :class:.ListingGenerator
allowing you to page
through more than 100 conversations.
Deprecated
- The
after
argument for :meth:.conversations
will now have to be included in the
params
keyword argument. - Positional keyword arguments for applicable functions and methods. Starting with 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_sort
attribute is updated after the
submission has already been fetched and awarn_comment_sort
config setting to turn
off the warning. - :meth:
.user_selectable
to get available subreddit link flairs. - Automatic RateLimit handling will support errors with millisecond resolution.
Fixed
- An import error when using PRAW in environments where
libsqlite3-dev
is needed to
utilize thesqlite3
builtin. - Fixed bug where some keyword arguments that are passed to :meth:
.Draft.submit
would
not have an effect.
v7.4.0
7.4.0 (2021/07/30)
Added
- :meth:
~.WikiPage.discussions
to obtain site-wide link submissions that link to the
WikiPage. - :meth:
.revert
to revert a WikiPage to a specified revision. - :meth:
.Inbox.mark_all_read
to mark all messages as read with one API call. - :meth:
~.InboxableMixin.unblock_subreddit
to unblock a subreddit. - :meth:
.update_crowd_control_level
to 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_token
has been added back. See
https://www.reddit.com/r/redditdev/comments/olk5e6/followup_oauth2_api_changes_regarding_refresh/
for more info.
Deprecated
- :class:
.Reddit
keyword argumenttoken_manager
.
v7.3.0
7.3.0 (2021/06/17)
Added
- :class:
.UserSubreddit
for thesubreddit
attribute of :class:.Redditor
. - :meth:
.Reddit.username_available
checks if a username is available. - :meth:
.trusted
to retrieve a :class:.RedditorList
of trusted users. - :meth:
.trust
to add a user to the trusted list. - :meth:
.distrust
to remove a user from the trusted list. - :class:
.SQLiteTokenManager
(may not work on Windows)
Changed
- :meth:
.Redditor.moderated
will now objectify all data returned from the API. - The
wiki_edit
endpoint has been changed fromr/{subreddit}/api/wiki/edit/
to
r/{subreddit}/api/wiki/edit
. - :meth:
.Redditor.block
no longer needs to retrieve a user's fullname.
Deprecated
- The
subreddit
attribute of :class:.Redditor
is 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.edit
and :meth:.SubredditWiki.create
would fail if
passedcontent
andreason
parameters 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.request
could not handle instances ofBadRequest
\s
when the JSON data contained only the keys "reason" and "message". - Fixed bug where :meth:
.Reddit.request
could not handle instances ofBadRequest
\s
when the response did not contain valid JSON data. - Fixed bug where :meth:
.FullnameMixin.fullname
sometimes returned the wrong fullname.
v7.2.0
7.2.0 (2021/02/24)
Added
- :class:
.Reddit
keyword argumenttoken_manager
. - :class:
.FileTokenManager
and its parent abstract class :class:.BaseTokenManager
.
Deprecated
- The configuration setting
refresh_token
is deprecated and its use will result in a
:py:class:DeprecationWarning
. This deprecation applies in all ways of setting
configuration values, i.e., viapraw.ini
, as a keyword argument when initializing
an instance of :class:.Reddit
, and via thePRAW_REFRESH_TOKEN
environment
variable. To be prepared for PRAW 8, use the new :class:.Reddit
keyword argument
token_manager
. See :ref:refresh_token
in PRAW's documentation for an example. - :meth:
.me
will no longer returnNone
when called in :attr:.read_only
mode
starting in PRAW 8. A :py:class:DeprecationWarning
will be issued. To switch forward
to the PRAW 8 behavior setpraw8_raise_exception_on_me=True
in your
:class:.Reddit
call.