Initial commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [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
|
||||
Reference in New Issue
Block a user