All Versions
40
Latest Version
Avg Release Cycle
70 days
Latest Release
185 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v7.5.0 Changes
November 13, 2021โ 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.
- โก๏ธ Log a warning if a submission's
-
v7.4.0 Changes
July 30, 2021โ 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. - :class:
.Draft
to represent a submission draft. - :meth:
.Draft.delete
to delete drafts. - :meth:
.Draft.submit
to submit drafts. - โก๏ธ :meth:
.Draft.update
to modify drafts. - :class:
.DraftHelper
to fetch or create drafts on new Reddit. - :class:
.DraftList
to represent a list of :class:.Draft
objects.
๐ Changed
- :meth:
.Reddit.delete
now accepts theparams
parameter.
๐ Deprecated
- :class:
.Reddit
keyword argumenttoken_manager
.
- :meth:
-
v7.3.0 Changes
June 17, 2021โ 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/
tor/{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.
- :class:
-
v7.2.0 Changes
February 24, 2021โ 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 argumenttoken_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.
- :class:
-
v7.1.4 Changes
February 07, 2021๐ Fixed
- Asynchronous check will no longer fail in Python 3.6 multithreading edge cases.
-
v7.1.3 Changes
February 05, 2021๐ Changed
- Asynchronous check will no longer occur when in a Jupyter notebook.
-
v7.1.2 Changes
February 03, 2021๐ Fixed
- Asynchronous check would not work on Python 3.6 as
:py:func:
~asyncio.get_running_loop
only exists on Python 3.7+.
- Asynchronous check would not work on Python 3.6 as
:py:func:
-
v7.1.1 Changes
February 02, 2021โ Added
- โ Add method :meth:
~.Subreddits.premium
to reflect the naming change in Reddit's API. - Ability to submit image galleries with :meth:
~.Subreddit.submit_gallery
. - Ability to pass a gallery url to :meth:
.Reddit.submission
. - Ability to specify modmail mute duration.
- โ Add method :meth:
.invited
to get invited moderators of a subreddit. - Ability to submit text/self posts with inline media.
- โ Add method :meth:
~.Submission.award
and :meth:~.Comment.award
with the ability to specify type of award, anonymity, and message when awarding a submission or comment. - Ability to specify subreddits by name using the
subreddits
parameter in :meth:.Reddit.info
. - ๐ A check to see if PRAW is running in an asynchronous environment and will advise the
user to use
Async PRAW <https://asyncpraw.readthedocs.io>
_. This also adds a configuration option to disable the check.
๐ Changed
- โฌ๏ธ Drop support for Python 3.5, which is end-of-life on 2020-09-13.
- :class:
~.BoundedSet
will now utilize a Last-Recently-Used (LRU) storing mechanism, which will change the order in which elements are removed from the set. - Improved :meth:
~.Subreddit.submit_image
and :meth:~.Subreddit.submit_video
performance in slow network environments by removing a race condition when establishing a websocket connection.
๐ Deprecated
- :meth:
~.Subreddits.gold
is superseded by :meth:~.Subreddits.premium
. - :meth:
~.Submission.gild
is superseded by :meth:~.Submission.award
. - :meth:
~.Comment.gild
is superseded by :meth:~.Comment.award
.
๐ Fixed
- An issue where leaving as a moderator fails if you are using token auth.
- An issue where an incorrect error was being raised due to invalid submission urls.
- Some cases where streams yield the same item multiple times. This cannot be prevented in every case.
- โ Add method :meth:
-
v7.1.0 Changes
June 22, 2020โ Added
- :class:
.Rule
to represent one rule of a subreddit. - :class:
.SubredditRules
to get and add rules. - Ability to submit polls with :meth:
~.Subreddit.submit_poll
. - :class:
.PollData
and :class:.PollOption
. - ๐ Ability to view poll data and poll options via the
.poll_data
attribute on poll submissions. - โ Add method :meth:
~.Reddit.delete
to :class:.Reddit
class to support HTTP DELETE requests. - โ Added :class:
.CalendarConfiguration
to represent the configuration of a :class:.Calendar
widget. - โ Added :class:
.Hover
to represent the hover state of a :class:.Button
. - โ Added :class:
.Styles
to represent widget styling information. - โก๏ธ Ability to stream live thread updates via new class :class:
.LiveThreadStream
with method :meth:~.LiveThreadStream.updates
.
๐ Changed
- โก๏ธ :meth:
.RemovalReason.update
's parameters are now optional. - :meth:
.SubredditRemovalReasons.__getitem__
now takes integers and slices to get removal reasons from the list of reasons as returned by Reddit.
๐ Deprecated
- ๐ :attr:
.WebSocketException.original_exception
is deprecated and slated for removal in PRAW 8.0.
๐ Fixed
- An issue where certain subreddit settings could not be set through
:meth:
.SubredditModeration.update
, such aswelcome_message_enabled
andwelcome_message_text
. This change also removes the need for PRAW to track current subreddit settings and send unmodified ones in the update request. - Instances of
BadRequest
\ s captured by PRAW that do not contain any detailed JSON data are re-raised as the originalBadRequest
. - :meth:
~.Subreddit.submit_image
and :meth:~.Subreddit.submit_video
will throw :class:.MediaPostFailed
when Reddit fails to post an image or video post.
- :class:
-
v7.0.0 Changes
April 24, 2020โ Added
- ๐
config_interpolation
parameter for :class:.Reddit
supporting basic and extended modes. - โ Add :meth:
.Redditors.partial_redditors
that returns lightweight redditor objects that contain only a few fields. This is useful for resolving Redditor IDs to their usernames in bulk. - :meth:
.User.friends
has a new parameteruser
that takes either an instance of :class:.Redditor
or a string containing a redditor name and returns an instance of :class:.Redditor
if the authenticated user is friends with the user, otherwise throws an exception. - :meth:
.SubmissionModeration.flair
has the parameterflair_template_id
for applying flairs with template IDs. - โก๏ธ :meth:
~.Emoji.update
supports modifying an emoji's permissions. - ๐ :meth:
~.SubredditEmoji.add
now supports optionally passing booleans to set an emoji's permissions upon upload. - โก๏ธ Methods :meth:
.SubredditLinkFlairTemplates.update
and :meth:.SubredditRedditorFlairTemplates.update
contain a new parameter,fetch
, that toggles the automatic fetching of existing data from Reddit. It is set to True by default. - โก๏ธ Values in methods :meth:
.SubredditLinkFlairTemplates.update
and :meth:.SubredditRedditorFlairTemplates.update
that are left as the defaults will no longer be over-written if thefetch
parameter is set toTrue
, but will fill in existing values for the flair template. - The parameter
text
for methods :meth:.SubredditLinkFlairTemplates.update
and :meth:.SubredditRedditorFlairTemplates.update
is no longer required. - There is a new method, :meth:
.Subreddit.post_requirements
, to fetch a subreddit's post requirements. - Method :meth:
.SubmissionModeration.sticky
will now ignore the Confict exception generated by trying to sticky the same post multiple times. - A new method :meth:
.CommentModeration.show
will uncollapse a comment that was collapsed because of Crowd Control - Methods :meth:
.Subreddit.submit_image
and :meth:.Subreddit.submit_video
will throw :class:.TooLargeMediaException
if the submitted media is rejected by Reddit due to the size of the media. - Class :class:
.Reddit
has an attribute,validate_on_submit
, that can be set after class initialization that causes methods :meth:.Subreddit.submit
, :meth:.Subreddit.submit_image
, :meth:.Subreddit.submit_video
, and :meth:.Submission.edit
to check that the submission matches a subreddit's post validation rules. This attribute will be functionally useless once Reddit implements their change. This attribute will be deprecated on the next release after Reddit's change, and will be removed on the next major release after Reddit's change.
โ .. warning:: In May-June 2020, Reddit will force all submissions to run through a subreddit's validation rules.
- Introduced a data class, :class:
.RedditErrorItem
, to represent an individual error item returned from Reddit. - Class :class:
.RedditAPIException
now serves as a container for the :class:.RedditErrorItem
\ s. You can access the items by doingRedditAPIException.items
, which returns a list. - :class:
.APIException
is an alias to :class:.RedditAPIException
. - Parameter
discussion_type
to methods :meth:.Subreddit.submit
, :meth:.Subreddit.submit_image
, and :meth:.Subreddit.submit_video
to support submitting as a live discussion (set toCHAT
). - Instances of :class:
.Trophy
can be compared for equality with each other. - ๐ง :class:
.Reddit
has a new configurable parameter,timeout
. This defaults to 16 seconds. It controls how long PRAW will wait for a response before throwing an exception. - PRAW now handles ratelimit errors returned as instances of
:class:
.RedditAPIException
. - :class:
.Reddit
has one new parameter,ratelimit_seconds
. The parameter configures the maximum amount of seconds to catch ratelimits for. It defaults to 5 seconds when not specified.
๐ Changed
prawcore.BadRequest
should no longer be raised. Instead a more useful :class:.RedditAPIException
instance will be raised.- 0๏ธโฃ Set the default comment sort to
confidence
instead ofbest
because it turns outbest
isn't actually the correct value for the parameter.
๐ Deprecated
- ๐ :class:
.APIException
is deprecated and slated for removal in PRAW 8.0.
๐ Fixed
- โก๏ธ :meth:
.SubredditFlair.update
will not error out when the flair text contains quote marks.
โ Removed
- Converting :class:
.APIException
to string will no longer escape unicode characters. - Module
praw.models.modaction
no longer exists. Please use the modulepraw.models.mod_action
, or directly importModAction
frompraw.models
. - โก๏ธ Methods :meth:
.SubredditLinkFlairTemplates.update
and :meth:.SubredditRedditorFlairTemplates.update
will no longer create flairs that are using an invalid template id, but instead throw a :class:.InvalidFlairTemplateID
. - ๐ Method
reddit.user.moderator_subreddits
has been removed. Please use :meth:.Redditor.moderated
instead.
- ๐