NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #61 most downloaded on PyPI
A list-like structure which implements collections.abc.MutableSequence
Last release 12 months ago
06 Oct 2025
Ships fairly regularly
a new release about every 5 months
Nearly every release is documented
notes for 14 of 14 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
18 releases · first in 2019
The reusable-cibuildwheel.yml workflow has been refactored to be more generic and ci-cd.yml now holds all the configuration toggles -- by webknjaz.
The :file:reusable-cibuildwheel.yml workflow has been refactored to
be more generic and :file:ci-cd.yml now holds all the configuration
toggles -- by :user:webknjaz.
Related issues and pull requests on GitHub: #668.
When building wheels, the source distribution is now passed directly
to the cibuildwheel invocation -- by :user:webknjaz.
Related issues and pull requests on GitHub: #669.
Builds and tests have been added to
ci-cd.yml for arm64 Windows wheels -- by :user:finnagin.
Related issues and pull requests on GitHub: #677.
Started building wheels for CPython 3.14 -- by :user:kumaraditya303.
Related issues and pull requests on GitHub: #681, #682.
Removed --config-settings=pure-python=false from :file:requirements/dev.txt.
Developers on CPython still get accelerated builds by default. To explicitly build
a pure Python wheel, use pip install -e . --config-settings=pure-python=true
-- by :user:bdraco.
Related issues and pull requests on GitHub: #687.
The :file:reusable-cibuildwheel.yml workflow has been refactored to
be more generic and :file:ci-cd.yml now holds all the configuration
toggles -- by :user:webknjaz.
Related issues and pull requests on GitHub:
#668.
When building wheels, the source distribution is now passed directly
to the cibuildwheel invocation -- by :user:webknjaz.
Related issues and pull requests on GitHub:
#669.
Builds and tests have been added to
ci-cd.yml for arm64 Windows wheels -- by :user:finnagin.
Related issues and pull requests on GitHub:
#677.
Started building wheels for CPython 3.14 -- by :user:kumaraditya303.
Removed --config-settings=pure-python=false from :file:requirements/dev.txt.
Developers on CPython still get accelerated builds by default. To explicitly build
a pure Python wheel, use pip install -e . --config-settings=pure-python=true
-- by :user:bdraco.
Related issues and pull requests on GitHub:
#687.
One column per quarter.
Added deepcopy support to FrozenList -- by :user: bdraco .
Added deepcopy support to FrozenList -- by :user:bdraco.
Related issues and pull requests on GitHub:
#659.
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 :user:bdraco.
This change ensures that production builds are optimized for performance. Developers who need line tracing for debugging purposes can still enable it by:
FROZENLIST_CYTHON_TRACING environment variable--config-setting=with-cython-tracing=true option with pipRelated issues and pull requests on GitHub:
#660.
Enabled PIP_CONSTRAINT environment variable in the build configuration to ensure the pinned Cython version from requirements/cython.txt is used during wheel builds.
Related issues and pull requests on GitHub:
#661.
(2025-06-09)
Added deepcopy support to FrozenList -- by bdraco.
Related issues and pull requests on GitHub: 659.
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.
This change ensures that production builds are optimized for performance. Developers who need line tracing for debugging purposes can still enable it by:
Setting the FROZENLIST_CYTHON_TRACING environment variable
Using the --config-setting=with-cython-tracing=true option with pip
Related issues and pull requests on GitHub: 660.
Enabled PIP_CONSTRAINT environment variable in the build configuration to ensure the pinned Cython version from requirements/cython.txt is used during wheel builds.
Related issues and pull requests on GitHub: 661.
No changes from 1.6.1. This is re-publish since 1.6.1 failed to publish.
No significant changes.
This release was yanked because the upload job failed to upload all files to PyPI
Correctly use cimport for including PyBool_FromLong -- by :user:lysnikolaou.
Related issues and pull requests on GitHub:
#653.
Exclude _frozenlist.cpp from bdists/wheels -- by :user:musicinmybrain.
Related issues and pull requests on GitHub:
#649.
Updated to use Cython 3.1 universally across the build path -- by :user:lysnikolaou.
Related issues and pull requests on GitHub:
#654.
(2025-06-02)
Correctly use cimport for including PyBool_FromLong -- by lysnikolaou.
Related issues and pull requests on GitHub: 653.
Exclude _frozenlist.cpp from bdists/wheels -- by musicinmybrain.
Related issues and pull requests on GitHub: 649.
Updated to use Cython 3.1 universally across the build path -- by lysnikolaou.
Related issues and pull requests on GitHub: 654.
Stopped implicitly allowing the use of Cython pre-release versions when building the distribution package -- by :user: ajsanchezsanz and :user: markgr
Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
Related commits on GitHub:
:commit:41591f2.
Implemented support for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.
Related issues and pull requests on GitHub:
#618.
Started building armv7l wheels -- by :user:bdraco.
Related issues and pull requests on GitHub:
#642.
Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
Related commits on GitHub:
:commit:41591f2.
Started building wheels for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.
Related issues and pull requests on GitHub:
#618.
The packaging metadata switched to including an SPDX license identifier introduced in :pep:639 -- by :user:cdce8p.
Related issues and pull requests on GitHub:
#639.
GitHub Actions CI/CD is now configured to manage caching pip-ecosystem
dependencies using re-actors/cache-python-deps_ -- an action by
:user:webknjaz that takes into account ABI stability and the exact
version of Python runtime.
.. _re-actors/cache-python-deps:
https://github.com/marketplace/actions/cache-python-deps
Related issues and pull requests on GitHub:
#633.
Organized dependencies into test and lint dependencies so that no
unnecessary ones are installed during CI runs -- by :user:lysnikolaou.
Related issues and pull requests on GitHub:
#636.
Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
Related commits on GitHub:
:commit:41591f2.
Implemented support for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.
Related issues and pull requests on GitHub: #618.
Started building armv7l wheels -- by :user:bdraco.
Related issues and pull requests on GitHub: #642.
Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
Related commits on GitHub:
:commit:41591f2.
Started building wheels for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.
Related issues and pull requests on GitHub: #618.
The packaging metadata switched to including an SPDX license identifier introduced in :pep:639 -- by :user:cdce8p.
Related issues and pull requests on GitHub: #639.
GitHub Actions CI/CD is now configured to manage caching pip-ecosystem
dependencies using re-actors/cache-python-deps_ -- an action by
:user:webknjaz that takes into account ABI stability and the exact
version of Python runtime.
.. _re-actors/cache-python-deps:
https://github.com/marketplace/actions/cache-python-deps
Related issues and pull requests on GitHub: #633.
Organized dependencies into test and lint dependencies so that no
unnecessary ones are installed during CI runs -- by :user:lysnikolaou.
Related issues and pull requests on GitHub: #636.
An incorrect signature of the __class_getitem__ class method has been fixed, adding a missing class_item argument under Python 3.8 and older.
An incorrect signature of the __class_getitem__ class method
has been fixed, adding a missing class_item argument under
Python 3.8 and older.
This change also improves the code coverage of this method that
was previously missing -- by :user:webknjaz.
Rendered issue, PR, and commit links now lead to
frozenlist's repo instead of yarl's repo.
Related issues and pull requests on GitHub:
#573.
On the :doc:Contributing docs <contributing/guidelines> page,
a link to the Towncrier philosophy has been fixed.
Related issues and pull requests on GitHub:
#574.
A name of a temporary building directory now reflects
that it's related to frozenlist, not yarl.
Related issues and pull requests on GitHub:
#573.
Declared Python 3.13 supported officially in the distribution package metadata.
Related issues and pull requests on GitHub:
#595.
Packaging updates and notes for downstreams
Declared Python 3.12 and PyPy 3.8-3.10 supported officially
in the distribution package metadata.
Related issues and pull requests on GitHub:
#553.
Replaced the packaging is replaced from an old-fashioned :file:setup.py to an
in-tree :pep:517 build backend -- by :user:webknjaz.
Whenever the end-users or downstream packagers need to build frozenlist
from source (a Git checkout or an sdist), they may pass a config_settings
flag pure-python. If this flag is not set, a C-extension will be built
and included into the distribution.
Here is how this can be done with pip:
.. code-block:: console
$ python3 -m pip install . --config-settings=pure-python=
This will also work with -e | --editable.
The same can be achieved via pypa/build:
.. code-block:: console
$ python3 -m build --config-setting=pure-python=
Adding -w | --wheel can force pypa/build produce a wheel from source
directly, as opposed to building an sdist and then building from it.
Related issues and pull requests on GitHub:
#560.
It is now possible to request line tracing in Cython builds using the
with-cython-tracing :pep:517 config setting
-- :user:webknjaz.
This can be used in CI and development environment to measure coverage
on Cython modules, but is not normally useful to the end-users or
downstream packagers.
Here's a usage example:
.. code-block:: console
$ python3 -Im pip install . --config-settings=with-cython-tracing=true
For editable installs, this setting is on by default. Otherwise, it's
off unless requested explicitly.
The following produces C-files required for the Cython coverage
plugin to map the measurements back to the PYX-files:
.. code-block:: console
$ python -Im pip install -e .
Alternatively, the FROZENLIST_CYTHON_TRACING=1 environment variable
can be set to do the same as the :pep:517 config setting.
Related issues and pull requests on GitHub:
#560.
Coverage collection has been implemented for the Cython modules
-- by :user:webknjaz.
It will also be reported to Codecov from any non-release CI jobs.
Related issues and pull requests on GitHub:
#561.
A step-by-step :doc:Release Guide <contributing/release_guide> guide has
been added, describing how to release frozenlist -- by :user:webknjaz.
This is primarily targeting the maintainers.
Related issues and pull requests on GitHub:
#563.
Detailed :doc:Contributing Guidelines <contributing/guidelines> on
authoring the changelog fragments have been published in the
documentation -- by :user:webknjaz.
Related issues and pull requests on GitHub:
#564.
The published source distribution package became buildable under Python 3.12.
Fixed CI runs when creating a new release, where new towncrier versions fail when the current version section is already present.
The published source distribution package became buildable under Python 3.11.
The published source distribution package became buildable under Python 3.11.
Do not install C sources with binary distributions. (#250)_
Do not install C sources with binary distributions. (#250)_
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). (#172)_
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).
(#172)_musl tag targeting typical Alpine Linux runtimes.
(#227)_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). (#172)_
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).
(#172)_musl tag targeting typical Alpine Linux runtimes.
(#227)_Provide x86 Windows wheels. #169 _
#169 <https://github.com/aio-libs/frozenlist/issues/169>_Add support for hashing of a frozen list. #136 _
Add support for hashing of a frozen list.
#136 <https://github.com/aio-libs/frozenlist/issues/136>_
Support Python 3.8 and 3.9.
Provide wheels for aarch64, i686, ppc64le, s390x architectures on
Linux as well as x86_64.
Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward. #24 _
Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward. #24
Initial release of the new frozenlist project, freshly extracted from the aiohttp project.
Initial release of the new frozenlist project, freshly extracted from the aiohttp project.
Your coding agent can read these notes before it upgrades. Set up the MCP server →