Skip to content

v0.9.1 - Windows Compatibility Hotfix

Choose a tag to compare

@jwesleye jwesleye released this 10 Nov 14:09
· 16 commits to main since this release

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