Files
autocad-mcp-pro/CHANGELOG.md
T
2026-04-27 12:20:57 +03:00

2.9 KiB

Changelog

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.

[Unreleased]

Added

  • Security module (security.py) with path traversal protection and command injection prevention
  • Centralized configuration (config.py) with environment variable support
  • .env.example for environment variable documentation
  • Path validation for all file operations (drawing_open, drawing_save, drawing_export_*)
  • Command sanitization for system_run_command and system_run_lisp
  • Ruff linting configuration in pyproject.toml
  • Pre-commit hooks (.pre-commit-config.yaml) for automated code quality
  • pytest-cov for test coverage reporting
  • Comprehensive test suite: 95 tests across 7 test files
    • test_entity_creation.py — 13 entity creation tests
    • test_drawing.py — 8 drawing operation tests
    • test_dimensions.py — 5 dimension tests
    • test_layer_block.py — 12 layer and block tests
    • test_analysis.py — 12 analysis and modification tests
    • test_security.py — 29 security tests
  • GitHub Actions CI workflow (lint + test on Python 3.11/3.12)
  • README.md with full documentation
  • CHANGELOG.md
  • .gitignore

Changed

  • All silent except Exception: pass blocks now include logging
  • Removed unused imports across all source files
  • Renamed ambiguous variable l to lyr in layer iteration code
  • Import sorting organized with ruff isort rules

Fixed

  • _detect_autocad_running now logs detection failures instead of silently swallowing them
  • Resource functions now log errors before returning error JSON

[1.0.0] — 2026-03-01

Added

  • Initial release with 67 tools, 6 resources, 5 prompt templates
  • Dual-engine architecture: COM backend (live AutoCAD) + ezdxf backend (headless)
  • FastMCP 3.0 server with middleware stack (error handling, audit, timing, logging)
  • Drawing management: new, open, save, save-as, export DXF/PDF, purge, audit, undo/redo
  • Entity creation: line, circle, arc, polyline, rectangle, text, mtext, hatch, spline, ellipse, point, block reference
  • Dimensions: linear, aligned, angular, radius, diameter
  • Entity modification: move, copy, rotate, scale, mirror, offset, delete, rectangular/polar array
  • Layer management: create, delete, set current, modify, freeze/thaw, lock/unlock, hide/show, isolate
  • Block operations: list, insert, explode, attributes, create from entities, find references
  • Analysis: entity stats, region search, distance/area measurement, bounding box, select by layer/type
  • View control: zoom extents/window, screenshot
  • Transaction support: begin, commit, rollback
  • System tools: status, variables, command execution, AutoLISP evaluation
  • 5 prompt templates: floor plan, P&ID, electrical schematic, mechanical drawing, quick drawing