Skip to content

Releases: Open-Agent-Tools/any-agent

v0.2.11 - Dependency Updates and Maintenance

02 Jan 15:43

Choose a tag to compare

🔄 Dependency Updates

This hotfix release updates all project dependencies to their latest versions and fixes deprecation warnings.

Major Updates

  • a2a-sdk: v0.3.3 → v0.3.22
  • anthropic: v0.64.0 → v0.75.0
  • fastapi: v0.116.1 → v0.123.10
  • google-adk: v1.13.0 → v1.21.0
  • strands-agents: v1.6.0 → v1.20.0
  • langchain: v0.3.27 → v1.2.0 (major version)
  • langgraph: v0.6.7 → v1.0.5 (major version)
  • pytest: v8.4.1 → v9.0.2 (major version)
  • ruff: v0.12.11 → v0.14.10
  • mypy: v1.17.1 → v1.19.1

Bug Fixes

  • Fixed datetime.utcnow() deprecation warning
    • Replaced with datetime.now(UTC) for Python 3.11+ compatibility
  • Updated test version assertions from 0.2.9 to 0.2.10

Test Results

  • ✅ All 389 tests passing (4 skipped)
  • ✅ All quality checks passing (ruff, mypy)
  • ✅ No breaking changes from dependency updates

Installation

pip install --upgrade any-agent-wrapper

Full Changelog: v0.2.10...v0.2.11

🔧 v0.2.10 - Agent Removal System Restored

19 Sep 16:47

Choose a tag to compare

🔧 Agent Removal System Restored - v0.2.10

🎯 Key Improvements

✅ Agent Removal Functionality

  • Restored essential CLI removal options (--remove, --yes-to-all) that were mistakenly removed during Helmsman cleanup
  • Implemented new Helmsman-free agent removal system with comprehensive AgentRemover class
  • Fixed container/image detection by checking top-level context fields (container_id, image_name)
  • Added comprehensive artifact discovery from context.yaml and Docker name patterns
  • Support removal of Docker containers, images, build contexts, and localhost servers
  • Maintain removal audit trail in context.yaml with detailed reporting

🧹 Code Quality & Type Safety

  • Fixed all mypy type annotation errors in agent removal system
  • Added explicit type hints for better code maintainability
  • Cleaned up duplicate code causing import conflicts
  • Improved error handling and logging throughout removal process

🧪 Testing & Validation

  • Thoroughly tested with both Google ADK and AWS Strands agents in Docker mode
  • Verified proper removal of containers, images, and build contexts
  • Updated chat endpoint routing tests to reflect current architecture

📋 What's Fixed

  • Docker containers and images are now properly removed (not just build contexts)
  • CLI removal commands work correctly across all supported frameworks
  • Type checking passes cleanly for release readiness
  • Removal process provides detailed progress feedback and error reporting

🚀 Usage

# Remove an agent and all its artifacts
any-agent ./my-agent --remove --yes-to-all

# Interactive removal with confirmation
any-agent ./my-agent --remove

Full Changelog: v0.2.9...v0.2.10

v0.2.8: Fix UI file detection and logging for PyPI deployments

19 Sep 15:42

Choose a tag to compare

🚀 What's Changed

🐛 Bug Fixes

  • Fixed UI file detection failure in PyPI deployments - Resolved critical issue where PyPI installations showed static description pages instead of React chat interface
  • Improved UIManager path detection logic - Always use package location instead of unreliable current working directory detection
  • Enhanced logging visibility - Changed critical debug logs to info level for better troubleshooting with --verbose flag

📦 Packaging Improvements

  • Added wheel force-include directive - Ensures UI dist files are properly packaged and accessible in PyPI installations
  • Fixed asset inclusion in wheels - UI assets now correctly included in both source and binary distributions

🔧 Technical Details

  • UIManager now reliably detects PyPI vs development installations
  • Docker deployments from PyPI packages will now show proper React UI
  • Logging with --verbose flag now provides meaningful debugging information
  • UI file detection no longer depends on current working directory

🏗️ Breaking Changes

None - this is a bug fix release maintaining full backward compatibility.

Full Changelog: v0.2.7...v0.2.8

v0.2.7 - Stable UI Routing Fix

19 Sep 15:27

Choose a tag to compare

🎉 Stable Release - UI Routing Issue Resolved

This stable release confirms the successful resolution of the critical UI routing issue where PyPI Docker deployments were showing static description pages instead of the React chat interface.

✅ Issue Resolution Confirmed

Problem Solved:

  • React SPA Loading: Chat interface now loads correctly in Docker deployments
  • Proper Routing: ChatPage renders as default instead of DescriptionPage
  • API Connectivity: Chat initialization and session management working
  • Asset Serving: React bundles and Material UI components load properly

Root Cause Fixed:

  • Enhanced UIBuildManager file detection logic for PyPI installations
  • Improved error handling in copy_dist_to_context() method
  • Better debugging output for troubleshooting future issues

🔍 Technical Resolution

