Releases: Open-Agent-Tools/any-agent
v0.2.11 - Dependency Updates and Maintenance
🔄 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
- Replaced with
- 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-wrapperFull Changelog: v0.2.10...v0.2.11
🔧 v0.2.10 - Agent Removal System Restored
🔧 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
AgentRemoverclass - 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 --removeFull Changelog: v0.2.9...v0.2.10
v0.2.8: Fix UI file detection and logging for PyPI deployments
🚀 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
--verboseflag
📦 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
--verboseflag 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
🎉 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:
ChatPagerenders as default instead ofDescriptionPage - ✅ API Connectivity: Chat initialization and session management working
- ✅ Asset Serving: React bundles and Material UI components load properly
Root Cause Fixed:
- Enhanced
UIBuildManagerfile 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:
- Enhanced File Detection: Improved
is_ui_built()method for PyPI environments - Better Error Reporting: Detailed logging shows actual file paths and detection results
- 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:
UIManagerinitialization 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:
- Update:
pip install --upgrade any-agent-wrapper==0.2.7 - Redeploy:
python -m any_agent . --rebuild-ui --remove - Verify: Check that chat interface loads at root URL
Full Changelog: v0.2.6...v0.2.7
v0.2.6 - UI Manager Debugging Release
🔍 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:
- ✅ React assets ARE included in PyPI packages (
index-95a3109d.js, etc.) - ❌ UI manager fails to detect these files during Docker build
- 🔄 Fallback HTML created instead of copying React SPA
- 📄 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
- Install:
pip install --upgrade any-agent-wrapper==0.2.6 - Deploy with logging:
python -m any_agent . --rebuild-ui --remove - Check logs: Look for
UIManager:debug messages - 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
🔬 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.jsconfirms 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
- Test this version in your Docker deployment
- Check browser console for the debugging logs
- Report results to determine the actual root cause
- Based on results, we'll implement the proper fix
Full Changelog: v0.2.4...v0.2.5
v0.2.4 - Router Bypass Hotfix
🔧 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
/describeroute - 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
/describeroute - ✅ 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
🔧 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=trueURL 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
🐛 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
🔧 Bug Fix Release
Fixed Dependency Issue
- Removed
basic-open-agent-toolsfrom core dependencies: This package should only be installed when agents specifically require it in theirrequirements.txtfiles, 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:
- An agent's
requirements.txtexplicitly lists it as a dependency - 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