Skip to content

Conversation

@MervinPraison
Copy link
Owner

@MervinPraison MervinPraison commented Jun 14, 2025

User description

  • Updated PraisonAI version from 2.2.31 to 2.2.32 across multiple Dockerfiles and relevant files.
  • Adjusted dependency versions in pyproject.toml and other files for consistency.
  • Enhanced README documentation to reflect the updated version.

This change integrates the latest features and improvements from PraisonAI while ensuring compatibility with existing code.


PR Type

Enhancement


Description

• Updated PraisonAI version from 2.2.31 to 2.2.32
• Bumped praisonaiagents dependency from 0.0.104 to 0.0.105
• Updated Docker configurations and Homebrew formula
• Synchronized version references across documentation


Changes walkthrough 📝

Relevant files
Configuration changes
2 files
deploy.py
Update Docker pip install version                                               
+1/-1     
praisonai.rb
Update Homebrew formula version                                                   
+2/-2     
Dependencies
6 files
Dockerfile
Update PraisonAI version requirement                                         
+1/-1     
Dockerfile.chat
Update PraisonAI version requirement                                         
+1/-1     
Dockerfile.dev
Update PraisonAI version requirement                                         
+1/-1     
Dockerfile.ui
Update PraisonAI version requirement                                         
+1/-1     
pyproject.toml
Bump praisonaiagents version to 0.0.105                                   
+1/-1     
pyproject.toml
Update PraisonAI and dependency versions                                 
+4/-4     
Documentation
1 files
README.md
Update version references in documentation                             
+2/-2     

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • Summary by CodeRabbit

    • Chores
      • Updated the minimum required version of the PraisonAI package from 2.2.31 to 2.2.32 across Dockerfiles and documentation.
      • Incremented project versions for PraisonAI and PraisonAI Agents to reflect the latest releases.
      • Updated dependency requirements to ensure compatibility with the latest package versions.

    - Updated PraisonAI version from 2.2.31 to 2.2.32 across multiple Dockerfiles and relevant files.
    - Adjusted dependency versions in pyproject.toml and other files for consistency.
    - Enhanced README documentation to reflect the updated version.
    
    This change integrates the latest features and improvements from PraisonAI while ensuring compatibility with existing code.
    @MervinPraison MervinPraison merged commit 6f7038e into main Jun 14, 2025
    5 of 13 checks passed
    @coderabbitai
    Copy link
    Contributor

    coderabbitai bot commented Jun 14, 2025

    Caution

    Review failed

    The pull request is closed.

    Walkthrough

    This update increments the minimum required version of the praisonai Python package from 2.2.31 to 2.2.32 across multiple Dockerfiles, deployment scripts, documentation, and project configuration files. It also updates the praisonaiagents dependency and related version metadata, with no changes to logic or exported entities.

    Changes

    Files/Paths Change Summary
    docker/Dockerfile, docker/Dockerfile.chat, docker/Dockerfile.dev, docker/Dockerfile.ui Updated pip install command to require praisonai>=2.2.32 instead of >=2.2.31.
    docker/README.md Updated documentation to reflect new minimum required PraisonAI version (2.2.32).
    src/praisonai/pyproject.toml Bumped PraisonAI version to 2.2.32 and updated praisonaiagents dependency to >=0.0.105.
    src/praisonai-agents/pyproject.toml Bumped praisonaiagents version from 0.0.104 to 0.0.105.
    src/praisonai/praisonai.rb Updated Homebrew formula to reference PraisonAI 2.2.32 and its new SHA256 checksum.
    src/praisonai/praisonai/deploy.py Changed Dockerfile creation logic to use praisonai==2.2.32.

    Sequence Diagram(s)

    sequenceDiagram
        participant User
        participant Dockerfile
        participant pip
        participant PraisonAI Package Index
    
        User->>Dockerfile: Build Docker image
        Dockerfile->>pip: Install praisonai==2.2.32
        pip->>PraisonAI Package Index: Fetch praisonai 2.2.32
        PraisonAI Package Index-->>pip: Return package
        pip-->>Dockerfile: Install complete
        Dockerfile-->>User: Image with praisonai 2.2.32 ready
    
    Loading

    Possibly related PRs

    Suggested labels

    Review effort 1/5

    Poem

    The version hops, a gentle leap,
    From thirty-one to thirty-two,
    In Docker’s warren, secrets keep,
    The agents get an update too!
    With hashes matched and docs anew,
    This bunny’s work is nearly through—
    🐇✨ All fresh and ready for the crew!


    📜 Recent review details

    Configuration used: CodeRabbit UI
    Review profile: CHILL
    Plan: Pro

    📥 Commits

    Reviewing files that changed from the base of the PR and between 1fad849 and deb4e4f.

    ⛔ Files ignored due to path filters (2)
    • src/praisonai-agents/uv.lock is excluded by !**/*.lock
    • src/praisonai/uv.lock is excluded by !**/*.lock
    📒 Files selected for processing (9)
    • docker/Dockerfile (1 hunks)
    • docker/Dockerfile.chat (1 hunks)
    • docker/Dockerfile.dev (1 hunks)
    • docker/Dockerfile.ui (1 hunks)
    • docker/README.md (2 hunks)
    • src/praisonai-agents/pyproject.toml (1 hunks)
    • src/praisonai/praisonai.rb (1 hunks)
    • src/praisonai/praisonai/deploy.py (1 hunks)
    • src/praisonai/pyproject.toml (4 hunks)
    ✨ Finishing Touches
    • 📝 Generate Docstrings

    Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

    ❤️ 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.
      • Explain this complex logic.
      • 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 explain this code block.
      • @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 explain its main purpose.
      • @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.

    Support

    Need help? Create a ticket on our support page for assistance with any issues or questions.

    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.
    • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this 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.

    CodeRabbit Configuration File (.coderabbit.yaml)

    • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
    • Please see the configuration documentation for more information.
    • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

    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
    Contributor

    @gemini-code-assist gemini-code-assist bot left a comment

    Choose a reason for hiding this comment

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

    Summary of Changes

    Hello @MervinPraison, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

    This pull request focuses on upgrading the core PraisonAI package and its associated praisonaiagents dependency to their latest versions (2.2.32 and 0.0.105 respectively). The changes involve updating version specifications in dependency management files, Docker build configurations, documentation, and a deployment script to ensure the project utilizes the most recent features and improvements from these libraries.

    Highlights

    • PraisonAI Version Update: Updated the main PraisonAI package version from 2.2.31 to 2.2.32.
    • PraisonAI Agents Version Update: Updated the praisonaiagents dependency version from 0.0.104 to 0.0.105.
    • Dependency Management Updates: Applied version updates across pyproject.toml and uv.lock files for both PraisonAI and praisonaiagents.
    • Dockerfile Updates: Updated the required PraisonAI version in all relevant Dockerfiles (Dockerfile, Dockerfile.chat, Dockerfile.dev, Dockerfile.ui).
    • Documentation and Script Updates: Reflected the new PraisonAI version in the docker/README.md and the Homebrew formula (src/praisonai/praisonai.rb), and updated the hardcoded version in the deploy script (src/praisonai/praisonai/deploy.py).
    Using Gemini Code Assist

    The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

    Invoking Gemini

    You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

    Feature Command Description
    Code Review /gemini review Performs a code review for the current pull request in its current state.
    Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
    Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
    Help /gemini help Displays a list of available commands.

    Customization

    To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

    Limitations & Feedback

    Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

    You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

    Footnotes

    1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configureGemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

    @qodo-merge-pro
    Copy link

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 Security concerns

    Command injection risk:
    The Homebrew formula at line 7 executes a curl command with shell interpolation to calculate SHA256. This could be vulnerable if the URL or command execution environment is compromised. Consider using a static, pre-calculated SHA256 hash instead of dynamic calculation during build time.

    ⚡ Recommended focus areas for review

    Security Risk

    The Homebrew formula uses dynamic SHA256 calculation with curl command execution, which could be vulnerable to man-in-the-middle attacks or network issues during build time.

    sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.32.tar.gz | shasum -a 256`.split.first
    license "MIT"

    @qodo-merge-pro
    Copy link

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    Security
    Replace dynamic hash computation

    The SHA256 hash is computed dynamically at build time using shell command
    execution. This creates security risks and build instability. Use a static,
    pre-computed hash value instead.

    src/praisonai/praisonai.rb [7]

    -sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.32.tar.gz | shasum -a 256`.split.first
    +sha256 "actual_computed_hash_value_here"
    • Apply / Chat
    Suggestion importance[1-10]: 10

    __

    Why: The suggestion correctly identifies a critical security vulnerability. Dynamically computing the sha256 hash at build time defeats the purpose of the checksum, as it would validate a potentially malicious file. Using a static, pre-computed hash is the standard and secure practice for Homebrew formulas to ensure package integrity.

    High
    • More

    Copy link
    Contributor

    @gemini-code-assist gemini-code-assist bot left a comment

    Choose a reason for hiding this comment

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

    Code Review

    This pull request updates PraisonAI to version 2.2.32 and its dependency praisonaiagents to 0.0.105. The version changes are applied across various Dockerfiles, Python package configuration files (pyproject.toml, uv.lock), a Homebrew formula, and documentation.

    Most updates are consistent and correct. However, I've identified a couple of areas for improvement:

    1. In docker/README.md, the example pip install command for version pinning (line 221) still refers to an older version of praisonaiagents. This should be updated to 0.0.105.
    2. The Homebrew formula (src/praisonai/praisonai.rb, line 7) dynamically calculates the sha256 checksum. Standard Homebrew practice is to use a static, pre-calculated checksum for the tarball.

    Additionally, please note that the docker/README.md file (on line 125, which is not part of this diff) lists PraisonAI Agents: >=0.0.92. This should also be updated to >=0.0.105 to maintain consistency with the actual dependency versions used in the project.

    My review references Homebrew's best practices for formula creation, specifically regarding the use of static SHA256 checksums. No custom style guide was provided for other file types, so feedback is based on general correctness and consistency.

    To use specific versions, update the Dockerfile:
    ```dockerfile
    RUN pip install "praisonai==2.2.31" "praisonaiagents==0.0.92"
    RUN pip install "praisonai==2.2.32" "praisonaiagents==0.0.92"
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    high

    The example pip install command for version pinning incorrectly specifies an outdated version for praisonaiagents (0.0.92). This should be updated to 0.0.105 to align with the dependency bumps in this PR and ensure users get a consistent set of versions.

    Suggested change
    RUN pip install "praisonai==2.2.32" "praisonaiagents==0.0.92"
    RUN pip install "praisonai==2.2.32" "praisonaiagents==0.0.105"

    url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.31.tar.gz"
    sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.31.tar.gz | shasum -a 256`.split.first
    url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.32.tar.gz"
    sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.32.tar.gz | shasum -a 256`.split.first
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    high

    The sha256 checksum for the Homebrew formula is currently generated dynamically using command substitution. For reliability and standard Homebrew practice, this should be a static SHA256 hash of the specified tarball.1

    To update this:

    1. Download the v2.2.32.tar.gz file from the URL on line 6.
    2. Calculate its SHA256 checksum (e.g., using shasum -a 256 v2.2.32.tar.gz on macOS/Linux).
    3. Replace the current line with the static hash, ensuring it's enclosed in quotes.
        sha256 "YOUR_CALCULATED_SHA256_HASH_FOR_V2.2.32_TARBALL_HERE"

    Style Guide References

    Footnotes

    1. Homebrew convention, as outlined in the Formula Cookbook, requires a static sha256 checksum for downloaded resources. This ensures the integrity and reproducibility of the build, as Homebrew verifies the download against this pre-defined hash.

    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.

    2 participants