Paketo Buildpacks 2022 - Another Year in Review
In 2022, the major roadmap themes were improvements and expansions of our stack offerings, paying down significant technical debt in our dependency management system, and making efforts to improve buildpack authoring tools.
Improving and Expanding our Base Image / Stack / Builder Offering
We launched sweeping support for Ubuntu 2022.04 Jammy Jellyfish across our stacks, buildpacks, and builders. This was a tremendous effort with contributions across the entire Paketo Core team and community. It touched every buildpack and took the better part of 9 months to complete as we resolved huge amounts of technical debt in the process. If you are more interested in what happened on this front, check out the RFCs below:
- Stacks RFC0003: Stack Descriptor and Tooling
- Stacks RFC0004: Stacks based on Ubuntu 2022.04: Jammy Jellyfish
- Stacks RFC0005: Updates to Stacks based on Ubuntu Bionic
- RFC0052: Graceful Stack Upgrades
Improvements to Dependency Management and Caching
In the process of rolling out Jammy Jellyfish across all of our buildpacks, we paid down a significant amount of technical debt in our dependency management infrastructure. We’ve moved to a system that biases itself to download dependencies from their canonical upstream location and federated our build infrastructure across the language-ecosystem teams, putting more control in these maintainer’s hands. For more details about what’s been going on with buildpack dependencies, take a look at the following RFCs:
- Dependencies RFC0003: Buildpack Dependency Management Improvement Overview
- RFC0043: Expanding the Criteria for Reproducible Builds
- RFC0046: Define an Image & Dependency Retention Policy for Paketo Images
Improving the Buildpack Authoring Experience
At several points last year, we spent some time trying to bring
libcnb closer together. The goal of this effort has been to simplify the
development and contribution process for users outside of the Paketo core team.
For some of the details, read up on Dan’s blog post and some PRs in
- Buildpack Development: Selecting a Cloud-Native Buildpacks Library
- libcnb#82: Replace Builder and Detector with functions
- libcnb#74: Removes LayerContributor concept
- libcnb#151: Extract method for generating Config
While we made progress on the big themes in the 2022 Roadmap, we also hit some major milestones in other parts of the project.
The Web Servers Buildpack was promoted from the “community” organization to join the rest of the fully-supported buildpacks. It provides a much improved experience for developers looking to build front-end applications.
The PHP Buildpack was rewritten from the ground up to better support ongoing maintenance and future development. We look forward to making further progress on supporting the PHP ecosystem in 2023.
The project also added support for debugging processes in .NET Core and generalized application healthchecking. Check out those RFCs for more details:
2022 was a big year for the Paketo Buildpacks project. We’ve seen a big uptick in interest, usage, feedback, and contribution. Thank you to our entire community for helping us make the project better in so many ways. We can’t wait to see where the project goes in 2023. Happy New Year!