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

chore: prepare core changelog #22495

Merged
merged 2 commits into from
Nov 8, 2024
Merged

chore: prepare core changelog #22495

merged 2 commits into from
Nov 8, 2024

Conversation

julienrbrt
Copy link
Member

@julienrbrt julienrbrt commented Nov 8, 2024

Description

Follow-up of #22435
blocks the backport.
after this PR i'll tag alpha.6


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 in the PR title, you can find examples of the prefixes below:
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • updated the relevant documentation or specification, including comments for documenting Go code
  • 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.

Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

Summary by CodeRabbit

  • New Features

    • Updated dependency on cosmossdk.io/core to a more specific version across multiple modules, ensuring compatibility and stability.
  • Bug Fixes

    • Removed local path replacements for cosmossdk.io/core, indicating a shift to using published versions.
  • Documentation

    • Enhanced changelog organization for better readability and tracking of changes across versions.

@julienrbrt julienrbrt requested a review from a team as a code owner November 8, 2024 14:19
Copy link
Contributor

coderabbitai bot commented Nov 8, 2024

📝 Walkthrough

Walkthrough

The pull request includes updates to several go.mod files across various modules in the Cosmos SDK. The primary change is the update of the dependency on cosmossdk.io/core from version v1.0.0-alpha.5 to a more specific pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a. Additionally, the removal of local path replacements for the core dependency indicates a shift towards using the updated published version. The changelog has also been updated to reflect new releases and breaking changes.

Changes

File Change Summary
collections/protocodec/go.mod Updated cosmossdk.io/core from v0.11.1 to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a; removed TODO comment.
core/CHANGELOG.md Added section for v1.0.0-alpha.6 with breaking change; organized entries by version; included links to releases.
runtime/v2/go.mod Removed replace directive for cosmossdk.io/core; updated version to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a.
server/v2/cometbft/go.mod Removed replace directive for cosmossdk.io/core; updated version to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a.
server/v2/go.mod Removed replace directive for cosmossdk.io/core; updated version to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a.
simapp/v2/go.mod Updated cosmossdk.io/core from v1.0.0-alpha.5 to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a; removed local path replace.
store/v2/go.mod Updated cosmossdk.io/core from v1.0.0-alpha.5 to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a; removed local path replace.
tests/go.mod Updated cosmossdk.io/core from v1.0.0-alpha.5 to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a; removed local path replace.

Possibly related PRs

Suggested labels

backport/v0.52.x

Suggested reviewers

  • testinginprod
  • sontrinh16
  • kocubinski

Warning

Tool Failures:

Tool Failure Count:


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@julienrbrt julienrbrt enabled auto-merge November 8, 2024 14:21
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Outside diff range and nitpick comments (2)
core/CHANGELOG.md (2)

49-50: Fix PR reference format

The PR reference has a typo:

-[*22267]
+[#22267]
🧰 Tools
🪛 LanguageTool

[style] ~49-~49: Consider a shorter alternative to avoid wordiness.
Context: ...sdk/pull/22326) Introduce codec package in order to facilitate removal of Cosmos SDK depend...

(IN_ORDER_TO_PREMIUM)


49-49: Improve wording for clarity

Consider revising for conciseness:

-Introduce codec package in order to facilitate removal of Cosmos SDK dependency in modules.
+Introduce codec package to facilitate removal of Cosmos SDK dependency in modules.
🧰 Tools
🪛 LanguageTool

[style] ~49-~49: Consider a shorter alternative to avoid wordiness.
Context: ...sdk/pull/22326) Introduce codec package in order to facilitate removal of Cosmos SDK depend...

(IN_ORDER_TO_PREMIUM)

📜 Review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 43e28b4 and e40dadf.

⛔ Files ignored due to path filters (7)
  • collections/protocodec/go.sum is excluded by !**/*.sum
  • runtime/v2/go.sum is excluded by !**/*.sum
  • server/v2/cometbft/go.sum is excluded by !**/*.sum
  • server/v2/go.sum is excluded by !**/*.sum
  • simapp/v2/go.sum is excluded by !**/*.sum
  • store/v2/go.sum is excluded by !**/*.sum
  • tests/go.sum is excluded by !**/*.sum
📒 Files selected for processing (8)
  • collections/protocodec/go.mod (1 hunks)
  • core/CHANGELOG.md (1 hunks)
  • runtime/v2/go.mod (1 hunks)
  • server/v2/cometbft/go.mod (1 hunks)
  • server/v2/go.mod (1 hunks)
  • simapp/v2/go.mod (1 hunks)
  • store/v2/go.mod (1 hunks)
  • tests/go.mod (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
core/CHANGELOG.md (1)

Pattern **/*.md: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"

