Changelog¶
To be included in v1.4.1 (if present)¶
1.4.1 [UNRELEASED DRAFT] (2024-01-31)¶
No significant changes.
Released versions¶
1.4.1 (2023-12-15)¶
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
setup.py
to an in-tree PEP 517 build backend – by @webknjaz.Whenever the end-users or downstream packagers need to build
frozenlist
from source (a Git checkout or an sdist), they may pass aconfig_settings
flagpure-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
:$ python3 -m pip install . --config-settings=pure-python=
This will also work with
-e | --editable
.The same can be achieved via
pypa/build
:$ python3 -m build --config-setting=pure-python=
Adding
-w | --wheel
can forcepypa/build
produce a wheel from source directly, as opposed to building ansdist
and then building from it.Related issues and pull requests on GitHub: #560.
Contributor-facing changes¶
It is now possible to request line tracing in Cython builds using the
with-cython-tracing
PEP 517 config setting – @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:
$ 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:
$ 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 @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 Release Guide guide has been added, describing how to release frozenlist – by @webknjaz.
This is primarily targeting the maintainers.
Related issues and pull requests on GitHub: #563.
Detailed Contributing Guidelines on authoring the changelog fragments have been published in the documentation – by @webknjaz.
Related issues and pull requests on GitHub: #564.
1.4.0 (2023-07-12)¶
The published source distribution package became buildable under Python 3.12.
Bugfixes¶
Removed an unused
typing.Tuple
import #411
Deprecations and Removals¶
Dropped Python 3.7 support. #413
Misc¶
1.3.3 (2022-11-08)¶
Fixed CI runs when creating a new release, where new towncrier versions fail when the current version section is already present.
1.3.2 (2022-11-08)¶
Misc¶
Updated the CI runs to better check for test results and to avoid deprecated syntax. #327
1.3.1 (2022-08-02)¶
The published source distribution package became buildable under Python 3.11.
1.3.0 (2022-01-18)¶
Bugfixes¶
Do not install C sources with binary distributions. #250
Deprecations and Removals¶
Dropped Python 3.6 support #274
1.2.0 (2021-10-16)¶
Features¶
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). #172Added support for Python 3.10. #227
Started shipping platform-specific wheels with the
musl
tag targeting typical Alpine Linux runtimes. #227Started shipping platform-specific arm64 wheels for Apple Silicon. #227
1.1.1 (2020-11-14)¶
Bugfixes¶
Provide x86 Windows wheels. #169
1.1.0 (2020-10-13)¶
Features¶
Add support for hashing of a frozen list. #136
Support Python 3.8 and 3.9.
Provide wheels for
aarch64
,i686
,ppc64le
,s390x
architectures on Linux as well asx86_64
.
1.0.0 (2019-11-09)¶
Deprecations and Removals¶
Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward. #24