1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
Change Log
==========
asyncprawcore follows `semantic versioning <https://semver.org/>`_.
3.0.2 (2025/08/06)
------------------
**Changed**
- Improved type hinting.
3.0.1 (2025/08/02)
------------------
**Fixed**
- Increase half-second delay introduced in ``3.0.0`` to a full second delay.
3.0.0 (2025/08/02)
------------------
**Changed**
- Session creation is now delayed and existing sessions will be reused.
- Drop support for Python 3.8, which was end-of-life on 2024-10-07.
- :class:`RateLimiter` attribute ``next_request_timestamp`` has been removed and
replaced with ``next_request_timestamp_ns``.
**Fixed**
- Add a half-second delay when there are no more requests in the rate limit window and
the window has zero seconds remaining to avoid a semi-rare case where Reddit will
return a 429 response resulting in a :class:`TooManyRequests` exception.
**Removed**
- Remove :class:`RateLimiter` attribute ``reset_timestamp``.
2.4.0 (2023/11/27)
------------------
**Changed**
- Drop support for Python 3.6, which was end-of-life on 2021-12-23.
- :class:`DeviceIDAuthorizer` can be now used with :class:`TrustedAuthenticator`.
- Updated rate limit algorithm to better handle Reddit's new rate limits.
- Drop support for Python 3.7, which was end-of-life on 2023-06-27.
2.3.0 (2021/07/27)
------------------
**Added**
- 301 redirects result in a ``Redirect`` exception.
- :class:`Requestor` is now initialized with a ``timeout`` parameter.
- :class:`ScriptAuthorizer`, :class:`ReadOnlyAuthorizer`, and
:class:`DeviceIDAuthorizer` have a new parameter, ``scopes``, which determines the
scope of access requests.
- Retry 408 "Request Timeout" HTTP responses.
2.2.1 (2021/07/06)
------------------
**Changed**
- Cast non-string objects to string when preprocessing ``data`` and ``params``.
2.2.0 (2021/06/15)
------------------
**Added**
- Support 202 "Accepted" HTTP responses.
**Fixed**
- The expected HTTP response status code for a request made with the proper credentials
to api/v1/revoke_token has been changed from 204 to 200.
2.1.0 (2021/06/15)
------------------
**Added**
- Add a :class:`URITooLarge` exception.
- :class:`ScriptAuthorizer` has a new parameter ``two_factor_callback`` that supplies
OTPs (One-Time Passcodes) when :meth:`.ScriptAuthorizer.refresh` is called.
- Add a :class:`TooManyRequests` exception.
**Fixed**
- Fix ``RuntimeWarning`` when executing pre/post refresh token callbacks.
2.0.0 (2021-02-23)
------------------
**Added**
- :class:`Authorizer` optionally takes a ``pre_refresh_callback`` keyword argument. If
provided, the function will called with the instance of :class:`Authorizer` prior to
refreshing the access and refresh tokens.
- :class:`Authorizer` optionally takes a ``post_refresh_callback`` keyword argument. If
provided, the function will called with the instance of :class:`Authorizer` after
refreshing the access and refresh tokens.
**Changed**
- The ``refresh_token`` argument to :class:`Authorizer` must now be passed by keyword,
and cannot be passed as a positional argument.
1.5.1 (2021-01-25)
------------------
**Changed**
- Improved preprocessing for ``data`` and ``params`` in ``Session.request()``.
1.5.0 (2020-09-28)
------------------
**Added**
- :meth:`.Requestor.request` can be given a timeout parameter to control the amount of
time to wait for a request to succeed.
**Changed**
- Added preprocessing for ``data`` and ``params`` in ``asyncprawcore.Session.request()``
for compatibility with ``aiohttp``.
**Fixed**
:class:`RateLimiter` will not sleep longer than ``next_request_timestamp``.
**Fixed**
- Keys with a ``None`` value in the ``data`` or ``params`` parameters for
``asyncprawcore.Session.request()`` are now dropped as
``aiohttp.ClientSession.request()`` does not accept ``None`` values in ``data`` and
``params``.
- Keys with a boolean value in the ``params`` parameter for
``asyncprawcore.Session.request()`` are now casted to a string as
``aiohttp.ClientSession.request()`` does not accept boolean values in ``params``.
1.4.0.post2 (2020-07-12)
------------------------
**Fixed**
- How files are handled. ``data`` is now able to be passed with ``files`` since
asyncpraw can make requests with both parameters.
- Fixed ``SpecialException`` not able to get ``response.json()`` since it is a
coroutine.
1.4.0.post1 (2020-07-03)
------------------------
**Fixed**
- Documentation errors.
- ``authorize_url`` will correctly return a ``str`` instead of ``yarl.URL()``.
1.4.0 (2020-06-20)
------------------
- Converted from ``requests`` to ``aiohttp`` for asynchronous operation.
- Updated upto version 1.4.0 of prawcore.
- Forked from `praw-dev/prawcore <https://github.com/praw-dev/prawcore>`_
|