tests/go.mod (1)

Pattern tests/**/*: "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"

🪛 LanguageTool
core/CHANGELOG.md

[style] ~49-~49: Consider a shorter alternative to avoid wordiness.
Context: ...sdk/pull/22326) Introduce codec package in order to facilitate removal of Cosmos SDK depend...

(IN_ORDER_TO_PREMIUM)

🔇 Additional comments (10)
collections/protocodec/go.mod (2)

7-7: LGTM on coordinated dependency update

The removal of local replacements and consistent version update across modules indicates a well-coordinated approach to dependency management.


7-7: Verify stability implications of alpha version

The update to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a introduces an alpha version. While the specific commit hash ensures reproducibility, alpha versions may contain breaking changes.

✅ Verification successful

Alpha version update is part of coordinated dependency upgrade

The update to cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a is part of a coordinated upgrade across the codebase. From the evidence:

  • The changelog shows this is a planned release with new features like the codec package
  • Multiple modules are being updated to the same alpha version
  • Breaking changes are properly documented in the changelog
  • No replace directives are used for core, indicating proper versioning

The alpha version is being consistently applied across the ecosystem, making this a deliberate and coordinated upgrade rather than a stability concern.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if this alpha version is being used consistently across the codebase
# and if there are any compatibility issues mentioned in changelogs

# Check for consistent version usage across all go.mod files
fd -e mod -x grep -l "cosmossdk.io/core"

# Look for potential breaking changes in changelog
fd -g "CHANGELOG*.md" -x grep -A 5 -B 5 "v1.0.0-alpha.5"

Length of output: 1629


Script:

#!/bin/bash
# Let's check the specific version being used across go.mod files
fd -e mod -x grep -A 1 -B 1 "cosmossdk.io/core"

# Also check for any replace directives for core
fd -e mod -x grep -A 5 "replace.*cosmossdk.io/core"

Length of output: 8411

runtime/v2/go.mod (2)

Line range hint 1-93: LGTM! Removal of local replacement aligns with changelog preparation.

The removal of the local core replacement directive is appropriate as we're moving to use the published version, which aligns with the PR's objective of preparing the changelog.


17-17: Verify the specific commit referenced by the pseudo-version.

The dependency has been updated to use a specific commit (pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a). Let's verify this commit is from the intended release branch.

✅ Verification successful

Pseudo-version commit verification successful

The pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a correctly references commit 43e28b43ad7a from the cosmos-sdk repository, which was committed on 2024-11-08T14:05:25Z. The commit is related to store/v2 genesis flow refactoring (PR #22435), indicating it's from an active development branch.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the commit referenced in the pseudo-version

# Extract the timestamp from the pseudo-version
TIMESTAMP="20241108140525"

# Fetch the commit information from the core repository
gh api repos/cosmos/cosmos-sdk/commits \
  --jq ".[] | select(.commit.committer.date | startswith(\"2024-11-08T14:05:25\")) | {sha: .sha, message: .commit.message, date: .commit.committer.date}" \
  -H "Accept: application/vnd.github.v3+json"

Length of output: 461

server/v2/go.mod (2)

Line range hint 4-11: LGTM! Removal of local replacement is appropriate.

The removal of the local path replacement for cosmossdk.io/core and the switch to using the published version is a good practice for stability and reproducibility.


16-16: Verify the pseudo-version timestamp in the core dependency.

The pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a contains a timestamp from November 2024, which is in the future. This could indicate a potential issue with the commit timestamp.

server/v2/cometbft/go.mod (1)

23-23: Verify compatibility with the new core version

The update to a specific commit of cosmossdk.io/core looks good, but please ensure all functionality remains compatible with this version.

Let's verify the dependency update impact:

✅ Verification successful

Core dependency update is safe to proceed

The update to cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a is verified to be safe:

  • The commit exists in the cosmos-sdk repository and was created on November 8, 2024
  • The core package is widely used across the codebase, primarily for interfaces and core functionality
  • The update is from the same alpha.5 series, suggesting backward compatibility
  • Local replace directives in go.mod ensure proper dependency resolution during development
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any breaking changes or compatibility issues

# Test 1: Look for core API usage that might be affected
rg -A 3 "core\." --type go

# Test 2: Check if this version exists in the core repository
gh api repos/cosmos/cosmos-sdk/commits/43e28b43ad7a --silent || echo "Commit not found"

Length of output: 288


Script:

#!/bin/bash
# Let's check for core package usage in the codebase
rg -l "cosmossdk.io/core" --type go

# Check the current go.mod for any replace directives for core
grep -A 2 "cosmossdk.io/core" server/v2/cometbft/go.mod

# Check if there are any other go.mod files with core dependency
fd -e mod -x grep -l "cosmossdk.io/core" {}

Length of output: 22525

core/CHANGELOG.md (3)

39-40: LGTM: Version entry follows changelog guidelines

The new version entry is properly formatted with the correct GitHub release link and follows semantic versioning.


41-43: LGTM: Breaking change is well documented

The API breaking change is properly documented with:


Line range hint 1-38: LGTM: Changelog structure follows best practices

The changelog:

  • Follows the guiding principles outlined in the header
  • Maintains consistent formatting
  • Uses proper categorization of changes
  • Includes version links
🧰 Tools
🪛 LanguageTool

[style] ~49-~49: Consider a shorter alternative to avoid wordiness.
Context: ...sdk/pull/22326) Introduce codec package in order to facilitate removal of Cosmos SDK depend...

