# Changelog
All notable changes to docx-mcp will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.0] - 2024-11-06
### Added
**Core Document Operations**
- `create_docx` - Create new blank Word documents
- `read_docx` - Read document content and metadata
- `write_docx` - Write plain text content to documents
- `append_docx` - Append text content to documents
- `delete_docx` - Delete Word documents with confirmation
- `copy_docx` - Copy documents to new locations
- `list_docx` - List all Word documents in a directory
**Document Properties Management**
- `get_document_properties` - Get document metadata (title, author, subject, etc.)
- `set_document_properties` - Set document metadata properties
**Style Management**
- `list_styles` - List all available paragraph and character styles
- `apply_paragraph_style` - Apply named styles to paragraphs
**List Operations**
- `apply_bullet_list` - Apply bullet formatting to paragraphs
- `apply_numbered_list` - Apply numbered formatting to paragraphs
- `set_list_level` - Set indentation level for list items
**Content Control Management**
- `list_content_controls` - Extract and list all content controls in a document
**Image Operations**
- `insert_image` - Insert images into documents
- `list_images` - List all images in a document
- `add_image_caption` - Add captions to images
**Merge Field Operations**
- `list_merge_fields` - Extract all MERGEFIELD names from templates
- `fill_merge_fields` - Fill merge fields with data for mail merge
**Utility Features**
- Path validation and normalization
- Secure file operations with directory traversal prevention
- Comprehensive error handling with custom exceptions
- Structured logging for debugging
- Type hints throughout the codebase
### Infrastructure
- FastMCP framework integration for MCP server
- Python 3.10+ compatibility
- Comprehensive test suite (18+ tests)
- pytest with asyncio support
- Ruff linting configuration
- mypy type checking configuration
- Black code formatting configuration
- MIT License headers on all source files
- Development dependencies for testing and linting
### Documentation
- README.md with feature overview and installation instructions
- Contributing guidelines (CONTRIBUTING.md)
- Changelog (this file)
- Inline code documentation with docstrings
- Type hints for IDE support
### Security
- Path validation to prevent directory traversal attacks
- Null byte injection prevention
- File size limits (default 50MB)
- Allowed file extensions validation
- Access control through configured directories
## [Unreleased]
### Planned Features
- PDF export support
- Advanced document comparison
- Batch operations for multiple files
- Document templates library
- Enhanced content control support
- Table manipulation functions
- Footnote and endnote management
- Header and footer customization
- Revision tracking integration
---
## How to Update This Changelog
When contributing new features or fixes, update this changelog following these guidelines:
1. Add changes under an `[Unreleased]` section at the top
2. Use these categories: Added, Changed, Deprecated, Removed, Fixed, Security
3. When releasing, move the `[Unreleased]` section to a new version with today's date
4. Keep the format consistent with [Keep a Changelog](https://keepachangelog.com/)