发布

  • Release/v2.2.0 (#184)

    frostbyte_neo 发布于 2025-11-05 18:26:22 +00:00 | 140 次提交 在此版本后已推送到 main

    • update the paths in the examples appropriately

    • Fix: Removed Optional for IP and PORT in connect_to_robot. This sometimes generates truncation, no need for optional as they are intrinsically optional.

    • Added ip and port information on config yaml file

    • Added turtlesim.yaml

    • ruff format fix

    • Added configuration file for local_rosbridge.yaml

    • trigger ruff check

    • Revert "Added ip and port information on config yaml file"

    This reverts commit 131fae49a4.

    • Removed ip/port

    • Add ROS 2 Parameters API (#135)

    • Added get_parameters set_param get_param etc. Inspect parameters missing.

    • Fixed inspect_all_parameters. Now tested with background color of turtlesim.

    • Fixed parameter type in inspect_all_parameters + added get_parameter_details

    • Added note that parameters are supported on ROS 2 only

    • Added get_actions tool

    • Added get_action_type tool

    • Added get_action_details and inspect_all_actions tools

    • Added send_action_goal, non-blocking, no feedback or result.

    • Fixed send_action_goal to:

    • Be blocking and waiting for action_result or timeout.
    • Return action_result when action is completed.
    • Return the last action_feedback, if available, when timeout.
    • Return timeout/success:false if no action_feedback or action_result is detected.
    • Fixed bug with timeout input tools (no Optional)
    • Added cancel_action_goal. Non-blocking. No response is available. Tested with fibonacci server.

    • Added note for ROS 2 support only.

    • Added get_action_status tool

    • Modified get_action_status to work with action_name and not action_type

    • Added action_feedback through ctx.report_progress. Tested and working in Cursor, not showing in ChatGPT.

    • Refactor: replace Optional with union syntax (Type | None) (#143)

    • Remove Optional imports and usage
    • Update server.py and websocket_manager.py
    • Add ROS 2 Launch System (#138)

    • Created ROS2 launch files for rosbridge and turtlesim demo, removed manual launch_ros.sh + Added docs on launch system

    • Modified documentation

    • Improved launch_mcp_tunnel to include default options for port and domain.

    • Moved robot specifications folder to root

    • updated Manifest and pyproject to point to correct locations

    • Type hint fix in server.py from previous PR on ros actions

    • updated config_utils to access specification files using Path

    • updated tool names and descriptions for getting robot spec

    • updated name of get verified robots list based on issue feedback

    • Fixed inconsistent tool names of topic subscribers and publishers, solving #141

    • Modify WSL installation documents (#169)

    docs: add WSL path best practices to prevent common issues

    • Add warnings to recommend using /home/username/ instead of /mnt/c/Users/username/
    • Fix incorrect path labeling
    • Add explanatory comment to config/mcp.json template
    • Closes #102
    • Cleared naming convention and removed optional scaffolding to state spec file directory explicitly (YAGNI principle)

    • changed print statements from stdout to stderr for errors

    • ruff

    • Bump version to v2.1.7

    • Update version to v2.1.7 in server.json and uv.lock

    • Pipx install documentation for users (#178)

    • Update installation documentation for pip install support

    • Replace cloning/UV setup with pipx as primary installation method
    • Add pip as alternative installation option
    • Update MCP client configurations to use ros-mcp command
    • Simplify JSON configurations for all platforms (Ubuntu, macOS, WSL)
    • Create separate installation-from-source.md for developers
    • Remove duplicate content and link back to main guide
    • Update HTTP transport commands to use ros-mcp
    • Improve documentation structure and user experience
    • Move pipx benefits into advanced dropdown for cleaner main flow

    • Improve installation documentation based on reviewer feedback

    • Fix debug commands in 6.2 to use ros-mcp instead of uv run server.py for pipx installation consistency
    • Remove collapsible sections in section 5 to improve visibility of LLM client options
    • Move 'If you're still having issues' from 6.3 into 6.1 for better organization
    • Split debug commands into separate, organized code blocks
    • Wrap debug commands and 'Why pipx?' sections in collapsible details blocks
    • Update section numbering and structure for better navigation
    • Further improve installation documentation organization
    • Move installation commands before 'Why pipx?' section for better flow
    • Wrap section 5 (Alternate Clients) in collapsible details block
    • Add descriptive text to section 6.1 Common Issues
    • Convert debug command headings to plain text for cleaner appearance
    • Improve overall document structure and readability
    • Add Option C: Install from source using pipx
    • Add new installation option for developers who want source access with pipx isolation
    • Include step-by-step commands to clone repository and install with pipx install .
    • Add note that regular pip install . also works for source installation
    • Provide more flexibility for different developer preferences and environments
    • Update installation documentation
    • Additional improvements to installation guide structure and content
    • Fix: make image analysis work with any topic containing image data (#144)

    • Bugfix: make image analysis work with any topic containing image data

    • Remove "Image" in topic name requirement
    • Add content-based image detection using "data" field
    • Update tool descriptions for clarity
    • Add optional expects_image parameter with robust image detection
      Includes is_image_like() helper that checks image-specific fields to
      distinguish images from pointclouds etc.

    • Track image parsing state and exclude data field

    • Add was_parsed_as_image tracking to accurately report whether image
      parsing occurred. Filter out large 'data' field from image responses
      since image is already saved to disk for analysis.

    • Create a centralized parse_input() function in websocket_manager.py
      that encapsulates all parsing logic with expects_image hint handling.

    • Refactor the request method in WebSocketManager to use parse_input. This will also allow service responses to handle image data if a service returns image data:

    • Removed Union/Optional and using a string instead. Union/Optional are highly bugged in fastmcp.

    • Added recognition for jpeg/compressed formats + restructure image analysis process.

    • Added launch file for realsense example + cleaned up the README.md

    • Updated pip minimum version + added pip badge (#180)

    • Bugfix: adding check on missing rosapi services to avoid crashes in older versions (#182)

    • Check rosapi required services for action-related tools and throw error/warning if not available (applies to ROS 1 or ROS 2 Humble)

    • Improved return messages for action-related tools when required services are not compatible

    • Update version to v2.2.0


    Co-authored-by: Jungsoo Lee dlwjdtn7083@gmail.com
    Co-authored-by: Stefano Dalla Gasperina stefano.dallagasperina@austin.utexas.edu

    下载附件