Skip to content

v0.3.0 - Stable Release with Enhanced Quality

Choose a tag to compare

@luongnv89 luongnv89 released this 17 Nov 23:39
· 125 commits to main since this release

v0.3.0 - Stable Release with Enhanced Quality

🎉 Highlights

This is a stable production-ready release with comprehensive code quality improvements, expanded Python version support, and zero linting/type errors.

✨ Major Features

Python Version Support:

  • ✅ Python 3.10-3.14 fully supported and tested
  • ❌ Python 3.9 support dropped (approaching EOL)
  • 🧪 Matrix testing across all supported versions on Ubuntu, macOS, and Windows

Security Enhancements:

  • 📄 SECURITY.md: Comprehensive security policy with vulnerability reporting process
  • ⏱️ HTTP timeout protection: All HTTP requests now have configurable timeouts
  • 🔒 Zero security issues: Clean bandit security scans
  • 🛡️ Best practices documentation: Deployment and configuration security guidelines

Code Quality Excellence:

  • ✅ Zero flake8 errors: All linting issues resolved
  • ✅ Zero mypy errors: Strict type checking with modern Python 3.10+ syntax
  • ✅ 114 tests passing: Comprehensive test coverage (66%)
  • ✅ Reduced complexity: Main function refactored from complexity 12 to <10
  • ✅ Modern type hints: Using X | None syntax instead of Optional[X]

🔧 Code Quality Improvements

Type System:

  • Converted to Python 3.10+ union type syntax (int | None)
  • Added generic type parameters (dict[str, Any])
  • Fixed all mypy strict mode errors
  • Added return type annotations to all functions

Linting & Formatting:

  • Fixed all line length violations (100 char limit)
  • Removed unused imports
  • Proper import organization with isort
  • Consistent code formatting with black

Complexity Reduction:

  • Refactored main() function into smaller helper functions:
    • print_help() - Help message display
    • parse_http_args() - Command-line argument parsing
    • setup_http_server() - HTTP server configuration
  • Improved code readability and maintainability

🏗️ CI/CD Pipeline

Automated Testing:

  • Matrix testing: Python 3.10, 3.11, 3.12, 3.13, 3.14
  • Platform testing: Ubuntu, macOS, Windows
  • Coverage reporting to Codecov

Quality Gates:

  • ✅ Black code formatting
  • ✅ isort import sorting
  • ✅ flake8 linting (0 errors)
  • ✅ mypy type checking (0 errors, strict mode)
  • ✅ bandit security scanning (0 issues)
  • ✅ pydocstyle docstring validation
  • ✅ 114 unit tests

Security Scanning:

  • Daily automated security scans
  • Dependency vulnerability checking (Safety, Dependabot)
  • CodeQL semantic analysis
  • Bandit Python security linter

📚 Documentation Updates

  • ✅ README.md: Updated with Python 3.10-3.14 support, badges, installation examples
  • ✅ SECURITY.md: New comprehensive security policy
  • ✅ Beginner-Playbook.md: Updated with installation guide and quality metrics
  • ✅ Playbook.md: Updated prerequisites and transport modes
  • ✅ CONTRIBUTING.md: Updated Python version references

🐛 Bug Fixes

  • Fixed test context structure to use request_context.lifespan_context
  • Fixed input validators to handle whitespace-only strings
  • Fixed disk space check exception handling
  • Fixed empty technique formatting
  • Removed unsupported custom_route decorators

📦 Installation

# Install latest stable version
pip install mitre-mcp==0.3.0

# Or upgrade from previous version
pip install --upgrade mitre-mcp

🔄 Upgrade from 0.2.x

This is a drop-in replacement for 0.2.x versions with no breaking changes:

pip install --upgrade mitre-mcp

Note: Requires Python 3.10 or higher. If you're on Python 3.9, please upgrade to Python 3.10+.

📋 Full Changelog

Since v0.2.1:

  • 37e4366 - fix: Remove unused Optional import and correct timeout attribute
  • f20119e - fix: Resolve mypy type checking errors for CI/CD
  • a372360 - chore: Bump version to 0.2.2
  • 8e78f18 - refactor: Fix flake8 linting errors for CI/CD
  • 33395d6 - docs: Add comprehensive security policy
  • 4e7d76f - chore: Update Python version support from 3.9-3.12 to 3.10-3.14
  • 4ee8b74 - docs: Add installation examples and screenshots to README

🔗 Links

🙏 Acknowledgments

Thank you to all contributors and users who provided feedback and reported issues!


Quality Metrics:

  • ✅ 114/114 tests passing
  • ✅ 66% code coverage
  • ✅ 0 linting errors
  • ✅ 0 type errors
  • ✅ 0 security issues
  • ✅ Python 3.10-3.14 support

Production Ready: This release has passed all quality gates and is recommended for production use. 🚀