Skip to content

Releases: Open-Agent-Tools/coding-open-agent-tools

v0.14.1 - Dependency Fix & Detector Improvements

06 Jan 16:58

Choose a tag to compare

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 with statements, 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

24 Nov 18:54

Choose a tag to compare

🚀 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 detection
  • find_unused_dependencies - Identify declared but unused packages
  • analyze_import_cycles - Comprehensive import graph analysis

Security Scanners (3 tools):

  • detect_sql_injection_patterns - SQL injection vulnerability detection
  • find_xss_vulnerabilities - Cross-site scripting pattern detection
  • scan_for_hardcoded_credentials - Credential and secret scanning

Performance Detectors (3 tools):

  • identify_n_squared_loops - O(n²) nested loop anti-pattern detection
  • detect_memory_leak_patterns - Memory leak pattern identification
  • find_blocking_io - Blocking I/O operation detection

Compliance Checkers (3 tools):

  • check_gdpr_compliance - GDPR compliance validation
  • validate_accessibility - WCAG accessibility checking
  • detect_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 syntax
  • validate_typescript_types - TypeScript type validation
  • check_javascript_security - Security vulnerability detection (XSS, eval, etc.)
  • analyze_javascript_complexity - Cyclomatic complexity analysis
  • extract_javascript_functions - Function signature extraction
  • validate_jsx_syntax - React JSX validation
  • check_import_usage - Import statement validation
  • validate_async_patterns - Async/await pattern validation
  • check_promise_handling - Promise error handling validation
  • analyze_event_handlers - Event handler analysis
  • validate_module_structure - ES6 module structure validation
  • detect_javascript_antipatterns - Anti-pattern detection

Dependency Analysis Module (#11)

12 tools for comprehensive dependency management:

  • analyze_package_json - Parse and analyze package.json files
  • check_dependency_conflicts - Detect version conflicts
  • find_outdated_dependencies - Identify outdated packages
  • analyze_dependency_tree - Build and analyze dependency trees
  • detect_circular_dependencies - Find circular dependency chains
  • analyze_requirements_txt - Parse Python requirements.txt
  • check_pyproject_dependencies - Validate pyproject.toml dependencies
  • find_unused_packages - Identify unused installed packages
  • analyze_gemfile - Parse Ruby Gemfile
  • analyze_cargo_toml - Parse Rust Cargo.toml
  • analyze_go_mod - Parse Go go.mod files
  • compare_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.13.0...v0.14.0

v0.10.0 - Phase 12 Completion: Quality & Documentation

24 Nov 15:11

Choose a tag to compare

🎉 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.py with 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 patterns
  • CONTRIBUTING.md (535 lines): Development workflow
  • docs/GETTING_STARTED.md (345 lines): Quick start guide
  • docs/DOCUMENTATION_INDEX.md (330 lines): Complete navigation
  • docs/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 validation
  • validate_identifier(): Standardized identifier validation
  • format_line_range(): Consistent line range formatting
  • format_error(): Standardized error responses
  • check_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.0

With 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

10 Nov 14:09

Choose a tag to compare

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\n line endings
  • Solution: Replaced with splitlines() to handle all line ending types:
    • Unix: \n
    • Windows: \r\n
    • Old Mac: \r

Affected Functions:

  • parse_env_file() - Parse .env files
  • validate_env_file() - Validate .env syntax
  • extract_env_variable() - Extract variables
  • validate_ini_syntax() - Validate INI files
  • parse_properties_file() - Parse Java properties
  • check_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@latest

What'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

08 Nov 22:42

Choose a tag to compare

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 handling
  • validate_env_file() - Validate syntax with errors/warnings
  • extract_env_variable() - Extract specific variable values
  • merge_env_files() - Merge multiple .env files with precedence
  • substitute_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 configurations
  • extract_json_value() - Extract from JSON configurations
  • merge_yaml_files() - Deep merge YAML files
  • merge_toml_files() - Deep merge TOML files
  • interpolate_config_variables() - Variable expansion in configs

Common Formats (5 functions)

  • parse_ini_file() - Parse INI/CFG files
  • validate_ini_syntax() - Validate INI syntax
  • parse_properties_file() - Parse Java .properties files
  • validate_xml_syntax() - Validate XML configs
  • parse_xml_value() - Extract XML values via XPath

Security & Best Practices (3 functions)

  • check_gitignore_security() - Comprehensive gitignore pattern scanning
  • detect_exposed_config_files() - Find configs in web-accessible directories
  • validate_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@latest

Quick 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

08 Nov 19:46

Choose a tag to compare

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_tool decorator 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

08 Nov 19:06

Choose a tag to compare

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_method to 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.1

Or 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

08 Nov 17:06

Choose a tag to compare

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__.py files
  • 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

17 Oct 23:18

Choose a tag to compare

📚 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 to helpers.py for explicit public API definition
  • Comprehensive documentation for all helper functions in README
  • Usage examples for merge_tool_lists(), get_tool_info(), and list_all_available_tools()
  • Complete helper reference section with all 11 functions documented

Helper Functions

Tool Loading Functions (8):

  • load_all_tools() - All 154 functions
  • load_all_analysis_tools() - 14 functions
  • load_all_git_tools() - 79 functions
  • load_all_profiling_tools() - 8 functions
  • load_all_quality_tools() - 7 functions
  • load_all_shell_tools() - 13 functions
  • load_all_python_tools() - 15 functions
  • load_all_database_tools() - 18 functions

Tool Management Functions (3):

  • merge_tool_lists() - Merge and deduplicate tool lists
  • get_tool_info() - Inspect tool metadata
  • list_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

16 Oct 14:36

Choose a tag to compare

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