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

Bump group to v1 (and maybe gov too) #11331

Closed
4 tasks
amaury1093 opened this issue Mar 7, 2022 · 6 comments · Fixed by #11334
Closed
4 tasks

Bump group to v1 (and maybe gov too) #11331

amaury1093 opened this issue Mar 7, 2022 · 6 comments · Fixed by #11334
Assignees

Comments

@amaury1093
Copy link
Contributor

amaury1093 commented Mar 7, 2022

Summary

Bump group from v1beta1 to v1

Problem Definition

It seems that we are stuck at v1beta* even for some pretty stable APIs (because of fear of commitment?). Maybe it's time to take the leap to v1.

Proposal

Bump group from v1beta1 to v1.

Questions

  • We mentioned that we wanted automatic execution on voting period end in group, but because of fee payment, we postponed that to later. If we bump group to v1 now, can this be added while keeping group at v1?
  • what about gov? v1 too? Or wait for a deposit module or full gov/group alignment before v1?
    • (my preference: gov stays v1beta2 because of MsgDeposit, which could go in x/deposit. Also, now, gov proposal tallying and execution are free, which doesn't seem ideal).

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@webmaster128
Copy link
Member

One thing we realized with the v1beta1 modules is that once they are out there, we have a hard time breaking them again. So let's keep it simple and go for v1, v2, v3, v4, … Nobody is assuming a v1 is perfect.

@aaronc
Copy link
Member

aaronc commented Mar 7, 2022

My main restraint around v1 is that a lot of modules will still depend n v1beta1 types like Coin. But I think v1beta1 will effectively stay around forever. So let's not release any more beta packages into production. From now on, probably everything new should be v1, v2, etc. once it hits production. alpha and beta are really for pre-release testing

@amaury1093
Copy link
Contributor Author

There was discussion to bump Coin to v1, right? Why don't we do that? Then gov and group can both be at v1, without depending on too much v1beta1 stuff.

If we do that, I'd feel comfortable bumping both to v1.

@aaronc
Copy link
Member

aaronc commented Mar 8, 2022

There was discussion to bump Coin to v1, right? Why don't we do that? Then gov and group can both be at v1, without depending on too much v1beta1 stuff.

If we do that, I'd feel comfortable bumping both to v1.

Sure, but then we'll have two different coin types. Or we can just move all coins to v1 across the SDK. If we do that, I request cosmos.coins.v1.Coin instead of cosmos.base and please let's not move DecCoin or anything else because I consider the current Dec encoding buggy.

@amaury1093
Copy link
Contributor Author

amaury1093 commented Mar 8, 2022

Sure, but then we'll have two different coin types. Or we can just move all coins to v1 across the SDK.

If we move all coins to v1, then we need to bump all proto packages too. So basically we have the solutions:

  1. Bump coin to v1, and bump all proto packages to v1. Radical change, but maybe that's good.
  2. Bump coin to v1, only bump gov&group to v1. We have 2 coin types, we might need a ConvertToV1Coin/ConvertToV1beta1Coin if there are inter-module calls.
  3. Bump gov&group to v1, keep coin at v1beta1.

2 seems messy. 1 is maybe okay, but needs a ton of work if we want to support both v1beta1 and v1 (like we do in gov), 1 seems like Framework WG scope.

So I would say 3/. Also seems like we're always circling back to this solution 🤷 Does that sound good @aaronc ?

@webmaster128
Copy link
Member

I'm fine having some v1beta1 types around for a long time, maybe forever. If you think of developers importing types in their IDE by just typing "Coin", I see an advantage of avoiding a type duplication.
Bildschirmfoto 2022-03-08 um 18 03 25

But who knows, maybe there will be a Coin successor at some point.

All of the proposed options have their advantages and disadvantages but at the end of the day, I would also go with 3.

@amaury1093 amaury1093 self-assigned this Mar 8, 2022
@amaury1093 amaury1093 moved this from Ready to In Review in Cosmos SDK: Gov & Group WG Mar 9, 2022
@mergify mergify bot closed this as completed in #11334 Mar 11, 2022
Repository owner moved this from In Review to Done in Cosmos SDK: Gov & Group WG Mar 11, 2022
mergify bot pushed a commit that referenced this issue Mar 11, 2022
## Description

Closes: #11331



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
larry0x pushed a commit to larry0x/cosmos-sdk that referenced this issue May 22, 2023
## Description

Closes: cosmos#11331



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants