Skip to content

Release v4.0.0-alpha.0#1646

Merged
immrsd merged 2 commits intomainfrom
release-v4.0.0-alpha.0
Feb 2, 2026
Merged

Release v4.0.0-alpha.0#1646
immrsd merged 2 commits intomainfrom
release-v4.0.0-alpha.0

Conversation

@immrsd
Copy link
Copy Markdown
Collaborator

@immrsd immrsd commented Jan 30, 2026

Summary by CodeRabbit

  • Documentation

    • Updated API documentation links across all modules to reference version 4.0.0-alpha.0.
    • Improved naming clarity for ERC6909 extensions (ContentURI, TokenSupply, Metadata components).
    • Updated dependency version references in installation guides and examples.
    • Refreshed class hash mappings for upgradeable contracts.
  • Chores

    • Released version 4.0.0-alpha.0 as a pre-release.

✏️ Tip: You can customize this high-level summary in your review settings.

@immrsd immrsd self-assigned this Jan 30, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 30, 2026

Walkthrough

This pull request updates version references throughout the codebase from v3.0.0 to v4.0.0-alpha.0, including changelog headers, dependency declarations, API documentation links, source file headers, and class hash mappings. No functional logic changes are introduced.

Changes

Cohort / File(s) Summary
Version Metadata
CHANGELOG.md, Scarb.toml, docs/antora.yml
Updated version headers from v3.0.0 to v4.0.0-alpha.0 in changelog and workspace configuration.
Dependency Documentation
README.md, docs/modules/ROOT/pages/index.adoc, docs/modules/ROOT/pages/interfaces.adoc, docs/modules/ROOT/pages/macros.adoc, docs/modules/ROOT/pages/merkle-tree.adoc
Updated package version references in installation and dependency examples from v3.0.0 to v4.0.0-alpha.0.
API Documentation
docs/modules/ROOT/pages/api/*
Updated GitHub reference links in API documentation from release-v3.0.0 to release-v4.0.0-alpha.0 across all module interfaces and components (access, account, erc1155, erc20, erc6909, erc721, finance, governance, introspection, security, token, upgrades, utils, etc.). Renamed ERC6909 extension components (ERC6909ContentUri→ERC6909ContentURIComponent, ERC6909TokenSupply→ERC6909TokenSupplyComponent, ERC6909Metadata→ERC6909MetadataComponent).
Backwards Compatibility & General Documentation
docs/modules/ROOT/pages/backwards-compatibility.adoc, docs/modules/ROOT/pages/erc4626.adoc, docs/modules/ROOT/pages/presets.adoc, docs/modules/ROOT/pages/upgrades.adoc, docs/modules/ROOT/pages/wizard.adoc
Updated version references in normative statements, usage notes, and embedded component versions from v3.0.0 to v4.0.0-alpha.0.
Source File Headers - Access & Account
packages/access/src/accesscontrol/*, packages/account/src/*
Updated file header comments to reference v4.0.0-alpha.0 instead of v3.0.0.
Source File Headers - Governance
packages/governance/src/governor/*, packages/governance/src/multisig/*, packages/governance/src/timelock/*, packages/governance/src/utils/*, packages/governance/src/votes/*
Updated file header comments to reference v4.0.0-alpha.0 instead of v3.0.0.
Source File Headers - Interfaces
packages/interfaces/src/access/*, packages/interfaces/src/account/*, packages/interfaces/src/finance/*, packages/interfaces/src/governance/*, packages/interfaces/src/introspection/*, packages/interfaces/src/security/*, packages/interfaces/src/token/*, packages/interfaces/src/upgrades/*, packages/interfaces/src/utils/*
Updated file header comments to reference v4.0.0-alpha.0 instead of v3.0.0.
Source File Headers - Other Packages
packages/finance/src/*, packages/introspection/src/*, packages/macros/Cargo.toml, packages/merkle_tree/src/*, packages/presets/src/*, packages/security/src/*, packages/token/src/*, packages/upgrades/src/*, packages/utils/src/*
Updated file header comments and package version manifest from v3.0.0 to v4.0.0-alpha.0 across all remaining package modules.
Class Hash Updates & Utility Script
docs/modules/ROOT/pages/utils/_class_hashes.adoc, scripts/update_readme_links.py
Updated class hash mappings for upgraded components and Cairo compiler version (2.13.1→2.15.0); updated script docstring examples to reference v4.0.0-alpha.0.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Suggested reviewers

  • bidzyyys
  • ericnordelo

Poem

🐰 Hop hop! Version bumped with glee,
Three-oh became four-oh-alpha-three!
Headers and links all dressed anew,
From old to fresh, through and through.
Cairo contracts ready to soar,
Let's celebrate this release! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'Release v4.0.0-alpha.0' clearly and directly describes the main purpose of the changeset: releasing a new version of the cairo-contracts library with version 4.0.0-alpha.0, as evidenced by the systematic version bumps and documentation updates throughout all changed files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release-v4.0.0-alpha.0

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
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: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/governance/src/timelock/timelock_controller.cairo (1)

510-512: ⚠️ Potential issue | 🔴 Critical

Critical: Infinite recursion in getRoleAdmin method.

The getRoleAdmin implementation recursively calls itself instead of delegating to the snake_case get_role_admin method. This will cause a stack overflow at runtime. All other camelCase methods in this impl correctly delegate to their snake_case counterparts (e.g., hasRolehas_role on line 507), but this one does not.

Since this is a release PR for v4.0.0-alpha.0, this critical bug should be fixed before releasing.

🐛 Proposed fix
 fn getRoleAdmin(self: `@ComponentState`<TContractState>, role: felt252) -> felt252 {
-    Self::getRoleAdmin(self, role)
+    Self::get_role_admin(self, role)
 }

@immrsd immrsd merged commit e038ce4 into main Feb 2, 2026
7 checks passed
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.

2 participants