# Changelog

All notable changes to the RAG Chatbot Library 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).

## [Unreleased]

### Added

- Future features will be documented here

### Changed

- Future changes will be documented here

### Fixed

- Future fixes will be documented here

## [1.0.0] - 2024-01-XX

### Added

- 🚀 **Initial Release** - Complete RAG chatbot library with the following features:

#### Core Features

- **ChatbotAPI** - Unified API class for all chatbot operations
- **ChatbotProvider** - React context provider for state management
- **Error Boundary** - Centralized error handling and recovery
- **Type Safety** - Full TypeScript support with comprehensive type definitions

#### Components

- **ChatbotWidget** - Main floating chatbot interface
- **RAGChat** - Full-featured chat component with document support
- **FloatingChatButton** - Customizable floating action button
- **ChatDock** - Dockable chat interface
- **ChatbotDemo** - Demo component for testing and showcasing

#### Admin Components

- **KnowledgeManagement** - Document upload and management interface
- **DocumentUploader** - Drag-and-drop file upload component
- **KnowledgeEditor** - Rich text editor for knowledge base content
- **RAGManager** - Advanced RAG system configuration
- **RSSManager** - RSS feed integration for automatic content updates

#### Hooks

- **useChatbot** - Main hook for chatbot functionality
- **useDocuments** - Document management operations
- **useConversations** - Conversation history management
- **useMessages** - Message handling and display
- **useErrorHandler** - Centralized error management
- **useTheme** - Theme customization and dark mode support
- **useI18n** - Internationalization support
- **useSearch** - Document search functionality
- **useUpload** - File upload progress tracking

#### Services

- **LLM Service** - Support for OpenAI, Anthropic, and other providers
- **Vector Store** - Supabase vector storage with semantic search
- **Storage Service** - File storage and document processing

#### Features

- **Multi-language Support** - English, Korean, Japanese, Chinese
- **Document Processing** - PDF, DOCX, TXT file support with text extraction
- **Vector Search** - Semantic similarity search using embeddings
- **Conversation Management** - Persistent conversation history
- **Real-time Chat** - Responsive chat interface with typing indicators
- **Theme Customization** - Light/dark modes with customizable colors
- **Error Recovery** - Graceful error handling with retry mechanisms
- **Type Safety** - Comprehensive TypeScript definitions
- **Testing** - Full test suite with Jest and React Testing Library
- **Documentation** - Complete API documentation and integration guides

#### Providers Supported

- **LLM Providers**: OpenAI GPT-3.5/4, Anthropic Claude, Azure OpenAI
- **Vector Stores**: Supabase (pgvector), Memory (development)
- **Storage**: Supabase Storage, Local storage (development)

#### Configuration Options

- **LLM Configuration**: Model selection, temperature, max tokens, system prompts
- **Vector Store Settings**: Embedding dimensions, similarity thresholds
- **UI Customization**: Themes, positioning, styling options
- **File Processing**: Supported formats, size limits, metadata extraction

### Technical Details

- **Framework**: React 18+ with TypeScript
- **Build System**: Rollup with optimized bundles
- **Testing**: Jest with React Testing Library
- **Documentation**: Comprehensive API docs and integration guides
- **Package Structure**: Modular exports with tree-shaking support

### Breaking Changes

- None (initial release)

### Migration Guide

- None (initial release)

---

## Release Notes Template

### [Version] - YYYY-MM-DD

#### Added

- New features and capabilities

#### Changed

- Changes to existing functionality
- Updated dependencies
- Performance improvements

#### Deprecated

- Features that will be removed in future versions

#### Removed

- Features that have been removed

#### Fixed

- Bug fixes and patches

#### Security

- Security improvements and vulnerability fixes

---

## Version Guidelines

This project follows [Semantic Versioning](https://semver.org/):

- **MAJOR** (X.0.0): Breaking changes that require code modifications
- **MINOR** (0.X.0): New features that are backward compatible
- **PATCH** (0.0.X): Bug fixes and security patches

### Version Examples

#### Major Version (Breaking Changes)

- API signature changes
- Removal of deprecated features
- Required configuration changes
- Component prop changes that break existing usage

#### Minor Version (New Features)

- New components or hooks
- New optional props or configuration options
- New provider support
- Performance improvements
- New documentation or examples

#### Patch Version (Bug Fixes)

- Bug fixes that don't change API
- Security patches
- Documentation corrections
- Dependency updates (non-breaking)

---

## Contributing to Changelog

When contributing, please:

1. Add entries to the `[Unreleased]` section
2. Use the categories: Added, Changed, Deprecated, Removed, Fixed, Security
3. Write clear, concise descriptions
4. Include relevant issue/PR numbers
5. Follow the existing format and style

Example entry:

```markdown
### Added

- New `useAnalytics` hook for tracking chatbot usage (#123)

### Fixed

- Fixed memory leak in document processing (#124)
```
