Skip to content

Latest commit

 

History

History
1154 lines (899 loc) · 47.5 KB

CHANGES.rst

File metadata and controls

1154 lines (899 loc) · 47.5 KB

Change Log

PRAW follows semantic versioning.

Unreleased

Added

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.

7.7.1 (2023/07/11)

Fixed

  • An issue with replying to a modmail conversation results in a error.

7.7.0 (2023/02/25)

Added

  • :meth:`.delete_mobile_banner` to delete mobile banners.

  • :meth:`.upload_mobile_banner` to upload mobile banners.

  • Experimental :meth:`~.Submission._edit_experimental` for 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.edit` except for the following:

    • The ability to add inline media to existing posts.
    • Additional preserve_inline_media keyword argument to allow 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.

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.

7.6.1 (2022/11/11)

Changed

Fixed

7.6.0 (2022/05/10)

Added

Changed

Deprecated

  • The after argument for :meth:`.conversations` will now have to be included in 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.

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 a warn_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 the sqlite3 builtin.
  • Fixed bug where some keyword arguments that are passed to :meth:`.Draft.submit` would not have an effect.

7.4.0 (2021/07/30)

Added

Changed

Deprecated

7.3.0 (2021/06/17)

Added

Changed

  • :meth:`.moderated` will now objectify all data returned from the API.
  • The wiki_edit endpoint has been changed from r/{subreddit}/api/wiki/edit/ to r/{subreddit}/api/wiki/edit.
  • :meth:`.Redditor.block` no longer needs to retrieve a user's fullname.

Deprecated

Fixed

  • Fixed bug where :meth:`.WikiPage.edit` and :meth:`.SubredditWiki.create` would fail if passed content and reason 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:`.request` could not handle instances of BadRequests when the JSON data contained only the keys "reason" and "message".
  • Fixed bug where :meth:`.request` could not handle instances of BadRequests when the response did not contain valid JSON data.
  • Fixed bug where :meth:`~.FullnameMixin.fullname` sometimes returned the wrong fullname.

7.2.0 (2021/02/24)

Added

Deprecated

7.1.4 (2021/02/07)

Fixed

  • Asynchronous check will no longer fail in Python 3.6 multithreading edge cases.

7.1.3 (2021/02/05)

Changed

  • Asynchronous check will no longer occur when in a Jupyter notebook.

7.1.2 (2021/02/03)

Fixed

7.1.1 (2021/02/02)

Added

Changed

Deprecated

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.

7.1.0 (2020/06/22)

Added

Changed

Deprecated

Fixed

7.0.0 (2020/04/24)

Added

Warning

In May-June 2020, Reddit will force all submissions to run through a subreddit's validation rules.

Changed

  • prawcore.BadRequest should no longer be raised. Instead, a more useful :class:`.RedditAPIException` instance will be raised.
  • 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

Fixed

Removed

6.5.1 (2020/01/07)

Fixed

  • Removed usages of NoReturn that caused PRAW to fail due to ImportError in Python <3.5.4 and <3.6.2.

6.5.0 (2020/01/05)

Added

Deprecated

  • Method reddit.user.moderator_subreddits as :meth:`.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 APIException will no longer unicode-escape strings in the next minor release.

6.4.0 (2019/09/21)

Added

  • :meth:`.crosspost` support parameter flair_id to flair the submission immediately upon crossposting.
  • :meth:`.crosspost` support parameter flair_text to set a custom text to the flair immediately upon crossposting.
  • :meth:`.crosspost` support parameter nsfw to mark the submission NSFW immediately upon crossposting.
  • :meth:`.crosspost` support parameter spoiler to mark the submission as a spoiler immediately upon crossposting.

Fixed

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.

6.3.1 (2019/06/10)

Removed

  • SubredditListingMixin.gilded(), as this was supposed to be removed in 6.0.0 after deprecation in 5.2.0.

6.3.0 (2019/06/09)

Added

Changed

6.2.0 (2019/05/05)

Added

Fixed

Other

  • Bumped minimum prawcore version to 1.0.1.

6.1.1 (2019/01/29)

Added

6.1.0 (2019/01/19)

Added

Changed

Fixed

  • Widgets of unknown types are parsed as :class:`.Widget`s rather than raising an exception.

6.0.0 (2018/07/24)

Added

Fixed

Removed

5.4.0 (2018/03/27)

Added

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.

5.3.0 (2017/12/16)

Added

Fixed

5.2.0 (2017/10/24)

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.

5.1.0 (2017/08/31)

Added

Fixed

5.0.1 (2017/07/11)

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.

5.0.0 (2017/07/04)

Added

Changed

Fixed

Removed

4.6.0 (2017/07/04)

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

Added

Deprecated

4.5.1 (2017/05/07)

Fixed

4.5.0 (2017/04/29)

Added

Changed

Deprecated

  • 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.

4.4.0 (2017/02/21)

Added

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.

4.3.0 (2017/01/19)

Added

Fixed

4.2.0 (2017/01/07)

Added

Deprecated

Fixed

Removed

  • validate_time_filter is no longer part of the public interface.

4.1.0 (2016/12/24)

Added

Changed

Deprecated

  • validate_time_filter will be removed from the public interface in PRAW 4.2 as it was never intended to be part of it to begin with.
  • Iterating directly over :class:`.SubredditRelationship` (e.g., subreddit.banned, subreddit.contributor, subreddit.moderator, etc) and :class:`.SubredditFlair` will be removed in PRAW 5. Iterate instead over their callables, e.g. subreddit.banned() and subreddit.flair().
  • The following methods are deprecated to be removed in PRAW 5 and are replaced with similar Comment.mod... and Submission.mod... alternatives: 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` will be removed in PRAW 5. Use :meth:`.Submission.flair` instead.
  • The thing argument to :meth:`.SubredditFlair.set` is replaced with redditor and will be removed in PRAW 5.

Fixed

4.0.0 (2016/11/29)

Fixed

  • Fix bug where ipython tries to access attribute _ipython_canary_method_should_not_exist_ resulting in a useless fetch.
  • Fix bug where :class:`.Comment` replies becomes [] after attempting to access an invalid attribute on the Comment.
  • Reddit.wiki[...] converts the passed in page name to lower case as pages are only saved in lower case and non-lower case page names results in a Redirect exception (thanks pcjonathan).

4.0.0rc3 (2016/11/26)

Added

4.0.0rc2 (2016/11/20)

Fixed

4.0.0rc1 (2016/11/20)

PRAW 4 introduces significant breaking changes. The numerous changes are not listed here, only the feature removals. Please read through :doc:`/getting_started/quick_start` to help with updating your code to PRAW 4. If you require additional help please ask on r/redditdev or via Slack.

Added

Changed

Note

Only prominent changes are listed here.

Removed

  • Removed :class:`.Reddit`'s login method. Authentication must be done through OAuth.
  • Removed praw-multiprocess as this functionality is no longer needed with PRAW 4.
  • Removed non-oauth functions Message.collapse and Message.uncollapse is_username_available.
  • Removed captcha related functions.

For changes prior to version 4.0 please see: 3.6.2 changelog