The issue was caused by the UI manager failing to detect built React assets in PyPI installations, causing it to fall back to static HTML instead of copying the React SPA files. The fix included:

  1. Enhanced File Detection: Improved is_ui_built() method for PyPI environments
  2. Better Error Reporting: Detailed logging shows actual file paths and detection results
  3. Robust Fallback: Maintains functionality even when debugging is enabled

🚀 Verified Functionality

Console Output Confirms Success:

Any Agent React SPA - Starting initialization ✅
Rendering ChatPage as default (not DescriptionPage) ✅
Starting chat initialization... ✅
Session creation result: Object ✅

Asset Loading Verified:

  • React bundle: /assets/index-95a3109d.js
  • Material UI: /assets/mui-8c8f0834.js
  • CSS and fonts: Loading correctly ✅

🔧 Enhanced Debugging (Preserved)

The debugging improvements from v0.2.6 are maintained to help with future troubleshooting:

  • UIManager initialization logging
  • File detection and existence checks
  • Copy operation detailed error messages
  • PyPI vs development installation detection

📦 Production Ready

This release is stable and ready for production use:

  • ✅ All existing functionality preserved
  • ✅ Chat interface works in Docker deployments
  • ✅ MCP integration continues to function
  • ✅ No breaking changes to existing APIs

🔄 Upgrade Instructions

For existing deployments experiencing the UI routing issue:

  1. Update: pip install --upgrade any-agent-wrapper==0.2.7
  2. Redeploy: python -m any_agent . --rebuild-ui --remove
  3. Verify: Check that chat interface loads at root URL

Full Changelog: v0.2.6...v0.2.7

v0.2.6 - UI Manager Debugging Release

19 Sep 15:12

Choose a tag to compare

🔍 Enhanced Debugging for UI File Detection Issues

This debugging release adds comprehensive logging to identify why the UI manager fails to detect React SPA files in PyPI installations, causing fallback to static HTML instead of the proper chat interface.

🔬 Enhanced Debugging Features

UIManager Initialization Logging:

  • UIManager: Using development/installed UI source at [path]
  • UIManager: dist_dir=[path], package_json=[path]
  • UIManager: dist_dir exists=[true/false]
  • UIManager: dist_dir contents=[file list]

Copy Operation Debugging:

  • Detailed error messages showing actual file paths
  • Directory existence and contents logging
  • Clear identification of PyPI vs development installations

🎯 Root Cause Investigation

This release helps diagnose the specific issue where:

  1. React assets ARE included in PyPI packages (index-95a3109d.js, etc.)
  2. UI manager fails to detect these files during Docker build
  3. 🔄 Fallback HTML created instead of copying React SPA
  4. 📄 Static description page shown instead of chat interface

🔍 What to Look For

