-
Notifications
You must be signed in to change notification settings - Fork 39
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(release): update changelog and version to 1.4.0 #2237
Conversation
WalkthroughThe pull request introduces version 1.4.0 of the Dashpay platform, featuring new methods for identity key validation, TLS connection fixes, and enhancements to the withdrawal process. It includes bug fixes, particularly in deserialization and cookie handling, and updates to various modules. Several package version numbers are updated from development to stable releases. Notably, breaking changes are introduced regarding owner keys and withdrawal fees, necessitating careful consideration by developers. Changes
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used🔇 Additional comments (3)
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (3)
packages/rs-sdk/Cargo.toml (1)
Line range hint
103-106
: New example "read_contract" added successfully.The addition of the "read_contract" example is a positive change, enhancing the package's documentation and usability. It's good that it specifies the required "mocks" feature.
Consider adding a brief comment explaining the purpose of this example and how to run it, either here in the Cargo.toml or in a separate README file for examples.
packages/rs-drive/Cargo.toml (2)
Line range hint
89-99
: Dev-dependencies update approvedThe addition of new features to the
dpp
dependency in the dev-dependencies section enhances the testing capabilities of the package. This change aligns with good development practices.Consider updating the documentation to reflect these new testing capabilities if they introduce significant changes to the development workflow.
Line range hint
117-129
: Server feature update approved with a suggestionThe addition of "dpp/platform-value-json" and "dpp/system_contracts" to the server feature enhances JSON handling and system contract support.
Regarding the comment about removing the "rand" feature eventually:
Consider creating a separate task or issue to track the removal of the "rand" feature. This will help ensure this technical debt is addressed in future updates.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
Cargo.lock
is excluded by!**/*.lock
📒 Files selected for processing (43)
- CHANGELOG.md (1 hunks)
- package.json (1 hunks)
- packages/bench-suite/package.json (1 hunks)
- packages/check-features/Cargo.toml (1 hunks)
- packages/dapi-grpc/Cargo.toml (1 hunks)
- packages/dapi-grpc/package.json (1 hunks)
- packages/dapi/package.json (1 hunks)
- packages/dash-spv/package.json (1 hunks)
- packages/dashmate/package.json (1 hunks)
- packages/dashpay-contract/Cargo.toml (1 hunks)
- packages/dashpay-contract/package.json (1 hunks)
- packages/data-contracts/Cargo.toml (1 hunks)
- packages/dpns-contract/Cargo.toml (1 hunks)
- packages/dpns-contract/package.json (1 hunks)
- packages/feature-flags-contract/Cargo.toml (1 hunks)
- packages/feature-flags-contract/package.json (1 hunks)
- packages/js-dapi-client/package.json (1 hunks)
- packages/js-dash-sdk/package.json (1 hunks)
- packages/js-grpc-common/package.json (1 hunks)
- packages/masternode-reward-shares-contract/Cargo.toml (1 hunks)
- packages/masternode-reward-shares-contract/package.json (1 hunks)
- packages/platform-test-suite/package.json (1 hunks)
- packages/rs-dapi-client/Cargo.toml (1 hunks)
- packages/rs-dapi-grpc-macros/Cargo.toml (1 hunks)
- packages/rs-dpp/Cargo.toml (1 hunks)
- packages/rs-drive-abci/Cargo.toml (1 hunks)
- packages/rs-drive-proof-verifier/Cargo.toml (1 hunks)
- packages/rs-drive/Cargo.toml (1 hunks)
- packages/rs-json-schema-compatibility-validator/Cargo.toml (1 hunks)
- packages/rs-platform-serialization-derive/Cargo.toml (1 hunks)
- packages/rs-platform-serialization/Cargo.toml (1 hunks)
- packages/rs-platform-value-convertible/Cargo.toml (1 hunks)
- packages/rs-platform-value/Cargo.toml (1 hunks)
- packages/rs-platform-version/Cargo.toml (1 hunks)
- packages/rs-platform-versioning/Cargo.toml (1 hunks)
- packages/rs-sdk/Cargo.toml (1 hunks)
- packages/simple-signer/Cargo.toml (1 hunks)
- packages/strategy-tests/Cargo.toml (1 hunks)
- packages/wallet-lib/package.json (1 hunks)
- packages/wasm-dpp/Cargo.toml (1 hunks)
- packages/wasm-dpp/package.json (1 hunks)
- packages/withdrawals-contract/Cargo.toml (1 hunks)
- packages/withdrawals-contract/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (30)
- packages/bench-suite/package.json
- packages/check-features/Cargo.toml
- packages/dapi-grpc/package.json
- packages/dapi/package.json
- packages/dash-spv/package.json
- packages/dashmate/package.json
- packages/dashpay-contract/Cargo.toml
- packages/dashpay-contract/package.json
- packages/data-contracts/Cargo.toml
- packages/dpns-contract/Cargo.toml
- packages/dpns-contract/package.json
- packages/feature-flags-contract/Cargo.toml
- packages/feature-flags-contract/package.json
- packages/js-dapi-client/package.json
- packages/js-dash-sdk/package.json
- packages/js-grpc-common/package.json
- packages/masternode-reward-shares-contract/Cargo.toml
- packages/masternode-reward-shares-contract/package.json
- packages/platform-test-suite/package.json
- packages/rs-dapi-grpc-macros/Cargo.toml
- packages/rs-json-schema-compatibility-validator/Cargo.toml
- packages/rs-platform-serialization-derive/Cargo.toml
- packages/rs-platform-serialization/Cargo.toml
- packages/rs-platform-value-convertible/Cargo.toml
- packages/rs-platform-version/Cargo.toml
- packages/rs-platform-versioning/Cargo.toml
- packages/wallet-lib/package.json
- packages/wasm-dpp/package.json
- packages/withdrawals-contract/Cargo.toml
- packages/withdrawals-contract/package.json
🧰 Additional context used
🔇 Additional comments (26)
packages/simple-signer/Cargo.toml (5)
3-3
: LGTM: Version update to 1.4.0The package version has been correctly updated to "1.4.0", which aligns with the PR objective of releasing version 1.4.0 of the Dash Platform.
Line range hint
12-12
: LGTM: dashcore-rpc dependency updateThe dashcore-rpc dependency has been updated to use a specific tag (v0.15.4) from the Git repository. This ensures consistency and reproducibility in the build process.
Line range hint
14-14
: LGTM: base64 dependency updateThe base64 dependency has been updated to version 0.22.1. This appears to be a stable version, which is appropriate for a release.
Line range hint
13-13
: Clarify the use of a local path for dpp dependencyThe dpp dependency is currently referencing a local path ("../rs-dpp"). This approach might cause issues with reproducibility and may not work in all build environments.
Could you please clarify if this local path is intended for the release version? If not, consider updating it to reference a specific version or Git repository tag for better reproducibility.
#!/bin/bash # Check if there's a published version of dpp cargo search dpp | grep -A 1 "^dpp ="
Line range hint
11-11
: Consider using a stable version of bincodeThe current dependency on bincode uses a release candidate version (2.0.0-rc.3). For a stable release (1.4.0), it's generally recommended to use stable versions of dependencies when possible.
Could you please verify if a stable version of bincode is available and suitable for this release? If not, ensure that this release candidate version has been thoroughly tested with your codebase.
packages/rs-platform-value/Cargo.toml (2)
Line range hint
1-1
: Verify bincode dependency version.The AI summary mentioned an update to the
bincode
dependency version to "2.0.0-rc.3", but this change is not visible in the provided code segment.Please verify if the
bincode
dependency has been updated as part of this PR. You can use the following script to check the current version ofbincode
:#!/bin/bash # Description: Check the current version of the bincode dependency # Test: Search for the bincode dependency version rg --type toml 'bincode.*version.*' packages/rs-platform-value/Cargo.tomlIf the version has indeed been updated, ensure that this change is reflected in the changelog and that any necessary adjustments to the code have been made to accommodate the new version.
5-5
: Version update to 1.4.0 looks good.The version change from a development version (1.4.0-dev.8) to a stable release (1.4.0) is consistent with the PR objectives and follows semantic versioning practices.
To ensure readiness for release, please verify:
- All planned features for 1.4.0 have been implemented.
- Comprehensive testing has been performed.
- The changelog has been updated to reflect all changes in this release.
You can use the following script to check if the changelog has been updated:
✅ Verification successful
Changelog updated for version 1.4.0.
The
CHANGELOG.md
includes an entry for version 1.4.0 with the relevant features.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if the changelog has been updated for version 1.4.0 # Test: Search for version 1.4.0 in the changelog rg --type md "## \[1\.4\.0\]" CHANGELOG.mdLength of output: 134
Script:
#!/bin/bash # Description: Verify the changelog has an entry for version 1.4.0 with relevant details # Check for the version header rg --type md "^## \[1\.4\.0\]" CHANGELOG.md # Additionally, verify that the version section includes relevant changes rg --type md "^## \[1\.4\.0\]" -A5 CHANGELOG.mdLength of output: 420
packages/rs-dapi-client/Cargo.toml (2)
3-3
: Version update looks goodThe package version has been correctly updated from a development version (1.4.0-dev.8) to the stable release version (1.4.0). This change is consistent with the PR objectives of releasing version 1.4.0 of the Dash Platform.
Line range hint
22-45
: Verify dependency versionsWhile the package version has been updated to 1.4.0, the dependencies remain unchanged. It's generally a good practice to review and potentially update dependency versions when releasing a new stable version. Please verify that all dependencies are at their latest compatible versions, especially for security-critical packages.
To help with this verification, you can run the following command in the package directory:
This will show a list of dependencies that have newer versions available. Please review the output and update any dependencies as necessary, ensuring compatibility with your package.
packages/strategy-tests/Cargo.toml (3)
3-3
: Version update looks good.The package version has been correctly updated to "1.4.0", which aligns with the PR objective of releasing version 1.4.0 of the Dash Platform. This change appropriately transitions the package from a development version to a stable release.
Line range hint
1-45
: Overall changes look good, ensure changelog is updated.The changes in this file are minimal and align with the PR objectives:
- The package version has been updated to 1.4.0, reflecting the new release.
- A new dev-dependency (RocksDB) has been added for testing purposes.
These changes seem appropriate for a version release. However, please ensure that:
- The changelog has been comprehensively updated to reflect all changes in this release, including the addition of new testing capabilities with RocksDB.
- All other relevant files (e.g., README, documentation) have been updated to reflect the new version number.
To ensure all necessary updates have been made, please run the following script:
#!/bin/bash # Description: Check for version updates and changelog modifications # Test: Check if CHANGELOG.md exists and has been modified if [ -f CHANGELOG.md ]; then git diff origin/master -- CHANGELOG.md else echo "CHANGELOG.md not found. Please ensure changes are documented appropriately." fi # Test: Check for version number updates in other files rg "1\.4\.0(-dev\.[0-9]+)?" --type toml --type md
Line range hint
45-45
: New dev-dependency added: Please clarify its purpose.The addition of RocksDB (version 0.22.0) as a dev-dependency is noted. While the comment suggests it's for "tests of grovedb verify", could you provide more context on why this was added and how it relates to the 1.4.0 release? This change wasn't mentioned in the PR description or summary.
To ensure this addition doesn't affect other parts of the project, please run the following script:
✅ Verification successful
Verified: RocksDB dev-dependency is isolated to
strategy-tests
and does not impact other project areas.No further action is required.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for other occurrences of RocksDB in the project # Test: Search for RocksDB usage across the project rg --type rust "rocksdb" -g '!Cargo.toml' # Test: Check if RocksDB is used in other Cargo.toml files rg --type toml "rocksdb" -g 'Cargo.toml'Length of output: 3356
packages/rs-drive-proof-verifier/Cargo.toml (1)
3-3
: Version update looks good, verify consistency across the project.The package version has been correctly updated from a development version to a stable release (1.4.0), which aligns with the PR objectives for releasing version 1.4.0 of the Dash Platform.
To ensure consistency, please run the following script to check if the version has been updated uniformly across all relevant files in the project:
This script will help identify any inconsistencies in version numbers across the project.
✅ Verification successful
Version consistency verified across the project.
All occurrences of the old version "1.4.0-dev" have been removed, and the new version "1.4.0" is consistently applied across all relevant files.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify version consistency across the project # Test: Search for any remaining occurrences of the old version number rg --type toml --type json '"1\.4\.0-dev' # Test: Verify the new version number is present in expected locations rg --type toml --type json '"1\.4\.0"'Length of output: 3187
packages/wasm-dpp/Cargo.toml (1)
3-3
: LGTM: Version update to 1.4.0The version update from "1.4.0-dev.8" to "1.4.0" is correct and aligns with the PR objective of releasing version 1.4.0 of the Dash Platform. This change represents a transition from a development version to a stable release, which is a standard practice in semantic versioning.
Let's verify if this version update is consistent across other relevant files in the repository:
✅ Verification successful
Verified: Version update to 1.4.0 is consistent across the repository
The update to version "1.4.0" in
packages/wasm-dpp/Cargo.toml
has been successfully applied consistently across all relevant files in the repository. No remaining development versions were found.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for version consistency across the repository # Search for version strings in relevant files echo "Searching for version strings:" rg --type toml --type json '"version":\s*"1\.4\.0(-dev\.[0-9]+)?"' -g '!**/node_modules/**' # Check for any remaining dev versions echo "Checking for any remaining dev versions:" rg --type toml --type json '"version":\s*"1\.4\.0-dev\.[0-9]+"' -g '!**/node_modules/**'Length of output: 1157
packages/rs-drive-abci/Cargo.toml (1)
3-3
: Version update looks good.The version has been correctly updated from "1.4.0-dev.8" to "1.4.0", which aligns with the PR objectives of releasing version 1.4.0.
Given that this is a new release with potential new features and breaking changes, it's important to ensure that all dependency versions are up-to-date and compatible. Please run the following script to check for any outdated dependencies:
If this script returns any outdated dependencies, please consider updating them as part of this release.
packages/rs-sdk/Cargo.toml (1)
3-3
: Version update to 1.4.0 looks good.The package version has been correctly updated from the development version to the stable release 1.4.0. This change aligns with the PR objectives.
Ensure that the CHANGELOG.md file has been updated to reflect the changes in this new version:
✅ Verification successful
CHANGELOG.md updated correctly.
The CHANGELOG.md file includes an entry for version 1.4.0, confirming that the changes are documented appropriately.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if CHANGELOG.md has been updated with version 1.4.0 # Test: Search for version 1.4.0 in CHANGELOG.md. Expect: At least one occurrence. if ! rg --type md -q '## \[1\.4\.0\]' CHANGELOG.md; then echo "Warning: Version 1.4.0 not found in CHANGELOG.md" fiLength of output: 47
Script:
#!/bin/bash # Description: Check if CHANGELOG.md mentions version 1.4.0 in any format # Test: Search for '1.4.0' in CHANGELOG.md. Expect: At least one occurrence. rg --type md '1\.4\.0' CHANGELOG.mdLength of output: 843
packages/rs-drive/Cargo.toml (2)
4-4
: Version update approvedThe package version has been correctly updated from a development version to the stable release 1.4.0, which aligns with the PR objective.
Line range hint
106-106
: New feature "grovedbg" addedThe addition of the "grovedbg" feature, which depends on "grovedb/grovedbg", suggests enhanced debugging capabilities for GroveDB.
Could you provide more information about the purpose and impact of this new feature? This will help ensure it aligns with the project's goals and doesn't introduce any unintended side effects.
To verify the usage of this new feature, please run the following script:
✅ Verification successful
Confirmed: "grovedbg" feature is actively utilized across the codebase.
The "grovedbg" feature is integrated and employed in multiple modules, enhancing GroveDB's debugging capabilities as intended.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for usage of the new "grovedbg" feature in the codebase # Search for potential usage or references to the new feature rg --type rust -i 'grovedbg|grove.*debug' # Check if the feature is used in any build scripts or configuration files rg --type toml -i 'grovedbg'Length of output: 906
package.json (1)
3-3
: Version update looks good.The version has been correctly updated from "1.4.0-dev.8" to "1.4.0", which aligns with the PR objectives of releasing version 1.4.0 of the Dash Platform.
Let's verify if this version change is consistent across other relevant files:
✅ Verification successful
Version consistency verified.
All relevant files have been updated to version "1.4.0", and the
CHANGELOG.md
reflects the new release. No remaining development version strings were found.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for version consistency across relevant files # Test 1: Search for version strings in other common configuration files echo "Checking version strings in other files:" rg --type yaml --type json '"version":\s*"1\.4\.0(-dev\.8)?"' -g '!package.json' # Test 2: Check for any remaining dev version strings echo "Checking for any remaining dev version strings:" rg --type yaml --type json '"version":\s*"1\.4\.0-dev' # Test 3: Check changelog for the new version echo "Checking CHANGELOG.md for version 1.4.0:" rg '## \[1\.4\.0\]' CHANGELOG.mdLength of output: 552
packages/rs-dpp/Cargo.toml (1)
3-3
: Version update looks good.The version has been correctly updated from "1.4.0-dev.8" to "1.4.0", which aligns with the PR objective of releasing version 1.4.0.
To ensure all necessary steps for the release have been completed, please run the following script:
✅ Verification successful
Version update and CHANGELOG are correctly updated. No development versions remain in the project.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify changelog update and version consistency across the project. # Test 1: Check if CHANGELOG.md exists and has been updated if [ -f CHANGELOG.md ]; then echo "Checking CHANGELOG.md for version 1.4.0 updates..." grep -q "## \[1.4.0\]" CHANGELOG.md && echo "CHANGELOG.md has been updated for version 1.4.0" || echo "WARNING: CHANGELOG.md may not have been updated for version 1.4.0" else echo "WARNING: CHANGELOG.md not found" fi # Test 2: Check for any remaining dev versions in the project echo "Checking for any remaining dev versions in the project..." rg "version\s*=\s*\"1\.4\.0-dev" --type tomlLength of output: 450
CHANGELOG.md (6)
1-96
: Comprehensive changelog for version 1.4.0The changelog for version 1.4.0 is well-structured and provides a detailed overview of the changes. It includes sections for Features, Bug Fixes, and Breaking Changes, which is good practice. The entries are clear and concise, making it easy for users to understand the updates.
Some notable points:
- New features like identity key validation methods and TLS connection fixes are highlighted.
- Bug fixes are clearly described, addressing issues in various components.
- Breaking changes are properly emphasized, which is crucial for users planning to upgrade.
Line range hint
98-135
: Well-documented pre-release versionsThe changelog includes entries for pre-release versions (1.4.0-dev.8 to 1.4.0-dev.1), which is excellent for tracking the development progress. Each pre-release version has its own set of changes, making it easy to follow the evolution of features and fixes.
Line range hint
137-326
: Comprehensive changelog for version 1.3.0The changelog for version 1.3.0 is extensive and well-organized. It covers a wide range of changes across different components of the platform. The use of links to GitHub issues is particularly helpful for users who want to dive deeper into specific changes.
Some observations:
- The Features section is comprehensive, showing significant improvements across various areas.
- Bug Fixes are well-documented, addressing issues in multiple components.
- The Breaking Changes section is clearly marked, which is crucial for users planning to upgrade.
- The inclusion of a full changelog link at the end is a good practice for users who need more details.
Line range hint
328-1022
: Detailed changelogs for older versionsThe changelog continues with detailed entries for older versions, including dev versions and patch releases. This level of detail is commendable as it provides a comprehensive history of the project's evolution.
Some points to note:
- The consistent structure across versions makes it easy to navigate.
- Breaking changes are clearly marked for each version where applicable.
- The inclusion of both features and bug fixes gives a balanced view of each release.
- Links to GitHub issues are consistently used, which is helpful for tracking the origin of changes.
Line range hint
1024-1048
: Information about previous versionsThe changelog concludes with information about versions prior to 0.21.x, explaining that packages were previously located in separate repositories. This is valuable context for users who might be looking for older version histories.
The list of links to individual package changelogs is helpful for users who need to refer to the history of specific components.
Line range hint
1-1048
: Overall assessment: Excellent changelog practicesThis CHANGELOG.md file demonstrates excellent practices in documenting the evolution of the Dash Platform project. Key strengths include:
- Consistent structure across versions, making it easy to navigate and understand.
- Clear marking of breaking changes, which is crucial for users planning upgrades.
- Comprehensive coverage of features, bug fixes, and other changes for each version.
- Use of links to GitHub issues, providing easy access to more detailed information.
- Inclusion of pre-release versions, offering insight into the development process.
- A good balance between technical detail and concise descriptions.
Minor suggestion for improvement:
- Consider adding a table of contents at the beginning of the file for easier navigation, especially as the changelog grows longer over time.
Overall, this changelog serves as an excellent reference for both users and developers of the Dash Platform.
@@ -1,7 +1,7 @@ | |||
[package] | |||
name = "dapi-grpc" | |||
description = "GRPC client for Dash Platform" | |||
version = "1.4.0-dev.8" | |||
version = "1.4.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Action Required: Inconsistent Version References Identified
While the version has been successfully updated to 1.4.0 across multiple Cargo.toml
and package.json
files, the following file still references a development version:
packages/dashmate/configs/getConfigFileMigrationsFactory.js
:'1.4.0-dev.1'
'1.4.0-dev.4'
Please review and update these references if they are intended to align with the stable 1.4.0 release.
🔗 Analysis chain
LGTM: Version updated to 1.4.0
The package version has been correctly updated from a development version to a stable release (1.4.0). This change aligns with the PR objectives of releasing version 1.4.0 of the Dash Platform.
Let's verify if this version change is consistent across other related files in the repository:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for consistency of version 1.4.0 across the repository
# Test 1: Search for version strings in Cargo.toml files
echo "Searching for version strings in Cargo.toml files:"
rg --type toml 'version\s*=\s*"1\.4\.0.*"' -g 'Cargo.toml'
# Test 2: Search for version strings in package.json files
echo "Searching for version strings in package.json files:"
rg --type json '"version":\s*"1\.4\.0.*"' -g 'package.json'
# Test 3: Search for version strings in other potential configuration files
echo "Searching for version strings in other configuration files:"
rg '1\.4\.0' -g '*.{yml,yaml,json,js,ts,md}'
Length of output: 4672
Issue being fixed or feature implemented
Release new Dash Platform version
What was done?
How Has This Been Tested?
None
Breaking Changes
None
Checklist:
For repository code-owners and collaborators only
Summary by CodeRabbit
Release Notes for Version 1.4.0
New Features
Bug Fixes
Breaking Changes