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

Vote for releasing v1.1.0-rc.1 #1002

Closed
5 tasks done
qweeah opened this issue Jul 5, 2023 · 20 comments
Closed
5 tasks done

Vote for releasing v1.1.0-rc.1 #1002

qweeah opened this issue Jul 5, 2023 · 20 comments
Assignees

Comments

@qweeah
Copy link
Contributor

qweeah commented Jul 5, 2023

At least 3 approvals are needed from the 5 owners to cut 7fc68d4 as the release branch for oras CLI v1.1.0 release. This branch will be named as release-1.1 and tagged as v1.1.0-rc.1 for releasing.

The release will be conducted by following the release checklist.

Issue Notes

Bug Fixes

New Features

Other Changes

Comparing to v1.0.0, the release includes below code changes:

What's Changed

@qweeah qweeah changed the title Vote for releasing v1.1.0 Vote for releasing v1.1.0-rc.1 Jul 5, 2023
@shizhMSFT
Copy link
Contributor

It would be better if the long list of changes can be summarized.

@shizhMSFT
Copy link
Contributor

shizhMSFT commented Jul 5, 2023

BREAKING CHANGE: oras blob delete and oras manifest delete return success on non-existent content when the flag --force is specified

It is not a breaking change but a behavior fix. That is, a bug fix.

@qweeah
Copy link
Contributor Author

qweeah commented Jul 5, 2023

BREAKING CHANGE: oras blob delete and oras manifest delete return success on non-existent content when the flag --force is specified

It is not a breaking change but a behavior fix. That is, a bug fix.

Removed from the list, it's done in 1.0.0

@FeynmanZhou
Copy link
Member

LGTM but I am not a maintainer for ORAS CLI.

Are there any changes that should be reflected in the ORAS documentation? I see at least --skip-delete-referrers should be added to the ORAS documentation accordingly. Anything else?

@shizhMSFT
Copy link
Contributor

shizhMSFT commented Jul 5, 2023

LGTM

@shizhMSFT
Copy link
Contributor

@qweeah We need to consider bump up the oras-go version to bring the latest bug fixes. Since oras-project/oras-go@7dd0378 depended by the current oras is a feature and is not covered by v2.2.1, we need to bump up to the latest main branch of oras-go.

@qweeah
Copy link
Contributor Author

qweeah commented Jul 6, 2023

Had a discuss offline with @shizhMSFT. Will bump oras-go to oras-project/oras-go@6b5bd4b to include two bug fixes on OCI layout. Will not include image-spec 1.1.0 rc.4 changes in ORAS CLI 1.1.0 release.

@sajayantony
Copy link
Contributor

Check the symversion issue in image spec. We should do rc1 instead of rc.1.

@SteveLasker
Copy link
Contributor

Will not include image-spec 1.1.0 rc.4 changes in ORAS CLI 1.1.0 release.

If oras rc.1 won't support image-spec rc.4, what is the plan/timeframe to sync these up?

@sajayantony
Copy link
Contributor

@qweeah - I've created draft PR to see if we can move this from an issue to PR approval and also introduce the +dev semantic into the ORAS CLI so that folks building off main and not from a tag know.

@qweeah qweeah changed the title Vote for releasing v1.1.0-rc.1 Vote for releasing v1.1.0-rc1 Jul 6, 2023
@qweeah qweeah changed the title Vote for releasing v1.1.0-rc1 Vote for releasing v1.1.0-rc.1 Jul 6, 2023
@qweeah
Copy link
Contributor Author

qweeah commented Jul 6, 2023

Check the symversion issue in image spec. We should do rc1 instead of rc.1.

Thanks for reminding. But should it be rc.x? The spec of Semantic Versioning itself is using the dotted format, e.g. https://semver.org/spec/v2.0.0-rc.2.html. @sajayantony Can you point me to the conversation for OCI image spec's symver issue?