After installing this version, the logs will show exactly:

  • Where the UI manager is looking for files
  • What files it finds (or doesn't find)
  • Why the is_ui_built() check fails
  • The specific error in copy_dist_to_context()

⚠️ This is a Diagnostic Release

  • Purpose: Identify exact file path and detection issues
  • Not a Fix: Adds debugging, doesn't resolve the core issue yet
  • Next Step: Use debug output to implement proper fix

🧪 Testing Instructions

  1. Install: pip install --upgrade any-agent-wrapper==0.2.6
  2. Deploy with logging: python -m any_agent . --rebuild-ui --remove
  3. Check logs: Look for UIManager: debug messages
  4. Report findings: Debug output will reveal the exact root cause

This detailed logging will finally show us why the UI file detection is failing in PyPI Docker deployments.

Full Changelog: v0.2.5...v0.2.6

v0.2.5 - Nuclear Override Diagnostic Release

19 Sep 15:01

Choose a tag to compare

🔬 Diagnostic Release - Nuclear Chat Interface Override

This is a diagnostic release with a hardcoded override to force the chat interface to show, bypassing all routing logic. This will help identify the root cause of the UI routing issue.

🔧 Nuclear Override Implemented

  • Forced Chat Interface: shouldShowDescription = false - hardcoded to always show ChatPage
  • Complete Route Bypass: Eliminates all conditional routing logic temporarily
  • Enhanced Debugging: Added comprehensive console logging and UI build timestamps
  • Cache Busting: Fresh UI bundle with new hash identifiers

🔍 Diagnostic Features

  • Build Timestamp Logging: UI Build timestamp: 2025-01-19T18:15:00Z - Router Bypass Fix v0.2.5
  • PATH DEBUG Object: Detailed logging of all routing variables and logic
  • Bundle Verification: New JS bundle hash index-95a3109d.js confirms fresh build
  • Complete Override: No conditional logic can prevent ChatPage from loading

🎯 Purpose & Expected Results

If this version shows the chat interface:

  • ✅ Confirms the issue was routing/conditional logic related
  • ✅ Validates that the React app and API endpoints work correctly
  • ✅ Proves the build pipeline is functioning properly

If this version still shows description page:

  • 🔍 Indicates a deeper issue with Docker serving, static files, or build pipeline
  • 🔍 Suggests the problem is not in our React routing logic
  • 🔍 Points to infrastructure/containerization issues

⚠️ Important Notes

  • This is a temporary diagnostic release with hardcoded overrides
  • Description page (/describe) route is temporarily disabled
  • Once diagnosis is complete, proper conditional routing will be restored
  • Check browser console for detailed debugging information

🔄 Next Steps

  1. Test this version in your Docker deployment
  2. Check browser console for the debugging logs
  3. Report results to determine the actual root cause
  4. Based on results, we'll implement the proper fix

Full Changelog: v0.2.4...v0.2.5

v0.2.4 - Router Bypass Hotfix

19 Sep 14:44

Choose a tag to compare

🔧 Critical Hotfix - UI Routing Issue

This hotfix release resolves the critical issue where Docker deployments from PyPI were showing the description page instead of the chat interface.

🐛 Root Cause Fixed

  • React Router Conflicts: React Router was not handling default routes correctly in Docker environments
  • Server vs Client Routing: Mismatch between server-side SPA serving and client-side routing
  • Docker Environment Issues: Browser history API problems in containerized deployments

✅ Solution Implemented

  • Direct Conditional Rendering: Bypassed React Router entirely with pathname-based component selection
  • Chat Interface Default: Forces ChatPage to load by default unless explicitly on /describe route
  • Preserved Navigation: Maintains all navigation functionality while ensuring proper default behavior
  • Docker Compatibility: Eliminates routing conflicts specific to containerized environments

🔍 Technical Changes

  • Replaced <Routes> and <Route> components with direct conditional rendering
  • Added pathname detection: shouldShowDescription = pathname === '/describe'
  • Removed dependency on React Router for default route handling
  • Maintained backward compatibility with existing navigation patterns

📦 Immediate Impact

  • ✅ Chat interface now loads by default in all Docker deployments
  • ✅ Description page still accessible via /describe route
  • ✅ No breaking changes to existing functionality
  • ✅ Resolves reported PyPI Docker deployment issues

This is a critical fix for users experiencing the routing issue reported with v0.2.2 and v0.2.3.

Full Changelog: v0.2.3...v0.2.4

v0.2.3 - Debugging UI Routing Issues

19 Sep 14:35

Choose a tag to compare

🔧 Bug Fixes & Debugging

This patch release adds comprehensive debugging to help diagnose UI routing issues in Docker deployments where users reported seeing the description page instead of the chat interface.

🐛 Fixes

  • UI Routing Debug: Added extensive console logging to track URL routing and component rendering
  • API Connectivity Debug: Enhanced ChatPage initialization with detailed API connectivity logging
  • Error Handling: Improved chat interface error handling to continue showing UI even with API failures
  • Force Chat Parameter: Added ?force_chat=true URL parameter for troubleshooting routing issues

🔍 Debugging Features

  • Console logs show current URL, pathname, and which React components are being rendered
  • API endpoint availability and connection status logging
  • Better error messages explaining connectivity issues
  • Fallback UI behavior when agent APIs are unavailable

📦 Technical Details

  • React bundle updated with debugging improvements
  • No breaking changes to existing functionality
  • Compatible with all supported frameworks (ADK, Strands, LangChain, etc.)

This release helps identify and resolve the specific issue where PyPI Docker deployments show DescriptionPage instead of ChatPage for some users.

Full Changelog: v0.2.2...v0.2.3

v0.2.2 - UI Assets Fix

19 Sep 13:37

Choose a tag to compare

🐛 Bug Fixes

  • Fixed UI assets missing in PyPI wheel packages - UI components now properly load when installing from PyPI
  • Removed duplicate file inclusion warnings during package build
  • Improved packaging configuration for better distribution

📦 Package Changes

  • UI dist files are now correctly included in wheel packages
  • Cleaner build process without duplicate warnings
  • Better PyPI installation experience

🔧 Technical Details

This release fixes a critical issue where the React UI assets were missing from PyPI wheel packages, causing the web interface to fail to load for users installing via pip install any-agent-wrapper.

Full Changelog: v0.2.1...v0.2.2

🔧 Any Agent v0.2.1 - Dependency Fix

17 Sep 20:27

Choose a tag to compare

🔧 Bug Fix Release

Fixed Dependency Issue

  • Removed basic-open-agent-tools from core dependencies: This package should only be installed when agents specifically require it in their requirements.txt files, not as a default framework dependency
  • Prevents unnecessary installations: Users installing the Any Agent framework will no longer get agent-specific tools unless they're actually needed
  • Improves dependency resolution: Eliminates confusion about which packages are core framework vs. agent-specific

🎯 Impact

Before this fix, installing any-agent-wrapper would automatically install basic-open-agent-tools, even if you weren't using agents that required it. Now, this package is only installed when:

  1. An agent's requirements.txt explicitly lists it as a dependency
  2. The dependency installer detects it's needed during agent setup

🔄 Migration

No action needed for existing users. This change only affects new installations and improves the dependency footprint of the framework.


Full Changelog: v0.2.0...v0.2.1