All Versions
41
Latest Version
Avg Release Cycle
76 days
Latest Release
715 days ago

Changelog History
Page 3

  • v5.4.0 Changes

    March 27, 2018

    Added

    • ➕ Add method :meth:~.Reddit.patch to :class:.Reddit class to support HTTP PATCH requests.
    • ➕ Add class :class:.Preferences to access and update Reddit preferences.
    • ➕ Add attribute :attr:.User.preferences to access an instance of :class:.Preferences.
    • ➕ Add method :meth:.Message.delete().
    • ➕ Add class :class:.Emoji to work with custom subreddit emoji.

    🗄 Deprecated

    🛠 Fixed

    • 🛠 Fix bug with positive pause_after values in streams provided by :func:.stream_generator where the wait time was not reset after a yielded None.
    • 📜 Parse URLs with trailing slashes and no 'comments' element when creating :class:.Submission objects.
    • 🛠 Fix bug where Subreddit.submissions returns a same submission more than once
    • 🛠 Fix bug where ListingGenerator fetches the same batch of submissions in an infinite loop when 'before' parameter is provided.

    Removed

    • ✂ Removed support for Python 3.3 as it is no longer supported by requests.
  • v5.3.0 Changes

    December 16, 2017

    Added

    • :attr:.Multireddit.stream, to stream submissions and comments from a multireddit.
    • :meth:.Redditor.block

    🛠 Fixed

    • Now raises prawcore.UnavailableForLegalReasons instead of an :py:class:AssertionError when encountering a HTTP 451 response.
  • v5.2.0 Changes

    October 24, 2017

    🔄 Changed

    • ⚡️ An attribute on :class:.LiveUpdate now works as lazy attribute (i.e. populate an attribute when the attribute is first accessed).

    🗄 Deprecated

    • subreddit.comments.gilded because there isn't actually an endpoint that returns only gilded comments. Use subreddit.gilded instead.

    🛠 Fixed

    • ✂ Removed comment.permalink() because comment.permalink is now an attribute returned by Reddit.
  • v5.1.0 Changes

    August 31, 2017

    Added

    • :attr:.Redditor.stream, with methods :meth:.RedditorStream.submissions() and :meth:.RedditorStream.comments() to stream a Redditor's comments or submissions
    • :class:.RedditorStream has been added to facilitate :attr:.Redditor.stream
    • :meth:.Inbox.collapse to mark messages as collapsed.
    • :meth:.Inbox.uncollapse to mark messages as uncollapsed.
    • Raise :class:.ClientException when calling :meth:~.Comment.refresh when the comment does not appear in the resulting comment tree.
    • :meth:.Submission.crosspost to crosspost to a subreddit.

    🛠 Fixed

    • Calling :meth:~.Comment.refresh on a directly fetched, deeply nested :class:.Comment will additionally pull in as many parent comments as possible (currently 8) enabling significantly quicker traversal to the top-most :class:.Comment via successive :meth:.parent() calls.
    • Calling :meth:~.Comment.refresh previously could have resulted in a AttributeError: 'MoreComments' object has no attribute '_replies' exception. This situation will now result in a :class:.ClientException.
    • Properly handle BAD_CSS_NAME errors when uploading stylesheet images with invalid filenames. Previously an AssertionError was raised.
    • :class:.Submission's gilded attribute properly returns the expected value from reddit.
  • v5.0.1 Changes

    July 11, 2017

    🛠 Fixed

    • Calls to :meth:.hide() and :meth:.unhide() properly batch into requests of 50 submissions at a time.
    • Lowered the average maximum delay between inactive stream checks by 4x to 16 seconds. It was previously 64 seconds, which was too long.
  • v5.0.0 Changes

    July 04, 2017

    Added

    • :meth:.Comment.disable_inbox_replies, :meth:.Comment.enable_inbox_replies :meth:.Submission.disable_inbox_replies, and :meth:.Submission.enable_inbox_replies to toggle inbox replies on comments and submissions.

    🔄 Changed

    • 0️⃣ cloudsearch is no longer the default syntax for :meth:.Subreddit.search. lucene is now the default syntax so that PRAW's default is aligned with Reddit's default.
    • :meth:.Reddit.info will now take either a list of fullnames or a single URL string.
    • :meth:.Subreddit.submit accepts a flair template ID and text.

    🛠 Fixed

    • 🛠 Fix accessing :attr:.LiveUpdate.contrib raises AttributeError.

    Removed

    • Iterating directly over :class:.SubredditRelationship (e.g., subreddit.banned, subreddit.contributor, subreddit.moderator, etc) and :class:.SubredditFlair is no longer possible. Iterate instead over their callables, e.g. subreddit.banned() and subreddit.flair().
    • 🚚 The following methods are removed: Subreddit.mod.approve, Subreddit.mod.distinguish, Subreddit.mod.ignore_reports, Subreddit.mod.remove, Subreddit.mod.undistinguish, Subreddit.mod.unignore_reports.
    • 👌 Support for passing a :class:.Submission to :meth:.SubredditFlair.set is removed.
    • 🚚 The thing argument to :meth:.SubredditFlair.set is removed.
    • Return values from :meth:.Comment.block, :meth:.Message.block, :meth:.SubredditMessage.block, :meth:.SubredditFlair.delete, :meth:.friend, :meth:.Redditor.message, :meth:.Subreddit.message, :meth:.select, and :meth:.unfriend are removed as they do not provide any useful information.
    • praw.ini no longer reads in http_proxy and https_proxy settings.
    • is_link parameter of :meth:.SubredditRedditorFlairTemplates.add and :meth:.SubredditRedditorFlairTemplates.clear. Use :class:.SubredditLinkFlairTemplates instead.
  • v4.6.0 Changes

    July 04, 2017

    🚀 The release's sole purpose is to announce the deprecation of the is_link parameter as described below:

    Added

    • :attr:.SubredditFlair.link_templates to manage link flair templates.

    🗄 Deprecated

    • is_link parameter of :meth:.SubredditRedditorFlairTemplates.add and :meth:.SubredditRedditorFlairTemplates.clear. Use :class:.SubredditLinkFlairTemplates instead.
  • v4.5.1 Changes

    May 07, 2017

    🛠 Fixed

    • Calling :meth:.parent works on :class:.Comment instances obtained via :meth:.comment_replies.
  • v4.5.0 Changes

    April 29, 2017

    Added

    • :meth:~praw.models.reddit.subreddit.Modmail.unread_count to get unread count by conversation state.
    • :meth:~praw.models.reddit.subreddit.Modmail.bulk_read to mark conversations as read by conversation state.
    • :meth:~praw.models.reddit.subreddit.Modmail.subreddits to fetch subreddits using new modmail.
    • :meth:~praw.models.reddit.subreddit.Modmail.create to create a new modmail conversation.
    • :meth:~praw.models.ModmailConversation.read to mark modmail conversations as read.
    • :meth:~praw.models.ModmailConversation.unread to mark modmail conversations as unread.
    • :meth:~praw.models.reddit.subreddit.Modmail.conversations to get new modmail conversations.
    • :meth:~praw.models.ModmailConversation.highlight to highlight modmail conversations.
    • :meth:~praw.models.ModmailConversation.unhighlight to unhighlight modmail conversations.
    • :meth:~praw.models.ModmailConversation.mute to mute modmail conversations.
    • :meth:~praw.models.ModmailConversation.unmute to unmute modmail conversations.
    • :meth:~praw.models.ModmailConversation.archive to archive modmail conversations.
    • :meth:~praw.models.ModmailConversation.unarchive to unarchive modmail conversations.
    • :meth:~praw.models.ModmailConversation.reply to reply to modmail conversations.
    • :meth:~praw.models.reddit.subreddit.Modmail.__call__ to get a new modmail conversation.
    • :meth:.Inbox.stream to stream new items in the inbox.
    • Exponential request delay to all streams when no new items are returned in a request. The maximum delay between requests is 66 seconds.

    🔄 Changed

    • :meth:.submit accepts selftext='' to create a title-only submission.
    • :class:.Reddit accepts requestor_class=cls for a customized requestor class and requestor_kwargs={'param': value} for passing arguments to requestor initialization.
    • :meth:~praw.models.reddit.subreddit.SubredditStream.comments, :meth:~praw.models.reddit.subreddit.SubredditStream.submissions, and :meth:~praw.models.Subreddits.stream accept a pause_after argument to allow pausing of the stream. The default value of None retains the preexisting behavior.

    🗄 Deprecated

    • 0️⃣ cloudsearch will no longer be the default syntax for :meth:.Subreddit.search in PRAW 5. Instead lucene will be the default syntax so that PRAW's default is aligned with Reddit's default.

    🛠 Fixed

    • 🛠 Fix bug where :class:.WikiPage revisions with deleted authors caused TypeError.
    • :class:.Submission attributes comment_limit and comment_sort maintain their values after making instances non-lazy.
  • v4.4.0 Changes

    February 21, 2017

    Added

    • ⚡️ :meth:.LiveThreadContribution.update to update settings of a live thread.
    • reset_timestamp to :meth:.limits to provide insight into when the current rate limit window will expire.
    • :meth:.upload_mobile_header to upload subreddit mobile header.
    • :meth:.upload_mobile_icon to upload subreddit mobile icon.
    • :meth:.delete_mobile_header to remove subreddit mobile header.
    • :meth:.delete_mobile_icon to remove subreddit mobile icon.
    • ⚡️ :meth:.LiveUpdateContribution.strike to strike a content of a live thread.
    • ⚡️ :meth:.LiveContributorRelationship.update to update contributor permissions for a redditor.
    • ⚡️ :meth:.LiveContributorRelationship.update_invite to update contributor invite permissions for a redditor.
    • :meth:.LiveThread.discussions to get submissions linking to the thread.
    • :meth:.LiveThread.report to report the thread violating the Reddit rules.
    • :meth:.LiveHelper.now to get the currently featured live thread.
    • :meth:.LiveHelper.info to fetch information about each live thread in live thread IDs.

    🛠 Fixed

    • Uploading an image resulting in too large of a request (>500 KB) now raises prawcore.TooLarge instead of an :py:class:AssertionError.
    • Uploading an invalid image raises APIException.
    • :class:.Redditor instances obtained via :attr:~.Subreddit.moderator (e.g., reddit.subreddit("test").moderator()) will contain attributes with the relationship metadata (e.g., mod_permissions).
    • :class:.Message instances retrieved from the inbox now have attributes author, dest replies and subreddit properly converted to their appropriate PRAW model.