Skip to content

Commit d8a3667

Browse files
authored
Move changelog to a separate file. (#1083)
* Move changelog to a separate file * Fix changelog file link. * Fix changelog link. * Update manifest and project metadata.
1 parent 8067b60 commit d8a3667

File tree

4 files changed

+166
-161
lines changed

4 files changed

+166
-161
lines changed

CHANGELOG.rst

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
Changelog
2+
=========
3+
4+
5.0.0
5+
-----
6+
7+
* Bumped MSRV to 1.74.
8+
* Added support for Python 3.14 and free-threaded Python 3.14.
9+
* Added support for Windows on ARM.
10+
* Passing ``hashpw`` a password longer than 72 bytes now raises a
11+
``ValueError``. Previously the password was silently truncated, following the
12+
behavior of the original OpenBSD ``bcrypt`` implementation.
13+
14+
4.3.0
15+
-----
16+
17+
* Dropped support for Python 3.7.
18+
* We now support free-threaded Python 3.13.
19+
* We now support PyPy 3.11.
20+
* We now publish wheels for free-threaded Python 3.13, for PyPy 3.11 on
21+
``manylinux``, and for ARMv7l on ``manylinux``.
22+
23+
4.2.1
24+
-----
25+
26+
* Bump Rust dependency versions - this should resolve crashes on Python 3.13
27+
free-threaded builds.
28+
* We no longer build ``manylinux`` wheels for PyPy 3.9.
29+
30+
4.2.0
31+
-----
32+
33+
* Bump Rust dependency versions
34+
* Removed the ``BCRYPT_ALLOW_RUST_163`` environment variable.
35+
36+
4.1.3
37+
-----
38+
39+
* Bump Rust dependency versions
40+
41+
4.1.2
42+
-----
43+
44+
* Publish both ``py37`` and ``py39`` wheels. This should resolve some errors
45+
relating to initializing a module multiple times per process.
46+
47+
4.1.1
48+
-----
49+
50+
* Fixed the type signature on the ``kdf`` method.
51+
* Fixed packaging bug on Windows.
52+
* Fixed incompatibility with passlib package detection assumptions.
53+
54+
4.1.0
55+
-----
56+
57+
* Dropped support for Python 3.6.
58+
* Bumped MSRV to 1.64. (Note: Rust 1.63 can be used by setting the ``BCRYPT_ALLOW_RUST_163`` environment variable)
59+
60+
4.0.1
61+
-----
62+
63+
* We now build PyPy ``manylinux`` wheels.
64+
* Fixed a bug where passing an invalid ``salt`` to ``checkpw`` could result in
65+
a ``pyo3_runtime.PanicException``. It now correctly raises a ``ValueError``.
66+
67+
4.0.0
68+
-----
69+
70+
* ``bcrypt`` is now implemented in Rust. Users building from source will need
71+
to have a Rust compiler available. Nothing will change for users downloading
72+
wheels.
73+
* We no longer ship ``manylinux2010`` wheels. Users should upgrade to the latest
74+
``pip`` to ensure this doesn’t cause issues downloading wheels on their
75+
platform. We now ship ``manylinux_2_28`` wheels for users on new enough platforms.
76+
* ``NUL`` bytes are now allowed in inputs.
77+
78+
79+
3.2.2
80+
-----
81+
82+
* Fixed packaging of ``py.typed`` files in wheels so that ``mypy`` works.
83+
84+
3.2.1
85+
-----
86+
87+
* Added support for compilation on z/OS
88+
* The next release of ``bcrypt`` with be 4.0 and it will require Rust at
89+
compile time, for users building from source. There will be no additional
90+
requirement for users who are installing from wheels. Users on most
91+
platforms will be able to obtain a wheel by making sure they have an up to
92+
date ``pip``. The minimum supported Rust version will be 1.56.0.
93+
* This will be the final release for which we ship ``manylinux2010`` wheels.
94+
Going forward the minimum supported manylinux ABI for our wheels will be
95+
``manylinux2014``. The vast majority of users will continue to receive
96+
``manylinux`` wheels provided they have an up to date ``pip``.
97+
98+
99+
3.2.0
100+
-----
101+
102+
* Added typehints for library functions.
103+
* Dropped support for Python versions less than 3.6 (2.7, 3.4, 3.5).
104+
* Shipped ``abi3`` Windows wheels (requires pip >= 20).
105+
106+
3.1.7
107+
-----
108+
109+
* Set a ``setuptools`` lower bound for PEP517 wheel building.
110+
* We no longer distribute 32-bit ``manylinux1`` wheels. Continuing to produce
111+
them was a maintenance burden.
112+
113+
3.1.6
114+
-----
115+
116+
* Added support for compilation on Haiku.
117+
118+
3.1.5
119+
-----
120+
121+
* Added support for compilation on AIX.
122+
* Dropped Python 2.6 and 3.3 support.
123+
* Switched to using ``abi3`` wheels for Python 3. If you are not getting a
124+
wheel on a compatible platform please upgrade your ``pip`` version.
125+
126+
3.1.4
127+
-----
128+
129+
* Fixed compilation with mingw and on illumos.
130+
131+
3.1.3
132+
-----
133+
* Fixed a compilation issue on Solaris.
134+
* Added a warning when using too few rounds with ``kdf``.
135+
136+
3.1.2
137+
-----
138+
* Fixed a compile issue affecting big endian platforms.
139+
* Fixed invalid escape sequence warnings on Python 3.6.
140+
* Fixed building in non-UTF8 environments on Python 2.
141+
142+
3.1.1
143+
-----
144+
* Resolved a ``UserWarning`` when used with ``cffi`` 1.8.3.
145+
146+
3.1.0
147+
-----
148+
* Added support for ``checkpw``, a convenience method for verifying a password.
149+
* Ensure that you get a ``$2y$`` hash when you input a ``$2y$`` salt.
150+
* Fixed a regression where ``$2a`` hashes were vulnerable to a wraparound bug.
151+
* Fixed compilation under Alpine Linux.
152+
153+
3.0.0
154+
-----
155+
* Switched the C backend to code obtained from the OpenBSD project rather than
156+
openwall.
157+
* Added support for ``bcrypt_pbkdf`` via the ``kdf`` function.
158+
159+
2.0.0
160+
-----
161+
* Added support for an adjustible prefix when calling ``gensalt``.
162+
* Switched to CFFI 1.0+

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
include LICENSE README.rst
1+
include LICENSE README.rst CHANGELOG.rst
22

33
include pyproject.toml
44

README.rst

Lines changed: 2 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -51,168 +51,10 @@ While bcrypt remains an acceptable choice for password storage, depending on you
5151
Changelog
5252
=========
5353

54-
5.0.0
55-
-----
56-
57-
* Bumped MSRV to 1.74.
58-
* Added support for Python 3.14 and free-threaded Python 3.14.
59-
* Added support for Windows on ARM.
60-
* Passing ``hashpw`` a password longer than 72 bytes now raises a
61-
``ValueError``. Previously the password was silently truncated, following the
62-
behavior of the original OpenBSD ``bcrypt`` implementation.
63-
64-
4.3.0
65-
-----
66-
67-
* Dropped support for Python 3.7.
68-
* We now support free-threaded Python 3.13.
69-
* We now support PyPy 3.11.
70-
* We now publish wheels for free-threaded Python 3.13, for PyPy 3.11 on
71-
``manylinux``, and for ARMv7l on ``manylinux``.
72-
73-
4.2.1
74-
-----
75-
76-
* Bump Rust dependency versions - this should resolve crashes on Python 3.13
77-
free-threaded builds.
78-
* We no longer build ``manylinux`` wheels for PyPy 3.9.
79-
80-
4.2.0
81-
-----
82-
83-
* Bump Rust dependency versions
84-
* Removed the ``BCRYPT_ALLOW_RUST_163`` environment variable.
85-
86-
4.1.3
87-
-----
88-
89-
* Bump Rust dependency versions
90-
91-
4.1.2
92-
-----
93-
94-
* Publish both ``py37`` and ``py39`` wheels. This should resolve some errors
95-
relating to initializing a module multiple times per process.
96-
97-
4.1.1
98-
-----
99-
100-
* Fixed the type signature on the ``kdf`` method.
101-
* Fixed packaging bug on Windows.
102-
* Fixed incompatibility with passlib package detection assumptions.
103-
104-
4.1.0
105-
-----
106-
107-
* Dropped support for Python 3.6.
108-
* Bumped MSRV to 1.64. (Note: Rust 1.63 can be used by setting the ``BCRYPT_ALLOW_RUST_163`` environment variable)
109-
110-
4.0.1
111-
-----
112-
113-
* We now build PyPy ``manylinux`` wheels.
114-
* Fixed a bug where passing an invalid ``salt`` to ``checkpw`` could result in
115-
a ``pyo3_runtime.PanicException``. It now correctly raises a ``ValueError``.
116-
117-
4.0.0
118-
-----
119-
120-
* ``bcrypt`` is now implemented in Rust. Users building from source will need
121-
to have a Rust compiler available. Nothing will change for users downloading
122-
wheels.
123-
* We no longer ship ``manylinux2010`` wheels. Users should upgrade to the latest
124-
``pip`` to ensure this doesn’t cause issues downloading wheels on their
125-
platform. We now ship ``manylinux_2_28`` wheels for users on new enough platforms.
126-
* ``NUL`` bytes are now allowed in inputs.
127-
128-
129-
3.2.2
130-
-----
131-
132-
* Fixed packaging of ``py.typed`` files in wheels so that ``mypy`` works.
133-
134-
3.2.1
135-
-----
136-
137-
* Added support for compilation on z/OS
138-
* The next release of ``bcrypt`` with be 4.0 and it will require Rust at
139-
compile time, for users building from source. There will be no additional
140-
requirement for users who are installing from wheels. Users on most
141-
platforms will be able to obtain a wheel by making sure they have an up to
142-
date ``pip``. The minimum supported Rust version will be 1.56.0.
143-
* This will be the final release for which we ship ``manylinux2010`` wheels.
144-
Going forward the minimum supported manylinux ABI for our wheels will be
145-
``manylinux2014``. The vast majority of users will continue to receive
146-
``manylinux`` wheels provided they have an up to date ``pip``.
147-
148-
149-
3.2.0
150-
-----
151-
152-
* Added typehints for library functions.
153-
* Dropped support for Python versions less than 3.6 (2.7, 3.4, 3.5).
154-
* Shipped ``abi3`` Windows wheels (requires pip >= 20).
155-
156-
3.1.7
157-
-----
158-
159-
* Set a ``setuptools`` lower bound for PEP517 wheel building.
160-
* We no longer distribute 32-bit ``manylinux1`` wheels. Continuing to produce
161-
them was a maintenance burden.
162-
163-
3.1.6
164-
-----
165-
166-
* Added support for compilation on Haiku.
167-
168-
3.1.5
169-
-----
170-
171-
* Added support for compilation on AIX.
172-
* Dropped Python 2.6 and 3.3 support.
173-
* Switched to using ``abi3`` wheels for Python 3. If you are not getting a
174-
wheel on a compatible platform please upgrade your ``pip`` version.
175-
176-
3.1.4
177-
-----
178-
179-
* Fixed compilation with mingw and on illumos.
180-
181-
3.1.3
182-
-----
183-
* Fixed a compilation issue on Solaris.
184-
* Added a warning when using too few rounds with ``kdf``.
185-
186-
3.1.2
187-
-----
188-
* Fixed a compile issue affecting big endian platforms.
189-
* Fixed invalid escape sequence warnings on Python 3.6.
190-
* Fixed building in non-UTF8 environments on Python 2.
191-
192-
3.1.1
193-
-----
194-
* Resolved a ``UserWarning`` when used with ``cffi`` 1.8.3.
195-
196-
3.1.0
197-
-----
198-
* Added support for ``checkpw``, a convenience method for verifying a password.
199-
* Ensure that you get a ``$2y$`` hash when you input a ``$2y$`` salt.
200-
* Fixed a regression where ``$2a`` hashes were vulnerable to a wraparound bug.
201-
* Fixed compilation under Alpine Linux.
202-
203-
3.0.0
204-
-----
205-
* Switched the C backend to code obtained from the OpenBSD project rather than
206-
openwall.
207-
* Added support for ``bcrypt_pbkdf`` via the ``kdf`` function.
208-
209-
2.0.0
210-
-----
211-
* Added support for an adjustible prefix when calling ``gensalt``.
212-
* Switched to CFFI 1.0+
54+
The changelog is maintained in `CHANGELOG.rst <https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst>`_
21355

21456
Usage
215-
-----
57+
=====
21658

21759
Password Hashing
21860
~~~~~~~~~~~~~~~~

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ dynamic = ["readme"]
3838

3939
[project.urls]
4040
homepage = "https://github.com/pyca/bcrypt/"
41+
changelog = "https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst"
4142

4243
[tool.setuptools]
4344
zip-safe = false

0 commit comments

Comments
 (0)