Skip to content

Conversation

@MervinPraison
Copy link
Owner

@MervinPraison MervinPraison commented Jun 14, 2025

User description

  • Updated PraisonAI version from 2.2.32 to 2.2.33 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.32 to 2.2.33
• Updated praisonaiagents dependency from 0.0.105 to 0.0.106
• Updated Docker configurations and Homebrew formula
• Updated documentation to reflect new versions


Changes walkthrough 📝

Relevant files
Configuration changes
2 files
deploy.py
Update PraisonAI version in Dockerfile generation               
+1/-1     
praisonai.rb
Update Homebrew formula to version 2.2.33                               
+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.106                                   
+1/-1     
pyproject.toml
Update PraisonAI and dependencies 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.32 to 2.2.33 across Dockerfiles, deployment scripts, and documentation.
      • Incremented the version numbers for PraisonAI and PraisonAI Agents to reflect the latest updates.
      • Updated documentation to match new package versions.

    - Updated PraisonAI version from 2.2.32 to 2.2.33 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.
    @coderabbitai
    Copy link
    Contributor

    coderabbitai bot commented Jun 14, 2025

    Caution

    Review failed

    The pull request is closed.

    Walkthrough

    This update increments the required versions of the praisonai and praisonaiagents packages from 2.2.32 to 2.2.33 and from 0.0.105 to 0.0.106, respectively, across Dockerfiles, deployment scripts, documentation, and project metadata. No other functionality or configuration was changed.

    Changes

    Files Change Summary
    docker/Dockerfile, docker/Dockerfile.chat, docker/Dockerfile.dev, Updated praisonai pip install version from 2.2.32 to 2.2.33.
    docker/Dockerfile.ui Updated praisonai pip install version from 2.2.32 to 2.2.33 for the UI component.
    docker/README.md Updated documentation to reflect PraisonAI version bump from 2.2.32 to 2.2.33 in package/version table.
    src/praisonai-agents/pyproject.toml Incremented praisonaiagents version from 0.0.105 to 0.0.106.
    src/praisonai/praisonai.rb Updated Homebrew formula to reference PraisonAI 2.2.33 and new SHA256.
    src/praisonai/praisonai/deploy.py Updated Dockerfile creation logic to install PraisonAI 2.2.33.
    src/praisonai/pyproject.toml Bumped PraisonAI version to 2.2.33 and praisonaiagents dependency to >=0.0.106.

    Sequence Diagram(s)

    sequenceDiagram
        participant User
        participant Dockerfile/Deploy Script
        participant PyPI
        User->>Dockerfile/Deploy Script: Build/Deploy with updated version
        Dockerfile/Deploy Script->>PyPI: pip install praisonai==2.2.33
        PyPI-->>Dockerfile/Deploy Script: Returns praisonai 2.2.33 package
        Dockerfile/Deploy Script-->>User: Environment with updated package
    
    Loading

    Possibly related PRs

    Suggested labels

    Review effort 1/5

    Poem

    Oh, what joy, a version hop!
    PraisonAI now climbs to the top.
    Dockerfiles, scripts, and docs align,
    Agents too, in perfect line.
    With every bump, we leap ahead—
    🐇 Version 2.2.33, full speed ahead!
    Let's hop along, the future's spread!


    📜 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 86f8fc6 and 72b2974.

    ⛔ 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.

    @MervinPraison MervinPraison merged commit 00d94e7 into main Jun 14, 2025
    5 of 13 checks passed
    @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
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Dynamic SHA

    The SHA256 hash is being calculated dynamically using curl and shasum commands. This could fail during build time if the network is unavailable or the URL is temporarily inaccessible, and may not produce consistent builds.

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

    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 project's primary dependency, PraisonAI, and its associated agents to their latest versions. The changes involve updating version specifications in Docker build files, dependency manifests, and documentation to ensure consistency and leverage the newest features and improvements from the updated libraries.

    Highlights

    • PraisonAI Version Bump: The core PraisonAI library has been updated from version 2.2.32 to 2.2.33 across all relevant files and configurations.
    • PraisonAI Agents Dependency Update: The dependency on praisonaiagents has been updated from version 0.0.105 to 0.0.106.
    • Configuration and Documentation Sync: Various Dockerfiles, dependency lock files (uv.lock), project configuration (pyproject.toml), a Homebrew formula (praisonai.rb), and the Docker README have been updated to reflect the new versions.
    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 Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    Security
    Use static SHA256 hash

    The SHA256 hash is computed dynamically at build time, which can cause security
    issues and build failures. Use a static, pre-computed hash value instead of
    executing shell commands during formula evaluation.

    src/praisonai/praisonai.rb [7]

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

    __

    Why: The suggestion correctly identifies a significant security and reliability issue. Dynamically calculating the SHA256 hash at build time using an external command (curl) defeats the purpose of the checksum, is against Homebrew's best practices, and makes the build process non-deterministic and vulnerable.

    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 successfully updates PraisonAI to version 2.2.33 and its praisonaiagents dependency to 0.0.106 across various configuration files, Dockerfiles, and documentation. The changes are largely consistent and achieve the goal of version bumping.

    My review includes a few suggestions aimed at enhancing documentation accuracy, improving the robustness of the Homebrew formula, and increasing maintainability in the deployment script:

    • Documentation Accuracy (docker/README.md): The example for version pinning should reflect the updated praisonaiagents version (0.0.106).
    • Homebrew Formula Robustness (src/praisonai/praisonai.rb): It's advisable to use a static SHA256 hash for the downloaded archive to improve reliability and reproducibility, rather than calculating it dynamically.
    • Maintainability (src/praisonai/praisonai/deploy.py): Consider sourcing the PraisonAI version dynamically for Dockerfile generation to prevent it from becoming outdated in future updates.

    As no specific style guide was provided, my review is based on general best practices for the involved file types (Python, Dockerfile, Ruby, TOML), focusing on correctness, maintainability, and clarity. Overall, the changes are well-executed for a version update.

    To use specific versions, update the Dockerfile:
    ```dockerfile
    RUN pip install "praisonai==2.2.32" "praisonaiagents==0.0.92"
    RUN pip install "praisonai==2.2.33" "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.

    medium

    The praisonaiagents version is specified as 0.0.92 in this example for version pinning. However, this pull request updates praisonaiagents to version 0.0.106 in pyproject.toml and other dependency files. To ensure consistency and provide users with accurate information, this example should also reflect the new version of praisonaiagents.

    Suggested change
    RUN pip install "praisonai==2.2.33" "praisonaiagents==0.0.92"
    RUN pip install "praisonai==2.2.33" "praisonaiagents==0.0.106"

    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
    url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.33.tar.gz"
    sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v2.2.33.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.

    medium

    Dynamically calculating the SHA256 hash at runtime using curl and shasum can introduce variability and potential issues if the remote content changes (e.g., a tag is re-pushed, though rare for releases) or if network access is unreliable during Homebrew operations like brew audit or brew install. For better reproducibility and robustness, Homebrew formulae typically use a static, pre-calculated SHA256 hash.

    It's recommended to calculate the SHA256 sum for the v2.2.33.tar.gz archive once and hardcode it here.

        sha256 "PASTE_STATIC_SHA256_HASH_FOR_v2.2.33_HERE" # Calculate and replace with the actual hash

    file.write("WORKDIR /app\n")
    file.write("COPY . .\n")
    file.write("RUN pip install flask praisonai==2.2.32 gunicorn markdown\n")
    file.write("RUN pip install flask praisonai==2.2.33 gunicorn markdown\n")
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    medium

    The PraisonAI version 2.2.33 is hardcoded in this string, which is used for generating Dockerfile content. To improve maintainability and reduce the risk of this version becoming stale or being missed in future releases, consider fetching the PraisonAI version dynamically.

    If this deploy.py script is part of the PraisonAI package itself, you could, for example:

    • Use importlib.metadata.version('PraisonAI') (requires Python 3.8+).
    • Define a central version constant within your project (e.g., in __init__.py or a dedicated _version.py) that this script can import and access.

    This would help ensure that the Dockerfile generated by the deploy command always uses the correct version of PraisonAI, consistent with the package being deployed.

    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