@qweeah
Copy link
Contributor Author

qweeah commented Jul 6, 2023

@qweeah - I've created draft PR to see if we can move this from an issue to PR approval and also introduce the +dev semantic into the ORAS CLI so that folks building off main and not from a tag know.

It's better not to use a PR to vote, since merging the PR will change the digest of the latest commit, which results in another vote for cutting the branch. @shizhMSFT @FeynmanZhou What's your idea on adding the +dev semantic?

@qweeah
Copy link
Contributor Author

qweeah commented Jul 6, 2023

Will not include image-spec 1.1.0 rc.4 changes in ORAS CLI 1.1.0 release.

If oras rc.1 won't support image-spec rc.4, what is the plan/timeframe to sync these up?

ORAS 1.1.0 and its RC will not include the changes. ORAS 1.2.0 will include the changes (#1009). But we haven't discussed the release date for 1.2.0 yet.

@shizhMSFT
Copy link
Contributor

Check the symversion issue in image spec. We should do rc1 instead of rc.1.

The image-spec repo has its own versioning issue. Basically, rc.1 < rc.2 < rc.10 < rc1 < rc10 < rc2 presents a critical issue on rc10 < rc2.

I've also written a small program to demonstrate the version order.

package main

import (
	"fmt"
	"strings"

	"golang.org/x/mod/semver"
)

func main() {
	versions := []string{
		"v1.1.0",
		"v1.1.0-rc.1",
		"v1.1.0-rc.2",
		"v1.1.0-rc.10",
		"v1.1.0-rc1",
		"v1.1.0-rc2",
		"v1.1.0-rc10",
	}
	semver.Sort(versions)
	fmt.Println(strings.Join(versions, "\n"))
}

The above code prints

v1.1.0-rc.1
v1.1.0-rc.2
v1.1.0-rc.10
v1.1.0-rc1
v1.1.0-rc10
v1.1.0-rc2
v1.1.0

Precisely, SemVer 2.0.0 states

Precedence for two pre-release versions with the same major, minor, and patch version MUST be determined by comparing each dot separated identifier from left to right until a difference is found as follows:

  1. Identifiers consisting of only digits are compared numerically.
  2. Identifiers with letters or hyphens are compared lexically in ASCII sort order.
  3. Numeric identifiers always have lower precedence than non-numeric identifiers.
  4. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal.

Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

Overall, oras should name the RC version as vA.B.C-rc.D instead of vA.B.C-rcD.

@shizhMSFT
Copy link
Contributor

LGTM on cutting 7fc68d4

@qweeah
Copy link
Contributor Author

qweeah commented Jul 7, 2023

Will not include image-spec 1.1.0 rc.4 changes in ORAS CLI 1.1.0 release.

If oras rc.1 won't support image-spec rc.4, what is the plan/timeframe to sync these up?

ORAS 1.1.0 and its RC will not include the changes. ORAS 1.2.0 will include the changes (#1009). But we haven't discussed the release date for 1.2.0 yet.

@SteveLasker Also oras-go hasn't implemented changes introduced by image spec 1.1.0-rc4 yet, @Wwwsylvia only added rc4 to go.mod and made oras-go compatible to use with image spec 1.1.0-rc4 in oras-project/oras-go@4763cd4. It's not possible for ORAS CLI 1.1.0 to include image spec 1.1.0-rc4 changes without underlying SDK support. Will do that in ORAS CLI 1.2.0.

@TerryHowe
Copy link
Member

LGTM

@sajayantony
Copy link
Contributor

LGTM since the symversion is not an issue for ORAS.
I would like going forward to move this to a PR process rather than an issue.

@SteveLasker
Copy link
Contributor

LGTM for cutting this release, with a hopeful quick move to image spec 1.1.0-rc4

@shizhMSFT
Copy link
Contributor

Closing since v1.1.0-rc.1 was released.

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

No branches or pull requests

6 participants