Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for buildpacks API 0.10 #260

Closed
dmikusa opened this issue Oct 3, 2023 · 6 comments · Fixed by #291
Closed

Add support for buildpacks API 0.10 #260

dmikusa opened this issue Oct 3, 2023 · 6 comments · Fixed by #291
Labels
type:enhancement A general enhancement
Milestone

Comments

@dmikusa
Copy link
Contributor

dmikusa commented Oct 3, 2023

This could probably be broken down into more tasks, but at a high level we need to add support for 0.10.

https://buildpacks.io/docs/reference/spec/migration/buildpack-api-0.9-0.10/

@dmikusa dmikusa added the type:enhancement A general enhancement label Oct 3, 2023
@dmikusa dmikusa added this to the 2.0 milestone Oct 3, 2023
@loewenstein
Copy link

@nicolasbender
Copy link
Contributor

This could probably be broken down into more tasks

Could you provide more details for these subtasks, please? We haven't found any relevant changes from 0.9 -> 0.10 affecting libcnb.
Out of interest: Why was v2 of libcnb created in the first place?

@dmikusa
Copy link
Contributor Author

dmikusa commented May 14, 2024

@loewenstein 0.9 is already supported, so we just need to add 0.10 support. It needs to be an additive change.

@nicolasbender

Out of interest: Why was v2 of libcnb created in the first place?

In a nutshell, breaking API changes. We reworked the core build/detect mechanism. It was previously done with structs at its heart, and we changed it to be function-based now. I believe it'll be more flexible, but this was also done in conjunction with the Paketo team to position them to be able to use libcnb as the base for their packit library.

Aside from that, we made some changes to the way logging works as well, so it's more pluggable. We've removed some other cruft like old buildpack API compatibility. We've fixed some other minor annoyances in the APIs as well.

@loewenstein
Copy link

  • The migration guide doesn't elaborate on runtime image extensions, but this needs to be spiked to see if there are any required changes to support this. For example, there might be struct/toml changes.

Is libcnb supposed to support authoring extensions?

@c0d1ngm0nk3y
Copy link
Contributor

It was previously done

But why wasn't v2 then released earlier? v1 doesn't support the Buildpack API 0.10 either, does it?

@dmikusa
Copy link
Contributor Author

dmikusa commented May 15, 2024

v1 supports 0.8. That is the highest it will ever go because going above that requires breaking API changes.

https://github.com/buildpacks/libcnb/blob/release-1.x/build.go#L95-L99

Yes, we support extensions in v2. There are a couple under Paketo Community using it, but we haven't had a huge demand for it. I was hoping that it would stabilize more before we release libcnb v2 and it looks like it has so that's another milestone complete towards v2 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement A general enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants