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

Changelog History
Page 2

  • 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 parameter user 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 parameter flair_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 the fetch parameter is set to True, 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 doing RedditAPIException.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 to CHAT).
    • 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 of best because it turns out best 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 module praw.models.mod_action, or directly import ModAction from praw.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.
  • v6.5.1 Changes

    January 07, 2010

    ๐Ÿ›  Fixed

    • โœ‚ Removed usages of NoReturn that caused PRAW to fail due to ImportError in Python <3.5.4 and <3.6.2.
  • v6.5.0 Changes

    January 05, 2020

    โž• Added

    • :meth:.set_original_content supports marking a submission as original content.
    • :meth:.unset_original_content supports unmarking a submission as original content.
    • :meth:.Redditor.moderated to get a list of a Redditor's moderated subreddits.
    • Parameter without_websockets to :meth:~.Subreddit.submit_image and :meth:~.Subreddit.submit_video to submit without using WebSockets.
    • ๐Ÿ‘ :meth:.Reddit.redditor supports fullname param to fetch a Redditor by the fullname instead of name. :class:.Redditor constructor now also has fullname param.
    • โž• Add :class:.RemovalReason and :class:.SubredditRemovalReasons to work with removal reasons
    • Attribute removal_reasons to :class:.SubredditModeration to interact with new removal reason classes
    • Parameters mod_note and reason_id to :meth:.ThingModerationMixin.remove to optionally apply a removal reason on removal
    • โž• Add :class:.SubredditModerationStream to enable moderation streams
    • Attribute stream to :class:.SubredditModeration to interact with new moderation streams
    • โž• Add :meth:.SubredditModerationStream.edited to allow streaming of :meth:.SubredditModeration.edited
    • โž• Add :meth:.SubredditModerationStream.log to allow streaming of :meth:.SubredditModeration.log
    • โž• Add :meth:.SubredditModerationStream.modmail_conversations to allow streaming of :meth:.Modmail.conversations
    • โž• Add :meth:.SubredditModerationStream.modqueue to allow streaming of :meth:.SubredditModeration.modqueue
    • โž• Add :meth:.SubredditModerationStream.reports to allow streaming of :meth:.SubredditModeration.reports
    • โž• Add :meth:.SubredditModerationStream.spam to allow streaming of :meth:.SubredditModeration.spam
    • โž• Add :meth:.SubredditModerationStream.unmoderated to allow streaming of :meth:.SubredditModeration.unmoderated
    • โž• Add :meth:.SubredditModerationStream.unread to allow streaming of :meth:.SubredditModeration.unread
    • Parameter exclude_before to :func:.stream_generator to allow :meth:.SubredditModerationStream.modmail_conversations to work
    • Parameters allowable_content and max_emojis to :meth:~.SubredditRedditorFlairTemplates.add, :meth:~.SubredditLinkFlairTemplates.add, and :meth:~.SubredditFlairTemplates.update, as well as its child classes.

    ๐Ÿ—„ Deprecated

    • Method reddit.user.moderator_subreddits as :meth:.Redditor.moderated provides more functionality.
    • ๐Ÿšš The file for ModActions (praw/models/modaction.py) has been moved to praw/models/mod_action.py and the previous has been Deprecated.

    Expected Changes

    • The behavior of func:APIException will no longer unicode-escape strings in the next minor release
  • v6.4.0 Changes

    September 21, 2019

    โž• Added

    • ๐Ÿ‘ :meth:~.Submission.crosspost support parameter flair_id to flair the submission immediately upon crossposting.
    • ๐Ÿ‘ :meth:~.Submission.crosspost support parameter flair_text to set a custom text to the flair immediately upon crossposting.
    • ๐Ÿ‘ :meth:~.Submission.crosspost support parameter nsfw to mark the submission NSFW immediately upon crossposting.
    • ๐Ÿ‘ :meth:~.Submission.crosspost support parameter spoiler to mark the submission as a spoiler immediately upon crossposting.

    ๐Ÿ›  Fixed

    • :meth:.add_community_list has parameter description to support unannounced upstream Reddit API changes.
    • โšก๏ธ :meth:~.WidgetModeration.update supports passing a list of :class:.Subreddit objects.

    ๐Ÿ”„ Changed

    • Removed css_class parameter cannot be used with background_color, text_color, or mod_only constraint on methods:

      • SubredditFlairTemplates.update()
      • SubredditRedditorFlairTemplates.add()
      • SubredditLinkFlairTemplates.add()

    โœ‚ Removed

    • โฌ‡๏ธ Drop official support for Python 2.7.
    • Multireddit.rename() no longer works due to a change in the Reddit API.
  • v6.3.1 Changes

    June 10, 2019

    โœ‚ Removed

    • ๐Ÿšš SubredditListingMixin.gilded(), as this was supposed to be removed in 6.0.0 after deprecation in 5.2.0.
  • v6.3.0 Changes

    June 09, 2019

    โž• Added

    • Collections (:class:.Collection and helper classes).
    • :meth:~.Subreddit.submit, :meth:~.Subreddit.submit_image, and :meth:~.Subreddit.submit_video can be used to submit a post directly to a collection.
    • praw.util.camel_to_snake and praw.util.snake_case_keys.
    • ๐Ÿ”’ Comments can now be locked and unlocked via comment.mod.lock() and comment.mod.unlock(). See: (:meth:.ThingModerationMixin.lock and :meth:.ThingModerationMixin.unlock).
    • align parameter to :meth:.SubredditStylesheet.upload_banner_additional_image

    ๐Ÿ”„ Changed

    • :meth:.Reddit.info now accepts any non-str iterable for fullnames (not just list).
    • :meth:.Reddit.info now returns a generator instead of a list when using the url parameter.
  • v6.2.0 Changes

    May 05, 2019

    โž• Added

    • ๐Ÿ’… :meth:.SubredditStylesheet.upload_banner
    • :meth:.SubredditStylesheet.upload_banner_additional_image
    • :meth:.SubredditStylesheet.upload_banner_hover_image
    • ๐Ÿ’… :meth:.SubredditStylesheet.delete_banner
    • :meth:.SubredditStylesheet.delete_banner_additional_image
    • :meth:.SubredditStylesheet.delete_banner_hover_image
    • :meth:~.Subreddit.submit, :meth:~.Subreddit.submit_image, and :meth:~.Subreddit.submit_video support parameter nsfw to mark the submission NSFW immediately upon posting.
    • :meth:~.Subreddit.submit, :meth:~.Subreddit.submit_image, and :meth:~.Subreddit.submit_video support parameter spoiler to mark the submission as a spoiler immediately upon posting.
    • :meth:~.Subreddit.submit_image and :meth:~.Subreddit.submit_video support parameter timeout. Default timeout has been raised from 2 seconds to 10 seconds.
    • Added parameter function_kwargs to :func:.stream_generator to pass additional kwargs to function.

    ๐Ÿ›  Fixed

    • :meth:.Subreddit.random returns None instead of raising :class:.ClientException when the subreddit does not support generating random submissions.

    Other

    • โฌ†๏ธ Bumped minimum prawcore version to 1.0.1.
  • v6.1.1 Changes

    January 29, 2019

    โž• Added

    • :meth:~.SubredditFlair.set supports parameter flair_template_id for giving a user redesign flair.
  • v6.1.0 Changes

    January 19, 2019

    โž• Added

    • โž• Add method :meth:.Redditor.trophies to get a list of the Redditor's trophies.
    • โž• Add class :class:.PostFlairWidget.
    • Add attributes reply_limit and reply_sort to class :class:.Comment
    • โž• Add class :class:.SubredditWidgetsModeration (accessible through :attr:.SubredditWidgets.mod) and method :meth:.add_text_area.
    • โž• Add class :class:.WidgetModeration (accessible through the .mod attribute on any widget) with methods :meth:~.WidgetModeration.update and :meth:~.WidgetModeration.delete.
    • โž• Add method :meth:.Reddit.put for HTTP PUT requests.
    • Add methods :meth:.add_calendar and :meth:.add_community_list.
    • Add methods :meth:.add_image_widget and :meth:.upload_image.
    • Add method :meth:.add_custom_widget.
    • Add method :meth:.add_post_flair_widget.
    • โž• Add method :meth:.add_menu.
    • Add method :meth:.add_button_widget.
    • โž• Add method :meth:~.SubredditWidgetsModeration.reorder to reorder a subreddit's widgets.
    • โž• Add :class:.Redditors (reddit.redditors) to provide Redditor listings.
    • โž• Add :meth:~.Subreddit.submit_image for submitting native images to Reddit.
    • โž• Add :meth:~.Subreddit.submit_video for submitting native videos and videogifs to Reddit.

    ๐Ÿ”„ Changed

    • :meth:.User.me returns None in :attr:~praw.Reddit.read_only mode.
    • :meth:.SubredditLinkFlairTemplates.__iter__ uses the v2 flair API endpoint. This change will result in additional fields being returned. All fields that were previously returned will still be returned.
    • :meth:.SubredditRedditorFlairTemplates.__iter__ uses the v2 flair API endpoint. The method will still return the exact same items.
    • Methods :meth:~.SubredditRedditorFlairTemplates.add, :meth:~.SubredditLinkFlairTemplates.add, :meth:~.SubredditRedditorFlairTemplates.update, and :meth:~.SubredditLinkFlairTemplates.update can add and update redesign-style flairs with the v2 flair API endpoint. They can still update pre-redesign-style flairs with the older endpoint.

    ๐Ÿ›  Fixed

    • ๐Ÿ“œ Widgets of unknown types are parsed as Widget\ s rather than raising an exception.
  • v6.0.0 Changes

    July 24, 2018

    โž• Added

    • โž• Add method :meth:.WikiPage.revision to get a specific wiki page revision.
    • Added parameter skip_existing to :func:.stream_generator to skip existing items when starting a stream.
    • โž• Add method :meth:.Front.best to get the front page "best" listing.
    • โž• Add :attr:.Subreddit.widgets, :class:.SubredditWidgets, and widget subclasses like :class:.TextArea to support fetching Reddit widgets.
    • โž• Add method :meth:.Submission.mark_visited to mark a submission as visited on the Reddit backend.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix RecursionError on :class:.SubredditEmoji's repr and str.
    • ๐Ÿšš :meth:.SubredditFilters.add and :meth:.SubredditFilters.remove also accept a :class:.Subreddit for the subreddit parameter.
    • โœ‚ Remove restriction which prevents installed (non-confidential) apps from using OAuth2 authorization code grant flow.

    โœ‚ Removed