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

4.1.0 release #2851

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

4.1.0 release #2851

wants to merge 5 commits into from

Conversation

khancode
Copy link
Collaborator

High Level Overview of Change

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

Did you update HISTORY.md?

  • Yes
  • No, this change does not impact library users

Test Plan

Copy link

coderabbitai bot commented Dec 13, 2024

Walkthrough

This pull request includes updates to the version numbers of two packages: ripple-binary-codec and xrpl. The ripple-binary-codec package's version is updated from 2.1.0 to 2.2.0, while the xrpl package's version is updated from 4.0.0 to 4.1.0. Additionally, the xrpl package's dependency on ripple-binary-codec is modified to reflect this new version. The HISTORY.md file for the xrpl package is also updated to document new features and fixes associated with the upcoming version.

Changes

File Change Summary
packages/ripple-binary-codec/package.json Version updated from "2.1.0" to "2.2.0".
packages/xrpl/HISTORY.md Added utility function parseTransactionFlags, new transaction definitions, and fixes for TransactionStream and Ledger models.
packages/xrpl/package.json Version updated from "4.0.0" to "4.1.0" and dependency on ripple-binary-codec updated from "^2.1.0" to "^2.2.0".

Possibly related PRs

  • Update HISTORY.md #2777: The xrpl package's HISTORY.md update includes changes related to the ripple-binary-codec version, specifically noting the increment from 2.1.0 to 2.2.0, which directly relates to the version update in the main PR.

Suggested reviewers

  • anissa-ripple
  • justinr1234

Poem

🐇 In the code where bunnies play,
Versions hop and dance away.
Ripple's codec, now anew,
XRPL's features, shining through!
With flags and types, we leap so high,
In the world of code, we touch the sky! 🌟


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 generate docstrings to generate docstrings for this PR. (Experiment)
  • @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.

Copy link

@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

🧹 Outside diff range and nitpick comments (3)
packages/xrpl/HISTORY.md (3)

7-8: Consider adding more details about version 4.1.0 release

The version header could benefit from additional context:

  • Add a brief summary of the major changes/features
  • Consider adding migration notes if there are any breaking changes
  • Consider adding compatibility notes with rippled versions
-## 4.1.0 (2024-12-12)
+## 4.1.0 (2024-12-12)
+
+This release adds support for MPT transactions (XLS-33), improves API v2 compatibility, and introduces new utility functions. Compatible with rippled version X.X.X and later.

Line range hint 10-14: Improve documentation of new features

The "Added" section could be more descriptive:

  • Explain what MPT transactions are and link to the XLS-33 specification
  • Describe the purpose and usage of parseTransactionFlags
  • Clarify the impact of MPTAmount type support
 ### Added
-* parseTransactionFlags as a utility function in the xrpl package to streamline transactions flags-to-map conversion
-* Added new MPT transaction definitions (XLS-33)
-* New `MPTAmount` type support for `Payment` and `Clawback` transactions
+* Added `parseTransactionFlags` utility function to convert transaction flags to a human-readable map format, making it easier to understand and manipulate transaction flags
+* Added support for Merkle Patricia Trie (MPT) transactions as defined in [XLS-33](link-to-spec), enabling [brief description of MPT benefits]
+* Added `MPTAmount` type support for `Payment` and `Clawback` transactions to handle MPT-specific amount formats

Line range hint 16-19: Improve documentation of bug fixes

The "Fixed" section could provide more context about the impact and importance of these fixes:

  • Explain why APIv2 support is important
  • Clarify the benefits of having close_time_iso field
 ### Fixed
