Releases: Open-Agent-Tools/coding-open-agent-tools
v0.14.1 - Dependency Fix & Detector Improvements
What's Changed
Breaking Changes
- Removed basic-open-agent-tools dependency - This package is now fully independent with zero dependencies on basic-open-agent-tools
- Updated to strands-agents>=1.20.0 - Changed from generic 'strands' to the specific 'strands-agents' package
Bug Fixes
Fixed 21 failing tests in advanced_analysis/test_detectors.py:
- detect_circular_imports: Fixed severity calculation to consider cycle length and complexity
- find_unused_dependencies: Added package name mappings (PyYAML→yaml, google-cloud-storage, etc.)
- scan_for_hardcoded_credentials: Made patterns more flexible (10+ chars instead of 20+)
- find_xss_vulnerabilities: Fixed pattern names (document.write, dangerouslySetInnerHTML)
- detect_memory_leak_patterns: Fixed line indexing bugs, added comment filtering, improved global accumulation detection
- find_blocking_io: Fixed file I/O detection to include
withstatements, improved XHR detection - check_gdpr_compliance: Added more PII keywords, improved audit trail detection
- validate_accessibility: Improved button text detection using regex, added semantic HTML checking
- detect_license_violations: Fixed LGPL compatibility by preventing substring matching, added proprietary dependency flagging
Test Results
- Advanced Analysis Module: 92/92 tests passing (100%), coverage at 91%
- Full Test Suite: 1980/1981 tests passing (99.95%), overall coverage at 84%
Dependencies Updated
- tree-sitter-language-pack: 0.9.0 → 0.13.0
- pytest: 7.0.0 → 9.0.0
- pytest-cov: 4.0.0 → 7.0.0
- ruff: 0.1.0 → 0.14.0
- mypy: 1.0.0 → 1.19.0
Full Changelog: v0.14.0...v0.14.1
v0.14.0 - Advanced Code Analysis & JavaScript Validation
🚀 New Features
Advanced Code Analysis Module (#7)
Comprehensive security, performance, and compliance detection capabilities:
Dependency Analyzers (3 tools):
detect_circular_imports- DFS-based circular dependency detectionfind_unused_dependencies- Identify declared but unused packagesanalyze_import_cycles- Comprehensive import graph analysis
Security Scanners (3 tools):
detect_sql_injection_patterns- SQL injection vulnerability detectionfind_xss_vulnerabilities- Cross-site scripting pattern detectionscan_for_hardcoded_credentials- Credential and secret scanning
Performance Detectors (3 tools):
identify_n_squared_loops- O(n²) nested loop anti-pattern detectiondetect_memory_leak_patterns- Memory leak pattern identificationfind_blocking_io- Blocking I/O operation detection
Compliance Checkers (3 tools):
check_gdpr_compliance- GDPR compliance validationvalidate_accessibility- WCAG accessibility checkingdetect_license_violations- License compatibility verification
JavaScript/TypeScript Validation Module (#20)
12 validation tools for modern JavaScript/TypeScript development:
validate_javascript_syntax- Parse and validate JavaScript/TypeScript syntaxvalidate_typescript_types- TypeScript type validationcheck_javascript_security- Security vulnerability detection (XSS, eval, etc.)analyze_javascript_complexity- Cyclomatic complexity analysisextract_javascript_functions- Function signature extractionvalidate_jsx_syntax- React JSX validationcheck_import_usage- Import statement validationvalidate_async_patterns- Async/await pattern validationcheck_promise_handling- Promise error handling validationanalyze_event_handlers- Event handler analysisvalidate_module_structure- ES6 module structure validationdetect_javascript_antipatterns- Anti-pattern detection
Dependency Analysis Module (#11)
12 tools for comprehensive dependency management:
analyze_package_json- Parse and analyze package.json filescheck_dependency_conflicts- Detect version conflictsfind_outdated_dependencies- Identify outdated packagesanalyze_dependency_tree- Build and analyze dependency treesdetect_circular_dependencies- Find circular dependency chainsanalyze_requirements_txt- Parse Python requirements.txtcheck_pyproject_dependencies- Validate pyproject.toml dependenciesfind_unused_packages- Identify unused installed packagesanalyze_gemfile- Parse Ruby Gemfileanalyze_cargo_toml- Parse Rust Cargo.tomlanalyze_go_mod- Parse Go go.mod filescompare_lock_files- Compare lock file versions
📊 Statistics
- Total Tools: 322 (+36 from v0.13.0)
- Test Coverage: 84% overall
- Test Pass Rate: 99% (1,959/1,981 tests passing)
- Code Quality: 100% ruff + 100% mypy compliance
🔧 Improvements
- Applied ruff formatting to 22 files
- Fixed 17 ruff linting issues
- Updated helper tests for correct tool count
- Enhanced test coverage for new modules
📦 Installation
pip install coding-open-agent-tools==0.14.0🔗 Full Changelog
v0.10.0 - Phase 12 Completion: Quality & Documentation
🎉 Phase 12 Completion: Quality & Documentation
This minor release completes Phase 12 of the project with major improvements in test coverage, code quality, and documentation.
📊 Major Achievements
Test Coverage Expansion (26% → 84%)
- Added 513 new tests for 11 git modules
- All git modules now at 80-93% coverage
- Total test suite: 1,775 tests passing
- Fixed 18 failing tests
Code Duplication Reduction (15-20% → <5%)
- Created
navigation/shared.pywith centralized utilities - Refactored all 8 navigation modules
- Eliminated 335 lines of duplicated code
- Net code reduction: 83 lines
Decorator Pattern Migration (100% consistency)
- Migrated 14 modules to centralized
_decorators.py - All 51 modules now use consistent decorator imports
- Improved maintainability and code organization
Comprehensive Documentation Suite (~5,000 lines)
ARCHITECTURE.md(575 lines): System design and patternsCONTRIBUTING.md(535 lines): Development workflowdocs/GETTING_STARTED.md(345 lines): Quick start guidedocs/DOCUMENTATION_INDEX.md(330 lines): Complete navigationdocs/examples/(6 files): Runnable Python scripts with token savings analysis
📈 Current Status (v0.10.0)
- Total Functions: 461+ across 15+ modules
- Total Tests: 1,775 passing
- Code Coverage: 84% overall (83% for navigation modules)
- Code Quality: 100% ruff and mypy compliance
- Code Duplication: <5%
- Documentation: Production-ready with comprehensive examples
🔧 Technical Details
Git Module Test Coverage
git/health.py: 4% → 92% (75 tests)git/security.py: 5% → 86% (61 tests)git/commits.py: 5% → 93% (55 tests)git/conflicts.py: 4% → 93% (46 tests)git/hooks.py: 5% → 93% (74 tests)git/diffs.py: 4% → 88% (36 tests)git/config.py: 5% → 86% (36 tests)git/remotes.py: 5% → 80% (31 tests)git/workflows.py: 5% → 80% (33 tests)git/tags.py: 5% → 84% (36 tests)git/submodules.py: 6% → 93% (30 tests)
Navigation Shared Utilities
validate_source_code(): Standardized source validationvalidate_identifier(): Standardized identifier validationformat_line_range(): Consistent line range formattingformat_error(): Standardized error responsescheck_tree_sitter_available(): Tree-sitter availability check
Documentation Examples
All examples include token savings analysis:
- Python Validation: 44-70% savings
- Git Health Check: 80% savings
- Code Navigation: 89% savings
- Security Scanning: 93% savings
- Config Parsing: 92% savings
🛠️ Breaking Changes
None. This release is fully backward compatible.
📦 Installation
pip install coding-open-agent-tools==0.10.0With optional features:
# All features
pip install coding-open-agent-tools[all]
# Navigation for specific languages
pip install coding-open-agent-tools[javascript,java,rust]
# Configuration validation
pip install coding-open-agent-tools[config,config-security]🔗 Links
Full Changelog: v0.9.1...v0.10.0
v0.9.1 - Windows Compatibility Hotfix
v0.9.1 - Windows Compatibility Hotfix
🪟 Cross-Platform Support
This hotfix ensures the config module works seamlessly on Windows, Linux, macOS, and BSD systems.
Fixed
Line Ending Handling
- Problem: Using
split("\n")failed with Windows files that use\r\nline endings - Solution: Replaced with
splitlines()to handle all line ending types:- Unix:
\n - Windows:
\r\n - Old Mac:
\r
- Unix:
Affected Functions:
parse_env_file()- Parse .env filesvalidate_env_file()- Validate .env syntaxextract_env_variable()- Extract variablesvalidate_ini_syntax()- Validate INI filesparse_properties_file()- Parse Java propertiescheck_gitignore_security()- Gitignore scanning
Permission Validation
- Problem: Unix octal permissions (0600, 0644) don't exist on Windows, which uses ACLs
- Solution: Added platform detection in
validate_config_permissions()- Unix/Linux/macOS/BSD: Validates octal permissions as before
- Windows: Returns success with Windows-specific guidance on ACLs and icacls
Cross-Platform Support Matrix
| Platform | Line Endings | Permissions | Status |
|---|---|---|---|
| Linux | \n |
Unix (0600, 0644) | ✅ Full support |
| macOS | \n |
Unix (0600, 0644) | ✅ Full support |
| BSD | \n |
Unix (0600, 0644) | ✅ Full support |
| Windows | \r\n |
ACLs | ✅ Full support |
Testing
- ✅ All 1,244 tests passing
- ✅ Config module handles all line ending types
- ✅ Public API verified (28 config tools, 286 total)
Installation
pip install --upgrade coding-open-agent-tools
# or
uv add coding-open-agent-tools@latestWhat's Included from v0.9.0
If you missed v0.9.0, this release includes:
- 19 new config functions (.env, INI, properties, XML parsing)
- Config extraction (YAML/TOML/JSON dot notation)
- Security scanning (gitignore, exposed files, permissions)
Full Changelog: https://github.com/Open-Agent-Tools/coding-open-agent-tools/blob/main/CHANGELOG.md#091---2025-11-08
v0.9.0 - Configuration Module Expansion
v0.9.0 - Configuration Module Expansion
🔧 Comprehensive Config File Tooling
Added 19 new functions to the config module (28 total), providing complete coverage of configuration file operations.
New Features
.env File Support (5 functions)
parse_env_file()- Parse .env content with comment/quote handlingvalidate_env_file()- Validate syntax with errors/warningsextract_env_variable()- Extract specific variable valuesmerge_env_files()- Merge multiple .env files with precedencesubstitute_env_variables()- Expand ${VAR} and $VAR references
Config Extraction (6 functions)
extract_yaml_value()- Extract values using dot notation (e.g., "database.host")extract_toml_value()- Extract from TOML configurationsextract_json_value()- Extract from JSON configurationsmerge_yaml_files()- Deep merge YAML filesmerge_toml_files()- Deep merge TOML filesinterpolate_config_variables()- Variable expansion in configs
Common Formats (5 functions)
parse_ini_file()- Parse INI/CFG filesvalidate_ini_syntax()- Validate INI syntaxparse_properties_file()- Parse Java .properties filesvalidate_xml_syntax()- Validate XML configsparse_xml_value()- Extract XML values via XPath
Security & Best Practices (3 functions)
check_gitignore_security()- Comprehensive gitignore pattern scanningdetect_exposed_config_files()- Find configs in web-accessible directoriesvalidate_config_permissions()- Validate file permissions for sensitive configs
Stats
- Total tools: 267 → 286 (+19 functions)
- Config module: 9 → 28 functions
- Tests: 1,096 → 1,244 (+148 tests)
- Test coverage: 65% overall, 80%+ for config module
Quality
- ✅ 100% ruff compliance
- ✅ 100% mypy --strict compliance
- ✅ All 1,244 tests passing
Installation
pip install --upgrade coding-open-agent-tools
# or
uv add coding-open-agent-tools@latestQuick Example
from coding_open_agent_tools import config
# Parse .env files
env = config.parse_env_file(env_content)
# Extract YAML values with dot notation
host = config.extract_yaml_value(yaml_content, "database.host")
# Security: Check gitignore patterns
security = config.check_gitignore_security(gitignore_content)Full Changelog: https://github.com/Open-Agent-Tools/coding-open-agent-tools/blob/main/CHANGELOG.md#090---2025-11-08
v0.8.0 - Configuration Validation Module
v0.8.0 - Configuration Validation Module
Major new feature release adding comprehensive configuration validation capabilities.
🎯 New Configuration Validation Module (9 Tools)
Validation Functions (7 tools)
- validate_yaml_syntax: Validate YAML syntax using PyYAML
- validate_toml_syntax: Validate TOML syntax using tomllib/tomli
- validate_json_syntax: Validate JSON syntax using stdlib json
- validate_json_schema: Validate JSON against schemas (jsonschema library)
- validate_github_actions_config: Validate GitHub Actions workflows with structural checks
- check_dependency_conflicts: Detect Python dependency version conflicts
- validate_version_specifier: Validate PEP 440 version specifiers
Security Functions (2 tools)
- scan_config_for_secrets: Detect secrets in config files (with optional detect-secrets integration)
- detect_insecure_settings: Scan for security misconfigurations (debug mode, SSL disabled, weak passwords, etc.)
📦 Optional Dependencies
Added 5 new optional dependencies for enhanced functionality:
- PyYAML ≥6.0.0: YAML parsing
- tomli ≥2.0.0: TOML parsing (Python <3.11)
- jsonschema ≥4.0.0: JSON schema validation
- packaging ≥21.0: Version parsing and conflict detection
- detect-secrets ≥1.5.0: Enhanced secret scanning (1000+ patterns)
Install with: pip install coding-open-agent-tools[config]
🔧 Implementation Details
- All functions use
@strands_tooldecorator for framework compatibility - Graceful fallbacks for missing optional dependencies
- Comprehensive error handling with helpful suggestions
- 52 passing tests with 100% coverage of new code
- Full mypy and ruff compliance
📊 Tool Count Update
- Previous: 258 tools
- New: 267 tools (+9)
🐛 Bug Fixes
- Updated test suite to reflect new tool count
- Applied formatting fixes to validation module
📚 Related
- Addresses GitHub Issue #6
- Milestone: v0.8.0
- Follows project philosophy: validation/parsing over code generation
Full Changelog: v0.7.1...v0.8.0
v0.7.1 - Hotfix: 100% Test Pass Rate
v0.7.1 - Hotfix Release: 100% Test Pass Rate Achieved
🎯 Summary
This hotfix release achieves 100% test pass rate (1096/1096 tests) by completing navigation API compatibility fixes across C# and JavaScript modules, plus code cleanup improvements.
✨ What's Fixed
Test Suite Improvements
- ✅ 100% pass rate: All 1096 tests now passing (up from 98.36%)
- ✅ Fixed 18 remaining test failures:
- 16 C# navigation API tests
- 2 JavaScript decorator tests
C# Navigation Enhancements
- Add property extraction to
extract_csharp_public_api - Update
list_csharp_function_calls: comma-separated "calls" field - Update
find_csharp_function_usages: add "count" field, validate function exists - Update
get_csharp_type_hierarchy: add "base_types" field - Update
find_csharp_definitions_by_comment: add "definitions" + "count" fields - Add C# 9+ record type support (
record_declaration) - Fix
_get_class_for_methodto recognize interface declarations
JavaScript Navigation Fixes
- Fix
find_javascript_definitions_by_decorator: handle esprima parsing failures - Add regex-based fallback when AST parsing fails for decorators
Code Quality
- Apply ruff formatting to C# navigation module
- All functions maintain backward compatibility
- Return both structured JSON (for agents) and simple strings (for tests)
📊 Test Results
| Metric | Before | After |
|---|---|---|
| Passing Tests | 1078 | 1096 |
| Failing Tests | 18 | 0 |
| Pass Rate | 98.36% | 100% ✅ |
🔧 What's Changed
Full Changelog: v0.7.0...v0.7.1
📦 Installation
pip install coding-open-agent-tools==0.7.1Or with all optional dependencies:
pip install coding-open-agent-tools[all]==0.7.1🙏 Credits
This release includes contributions that improve the reliability and completeness of our navigation tools across 8 programming languages.
Full test suite: 1096 tests ✅ (100% passing)
Languages supported: Python, JavaScript, TypeScript, Java, Go, Rust, C++, C#, Ruby
Total tools: 258 unique agent tools
v0.7.0 - Multi-Language Navigation Support
v0.7.0 - Multi-Language Navigation Support
Major Features
🚀 Multi-Language Navigation (6 New Languages)
Added comprehensive navigation support for 6 additional programming languages:
- C++ Navigation (17 functions) - Classes, functions, namespaces, templates
- C# Navigation (17 functions) - Classes, methods, properties, namespaces
- Go Navigation (17 functions) - Functions, types, interfaces, packages
- Java Navigation (17 functions) - Classes, methods, packages, interfaces
- JavaScript/TypeScript Navigation (17 functions) - Functions, classes, imports, exports
- Ruby Navigation (17 functions) - Classes, methods, modules, mixins
- Rust Navigation (17 functions) - Functions, structs, traits, modules
📊 Total Tool Count
- 258 unique agent tools across 8 languages
- 171 core tools (git, python, database, shell, analysis, profiling, quality)
- 119 language-specific navigation tools (8 languages × ~17 tools each, with Python having 32)
Infrastructure Improvements
- Added test directory structure with proper
__init__.pyfiles - Updated helper functions to load all language-specific tools
- Enhanced documentation with multi-language examples
- Maintained 100% ruff and mypy compliance
Testing
- 1049 passing tests for core functionality
- Language-specific test suites for all 8 languages
- 80%+ coverage maintained across modules
Breaking Changes
None - this is a fully backward-compatible release
Installation
pip install coding-open-agent-tools==0.7.0
# With language-specific support
pip install coding-open-agent-tools[javascript,java,go,rust,cpp,csharp,ruby]What's Next
- Bug fixes for language-specific navigation edge cases (tracked in issues)
- Additional language support (Swift, Kotlin, TypeScript as separate module)
- Enhanced cross-language refactoring tools
Full Changelog: v0.4.3...v0.7.0
v0.4.3 - Helper Function Documentation
📚 Helper Function Documentation
This release adds comprehensive documentation for all 11 helper functions and improves the public API definition.
What's New
- Added
__all__export tohelpers.pyfor explicit public API definition - Comprehensive documentation for all helper functions in README
- Usage examples for
merge_tool_lists(),get_tool_info(), andlist_all_available_tools() - Complete helper reference section with all 11 functions documented
Helper Functions
Tool Loading Functions (8):
load_all_tools()- All 154 functionsload_all_analysis_tools()- 14 functionsload_all_git_tools()- 79 functionsload_all_profiling_tools()- 8 functionsload_all_quality_tools()- 7 functionsload_all_shell_tools()- 13 functionsload_all_python_tools()- 15 functionsload_all_database_tools()- 18 functions
Tool Management Functions (3):
merge_tool_lists()- Merge and deduplicate tool listsget_tool_info()- Inspect tool metadatalist_all_available_tools()- Get all tools by category
Quality
- ✅ All 570 tests passing
- ✅ 100% ruff compliance
- ✅ 100% mypy --strict compliance
- ✅ 50% code coverage
Full Changelog
- docs: add all export and comprehensive documentation for all 11 helper functions (#commit)
Full Changelog: v0.4.2...v0.4.3
Release v0.4.2: Enhanced git diff preview
What's Changed
Improved Git Diff Preview
- Git diff operations: Increased preview from 20 to 50 lines for better context when reviewing code changes
This enhancement aligns with the confirmation preview improvements made in basic-open-agent-tools v0.13.8, providing users with more comprehensive previews of changes.
All changes maintain full backward compatibility with existing code.
🤖 Generated with Claude Code