The Ubuntu 2024.04 noble base would allow access to newer apt packages. Heroku themselves uses a system of opt-in upgrades to transition from one stack to another. We do not currently have a mechanism for doing something similar. Making a direct move from Ubuntu 2022.04 to Ubuntu 2024.04 should probably require some mechanism for folks to test rebuilding their images while preserving the ability to run the prior image.
https://github.com/heroku/cnb-builder-images/tree/main/builder-24
Things that changed/testing (WIP):
- Apt buildpack was replaced by deb-packages T394466: [build-service] remove legacy fagiani/apt 0.2.5 builder from `--use-latest-versions` stack
- Procfile changed behavior, no extra arguments are passed anymore at all (can't pass custom args at runtime to procfile defined entries) - still testing to make sure
- Golang and procfile now behave correctly (procfile can override golang defined processes)
- Test php (+nodejs)
- Test ruby (+nodejs)
- Test python (+nodejs)
- Test nodejs
- Test static
- Replace injected dotnet with built-in dotnet (test compatibility with existing dotnet project)
- Test java/scala - jvm
- Test clojure injected buildpack for compatibility
- Poetry + requirements.txt compatibility (I think it will not allow poetry.lock + requirements.txt at the same time)
- ...add more things...