Skip to content

Make history field optional to match OCI spec#288

Merged
utam0k merged 1 commit intoyouki-dev:mainfrom
groegercesg:optional-history
Aug 11, 2025
Merged

Make history field optional to match OCI spec#288
utam0k merged 1 commit intoyouki-dev:mainfrom
groegercesg:optional-history

Conversation

@groegercesg
Copy link

@groegercesg groegercesg commented Aug 8, 2025

What type of PR is this?

/kind bug

What this PR does / why we need it:

According to the OCI Image Specification, the history field is defined as optional:

history array of objects, OPTIONAL

Which issue(s) this PR fixes:

Fixes #287

Special notes for your reviewer:

I added some basic unit tests, let me know if they're excessive/too verbose.

Does this PR introduce a user-facing change?

Changed history field to Optional in image configuration to comply with OCI Spec

Signed-off-by: Callum Groeger <cgroeger@amazon.com>
@slack2450
Copy link

slack2450 commented Aug 8, 2025

LGTM! Ship it 🚢 . This is a breaking change.


                .
              ~~|\
              / | \
             /  |  \
            /   |   \
           /    |    \
          /_____| ____\
          _____,======.--
         (___________/
   ~~jww~~~~~~~~~~~~~~~~~

Copy link
Member

@utam0k utam0k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your first contribution! LGTM

@utam0k utam0k merged commit fc99f09 into youki-dev:main Aug 11, 2025
16 checks passed
@groegercesg
Copy link
Author

Great, thanks for approving.

Just wondering when a release is likely to be made, as I'd like to have this fix out there.

@utam0k
Copy link
Member

utam0k commented Aug 12, 2025

@groegercesg cc: @saschagrunert
We don't have a regular release cycle. Do you want it?

@utam0k utam0k mentioned this pull request Aug 12, 2025
@utam0k
Copy link
Member

utam0k commented Aug 12, 2025

Released
https://github.com/youki-dev/oci-spec-rs/releases/tag/v0.8.2

@cgwalters
Copy link
Contributor

This is a breaking change.

We should have bumped semver then, right?

@cgwalters
Copy link
Contributor

@utam0k
Copy link
Member

utam0k commented Aug 29, 2025

This is a breaking change.

We should have bumped semver then, right?

You're right, but it's already been released.

@cgwalters
Copy link
Contributor

cgwalters commented Aug 30, 2025 via email

@utam0k
Copy link
Member

utam0k commented Aug 30, 2025

@cgwalters Thanks for your information. But I don't think it is worth yanking the current release.

@cgwalters
Copy link
Contributor

I know it can sometimes feel like a thankless task maintaining FOSS and only have people show up to complain.

However...I have contributed to this repo in the past and am likely to again.

I also use this crate in multiple projects, and this issue is causing friction in them.

Are you planning to honor semver in the future? Is this a one off mistake?
BTW there's tools like https://crates.io/crates/cargo-semver-checks

@cgwalters
Copy link
Contributor

It's especially complex because some of my projects use this crate in their public API, so I need to bump semver even if you don't...

cgwalters added a commit to cgwalters/bootc that referenced this pull request Sep 4, 2025
The first three are all entangled because of a messy oci-spec
semver incompatibility
youki-dev/oci-spec-rs#288

Bumping composefs-rs is just to avoid having two versions
of the proxy in the lockfile.

Closes: bootc-dev#1567

Signed-off-by: Colin Walters <walters@verbum.org>
@utam0k
Copy link
Member

utam0k commented Sep 7, 2025

@cgwalters Thanks for your kind words.

Are you planning to honor semver in the future? Is this a one off mistake?
BTW there's tools like https://crates.io/crates/cargo-semver-checks

It's just the maintainer (me) mistake. But I believe if we don't systematize it, we'll make the same mistakes over and over again. Do you have any good ideas?

@cgwalters
Copy link
Contributor

Personally I just have a mental checklist when reviewing PRs for "will we need a semver bump" and that's been mostly OK.

But it does look like the semver checks GHA is fairly widely used https://github.com/search?q=-is%3Afork+path%3A.github+%22uses%3A+obi1kenobi%2Fcargo-semver-checks-action%40v2%22&type=code - including by hyper and rustls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

History field should be optional as per OCI spec

4 participants