Skip to content

Latest commit

 

History

History
740 lines (459 loc) · 33.3 KB

File metadata and controls

740 lines (459 loc) · 33.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

6.5.1 - 2026-05-11

Changed

  • The Python 3.14 version alias now resolves to Python 3.14.5. (#569)

6.5.0 - 2026-05-07

Changed

  • Updated pip from 26.0.1 to 26.1.1. (#563)
  • Updated Poetry from 2.3.4 to 2.4.0. (#564)
  • Updated uv from 0.11.6 to 0.11.11. (#562)
  • The forbidden env vars check now also rejects POETRY_VIRTUALENVS_IN_PROJECT. (#566)
  • Updated the wording of the message shown when buildpack detection fails to also mention uv.lock. (#567)

6.4.1 - 2026-04-13

Changed

  • Updated Poetry from 2.3.3 to 2.3.4. (#553)
  • Updated uv from 0.11.3 to 0.11.6. (#552)

6.4.0 - 2026-04-09

Added

  • Added support for Ubuntu 26.04 (and thus Heroku-26 / heroku/builder:26). (#550)

6.3.0 - 2026-04-07

Changed

  • The Python 3.14 version alias now resolves to Python 3.14.4. (#548)
  • The Python 3.13 version alias now resolves to Python 3.13.13. (#548)
  • The forbidden env vars check now reports all forbidden env vars found rather than only the first. (#542)
  • The forbidden env vars check now checks for known problematic Poetry env vars too. (#542)

6.2.0 - 2026-04-02

Changed

  • Updated Poetry from 2.3.2 to 2.3.3. (#532)
  • Updated uv from 0.10.9 to 0.11.3. (#535)

6.1.0 - 2026-03-13

Changed

  • Updated uv from 0.10.7 to 0.10.9. (#523)
  • Switched to downloading uv from releases.astral.sh instead of GitHub releases. (#524)

6.0.1 - 2026-03-03

Changed

  • The Python 3.12 version alias now resolves to Python 3.12.13. (#521)
  • The Python 3.11 version alias now resolves to Python 3.11.15. (#521)
  • The Python 3.10 version alias now resolves to Python 3.10.20. (#521)

6.0.0 - 2026-03-03

Changed

  • Updated pip from 25.3 to 26.0.1. (#508)
  • Updated uv from 0.10.1 to 0.10.7. (#518)
  • Explicitly configured uv to use hard links to maintain the behaviour of previous versions. (#519)

5.1.0 - 2026-02-26

Changed

  • Changed the S3 URL used to download Python to use AWS' dual-stack (IPv6 compatible) endpoint. (#513)

5.0.0 - 2026-02-10

Changed

  • Updated uv from 0.9.29 to 0.10.1. (#510)

4.1.2 - 2026-02-04

Changed

  • Updated Poetry from 2.3.1 to 2.3.2. (#501)
  • Updated uv from 0.9.26 to 0.9.29. (#506)

4.1.1 - 2026-02-04

Changed

  • The Python 3.14 version alias now resolves to Python 3.14.3. (#503)
  • The Python 3.13 version alias now resolves to Python 3.13.12. (#503)

4.1.0 - 2026-01-26

Changed

  • Updated Poetry from 2.2.1 to 2.3.1. (#495)
  • Updated uv from 0.9.24 to 0.9.26. (#492)

4.0.1 - 2026-01-11

Changed

  • Updated uv from 0.9.21 to 0.9.24. (#490)

4.0.0 - 2026-01-07

Removed

  • Removed support for Python 3.9. (#488)

Changed

  • Updated pip from 25.2 to 25.3. (#453)

3.0.2 - 2026-01-05

Changed

  • Updated uv from 0.9.17 to 0.9.21. (#486)

3.0.1 - 2025-12-10

Changed

  • Updated uv from 0.9.14 to 0.9.17. (#482)

3.0.0 - 2025-12-05

Changed

  • Updated the default Python version from 3.13 to 3.14. (#478)
  • The Python 3.14 version alias now resolves to Python 3.14.2. (#479)
  • The Python 3.13 version alias now resolves to Python 3.13.11. (#479)

2.8.1 - 2025-12-02

Changed

  • The Python 3.14 version alias now resolves to Python 3.14.1. (#476)
  • The Python 3.13 version alias now resolves to Python 3.13.10. (#476)
  • Updated uv from 0.9.11 to 0.9.14. (#474)

2.8.0 - 2025-11-21

Changed

  • Deprecated support for Python 3.10. (#467)
  • Updated uv from 0.9.9 to 0.9.11. (#468)
  • Explicitly disabled pip version checks when bootstrapping pip. (#470)
  • Unpinned Poetry's dulwich version, since the upstream incompatibility with older Python has been fixed. (#464)

2.7.4 - 2025-11-14

Changed

  • Updated uv from 0.9.7 to 0.9.9. (#461)

2.7.3 - 2025-11-03

Changed

  • The Python 3.9 version alias now resolves to Python 3.9.25. (#458)
  • Updated uv from 0.9.5 to 0.9.7. (#455)

2.7.2 - 2025-10-22

Changed

  • Updated uv from 0.8.23 to 0.9.5. (#446 and #449)

Fixed

  • Pinned dulwich version when using Poetry to work around an incompatibility with Python <3.9.2. (#447)

2.7.1 - 2025-10-15

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.9. (#444)

2.7.0 - 2025-10-09

Added

  • Added support for Python 3.14. (#439)

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.8. (#440)
  • The Python 3.12 version alias now resolves to Python 3.12.12. (#441)
  • The Python 3.11 version alias now resolves to Python 3.11.14. (#441)
  • The Python 3.10 version alias now resolves to Python 3.10.19. (#441)
  • The Python 3.9 version alias now resolves to Python 3.9.24. (#441)

2.6.0 - 2025-10-05

Changed

  • Changed the pip install commands used to install the pip and Poetry package managers to now use --isolated mode. (#434)
  • Added more Python project related file and directory names to the list recognised by buildpack detection. (#435)
  • Updated uv from 0.8.20 to 0.8.23. (#431 and #436)

2.5.1 - 2025-09-23

Changed

  • Updated Poetry from 2.2.0 to 2.2.1. (#427)
  • Updated uv from 0.8.18 to 0.8.20. (#429)

2.5.0 - 2025-09-19

Changed

  • Updated Poetry from 2.1.4 to 2.2.0. (#424)
  • Updated uv from 0.8.15 to 0.8.18. (#423 and #425)

2.4.5 - 2025-09-09

Changed

  • Updated uv from 0.8.13 to 0.8.15. (#420)

2.4.4 - 2025-08-26

Changed

  • Updated uv from 0.8.9 to 0.8.13. (#413)

2.4.3 - 2025-08-15

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.7. (#409)

2.4.2 - 2025-08-13

Changed

  • Updated uv from 0.8.5 to 0.8.9. (#405)

2.4.1 - 2025-08-06

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.6. (#401)

2.4.0 - 2025-08-06

Changed

  • Updated pip from 25.1.1 to 25.2. (#394)
  • Updated Poetry from 2.1.3 to 2.1.4. (#398)
  • Updated uv from 0.8.4 to 0.8.5. (#399)

2.3.0 - 2025-08-01

Changed

  • Updated uv from 0.7.20 to 0.8.4. (#393)

2.2.3 - 2025-07-10

Changed

  • Updated uv from 0.7.13 to 0.7.20. (#388 and #389)

2.2.2 - 2025-06-17

Changed

  • Updated uv from 0.7.10 to 0.7.13. (#380)

2.2.1 - 2025-06-12

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.5. (#378)

2.2.0 - 2025-06-03

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.4. (#374)
  • The Python 3.12 version alias now resolves to Python 3.12.11. (#374)
  • The Python 3.11 version alias now resolves to Python 3.11.13. (#374)
  • The Python 3.10 version alias now resolves to Python 3.10.18. (#374)
  • The Python 3.9 version alias now resolves to Python 3.9.23. (#374)
  • Updated uv from 0.7.6 to 0.7.10. (#375)

2.1.0 - 2025-05-20

Changed

  • Updated pip from 25.0.1 to 25.1.1. (#365)
  • Updated Poetry from 2.1.2 to 2.1.3. (#364)
  • Updated uv from 0.7.3 to 0.7.6. (#368 and #369)

2.0.0 - 2025-05-13

Added

  • Added support for the package manager uv. (#362)

1.0.0 - 2025-05-02

Removed

  • Removed support for the deprecated runtime.txt file. Python versions must now be specified using a .python-version file instead. (#352)
  • Removed support for Ubuntu 20.04 (and thus Heroku-20 / heroku/builder:20). (#358)

Changed

  • Improved the error messages shown when .python-version contains an invalid Python version or stray invisible characters (such as ASCII control codes). (#353 and #354)
  • Improved the error messages shown if I/O errors occur. (#355 and #356)

0.26.1 - 2025-04-08

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.3. (#349)
  • The Python 3.12 version alias now resolves to Python 3.12.10. (#349)
  • The Python 3.11 version alias now resolves to Python 3.11.12. (#349)
  • The Python 3.10 version alias now resolves to Python 3.10.17. (#349)
  • The Python 3.9 version alias now resolves to Python 3.9.22. (#349)

0.26.0 - 2025-04-08

Changed

  • Updated pip from 24.3.1 to 25.0.1. (#332)
  • Updated Poetry from 2.1.1 to 2.1.2. (#343)
  • Updated libcnb to 0.28.1, which includes tracing improvements/fixes. (#344)

0.25.0 - 2025-03-11

Changed

  • Stopped using --link when running Django's collectstatic command, since it doesn't work with remote storage backends. (#339)

0.24.2 - 2025-03-03

Changed

  • Updated libcnb to 0.27.0, which includes opentelemetry 0.28 and the new custom OTLP File Exporter. (#334)

0.24.1 - 2025-02-26

Changed

  • Updated Poetry from 2.0.1 to 2.1.1. (#331)

0.24.0 - 2025-02-05

Added

  • Added runtime.txt support for the python-3.X major Python version form. (#322)
  • Enabled libcnb's trace feature. (#320)

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.2. (#326)
  • The Python 3.12 version alias now resolves to Python 3.12.9. (#326)
  • Deprecated support for the runtime.txt file. (#325)
  • Improved the error messages shown when the .python-version file contents aren't valid. (#325)

0.23.0 - 2025-01-13

Changed

  • Updated Poetry from 1.8.5 to 2.0.1. (#316)

0.22.0 - 2025-01-08

Removed

  • Removed support for Python 3.8. (#313)

Changed

  • Deprecated support for Python 3.9. (#314)
  • Buildpack detection now recognises more Python-related file and directory names. (#312)
  • Improved the error messages shown for EOL or unrecognised major Python versions. (#313)

0.21.0 - 2024-12-18

Changed

  • The build now fails early if known problematic Python and pip-related env vars have been set by the user or earlier buildpacks. (#308)
  • The PIP_PYTHON env var is now only set at build time. (#307)

Removed

  • Stopped setting the LANG env var. (#306)
  • Stopped setting the PYTHONHOME env var. (#309)

0.20.1 - 2024-12-13

Fixed

0.20.0 - 2024-12-10

Changed

  • Updated the default Python version from 3.12 to 3.13. (#299)
  • Updated Poetry from 1.8.4 to 1.8.5. (#300)

0.19.2 - 2024-12-04

Changed

  • The Python 3.13 version alias now resolves to Python 3.13.1. (#297)
  • The Python 3.12 version alias now resolves to Python 3.12.8. (#297)
  • The Python 3.11 version alias now resolves to Python 3.11.11. (#297)
  • The Python 3.10 version alias now resolves to Python 3.10.16. (#297)
  • The Python 3.9 version alias now resolves to Python 3.9.21. (#297)

0.19.1 - 2024-11-04

Changed

  • Updated pip from 24.2 to 24.3.1. (#285)
  • Updated Poetry from 1.8.3 to 1.8.4. (#286)

0.19.0 - 2024-10-10

Added

  • Added support for Python 3.13. (#280)

0.18.1 - 2024-10-01

Changed

  • The Python 3.12 version alias now resolves to Python 3.12.7. (#276)

0.18.0 - 2024-09-17

Added

  • The Python version can now be configured using a .python-version file. Both the 3.X and 3.X.Y version forms are supported. (#272)

Changed

  • pip is now only available during the build, and is no longer included in the final app image. (#264)
  • Improved the error messages shown when an end-of-life or unknown Python version is requested. (#272)

0.17.1 - 2024-09-07

Changed

  • Updated the default Python version from 3.12.5 to 3.12.6. (#266)

0.17.0 - 2024-09-04

Added

  • Added initial support for the Poetry package manager. (#261)

0.16.0 - 2024-08-30

Changed

  • App dependencies are now installed into a virtual environment instead of user site-packages. (#257)
  • pip is now installed into its own layer (as a user site-packages install) instead of into system site-packages in the Python layer. (#258)

0.15.0 - 2024-08-07

Changed

  • Updated the default Python version from 3.12.4 to 3.12.5. (#244)
  • Updated pip from 24.1.2 to 24.2. (#236)

0.14.0 - 2024-08-07

Removed

  • Stopped explicitly installing setuptools and wheel. They will be automatically installed by pip into an isolated build environment if they are required for building a package. (#243)

0.13.0 - 2024-08-01

Changed

  • Stopped manually creating a src directory inside the pip dependencies layer. pip will create the directory itself if needed (when there are editable VCS dependencies). (#228)
  • Stopped setting CPATH and PKG_CONFIG_PATH at launch time. (#231)
  • The bin directory in the pip dependencies layer is now always added to PATH instead of only when an installed dependency has an entry point script. (#232)
  • The pip cache layer is now exposed to pip invocations in later buildpacks. (#234)

0.12.1 - 2024-07-15

Changed

  • Updated pip from 24.1.1 to 24.1.2. (#225)
  • Updated setuptools from 70.1.1 to 70.3.0. (#224)

0.12.0 - 2024-06-27

Changed

  • Updated pip from 24.0 to 24.1.1. (#219)
  • Updated setuptools from 70.0.0 to 70.1.1. (#218)
  • Buildpack detection now recognises more types of Python-related files. (#215)

0.11.0 - 2024-06-07

Changed

  • Updated the default Python version from 3.12.3 to 3.12.4. (#210)
  • Updated setuptools from 69.5.1 to 70.0.0. (#205)

0.10.0 - 2024-05-03

Added

  • Added support for Ubuntu 24.04 (and thus Heroku-24 / heroku/builder:24). (#202)
  • Added support for the ARM64 CPU architecture (Ubuntu 24.04 only). (#202)

0.9.0 - 2024-05-03

Changed

  • Updated setuptools from 68.0.0 to 69.5.1. (#200)
  • Updated wheel from 0.42.0 to 0.43.0. (#179)
  • The buildpack now implements Buildpack API 0.10 instead of 0.9, and so requires lifecycle 0.17.x or newer. (#197)
  • The buildpack's base image compatibility metadata is now declared using [[targets]] instead of [[stacks]]. (#197)
  • Changed compression format and S3 URL for Python runtime archives. (#197)

Removed

  • Removed support for Python 3.7. (#197)

0.8.4 - 2024-04-09

Changed

  • Updated the default Python version from 3.12.2 to 3.12.3. (#189)

0.8.3 - 2024-03-25

Changed

  • Updated pip from 23.3.2 to 24.0. (#172)

0.8.2 - 2024-02-07

Changed

  • Updated the default Python version from 3.12.1 to 3.12.2. (#167)

0.8.1 - 2024-01-11

Changed

  • Updated pip from 23.3.1 to 23.3.2. (#156)

0.8.0 - 2023-12-08

Changed

  • Updated the default Python version from 3.11.6 to 3.12.1. (#152 and #154)
  • Updated wheel from 0.41.3 to 0.42.0. (#150)

0.7.3 - 2023-11-06

Changed

  • Updated wheel from 0.41.2 to 0.41.3. (#137)

0.7.2 - 2023-10-24

Changed

  • Updated pip from 23.2.1 to 23.3.1. (#131)
  • Updated wheel from 0.41.0 to 0.41.2. (#100)
  • Updated buildpack display name and description. (#135)

0.7.1 - 2023-10-02

Changed

  • Updated the default Python version from 3.11.5 to 3.11.6. (#121)

0.7.0 - 2023-09-19

Added

  • Django's collectstatic command is now automatically run for Django apps that use static files. (#108)

0.6.0 - 2023-08-25

Changed

  • Updated the default Python version from 3.11.4 to 3.11.5. (#101)

Removed

  • Removed support for Salesforce Functions. (#83)

0.5.0 - 2023-07-24

Changed

  • User-provided environment variables are now propagated to subprocesses such as pip install. (#65)
  • Updated pip from 23.1.2 to 23.2.1. (#67 and #76)
  • Updated setuptools from 67.8.0 to 68.0.0. (#51)
  • Updated wheel from 0.40.0 to 0.41.0. (#78)

0.4.0 - 2023-06-07

Changed

  • Updated the default Python version from 3.11.3 to 3.11.4. (#45)
  • Updated setuptools from 67.7.2 to 67.8.0. (#43)
  • Updated libcnb from 0.11.5 to 0.12.0. (#35)
  • The buildpack now implements Buildpack API 0.9 instead of 0.8, and so requires lifecycle 0.15.x or newer. (#35)

0.3.0 - 2023-04-27

Changed

  • Updated pip from 23.0.1 to 23.1.2. (#31)
  • Updated setuptools from 67.6.1 to 67.7.2. (#30)

0.2.0 - 2023-04-11

Changed

  • Updated the default Python version from 3.11.2 to 3.11.3. (#22)
  • Updated setuptools from 67.5.0 to 67.6.1. (#24)
  • Updated wheel from 0.38.4 to 0.40.0. (#24)

Fixed

  • The PYTHONHOME environment variable is now set, to work around uWSGI not handling relocated Python installs correctly. (#25)

0.1.0 - 2023-03-06

Added

  • Initial implementation. (#3)