(IN_ORDER_TO_PREMIUM)

@@ -3,7 +3,7 @@ module cosmossdk.io/store/v2
go 1.23
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Critical: Invalid Go version specified.

The module requires Go 1.23 which hasn't been released yet. This will cause build failures as the latest stable version is Go 1.22.

Apply this diff to fix the Go version:

-go 1.23
+go 1.21
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
go 1.23
go 1.21

@@ -3,7 +3,7 @@
go 1.23

require (
cosmossdk.io/core v1.0.0-alpha.5
cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Inconsistent core dependency versions detected across modules

Several modules are still using v1.0.0-alpha.5 while others have been updated to v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a. This inconsistency needs to be addressed:

  • Modules using the new pseudo-version:

    • store/v2
    • tests
    • server/v2
    • server/v2/cometbft
    • simapp/v2
    • runtime/v2
    • collections/protocodec
  • Modules still on v1.0.0-alpha.5:

    • All x/* modules
    • store
    • server/v2/stf
    • simapp
    • orm
    • core/testing
    • collections
    • client/v2

Note: Tools modules (cosmovisor, hubl, confix) use v0.11.1, which is expected as they're not part of the core update.

🔗 Analysis chain

LGTM: Core dependency update aligns with changelog preparation.

The update to a specific pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a is consistent with the PR's objective of preparing the core changelog.

Let's verify this change is consistent across other modules:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all modules are using the same core version
# Expected: All modules should use the same specific version of core

# Search for core dependency declarations across all go.mod files
rg "cosmossdk.io/core v" -g "go.mod"

Length of output: 2433

@@ -21,7 +20,7 @@ replace (
require (
cosmossdk.io/api v0.7.6
cosmossdk.io/collections v0.4.0
cosmossdk.io/core v1.0.0-alpha.5
cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Future timestamp detected in dependency version

The commit timestamp 2024-11-08T14:05:25Z in the pseudo-version is indeed from November 2024, which is in the future relative to the current development timeline. Using future timestamps in dependency versions can lead to reproducibility issues and should be avoided.

  • The dependency cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a should be updated to use a version with a valid timestamp.
🔗 Analysis chain

Verify the timestamp in the pseudo-version

The pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a contains a timestamp from November 2024, which appears to be in the future. Please verify if this is correct.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the commit timestamp

# Test: Check the actual commit timestamp
gh api repos/cosmos/cosmos-sdk/commits/43e28b43ad7a --jq '.commit.committer.date'

Length of output: 288

@@ -5,7 +5,7 @@ go 1.23.1
require (
cosmossdk.io/api v0.7.6
cosmossdk.io/collections v0.4.1-0.20241104084251-838f1557af0a
cosmossdk.io/core v1.0.0-alpha.5
cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Version inconsistency detected across modules

The cosmossdk.io/core dependency version is not consistent across the codebase:

  • Most x/* modules use v1.0.0-alpha.5
  • Several v2 modules and tests use v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a
  • Tools (hubl, confix, cosmovisor) use v0.11.1
  • System tests use v0.11.0

This inconsistency needs to be addressed to ensure all modules are aligned with the new version.

🔗 Analysis chain

LGTM! Version update aligns with changelog preparation.

The update of cosmossdk.io/core to the specific version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a is consistent with the PR's objective of preparing the core changelog.

Let's verify that this version is consistent across all dependent modules:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for consistency of cosmossdk.io/core version across all go.mod files
# Expected: All modules should use the same version

# Find all go.mod files and check the cosmossdk.io/core version
fd --type f "go.mod" --exec grep -l "cosmossdk.io/core" {} \; | \
  xargs awk '/cosmossdk\.io\/core/ && !/replace/ {print FILENAME ":" $0}'

Length of output: 5739

@@ -5,7 +5,7 @@ go 1.23.1
require (
cosmossdk.io/api v0.7.6
cosmossdk.io/client/v2 v2.0.0-00010101000000-000000000000
cosmossdk.io/core v1.0.0-alpha.5
cosmossdk.io/core v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Verify the timestamp in the dependency version.

The pseudo-version contains a future timestamp (20241108 = Nov 8, 2024). This might cause issues with dependency management tools.

Consider using a version with a current or past timestamp to ensure compatibility with Go's dependency management system.


💡 Codebase verification

Version mismatch detected across modules

The codebase shows inconsistent versions of cosmossdk.io/core across different modules:

  • Most x/ modules use v1.0.0-alpha.5
  • Several v2 modules use the newer pseudo-version v1.0.0-alpha.5.0.20241108140525-43e28b43ad7a

This version mismatch could lead to compatibility issues. The following modules need to be synchronized:

  • All x/* modules
  • store/go.mod
  • simapp/go.mod
  • server/v2/stf/go.mod
  • server/v2/appmanager/go.mod
  • orm/go.mod
  • client/v2/go.mod
  • collections/go.mod
  • core/testing/go.mod
🔗 Analysis chain

LGTM on the core dependency update.

The update to a specific pseudo-version improves reproducibility and version control.

Let's verify the version compatibility:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the compatibility of the new core version across the codebase

# Test: Check for any potential version conflicts or inconsistencies
rg -g 'go.mod' "cosmossdk.io/core v1.0.0-alpha"

Length of output: 2213

@julienrbrt julienrbrt added this pull request to the merge queue Nov 8, 2024
Merged via the queue into main with commit 3ac1665 Nov 8, 2024
81 of 82 checks passed
@julienrbrt julienrbrt deleted the julien/core-cl branch November 8, 2024 14:49
@julienrbrt
Copy link
Member Author

alpe added a commit that referenced this pull request Nov 13, 2024
* main: (31 commits)
  docs: update links for https security protocol (#22514)
  build(deps): Bump github.com/bytedance/sonic from 1.12.3 to 1.12.4 in /log (#22513)
  feat(x/protocolpool)!: allow any coins in continuous funds (#21916)
  docs: Update protobuf  tx signing message format outer link (#22510)
  test(accounts): fix integration tests (#22418)
  chore(x): fix some typos in comment (#22508)
  build(deps): Bump cosmossdk.io/log from 1.4.1 to 1.5.0 (#22487)
  build(deps): Bump cosmossdk.io/core from 1.0.0-alpha.5 to 1.0.0-alpha.6 (#22502)
  build(deps): Bump golang.org/x/crypto from 0.28.0 to 0.29.0 (#22480)
  docs(adr75): server v2 (#21069)
  fix(server/v2): improve server stop (#22455)
  chore: prepare core changelog (#22495)
  refactor(store/v2): simplify genesis flow (#22435)
  build(deps): Bump google.golang.org/grpc from 1.67.1 to 1.68.0 (#22486)
  build(deps): Bump golang.org/x/sync from 0.8.0 to 0.9.0 (#22482)
  feat(x/circuit): Allow msg Reset with empty msgURL (#22459)
  build(deps): Bump actions/xxx-artifact from v3 to v4 (#22468)
  feat(stf/branch): simplify merged iterator (#22131)
  refactor(log): disable coloring in testing logger (#22466)
  chore(x/tx): update changelog to alpha.2 (#22465)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants