METADATA 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. Metadata-Version: 2.4
  2. Name: frozenlist
  3. Version: 1.8.0
  4. Summary: A list-like structure which implements collections.abc.MutableSequence
  5. Home-page: https://github.com/aio-libs/frozenlist
  6. Maintainer: aiohttp team <team@aiohttp.org>
  7. Maintainer-email: team@aiohttp.org
  8. License: Apache-2.0
  9. Project-URL: Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org
  10. Project-URL: Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org
  11. Project-URL: CI: Github Actions, https://github.com/aio-libs/frozenlist/actions
  12. Project-URL: Code of Conduct, https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md
  13. Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/frozenlist
  14. Project-URL: Docs: Changelog, https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog
  15. Project-URL: Docs: RTD, https://frozenlist.aio-libs.org
  16. Project-URL: GitHub: issues, https://github.com/aio-libs/frozenlist/issues
  17. Project-URL: GitHub: repo, https://github.com/aio-libs/frozenlist
  18. Classifier: Development Status :: 5 - Production/Stable
  19. Classifier: Intended Audience :: Developers
  20. Classifier: Operating System :: POSIX
  21. Classifier: Operating System :: MacOS :: MacOS X
  22. Classifier: Operating System :: Microsoft :: Windows
  23. Classifier: Programming Language :: Cython
  24. Classifier: Programming Language :: Python
  25. Classifier: Programming Language :: Python :: 3
  26. Classifier: Programming Language :: Python :: 3.9
  27. Classifier: Programming Language :: Python :: 3.10
  28. Classifier: Programming Language :: Python :: 3.11
  29. Classifier: Programming Language :: Python :: 3.12
  30. Classifier: Programming Language :: Python :: 3.13
  31. Classifier: Programming Language :: Python :: 3.14
  32. Classifier: Programming Language :: Python :: Implementation :: CPython
  33. Classifier: Programming Language :: Python :: Implementation :: PyPy
  34. Requires-Python: >=3.9
  35. Description-Content-Type: text/x-rst
  36. License-File: LICENSE
  37. Dynamic: license-file
  38. frozenlist
  39. ==========
  40. .. image:: https://github.com/aio-libs/frozenlist/workflows/CI/badge.svg
  41. :target: https://github.com/aio-libs/frozenlist/actions
  42. :alt: GitHub status for master branch
  43. .. image:: https://codecov.io/gh/aio-libs/frozenlist/branch/master/graph/badge.svg?flag=pytest
  44. :target: https://codecov.io/gh/aio-libs/frozenlist?flags[]=pytest
  45. :alt: codecov.io status for master branch
  46. .. image:: https://img.shields.io/pypi/v/frozenlist.svg?logo=Python&logoColor=white
  47. :target: https://pypi.org/project/frozenlist
  48. :alt: frozenlist @ PyPI
  49. .. image:: https://readthedocs.org/projects/frozenlist/badge/?version=latest
  50. :target: https://frozenlist.aio-libs.org
  51. :alt: Read The Docs build status badge
  52. .. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
  53. :target: https://matrix.to/#/%23aio-libs:matrix.org
  54. :alt: Matrix Room — #aio-libs:matrix.org
  55. .. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
  56. :target: https://matrix.to/#/%23aio-libs-space:matrix.org
  57. :alt: Matrix Space — #aio-libs-space:matrix.org
  58. Introduction
  59. ------------
  60. ``frozenlist.FrozenList`` is a list-like structure which implements
  61. ``collections.abc.MutableSequence``. The list is *mutable* until ``FrozenList.freeze``
  62. is called, after which list modifications raise ``RuntimeError``:
  63. >>> from frozenlist import FrozenList
  64. >>> fl = FrozenList([17, 42])
  65. >>> fl.append('spam')
  66. >>> fl.append('Vikings')
  67. >>> fl
  68. <FrozenList(frozen=False, [17, 42, 'spam', 'Vikings'])>
  69. >>> fl.freeze()
  70. >>> fl
  71. <FrozenList(frozen=True, [17, 42, 'spam', 'Vikings'])>
  72. >>> fl.frozen
  73. True
  74. >>> fl.append("Monty")
  75. Traceback (most recent call last):
  76. File "<stdin>", line 1, in <module>
  77. File "frozenlist/_frozenlist.pyx", line 97, in frozenlist._frozenlist.FrozenList.append
  78. self._check_frozen()
  79. File "frozenlist/_frozenlist.pyx", line 19, in frozenlist._frozenlist.FrozenList._check_frozen
  80. raise RuntimeError("Cannot modify frozen list.")
  81. RuntimeError: Cannot modify frozen list.
  82. FrozenList is also hashable, but only when frozen. Otherwise it also throws a RuntimeError:
  83. >>> fl = FrozenList([17, 42, 'spam'])
  84. >>> hash(fl)
  85. Traceback (most recent call last):
  86. File "<stdin>", line 1, in <module>
  87. File "frozenlist/_frozenlist.pyx", line 111, in frozenlist._frozenlist.FrozenList.__hash__
  88. raise RuntimeError("Cannot hash unfrozen list.")
  89. RuntimeError: Cannot hash unfrozen list.
  90. >>> fl.freeze()
  91. >>> hash(fl)
  92. 3713081631934410656
  93. >>> dictionary = {fl: 'Vikings'} # frozen fl can be a dict key
  94. >>> dictionary
  95. {<FrozenList(frozen=True, [1, 2])>: 'Vikings'}
  96. Installation
  97. ------------
  98. ::
  99. $ pip install frozenlist
  100. Documentation
  101. -------------
  102. https://frozenlist.aio-libs.org
  103. Communication channels
  104. ----------------------
  105. We have a *Matrix Space* `#aio-libs-space:matrix.org
  106. <https://matrix.to/#/%23aio-libs-space:matrix.org>`_ which is
  107. also accessible via Gitter.
  108. License
  109. -------
  110. ``frozenlist`` is offered under the Apache 2 license.
  111. Source code
  112. -----------
  113. The project is hosted on GitHub_
  114. Please file an issue in the `bug tracker
  115. <https://github.com/aio-libs/frozenlist/issues>`_ if you have found a bug
  116. or have some suggestions to improve the library.
  117. .. _GitHub: https://github.com/aio-libs/frozenlist
  118. =========
  119. Changelog
  120. =========
  121. ..
  122. You should *NOT* be adding new change log entries to this file, this
  123. file is managed by towncrier. You *may* edit previous change logs to
  124. fix problems like typo corrections or such.
  125. To add a new change log entry, please see
  126. https://pip.pypa.io/en/latest/development/contributing/#news-entries
  127. we named the news folder "changes".
  128. WARNING: Don't drop the next directive!
  129. .. towncrier release notes start
  130. v1.8.0
  131. ======
  132. *(2025-10-05)*
  133. Contributor-facing changes
  134. --------------------------
  135. - The ``reusable-cibuildwheel.yml`` workflow has been refactored to
  136. be more generic and ``ci-cd.yml`` now holds all the configuration
  137. toggles -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  138. *Related issues and pull requests on GitHub:*
  139. `#668 <https://github.com/aio-libs/frozenlist/issues/668>`__.
  140. - When building wheels, the source distribution is now passed directly
  141. to the ``cibuildwheel`` invocation -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  142. *Related issues and pull requests on GitHub:*
  143. `#669 <https://github.com/aio-libs/frozenlist/issues/669>`__.
  144. - Builds and tests have been added to
  145. ``ci-cd.yml`` for arm64 Windows wheels -- by `@finnagin <https://github.com/sponsors/finnagin>`__.
  146. *Related issues and pull requests on GitHub:*
  147. `#677 <https://github.com/aio-libs/frozenlist/issues/677>`__.
  148. - Started building wheels for CPython 3.14 -- by `@kumaraditya303 <https://github.com/sponsors/kumaraditya303>`__.
  149. *Related issues and pull requests on GitHub:*
  150. `#681 <https://github.com/aio-libs/frozenlist/issues/681>`__, `#682 <https://github.com/aio-libs/frozenlist/issues/682>`__.
  151. - Removed ``--config-settings=pure-python=false`` from ``requirements/dev.txt``.
  152. Developers on CPython still get accelerated builds by default. To explicitly build
  153. a pure Python wheel, use ``pip install -e . --config-settings=pure-python=true``
  154. -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  155. *Related issues and pull requests on GitHub:*
  156. `#687 <https://github.com/aio-libs/frozenlist/issues/687>`__.
  157. ----
  158. v1.7.0
  159. ======
  160. *(2025-06-09)*
  161. Features
  162. --------
  163. - Added deepcopy support to FrozenList -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  164. *Related issues and pull requests on GitHub:*
  165. `#659 <https://github.com/aio-libs/frozenlist/issues/659>`__.
  166. Packaging updates and notes for downstreams
  167. -------------------------------------------
  168. - Fixed an issue where ``frozenlist`` binary wheels would be built with debugging symbols and line tracing enabled, which significantly impacted performance. Line tracing is now disabled by default and can only be enabled explicitly -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  169. This change ensures that production builds are optimized for performance. Developers who need line tracing for debugging purposes can still enable it by:
  170. 1. Setting the ``FROZENLIST_CYTHON_TRACING`` environment variable
  171. 2. Using the ``--config-setting=with-cython-tracing=true`` option with pip
  172. *Related issues and pull requests on GitHub:*
  173. `#660 <https://github.com/aio-libs/frozenlist/issues/660>`__.
  174. - Enabled ``PIP_CONSTRAINT`` environment variable in the build configuration to ensure the pinned Cython version from ``requirements/cython.txt`` is used during wheel builds.
  175. *Related issues and pull requests on GitHub:*
  176. `#661 <https://github.com/aio-libs/frozenlist/issues/661>`__.
  177. ----
  178. v1.6.2
  179. ======
  180. *(2025-06-03)*
  181. No significant changes.
  182. ----
  183. v1.6.1
  184. ======
  185. *(2025-06-02)*
  186. Bug fixes
  187. ---------
  188. - Correctly use ``cimport`` for including ``PyBool_FromLong`` -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  189. *Related issues and pull requests on GitHub:*
  190. `#653 <https://github.com/aio-libs/frozenlist/issues/653>`__.
  191. Packaging updates and notes for downstreams
  192. -------------------------------------------
  193. - Exclude ``_frozenlist.cpp`` from bdists/wheels -- by `@musicinmybrain <https://github.com/sponsors/musicinmybrain>`__.
  194. *Related issues and pull requests on GitHub:*
  195. `#649 <https://github.com/aio-libs/frozenlist/issues/649>`__.
  196. - Updated to use Cython 3.1 universally across the build path -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  197. *Related issues and pull requests on GitHub:*
  198. `#654 <https://github.com/aio-libs/frozenlist/issues/654>`__.
  199. ----
  200. v1.6.0
  201. ======
  202. *(2025-04-17)*
  203. Bug fixes
  204. ---------
  205. - Stopped implicitly allowing the use of Cython pre-release versions when
  206. building the distribution package -- by `@ajsanchezsanz <https://github.com/sponsors/ajsanchezsanz>`__ and
  207. `@markgreene74 <https://github.com/sponsors/markgreene74>`__.
  208. *Related commits on GitHub:*
  209. `41591f2 <https://github.com/aio-libs/frozenlist/commit/41591f2>`__.
  210. Features
  211. --------
  212. - Implemented support for the free-threaded build of CPython 3.13 -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  213. *Related issues and pull requests on GitHub:*
  214. `#618 <https://github.com/aio-libs/frozenlist/issues/618>`__.
  215. - Started building armv7l wheels -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  216. *Related issues and pull requests on GitHub:*
  217. `#642 <https://github.com/aio-libs/frozenlist/issues/642>`__.
  218. Packaging updates and notes for downstreams
  219. -------------------------------------------
  220. - Stopped implicitly allowing the use of Cython pre-release versions when
  221. building the distribution package -- by `@ajsanchezsanz <https://github.com/sponsors/ajsanchezsanz>`__ and
  222. `@markgreene74 <https://github.com/sponsors/markgreene74>`__.
  223. *Related commits on GitHub:*
  224. `41591f2 <https://github.com/aio-libs/frozenlist/commit/41591f2>`__.
  225. - Started building wheels for the free-threaded build of CPython 3.13 -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  226. *Related issues and pull requests on GitHub:*
  227. `#618 <https://github.com/aio-libs/frozenlist/issues/618>`__.
  228. - The packaging metadata switched to including an SPDX license identifier introduced in `PEP 639 <https://peps.python.org/pep-639>`__ -- by `@cdce8p <https://github.com/sponsors/cdce8p>`__.
  229. *Related issues and pull requests on GitHub:*
  230. `#639 <https://github.com/aio-libs/frozenlist/issues/639>`__.
  231. Contributor-facing changes
  232. --------------------------
  233. - GitHub Actions CI/CD is now configured to manage caching pip-ecosystem
  234. dependencies using `re-actors/cache-python-deps`_ -- an action by
  235. `@webknjaz <https://github.com/sponsors/webknjaz>`__ that takes into account ABI stability and the exact
  236. version of Python runtime.
  237. .. _`re-actors/cache-python-deps`:
  238. https://github.com/marketplace/actions/cache-python-deps
  239. *Related issues and pull requests on GitHub:*
  240. `#633 <https://github.com/aio-libs/frozenlist/issues/633>`__.
  241. - Organized dependencies into test and lint dependencies so that no
  242. unnecessary ones are installed during CI runs -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  243. *Related issues and pull requests on GitHub:*
  244. `#636 <https://github.com/aio-libs/frozenlist/issues/636>`__.
  245. ----
  246. 1.5.0 (2024-10-22)
  247. ==================
  248. Bug fixes
  249. ---------
  250. - An incorrect signature of the ``__class_getitem__`` class method
  251. has been fixed, adding a missing ``class_item`` argument under
  252. Python 3.8 and older.
  253. This change also improves the code coverage of this method that
  254. was previously missing -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  255. *Related issues and pull requests on GitHub:*
  256. `#567 <https://github.com/aio-libs/frozenlist/issues/567>`__, `#571 <https://github.com/aio-libs/frozenlist/issues/571>`__.
  257. Improved documentation
  258. ----------------------
  259. - Rendered issue, PR, and commit links now lead to
  260. ``frozenlist``'s repo instead of ``yarl``'s repo.
  261. *Related issues and pull requests on GitHub:*
  262. `#573 <https://github.com/aio-libs/frozenlist/issues/573>`__.
  263. - On the ``Contributing docs`` page,
  264. a link to the ``Towncrier philosophy`` has been fixed.
  265. *Related issues and pull requests on GitHub:*
  266. `#574 <https://github.com/aio-libs/frozenlist/issues/574>`__.
  267. Packaging updates and notes for downstreams
  268. -------------------------------------------
  269. - A name of a temporary building directory now reflects
  270. that it's related to ``frozenlist``, not ``yarl``.
  271. *Related issues and pull requests on GitHub:*
  272. `#573 <https://github.com/aio-libs/frozenlist/issues/573>`__.
  273. - Declared Python 3.13 supported officially in the distribution package metadata.
  274. *Related issues and pull requests on GitHub:*
  275. `#595 <https://github.com/aio-libs/frozenlist/issues/595>`__.
  276. ----
  277. 1.4.1 (2023-12-15)
  278. ==================
  279. Packaging updates and notes for downstreams
  280. -------------------------------------------
  281. - Declared Python 3.12 and PyPy 3.8-3.10 supported officially
  282. in the distribution package metadata.
  283. *Related issues and pull requests on GitHub:*
  284. `#553 <https://github.com/aio-libs/frozenlist/issues/553>`__.
  285. - Replaced the packaging is replaced from an old-fashioned ``setup.py`` to an
  286. in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  287. Whenever the end-users or downstream packagers need to build ``frozenlist``
  288. from source (a Git checkout or an sdist), they may pass a ``config_settings``
  289. flag ``pure-python``. If this flag is not set, a C-extension will be built
  290. and included into the distribution.
  291. Here is how this can be done with ``pip``:
  292. .. code-block:: console
  293. $ python3 -m pip install . --config-settings=pure-python=
  294. This will also work with ``-e | --editable``.
  295. The same can be achieved via ``pypa/build``:
  296. .. code-block:: console
  297. $ python3 -m build --config-setting=pure-python=
  298. Adding ``-w | --wheel`` can force ``pypa/build`` produce a wheel from source
  299. directly, as opposed to building an ``sdist`` and then building from it.
  300. *Related issues and pull requests on GitHub:*
  301. `#560 <https://github.com/aio-libs/frozenlist/issues/560>`__.
  302. Contributor-facing changes
  303. --------------------------
  304. - It is now possible to request line tracing in Cython builds using the
  305. ``with-cython-tracing`` `PEP 517 <https://peps.python.org/pep-517>`__ config setting
  306. -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  307. This can be used in CI and development environment to measure coverage
  308. on Cython modules, but is not normally useful to the end-users or
  309. downstream packagers.
  310. Here's a usage example:
  311. .. code-block:: console
  312. $ python3 -Im pip install . --config-settings=with-cython-tracing=true
  313. For editable installs, this setting is on by default. Otherwise, it's
  314. off unless requested explicitly.
  315. The following produces C-files required for the Cython coverage
  316. plugin to map the measurements back to the PYX-files:
  317. .. code-block:: console
  318. $ python -Im pip install -e .
  319. Alternatively, the ``FROZENLIST_CYTHON_TRACING=1`` environment variable
  320. can be set to do the same as the `PEP 517 <https://peps.python.org/pep-517>`__ config setting.
  321. *Related issues and pull requests on GitHub:*
  322. `#560 <https://github.com/aio-libs/frozenlist/issues/560>`__.
  323. - Coverage collection has been implemented for the Cython modules
  324. -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  325. It will also be reported to Codecov from any non-release CI jobs.
  326. *Related issues and pull requests on GitHub:*
  327. `#561 <https://github.com/aio-libs/frozenlist/issues/561>`__.
  328. - A step-by-step ``Release Guide`` guide has
  329. been added, describing how to release *frozenlist* -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  330. This is primarily targeting the maintainers.
  331. *Related issues and pull requests on GitHub:*
  332. `#563 <https://github.com/aio-libs/frozenlist/issues/563>`__.
  333. - Detailed ``Contributing Guidelines`` on
  334. authoring the changelog fragments have been published in the
  335. documentation -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.
  336. *Related issues and pull requests on GitHub:*
  337. `#564 <https://github.com/aio-libs/frozenlist/issues/564>`__.
  338. ----
  339. 1.4.0 (2023-07-12)
  340. ==================
  341. The published source distribution package became buildable
  342. under Python 3.12.
  343. ----
  344. Bugfixes
  345. --------
  346. - Removed an unused ``typing.Tuple`` import
  347. `#411 <https://github.com/aio-libs/frozenlist/issues/411>`_
  348. Deprecations and Removals
  349. -------------------------
  350. - Dropped Python 3.7 support.
  351. `#413 <https://github.com/aio-libs/frozenlist/issues/413>`_
  352. Misc
  353. ----
  354. - `#410 <https://github.com/aio-libs/frozenlist/issues/410>`_, `#433 <https://github.com/aio-libs/frozenlist/issues/433>`_
  355. ----
  356. 1.3.3 (2022-11-08)
  357. ==================
  358. - Fixed CI runs when creating a new release, where new towncrier versions
  359. fail when the current version section is already present.
  360. ----
  361. 1.3.2 (2022-11-08)
  362. ==================
  363. Misc
  364. ----
  365. - Updated the CI runs to better check for test results and to avoid deprecated syntax. `#327 <https://github.com/aio-libs/frozenlist/issues/327>`_
  366. ----
  367. 1.3.1 (2022-08-02)
  368. ==================
  369. The published source distribution package became buildable
  370. under Python 3.11.
  371. ----
  372. 1.3.0 (2022-01-18)
  373. ==================
  374. Bugfixes
  375. --------
  376. - Do not install C sources with binary distributions.
  377. `#250 <https://github.com/aio-libs/frozenlist/issues/250>`_
  378. Deprecations and Removals
  379. -------------------------
  380. - Dropped Python 3.6 support
  381. `#274 <https://github.com/aio-libs/frozenlist/issues/274>`_
  382. ----
  383. 1.2.0 (2021-10-16)
  384. ==================
  385. Features
  386. --------
  387. - ``FrozenList`` now supports being used as a generic type as per PEP 585, e.g. ``frozen_int_list: FrozenList[int]`` (requires Python 3.9 or newer).
  388. `#172 <https://github.com/aio-libs/frozenlist/issues/172>`_
  389. - Added support for Python 3.10.
  390. `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
  391. - Started shipping platform-specific wheels with the ``musl`` tag targeting typical Alpine Linux runtimes.
  392. `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
  393. - Started shipping platform-specific arm64 wheels for Apple Silicon.
  394. `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
  395. ----
  396. 1.1.1 (2020-11-14)
  397. ==================
  398. Bugfixes
  399. --------
  400. - Provide x86 Windows wheels.
  401. `#169 <https://github.com/aio-libs/frozenlist/issues/169>`_
  402. ----
  403. 1.1.0 (2020-10-13)
  404. ==================
  405. Features
  406. --------
  407. - Add support for hashing of a frozen list.
  408. `#136 <https://github.com/aio-libs/frozenlist/issues/136>`_
  409. - Support Python 3.8 and 3.9.
  410. - Provide wheels for ``aarch64``, ``i686``, ``ppc64le``, ``s390x`` architectures on
  411. Linux as well as ``x86_64``.
  412. ----
  413. 1.0.0 (2019-11-09)
  414. ==================
  415. Deprecations and Removals
  416. -------------------------
  417. - Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward.
  418. `#24 <https://github.com/aio-libs/frozenlist/issues/24>`_