diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c31ec1..3528fd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,139 +5,98 @@ All notable changes to the Dolibarr MCP Server project will be documented in thi 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). -## [1.0.0] - 2025-07-10 +## [1.1.0] - 2025-09-24 -### Added +### 🔥 MAJOR FIX: Windows Compatibility +- **FIXED**: Windows pywin32 permission issues that prevented installation +- **ADDED**: Standalone server implementation that works WITHOUT MCP package +- **ADDED**: `setup_standalone.bat` - Windows-optimized setup script +- **ADDED**: `run_standalone.bat` - Start standalone server +- **ADDED**: `requirements-windows.txt` - pywin32-free dependencies +- **ADDED**: `test_standalone.py` - Test script for standalone version -#### Core Infrastructure -- Professional MCP server implementation with comprehensive Dolibarr ERP integration -- Asynchronous HTTP client with proper session management and error handling -- Type-safe configuration management with Pydantic validation -- Comprehensive CLI interface with test and serve commands -- Professional project structure following Python best practices +### ✨ New Features +- **ADDED**: Interactive testing mode in standalone server +- **ADDED**: Enhanced error handling with detailed API error messages +- **ADDED**: Professional configuration validation with helpful setup guides +- **ADDED**: Comprehensive German README (`README_DE.md`) -#### API Client Features -- Full async/await architecture for high performance -- Custom `DolibarrAPIError` exception handling with detailed error information -- Automatic session management with context manager support -- Request/response logging for debugging and monitoring -- Flexible parameter handling for all API endpoints +### 🛠️ Improvements +- **IMPROVED**: Setup process with multiple fallback options +- **IMPROVED**: Error messages with actionable troubleshooting steps +- **IMPROVED**: Documentation with Windows-specific troubleshooting +- **IMPROVED**: Docker configuration with health checks and resource limits -#### MCP Server Capabilities -- Complete tool registration following MCP 1.0.0 specification -- JSON schema validation for all tool inputs and outputs -- Proper error propagation with meaningful error messages -- Structured response formatting for LLM consumption +### 📋 Available Tools (Complete CRUD for all modules) +- ✅ **System**: `test_connection`, `get_status` +- ✅ **Users**: `get_users`, `get_user_by_id`, `create_user`, `update_user`, `delete_user` +- ✅ **Customers**: `get_customers`, `get_customer_by_id`, `create_customer`, `update_customer`, `delete_customer` +- ✅ **Products**: `get_products`, `get_product_by_id`, `create_product`, `update_product`, `delete_product` +- ✅ **Invoices**: `get_invoices`, `get_invoice_by_id`, `create_invoice`, `update_invoice`, `delete_invoice` +- ✅ **Orders**: `get_orders`, `get_order_by_id`, `create_order`, `update_order`, `delete_order` +- ✅ **Contacts**: `get_contacts`, `get_contact_by_id`, `create_contact`, `update_contact`, `delete_contact` +- ✅ **Raw API**: `dolibarr_raw_api` - Direct access to any Dolibarr endpoint -#### Customer/Third Party Management -- `get_customers` - List customers and suppliers with pagination -- `get_customer_by_id` - Retrieve specific customer details -- `create_customer` - Create new customers with full address information -- `update_customer` - Update existing customer information -- `delete_customer` - Remove customers from the system +### 🐳 Docker +- **ADDED**: Multi-stage Dockerfile for optimized production builds +- **ADDED**: docker-compose.yml with health checks +- **ADDED**: Test service configuration for automated testing -#### Product Management -- `get_products` - List products with inventory information -- `get_product_by_id` - Retrieve specific product details -- `create_product` - Create new products with pricing and stock -- `update_product` - Update existing product information -- `delete_product` - Remove products from catalog +### 📚 Documentation +- **ADDED**: Comprehensive setup instructions for Windows +- **ADDED**: Troubleshooting guide for common issues +- **ADDED**: API endpoint documentation and examples +- **ADDED**: Contributing guidelines -#### Invoice Management -- `get_invoices` - List invoices with status filtering -- `get_invoice_by_id` - Retrieve specific invoice details -- `create_invoice` - Create new invoices with line items and calculations -- `update_invoice` - Update existing invoice information -- `delete_invoice` - Remove invoices from the system +## [1.0.1] - 2025-09-23 -#### Order Management -- `get_orders` - List orders with status filtering -- `get_order_by_id` - Retrieve specific order details -- `create_order` - Create new orders for customers -- `update_order` - Update existing order information -- `delete_order` - Remove orders from the system +### Initial Release +- **ADDED**: Complete Dolibarr API client with async/await +- **ADDED**: MCP server implementation with 30+ tools +- **ADDED**: Professional error handling and logging +- **ADDED**: Docker support with production configuration +- **ADDED**: Comprehensive test suite +- **ADDED**: Configuration management with .env support -#### Contact Management -- `get_contacts` - List contacts with company associations -- `get_contact_by_id` - Retrieve specific contact details -- `create_contact` - Create new contacts with full information -- `update_contact` - Update existing contact information -- `delete_contact` - Remove contacts from the system +### Core Features +- Full CRUD operations for all major Dolibarr modules +- Async HTTP client with proper connection handling +- Pydantic validation for type safety +- Professional logging and error reporting +- MCP 1.0 compliance for LLM integration -#### User Management -- `get_users` - List system users with permissions -- `get_user_by_id` - Retrieve specific user details -- `create_user` - Create new system users with roles -- `update_user` - Update existing user information -- `delete_user` - Remove users from the system - -#### System Tools -- `test_connection` - Test API connectivity and authentication -- `get_status` - Retrieve system status and version information -- `dolibarr_raw_api` - Direct access to any Dolibarr API endpoint - -#### Documentation -- Comprehensive README with installation and usage instructions -- Professional API documentation based on live testing -- Environment configuration examples and setup guides -- Code examples for both MCP and programmatic usage - -#### Development Tools -- Professional `pyproject.toml` with complete metadata -- Requirements management with pinned versions -- CLI testing commands for connection verification -- Type hints throughout the codebase for better IDE support - -### Security -- API key authentication with proper header management -- Input validation using Pydantic models -- Safe error handling without credential exposure - -### Performance -- Async/await throughout for non-blocking operations -- Connection pooling with aiohttp ClientSession -- Configurable timeouts for API requests -- Efficient JSON parsing and response handling - -### Quality -- Comprehensive error handling with custom exception types -- Detailed logging for debugging and monitoring -- Type safety with full type hints -- Professional code structure and organization - -## [Unreleased] - -### Planned for 1.1.0 -- Docker containerization with multi-stage builds -- Advanced filtering and search capabilities -- Performance optimization and caching -- Extended API coverage for additional Dolibarr modules - -### Planned for 1.2.0 -- Webhook support for real-time integrations -- Bulk operations for improved efficiency -- Enhanced error recovery and retry mechanisms -- Metrics and monitoring capabilities - -### Planned for 2.0.0 -- Web UI for server management -- Multi-instance support -- Plugin system for extensibility -- Advanced business intelligence features +### Supported Dolibarr Modules +- User Management +- Customer/Third Party Management +- Product Management +- Invoice Management +- Order Management +- Contact Management +- Raw API access for extensibility --- -## Guidelines +## Installation Summary -### Types of Changes -- **Added** for new features -- **Changed** for changes in existing functionality -- **Deprecated** for soon-to-be removed features -- **Removed** for now removed features -- **Fixed** for any bug fixes -- **Security** for vulnerability fixes +### Windows Users (RECOMMENDED) +```cmd +.\setup_standalone.bat # Avoids pywin32 issues +.\run_standalone.bat # Start server +``` -### Version Numbers -- **Major** version when making incompatible API changes -- **Minor** version when adding functionality in a backwards compatible manner -- **Patch** version when making backwards compatible bug fixes +### Linux/macOS Users +```bash +./setup.sh +python -m src.dolibarr_mcp +``` + +### Docker Users +```bash +docker-compose up -d +``` + +## Support + +- 🐛 Issues: [GitHub Issues](https://github.com/latinogino/dolibarr-mcp/issues) +- 💡 Discussions: [GitHub Discussions](https://github.com/latinogino/dolibarr-mcp/discussions) +- 📖 Wiki: [Project Wiki](https://github.com/latinogino/dolibarr-mcp/wiki)