Releases: Open-Agent-Tools/basic-open-agent-tools
Release v0.15.1: TODO Module Improvements
Release v0.15.1 - TODO Module Improvements
🎯 Hotfix Release
This hotfix release adds comprehensive structured logging to the todo module and fixes validation function decorators.
✨ What's New
TODO Module Enhancements:
-
✅ Structured Logging: All todo operations now log their actions with
[TODO]prefix- Task creation logs ID, title, priority, tags, and dependencies
- Task updates show old → new value changes
- Task listing shows filter criteria and result counts
- All operations provide visibility even when agents don't verbalize
-
✅ Fixed Validation Functions: Removed incorrect
@strands_tooldecorators from internal validation helpers -
✅ Google ADK Compliance: Fixed
validate_dependenciessignature to removeOptionaltype
📝 Changes
Modified Files:
todo/operations.py: Added logging to all 8 operationstodo/validation.py: Removed decorators from validation functions, fixed parameter typestests/todo/test_validation.py: Updated test calls for new signatureutilities/TODO.md: Updated to v0.15.1 with logging feature noted
🔧 Usage
Enable logging to see todo operations:
import os
os.environ["BOAT_LOG_LEVEL"] = "INFO"
from basic_open_agent_tools.todo import add_task
# Now you'll see: [todo.operations] [TODO] Created task #1: 'My Task' (priority: high, ...)📊 Module Status
- 20 modules: archive, color, crypto, data, datetime, diagrams, excel, file_system, html, image, logging, markdown, network, pdf, powerpoint, system, text, todo, utilities, word, xml
- 326 functions: All Google ADK compatible with @strands_tool decorators
- Test Coverage: 74% overall, 92-97% for todo module
- Quality: 100% ruff, mypy compliant
🐛 Bug Fixes
- Fixed validation function exposure (removed incorrect tool decorators)
- Fixed
validate_dependenciesOptional parameter type
🚀 Future Enhancements
New GitHub issues created for future todo module features:
- #23: Task persistence (save/load from files)
- #24: Advanced search and filtering
- #25: Task templates for workflows
- #26: Subtask/hierarchical support
- #27: Task history and audit trail
- #28: Multi-format export (Markdown, CSV, JSON, HTML)
📦 Installation
pip install basic-open-agent-tools==0.15.1
# or
uv pip install basic-open-agent-tools==0.15.1Full Changelog: v0.15.0...v0.15.1
Release v0.15.0: Simplified File Editor Tools
What's New in v0.15.0
This minor release simplifies the file editor interface by removing the complex multi-command file_editor tool and providing simple, flat alternatives that are much easier for AI agents to use.
Breaking Changes
Removed: file_editor multi-command interface
The complex file_editor(command, path, skip_confirm, options_json) tool has been removed. This tool required JSON parsing and had a confusing multi-command interface that caused agent errors.
Migration Guide:
If you were using file_editor, switch to these simpler alternatives:
| Old (file_editor) | New (simple alternatives) |
|---|---|
file_editor("view", path, False, "{}") |
view_file_with_lines(path, "", "") |
file_editor("create", path, False, '{"content": "text"}') |
write_file_from_string(path, "text", False) |
file_editor("str_replace", path, False, '{"old_str": "x", "new_str": "y"}') |
replace_in_file(path, "x", "y", -1) |
file_editor("insert", path, False, '{"line_number": 5, "content": "text"}') |
insert_at_line(path, 5, "text") |
file_editor("find", path, False, '{"pattern": "TODO"}') |
find_text_in_file(path, "TODO", False) |
New Features
Added 2 Simple Flat Tools:
-
view_file_with_lines(path, start_line, end_line)- View files with line numbers- Unique feature: Adds line numbers to file viewing (unlike
read_file_to_string) - Examples:
view_file_with_lines("file.py", "", "") # View entire file view_file_with_lines("file.py", "10", "20") # View lines 10-20
- Unique feature: Adds line numbers to file viewing (unlike
-
find_text_in_file(path, search_text, use_regex)- Search/grep functionality- New functionality: Search for patterns in files
- Examples:
find_text_in_file("file.py", "TODO", False) # Simple text search find_text_in_file("file.py", "def \\w+\\(", True) # Regex search
Bug Fixes
- Fixed Windows import error (from v0.14.1): Added
__all__definition tohelpers.pyto resolve strict import behavior on Windows platforms
Improvements
- Reduced code complexity: Removed 405 lines of complex code
- Better agent compatibility: Flat, simple function signatures instead of multi-command JSON interfaces
- No duplicate tools: Removed tools that duplicated existing operations
- Cleaner codebase: Simplified
editor.pyfrom 566 to 230 lines
Statistics
- Total Tools: 20 filesystem tools (clean, no duplicates)
- Code Reduction: -405 lines total
- Tests: 176/180 passing (4 pre-existing agent eval test failures)
- Quality: All ruff and format checks pass
Installation
pip install --upgrade basic-open-agent-toolsFull Changelog
See commit history for detailed changes.
🤖 Generated with Claude Code
Release v0.14.1: Windows Import Fix
What's Fixed
Windows Import Error Resolution
Fixed a critical import error on Windows platforms where load_analyst_tools and other helper functions could not be imported even when not in use.
Root Cause: The helpers.py module was missing an __all__ definition, causing stricter Windows Python import behavior to reject imports.
Solution: Added comprehensive __all__ definition explicitly exporting all 40 helper functions from the helpers module.
Changes
- Added
__all__tosrc/basic_open_agent_tools/helpers.pylisting all public helper functions - All 22
__init__.pyfiles already had proper__all__definitions (verified)
Installation
pip install --upgrade basic-open-agent-toolsFor Windows users experiencing import issues with previous versions:
pip uninstall basic-open-agent-tools
pip install --no-cache-dir basic-open-agent-toolsVerification
All quality checks passed:
- ✅ Ruff linting and formatting
- ✅ MyPy type checking (pre-existing warnings noted)
- ✅ 71/72 helper tests passing
- ✅ Package builds correctly with version 0.14.1
🤖 Generated with Claude Code
Release v0.14.0: Use-Case Focused Helper Functions
🎯 Release v0.14.0: Use-Case Focused Helper Functions
This minor release adds 10 new specialized helper functions for loading tools by use case, making it easier to configure agents with the right capabilities for their specific roles.
✨ New Features
Use-Case Focused Tool Loaders (10 new functions)
Perfect for tailoring agent capabilities to specific use cases:
load_essential()- 20 most commonly needed tools for general-purpose agentsload_converters()- 78 pure transformation tools (text, datetime, crypto, color)load_document_readers()- 18 tools for extracting content from PDF, Word, Excel, PowerPoint, imagesload_writers()- 177 tools for all file creation/modification operationsload_analyst_tools()- 23 data analysis and validation toolsload_web_tools()- 33 web content processing and network toolsload_devtools()- 15 debugging, logging, and performance measurement toolsload_structured_data_tools()- 42 tools for CSV, JSON, XML, YAML, TOML, INIload_office_suite()- 52 Excel, Word, PowerPoint toolsload_markup_tools()- 53 HTML, Markdown, XML processing tools
📖 Usage Example
import basic_open_agent_tools as boat
# Load only what you need for specific use cases
essential_tools = boat.load_essential() # 20 core tools
analyst_tools = boat.load_analyst_tools() # Data analysis focused
web_tools = boat.load_web_tools() # Web content processing
# Mix and match for custom agent personas
custom_tools = boat.merge_tool_lists(
boat.load_essential(),
boat.load_web_tools()
)📊 Statistics
- Total Tools: 326 functions across 21 modules
- New Helpers: 10 use-case focused loaders
- Test Coverage: 1374 passing tests
🔗 Installation
pip install --upgrade basic-open-agent-tools📚 Documentation
🤖 Generated with Claude Code
Release v0.13.14: Colored logging output
Release v0.13.14
New Features
Colored Logging Output
- Added colored
[module]prefixes to logging output when running in interactive terminals - Module names now appear in cyan for better visual scanning and readability
- Color automatically disabled in non-TTY environments (pipes, automation, agents)
- Respects the
NO_COLORenvironment variable standard
Smart Color Detection
- Enabled: When outputting to a TTY (interactive terminal)
- Disabled: When piped to files, used by automation/agents, or non-TTY environments
- Disabled: When
NO_COLORenvironment variable is set
Technical Details
Implementation (_logging.py)
- Enhanced
ShortNameFormatterclass with ANSI color support - Uses cyan (
\033[36m) for module prefixes with proper reset codes - Zero performance overhead when colors are disabled
- Backward compatible with all existing logging code
Environment Variables
BOAT_LOG_LEVEL: Controls log verbosity (existing feature)NO_COLOR: Disables color output (new, follows standard convention)
Example
# Before (plain text)
[file_system] File created successfully
# After (in terminal - [file_system] appears in cyan)
[file_system] File created successfully
🤖 Generated with Claude Code
Release v0.13.13: Improved file_editor tool documentation
Release v0.13.13
Improvements
file_editor Tool Enhancements
- Enhanced docstring with comprehensive examples and clear usage guide for LLM agents
- Added "AGENT GUIDANCE" section pointing to simpler alternative tools when appropriate
- Improved error messages with concrete usage examples for faster error recovery
- Added detailed command-specific documentation with multiple working examples
- Better parameter explanations for skip_confirm and options_json
What Changed
file_editornow provides explicit guidance to agents about when to use simpler tools likeread_file_to_string,write_file_from_string, orreplace_in_file- All validation errors now include example correct usage with the user's path
- JSON format errors show valid examples and troubleshooting tips
Impact
- Agents should have better success rates using file_editor
- Clearer fallback paths when the tool is too complex for simple operations
- Faster error recovery with actionable error messages
🤖 Generated with Claude Code
Release v0.13.12: Test Compatibility Fixes
🐛 Bug Fixes
- Fixed Strands decorator detection in integration tests
- Updated outdated test imports for data module functions
- Corrected test compatibility with current module structure
📦 Test Improvements
- Enhanced test reliability when Strands framework is not installed
- Fixed decorator attribute checking for graceful fallback scenarios
- Updated function imports to match current API
🔧 Technical Details
This hotfix release resolves test failures caused by:
- Checking for decorator attributes that don't exist in fallback mode
- Using outdated function names from refactored data module
- Assumptions about decorator behavior when optional dependencies are missing
All core functionality tests now pass successfully (1374 passed).
Release v0.13.11: Test Improvements and Bug Fixes
🐛 Bug Fixes
- Fixed test compatibility issues with
generate_uuid()function call in Strands integration tests - Improved logging output visibility and configuration
📦 Test Improvements
- Enhanced test reliability for UUID generation
- Fixed Strands integration test assertions
- Updated test to correctly handle UUID function return dictionary structure
🔧 Internal Improvements
- Improved logging module configuration and output handling
- Enhanced error messages for better debugging
🚀 Installation:
pip install basic-open-agent-tools==0.13.11
# or
uv add basic-open-agent-tools==0.13.11📚 Full Changelog: v0.13.10...v0.13.11
Release v0.13.10: Test Improvements & Coverage
Release v0.13.10
Test Improvements & Bug Fixes
Test Coverage Enhancements:
- Fixed test parameter issues in network, system, and text modules
- Improved coverage for DNS utilities, environment operations, and process management
- Added missing required parameters (timeout, limit) to test calls
Coverage Improvements:
- text/processing.py: 98% → 99%
- network/dns.py: 87% → 91%
- system/environment.py: 80% → 90%
- system/processes.py: 83% → 85%
Bug Fixes:
- Fixed validation order in text processing to check types before logging
- Corrected test calls missing required parameters
- Fixed filter_pattern handling in environment variable tests
Test Results:
- Tests passing: 1,377 (up from 1,369)
- Test failures: 15 (down from 23)
- Overall coverage: 43% maintained
Quality
- Ruff: All checks passed
- MyPy: Type checking compliant
- 100% @strands_tool decorator coverage
Changes Since v0.13.9
Release v0.13.9: Test compliance fixes
What's Changed
Test Compliance Improvements
- Fixed missing
skip_confirmparameters in data processing tests - Updated tests to comply with Google ADK requirements for explicit parameter passing
- Ensures all configuration write operations include required confirmation parameters
Improvements Since v0.13.8
These changes were committed after v0.13.8 was released and are now included in this release:
- Enhanced confirmation previews: Increased preview limits for better user context
- Archive operations: 5→10 sources
- Config processing: 3→10 keys
- CSV operations: 3→5 rows
- File operations: 200→1200 chars
- Parameter validation: Fixed
format_exception_detailsparameter handling
All changes maintain full backward compatibility with existing code.
🤖 Generated with Claude Code