-* `TransactionStream` model supports APIv2
-* `TransactionStream` model includes `close_time_iso` field
-* `Ledger` model includes `close_time_iso` field
+* Updated `TransactionStream` model to fully support APIv2, ensuring compatibility with the latest rippled API version
+* Added `close_time_iso` field to both `TransactionStream` and `Ledger` models, providing timestamps in ISO 8601 format for better interoperability and human readability
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f72c8d and f47d684.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • packages/ripple-binary-codec/package.json (1 hunks)
  • packages/xrpl/HISTORY.md (1 hunks)
  • packages/xrpl/package.json (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/ripple-binary-codec/package.json
🔇 Additional comments (2)
packages/xrpl/package.json (2)

3-3: Version bump follows semantic versioning.

The increment from 4.0.0 to 4.1.0 indicates new features without breaking changes, which aligns with semantic versioning guidelines.

Let's verify the version history and changelog:

✅ Verification successful

Version bump follows semantic versioning and aligns with changes.

The increment from 4.0.0 to 4.1.0 is appropriate based on the changes documented in HISTORY.md:

Added (new features without breaking changes):

  • parseTransactionFlags utility function
  • MPT transaction definitions (XLS-33)
  • New MPTAmount type support
  • API improvements for transaction streams and ledger models

Fixed (bug fixes):

  • TransactionStream and Ledger model improvements
  • API compatibility updates

Since these changes add new functionality without breaking backward compatibility, the minor version increment (4.0.0 -> 4.1.0) follows semantic versioning principles.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check version history and changelog entries

# Check if HISTORY.md exists and contains entries for 4.1.0
rg -A 5 "## 4.1.0" HISTORY.md

# Check git tags to ensure version hasn't been used before
git tag | grep "^4.1.0$"

Length of output: 58


Script:

#!/bin/bash
# Let's try a different approach to verify version history and changes

# First, check if HISTORY.md exists and its content
fd "HISTORY.md" --type f --exec cat {}

# Check for any changelog files with different names
fd "CHANGELOG" --type f --exec cat {}

# Check package.json to verify current and previous versions
fd "package.json" --type f --exec cat {}

Length of output: 95462


32-32: Verify ripple-binary-codec dependency version.

The update to ripple-binary-codec ^2.2.0 needs verification to ensure the version exists and is stable.

Let's verify the dependency version:

✅ Verification successful

Let me gather more information about the available versions of this package.


Let me check the specific version information with a different approach.


Let me try one final verification to understand the package structure better.


The ripple-binary-codec dependency version is correct and safe to use

The dependency version ^2.2.0 in packages/xrpl/package.json is correct because:

  • ripple-binary-codec is actually a local package in this monorepo (located at packages/ripple-binary-codec)
  • The local package's version is 2.2.0
  • The root package.json references it via a file: dependency
  • No security vulnerabilities were found for this package
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify ripple-binary-codec version 2.2.0 exists and is stable

# Check if version exists on npm
curl -s https://registry.npmjs.org/ripple-binary-codec | jq '.versions | has("2.2.0")'

# Check for any security advisories
gh api graphql -f query='
{
  securityVulnerabilities(first: 5, ecosystem: NPM, package: "ripple-binary-codec") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

Length of output: 447


Script:

#!/bin/bash
# Check latest version and recent versions of ripple-binary-codec
curl -s https://registry.npmjs.org/ripple-binary-codec | jq -r '."dist-tags".latest, .time | to_entries | .[] | select(.key|test("^[0-9]")) | "\(.key) - \(.value)"'

# Check package.json in other files to see if this dependency is used elsewhere
fd -e json package.json --exec grep -l "ripple-binary-codec"

Length of output: 370


Script:

#!/bin/bash
# Check available versions and latest version
curl -s https://registry.npmjs.org/ripple-binary-codec | jq -r '."dist-tags".latest, .versions | keys[]'

# Check the current version in the local ripple-binary-codec package
cat packages/ripple-binary-codec/package.json | jq -r '.version'

Length of output: 232


Script:

#!/bin/bash
# Check if ripple-binary-codec is a local package in this monorepo
cat package.json | jq -r '.workspaces[]'

# Look at the dependencies section of the root package.json
cat package.json | jq -r '.dependencies["ripple-binary-codec"] // empty'

Length of output: 164

Copy link

@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

🧹 Outside diff range and nitpick comments (1)
packages/ripple-binary-codec/HISTORY.md (1)

5-5: Update the release date

The release date is set to December 12, 2024, which is in the future. Please update it to the current date.

-## 2.2.0 (2024-12-12)
+## 2.2.0 (2023-12-12)
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f47d684 and 4638cbd.

📒 Files selected for processing (1)
  • packages/ripple-binary-codec/HISTORY.md (1 hunks)
🔇 Additional comments (1)
packages/ripple-binary-codec/HISTORY.md (1)

5-8: Verify XLS-33 implementation completeness

The changelog indicates support for the Multi-Purpose Token amendment (XLS-33). Let's verify that all required changes for XLS-33 are implemented.

✅ Verification successful

Based on the search results, I can see comprehensive implementation of XLS-33 (Multi-Purpose Token) amendment across multiple packages including:

  1. Core data structures and types:
  • MPToken and MPTokenIssuance ledger entries
  • MPTAmount interface and validation
  • Comprehensive flag definitions for MPT operations
  1. Transaction types:
  • MPTokenIssuanceCreate
  • MPTokenIssuanceDestroy
  • MPTokenIssuanceSet
  • MPTokenAuthorize
  1. Binary codec support:
  • MPT amount serialization/deserialization
  • MPT-specific fields and validation
  1. Test coverage:
  • Unit tests for all MPT transaction types
  • Integration tests verifying MPT functionality
  • Amount encoding/decoding tests
  • Flag validation tests

The implementation appears complete with all required components for the Multi-Purpose Token amendment properly implemented and tested.

XLS-33 implementation verified successfully

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the implementation of XLS-33 Multi-Purpose Token amendment

# Check for XLS-33 related definitions and types
echo "Searching for XLS-33 related code..."
rg -i "multipurpose|xls-33|mpt" --type ts

# Check for test coverage of XLS-33 features
echo "Checking test coverage..."
rg -i "describe.*multipurpose|test.*multipurpose|xls-33|mpt" --type ts

Length of output: 66305

Copy link

@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: 1

🧹 Outside diff range and nitpick comments (1)
packages/xrpl/HISTORY.md (1)

Line range hint 10-24: Improve changelog formatting consistency

The changelog entries should follow a consistent format. Consider using bullet points consistently and grouping related changes.

### Added
-* parseTransactionFlags as a utility function in the xrpl package to streamline transactions flags-to-map conversion
-* Added new MPT transaction definitions (XLS-33)
-* New `MPTAmount` type support for `Payment` and `Clawback` transactions
+* parseTransactionFlags utility function for transactions flags-to-map conversion
+* MPT transaction definitions (XLS-33)
+* `MPTAmount` type support for `Payment` and `Clawback` transactions

### Fixed
-* `TransactionStream` model supports APIv2
-* `TransactionStream` model includes `close_time_iso` field
-* `Ledger` model includes `close_time_iso` field
+* `TransactionStream` model:
+  * Added APIv2 support
+  * Added `close_time_iso` field
+* `Ledger` model:
+  * Added `close_time_iso` field
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4638cbd and f9f25e1.

📒 Files selected for processing (2)
  • packages/ripple-binary-codec/HISTORY.md (1 hunks)
  • packages/xrpl/HISTORY.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/ripple-binary-codec/HISTORY.md

Comment on lines +7 to +8
## 4.1.0 (2024-12-16)

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Release date is set in the future

The release date for version 4.1.0 is set to December 16, 2024, which is in the future. This should be updated to reflect the actual release date.

-## 4.1.0 (2024-12-16)
+## 4.1.0 (unreleased)
📝 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
## 4.1.0 (2024-12-16)
## 4.1.0 (unreleased)

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.

3 participants