All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Smart Confirmation System: 3-mode hybrid confirmation for write/delete operations
- Bypass Mode:
skip_confirm=TrueorBYPASS_TOOL_CONSENT=trueenvironment variable proceeds immediately - Interactive Mode: TTY-enabled terminals with
skip_confirm=Falseprompt user withy/nconfirmation - Agent Mode: Non-TTY environments with
skip_confirm=FalseraiseCONFIRMATION_REQUIREDerror with instructions
- Bypass Mode:
- New Module:
confirmation.py- Centralized confirmation handling with context-aware behavior - Environment Variable:
BYPASS_TOOL_CONSENTfor CI/CD and automation workflows - INFO-Level Logging: Enhanced operational visibility across high-traffic modules
- File operations: Read, write, delete, move, copy operations log start/completion with metrics
- Network operations: HTTP requests log method, URL, timing, status, and response size
- Archive operations: Compression/extraction operations log file counts and compression ratios
- Data operations: CSV, YAML, TOML, INI operations log row/key counts and file sizes
- TAR operations: Archive creation/extraction logs item counts and sizes
- Confirmation Behavior: All functions with
skip_confirmnow use intelligent 3-mode confirmation system- File operations:
write_file_from_string,create_directory,delete_file,delete_directory,move_file,copy_file,file_editor - Data operations:
write_csv_simple,write_ini_file,write_yaml_file,write_toml_file - Archive operations:
create_zip,extract_zip,compress_files,create_tar,compress_file_gzip,compress_file_bzip2,compress_file_xz - TODO operations:
delete_task
- File operations:
- User Experience: Interactive terminal users get confirmation prompts instead of errors
- Agent Integration: LLM agents receive instructive error messages to guide user permission workflow
- Documentation: Enhanced README, getting-started.md, api-reference.md, faq.md, and CLAUDE.md with confirmation system details
- Logging Levels: INFO logs visible in TTY mode, silent in agent/automation mode (controlled by TTY detection or BOAT_LOG_LEVEL)
- Agent UX: Resolved issue where agents couldn't provide user feedback loop for confirmations
- Type Safety: Added explicit type casts for mypy compliance in file_system/editor.py
- Code Analysis Module - Migrated to coding-open-agent-tools (15 functions)
- Git Tools Module - Migrated to coding-open-agent-tools (9 functions)
- Profiling Module - Migrated to coding-open-agent-tools (8 functions)
- Static Analysis Module - Migrated to coding-open-agent-tools (7 functions)
- Function Count: Reduced from 190+ to 151 functions (focused on foundational tools)
- Module Count: Reduced from 15 to 11 modules (removed coding-specific modules)
- Package Scope: Refocused on foundational, non-coding-specific agent tools
The removed modules are now available in the coding-open-agent-tools package:
pip install coding-open-agent-toolsThese modules were development/coding-specific and better suited for a specialized package. Users who need these capabilities should install coding-open-agent-tools alongside this package.
This version contained modules that were not properly exported in the package API. Version 0.13.1 removes these modules as they have been migrated to coding-open-agent-tools.
- Code Analysis Module (15 functions) - Migrated to coding-open-agent-tools in v0.13.1
- Profiling Module (8 functions) - Migrated to coding-open-agent-tools in v0.13.1
- Static Analysis Module (7 functions) - Migrated to coding-open-agent-tools in v0.13.1
- Git Tools Module (9 functions) - Migrated to coding-open-agent-tools in v0.13.1
- Code Analysis Module (15 functions): AST parsing, complexity analysis, import management, secret detection
parse_python_ast,extract_functions,extract_classes,extract_importscalculate_complexity,calculate_function_complexity,get_code_metrics,identify_complex_functionsfind_unused_imports,organize_imports,validate_import_orderscan_for_secrets,scan_directory_for_secrets,validate_secret_patterns
- Profiling Module (8 functions): Performance and memory profiling, benchmarking
profile_function,profile_script,get_hotspotsmeasure_memory_usage,detect_memory_leaks,get_memory_snapshotbenchmark_execution,compare_implementations
- Static Analysis Module (7 functions): Tool output parsing and issue analysis
parse_ruff_json,parse_mypy_json,parse_pytest_json,summarize_static_analysisfilter_issues_by_severity,group_issues_by_file,prioritize_issues
- Git Tools Module (9 functions): Read-only git repository operations
get_git_status,get_current_branch,get_git_diffget_git_log,get_git_blame,get_file_history,get_file_at_commitlist_branches,get_branch_info
- Test Coverage: Improved to 87% average across new modules (148 new tests)
- Function Count: Increased from 150+ to 190+ total agent tools
- Module Count: Expanded from 11 to 15 modules
- Test Compatibility: Updated archive compression tests for new skip_confirm parameter behavior
- Type Validation: Fixed encoding functions to validate types before logging operations
- Enhanced User Feedback Loops: All file and data manipulation tools now provide detailed feedback messages
- Permission System: Added
forceparameter to prevent accidental overwrites across all write operations - Detailed Operation Reports: Functions now return descriptive strings instead of simple boolean values
- Consistent Response Patterns: Unified feedback approach across all modules following the file_editor pattern
- File System:
write_file_from_string,copy_file,delete_file,move_filenow include detailed feedback - Data Tools:
write_csv_simple,write_yaml_to_file,write_toml_to_file,write_ini_to_filewith operation summaries - Archive Tools:
create_tar_archive,create_zip_archivewith compression statistics - Todo Tools:
write_todo_to_filewith protection mechanisms and clear confirmations
- Agent Framework Compatibility: All functions maintain Google ADK compliance while providing richer feedback
- Function Signatures: Added required
forceparameter to destructive operations for safety - Return Values: Enhanced from boolean/None returns to detailed string descriptions for better agent understanding
- Package Build Process: Ensured all enhancements are properly included in published packages
- Test Agent Compatibility: Updated test agents to handle new function signatures
- Import Errors: Resolved import issues in evaluation tests
- Strands Agents Integration: Native
@strands_tooldecorator support across all modules - Enhanced Documentation: Comprehensive README files for all 12 modules
- Web-Ready Links: GitHub Pages compatible documentation links
- Quality Improvements: Comprehensive code cleanup and linting fixes
- Python Version Requirement: Updated minimum Python version from 3.8 to 3.9
- Type Signatures: Improved type hints consistency across all modules
- Documentation Structure: Updated all module READMEs with comprehensive examples
- Type Checking: Resolved all mypy type checking issues
- Code Quality: Fixed all ruff linting issues
- Test Coverage: Enhanced test coverage across new modules
- 6 New Modules: Major toolkit expansion with comprehensive new functionality
- Archive Tools (9 functions): ZIP, TAR, GZIP, BZIP2, XZ compression and extraction
- Crypto Tools (14 functions): Hashing, encoding, UUID generation (non-security critical)
- Logging Tools (5 functions): Structured logging and log rotation
- Monitoring Tools (8 functions): File watching, health checks, performance profiling
- PDF Tools (8 functions): PDF reading, creation, manipulation, watermarking
- System Tools (19 functions): Cross-platform shell, process management, system info
- Network Tools (4 functions): HTTP client, DNS resolution, port checking
- Utilities Tools (8 functions): Timing controls, debugging utilities
- Dependency Groups: Optional dependency management with
[system],[pdf],[all]groups - 166 Total Functions: Complete toolkit with comprehensive local operations
- Module Organization: Restructured from 4 modules to 12 specialized modules
- Agent Framework Support: Enhanced compatibility with Google ADK, LangChain, Strands
- Function Signatures: Agent-friendly type signatures across all new modules
- Error Handling: Consistent error handling patterns across all modules
- Optimized Dependencies: Optional dependencies reduce installation size
- Improved Loading: Modular tool loading with category-specific helpers
- Memory Efficiency: Optimized memory usage in file and system operations
- DateTime Module (40 functions): Comprehensive date and time operations
- Current date/time operations with timezone support
- Date arithmetic and range generation
- Business day calculations and validation
- Format conversion and validation tools
- Quarter and period calculations
- Enhanced Testing: Comprehensive test coverage for datetime operations
- Documentation: Complete datetime module documentation
- Function Count: Expanded from ~70 to 110+ total functions
- Module Structure: Enhanced datetime module with 6 sub-modules
- Type Safety: Improved type annotations for datetime operations
- Timezone Handling: Robust timezone-aware datetime operations
- Date Validation: Enhanced date format validation and error handling
- Agent-Friendly Design: Function signatures optimized for AI agent frameworks
- Google ADK Compatibility: Full compatibility with Google Agent Development Kit
- Helper Functions: Tool loading utilities (
load_all_tools(),merge_tool_lists()) - Comprehensive Testing: 74% test coverage with extensive test suite
- Type Signatures: Simplified types to prevent "signature too complex" errors
- Function Names: Standardized naming conventions across all modules
- Error Handling: Consistent exception patterns with
BasicAgentToolsError
- Import Issues: Resolved circular import problems
- Type Checking: Fixed mypy compatibility issues
- Agent Integration: Smooth integration with major agent frameworks
- Data Processing Module (23 functions): JSON, CSV, YAML, TOML, INI processing
- Safe JSON serialization and validation
- CSV reading, writing, and cleaning operations
- Configuration file processing (YAML, TOML, INI)
- Data validation and schema checking tools
- Enhanced File System: Additional file operations and path validation
- Text Processing: Expanded text manipulation capabilities
- Module Architecture: Cleaner separation between data types
- Function Organization: Logical grouping of related functions
- Documentation: Improved docstrings for LLM understanding
- Input Validation: Enhanced input sanitization across all modules
- Path Safety: Improved path traversal protection
- Error Messages: Safe error reporting without information disclosure
- Core Modules: Initial implementation of file_system and text modules
- Basic Operations: File CRUD operations and text processing utilities
- Foundation: Base architecture for agent tool integration
- Initial Structure: Established module organization patterns
- Function Design: Basic agent-compatible function signatures
Legacy versions (< 0.7.0) are no longer supported. Please upgrade to the latest version for security updates and new features.
Breaking Changes:
- Python 3.9+ Required: Update your Python version if using 3.8
- New Modules: 6 new modules with optional dependencies
- Function Locations: Some utility functions moved to dedicated modules
Migration Steps:
- Update Python to 3.9+
- Install with optional dependencies:
pip install basic-open-agent-tools[all] - Update imports for moved functions (see module READMEs)
- Test agent integrations with new module structure
Breaking Changes:
- Helper Functions: New tool loading patterns
- Function Names: Some functions renamed for consistency
- Type Signatures: Enhanced type annotations
Migration Steps:
- Replace direct imports with helper functions
- Update function names (see individual module READMEs)
- Update type annotations in your code
See CONTRIBUTING.md for development setup and guidelines.
- Major versions (x.0.0): Significant new features or breaking changes
- Minor versions (0.x.0): New features, modules, or substantial enhancements
- Patch versions (0.0.x): Bug fixes, documentation updates, minor improvements
- Current version (0.9.x): Full support with new features and bug fixes
- Previous version (0.8.x): Security updates and critical bug fixes
- Legacy versions (< 0.8.x): No longer supported
For security vulnerabilities, see SECURITY.md.