- Custom Fields (FEAT-001):
- CustomField and TaskCustomValue models with formula support
- CRUD API for custom field management
- Formula engine for calculated fields
- Frontend: CustomFieldEditor, CustomFieldInput, ProjectSettings page
- Task list API now includes custom_values
- KanbanBoard displays custom field values
- Gantt View (FEAT-003):
- TaskDependency model with FS/SS/FF/SF dependency types
- Dependency CRUD API with cycle detection
- start_date field added to tasks
- GanttChart component with Frappe Gantt integration
- Dependency type selector in UI
- Calendar View (FEAT-004):
- CalendarView component with FullCalendar integration
- Date range filtering API for tasks
- Drag-and-drop date updates
- View mode switching in Tasks page
- File Encryption (FEAT-010):
- AES-256-GCM encryption service
- EncryptionKey model with key rotation support
- Admin API for key management
- Encrypted upload/download for confidential projects
- Migrations: 011 (custom fields), 012 (encryption keys), 013 (task dependencies)
- Updated issues.md with completion status
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Backend (FastAPI):
- Attachment and AttachmentVersion models with migration
- FileStorageService with SHA-256 checksum validation
- File type validation (whitelist/blacklist)
- Full CRUD API with version control support
- Audit trail integration for upload/download/delete
- Configurable upload directory and file size limit
- Frontend (React + Vite):
- AttachmentUpload component with drag & drop
- AttachmentList component with download/delete
- TaskAttachments combined component
- Attachments service for API calls
- Testing:
- 12 tests for storage service and API endpoints
- OpenSpec:
- add-document-management change archived
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>