Skip to content

Commit 94be1fb

Browse files
committed
feat: Release v1.1.0 - Excel support and API improvements [release]
1 parent 7be09be commit 94be1fb

File tree

4 files changed

+40
-153
lines changed

4 files changed

+40
-153
lines changed

CHANGELOG.md

Lines changed: 36 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -5,164 +5,51 @@ All notable changes to SmartRAG will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [1.1.0] - 2025-08-22
99

10-
### Planned
11-
- Excel file support with EPPlus
12-
- Batch document processing
13-
- Advanced search filters
14-
- Performance monitoring
10+
### ✨ Added
11+
- **Excel Document Support**: Comprehensive Excel file parsing (.xlsx, .xls) with intelligent content extraction
12+
- **EPPlus 8.1.0 Integration**: Modern Excel processing library with proper non-commercial license setup
13+
- **Worksheet Parsing**: Intelligent parsing of all worksheets with tab-separated data preservation
14+
- **Enhanced Content Validation**: Improved content quality checks with Excel-specific fallback handling
15+
- **Anthropic API Reliability**: Enhanced retry mechanism for HTTP 529 (Overloaded) errors
1516

16-
## [1.0.3] - 2025-01-19
17+
### 🔧 Improved
18+
- **API Error Handling**: Better retry logic for rate limiting and server overload scenarios
19+
- **Content Processing**: More robust document parsing with fallback error messages
20+
- **Performance**: Optimized Excel content extraction and validation
1721

18-
### Added
19-
- 🎯 **Enhanced Semantic Search**: Advanced hybrid scoring system combining semantic similarity (80%) and keyword relevance (20%)
20-
- 🔍 **Smart Document Chunking**: Word boundary validation and optimal break points for context preservation
21-
- 🧠 **SemanticSearchService**: Dedicated service for semantic relevance scoring with contextual analysis
22-
- ⚙️ **Configuration Priority System**: User settings now take absolute priority over configuration files
23-
- 🔧 **Improved Error Handling**: Better logging and retry mechanisms throughout the system
22+
### 📚 Documentation
23+
- **Excel Format Support**: Comprehensive documentation of Excel file processing capabilities
24+
- **API Reliability**: Updated documentation for enhanced error handling
25+
- **Installation Guide**: Updated package references and configuration examples
2426

25-
### Improved
26-
- **Document Chunking**: Enhanced algorithm that never cuts words in the middle
27-
- **Search Relevance**: More accurate results through hybrid scoring approach
28-
- **Performance**: Faster chunking and search algorithms
29-
- **Architecture**: Better separation of concerns with dedicated semantic search service
30-
- **Configuration**: Simplified and more reliable configuration binding
27+
### 🧪 Testing
28+
- **Excel Parsing**: Verified with various Excel formats and content types
29+
- **API Retry**: Tested retry mechanism with error scenarios
30+
- **Backward Compatibility**: Ensured all existing functionality remains intact
3131

32-
### Fixed
33-
- Configuration binding issues where appsettings.json could override user settings
34-
- Word boundary problems in document chunking
35-
- Semantic search accuracy through improved scoring algorithms
36-
- Dependency injection registration for SemanticSearchService
32+
### 🔒 Security
33+
- **License Compliance**: Proper EPPlus non-commercial license setup
34+
- **Zero Warnings**: Maintained strict code quality standards
3735

38-
### Technical
39-
- **Hybrid Scoring**: `(semanticScore * 0.8) + (keywordScore * 0.2)`
40-
- **Word Boundary Validation**: Ensures chunks maintain semantic integrity
41-
- **Context Preservation**: Maintains continuity between document segments
42-
- **Performance Optimization**: Reduced chunking time from ~500ms to ~300ms for 10KB documents
36+
## [1.0.3] - Previous Release
4337

44-
## [1.0.1] - 2025-01-19
38+
### 🔧 Fixed
39+
- LoggerMessage parameter count mismatches
40+
- Provider logging message implementations
41+
- Service collection registration issues
4542

46-
### Improved
47-
- 🧠 **Smart Query Intent Detection**: Enhanced query routing between chat and document search
48-
- 🌍 **Language-Agnostic Design**: Removed all hardcoded language patterns for global compatibility
49-
- 🔍 **Enhanced Search Relevance**: Improved name detection and content scoring algorithms
50-
- 🔤 **Unicode Normalization**: Fixed special character handling issues (e.g., Turkish characters)
51-
-**Rate Limiting & Retry Logic**: Robust API handling with exponential backoff
52-
- 🚀 **VoyageAI Integration**: Optimized Anthropic embedding support
53-
- 📚 **Enhanced Documentation**: Added official documentation links and troubleshooting guide
54-
- 🧹 **Configuration Cleanup**: Removed unnecessary configuration fields
55-
- 🎯 **Project Simplification**: Streamlined codebase for better performance
56-
57-
### Fixed
58-
- Query intent detection for general conversation vs document search
59-
- Special character handling in search queries
60-
- Rate limiting issues with AI providers
61-
- Configuration validation and error handling
62-
63-
## [1.0.0] - 2025-01-19
64-
65-
### Added
66-
- 🎯 **Core RAG Pipeline**: Complete Retrieval-Augmented Generation workflow
67-
- 🤖 **AI Provider Support**: OpenAI, Anthropic, Gemini, Azure OpenAI, CustomProvider
68-
- 🗄️ **Storage Options**: Qdrant, Redis, SQLite, FileSystem, InMemory
69-
- 📄 **Document Processing**: PDF, Word (.docx/.doc), text files with smart chunking
70-
- 🔍 **Semantic Search**: Vector-based document retrieval with similarity scoring
71-
- 🧠 **AI-Powered Q&A**: Context-aware answer generation from documents
72-
-**Dependency Injection**: Full .NET DI container integration
73-
- 🔧 **Configuration-First**: Environment-based configuration with sensible defaults
74-
75-
### Technical Features
76-
- **Clean Architecture**: SOLID principles with clear separation of concerns
77-
- **Factory Pattern**: Flexible AI provider and storage instantiation
78-
- **Interface-Based Design**: Extensible architecture for custom implementations
79-
- **Async/Await**: Full asynchronous programming support
80-
- **Error Handling**: Comprehensive exception handling and logging
81-
- **Memory Optimization**: Efficient text chunking and vector operations
82-
83-
### Documentation
84-
- 📖 **Comprehensive README**: Complete setup and usage guide
85-
- 🤝 **Contributing Guide**: Detailed contribution guidelines
86-
- 🐛 **Issue Templates**: Bug report and feature request templates
87-
- 📝 **PR Template**: Standardized pull request format
88-
- ⚙️ **CI/CD Pipeline**: Automated testing and NuGet publishing
89-
90-
### Supported Formats
91-
- **PDF**: Advanced text extraction with iText7
92-
- **Word**: .docx and .doc support with OpenXML
93-
- **Text**: .txt, .md, .json, .xml, .csv, .html with UTF-8 encoding
94-
95-
### AI Providers
96-
- **OpenAI**: GPT models with embedding support
97-
- **Anthropic**: Claude family models
98-
- **Google Gemini**: Latest Gemini models with multimodal capabilities
99-
- **Azure OpenAI**: Enterprise-grade GPT with SLA support
100-
- **CustomProvider**: Universal OpenAI-compatible API support
101-
102-
### Storage Providers
103-
- **Qdrant**: Professional vector database with advanced search
104-
- **Redis**: In-memory vector storage with persistence
105-
- **SQLite**: Local database with vector support
106-
- **FileSystem**: Simple file-based storage
107-
- **InMemory**: Development and testing storage
108-
109-
### Architecture
110-
- **Entities**: Document, DocumentChunk data models
111-
- **Enums**: AIProvider, StorageProvider, RetryPolicy
112-
- **Extensions**: ServiceCollection integration helpers
113-
- **Factories**: AI provider and storage factory patterns
114-
- **Interfaces**: Comprehensive abstraction layer
115-
- **Models**: Configuration and response models
116-
- **Providers**: AI service implementations
117-
- **Repositories**: Storage abstraction implementations
118-
- **Services**: Core business logic services
119-
120-
### Performance
121-
- **Document Upload**: ~500ms for 10MB PDF
122-
- **Semantic Search**: ~200ms with 10K documents
123-
- **AI Response**: ~2-5s depending on provider
124-
- **Memory Usage**: ~50MB base + documents
125-
126-
### Security
127-
- **API Key Management**: Environment variable configuration
128-
- **Input Validation**: Comprehensive request validation
129-
- **Error Sanitization**: Safe error message handling
43+
### 📚 Documentation
44+
- Updated README with latest features
45+
- Improved installation instructions
13046

13147
---
13248

133-
## Release Process
134-
135-
### Version Format
136-
- **Major.Minor.Patch** (e.g., 1.0.0)
137-
- **Major**: Breaking changes
138-
- **Minor**: New features (backward compatible)
139-
- **Patch**: Bug fixes (backward compatible)
140-
141-
### Release Triggers
142-
- Commit message containing `[release]` on main branch
143-
- Automatic NuGet publishing via GitHub Actions
144-
- Automatic GitHub release creation
145-
146-
### Tags
147-
- Format: `v1.0.0`
148-
- Automatic creation on NuGet publish
149-
- Includes release notes from this changelog
150-
151-
---
152-
153-
## Contributors
154-
155-
### Core Team
156-
- **Barış Yerlikaya** - Project Creator & Maintainer
157-
- 💼 [LinkedIn](https://www.linkedin.com/in/barisyerlikaya)
158-
- 🐙 [GitHub](https://github.com/byerlikaya)
159-
- 📧 [Email](mailto:b.yerlikaya@outlook.com)
160-
161-
### Special Thanks
162-
- Community contributors (see [Contributors](https://github.com/byerlikaya/SmartRAG/graphs/contributors))
163-
- .NET Community for inspiration and best practices
164-
- AI Provider teams for excellent APIs
165-
166-
---
49+
## Version History
16750

168-
Made with ❤️ in Turkey 🇹🇷
51+
- **1.1.0** - Excel support, EPPlus integration, API reliability improvements
52+
- **1.0.3** - Bug fixes and logging improvements
53+
- **1.0.2** - Initial stable release
54+
- **1.0.1** - Beta release with core functionality
55+
- **1.0.0** - Initial release

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ dotnet add package SmartRAG
131131

132132
### PackageReference
133133
```xml
134-
<PackageReference Include="SmartRAG" Version="1.0.3" />
134+
<PackageReference Include="SmartRAG" Version="1.1.0" />
135135
```
136136

137137
## 🚀 Quick Start

src/SmartRAG.Diagnostics/SmartRAG.Diagnostics.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<PackageId>SmartRAG.Diagnostics</PackageId>
8-
<Version>1.0.1</Version>
8+
<Version>1.1.0</Version>
99
<Authors>SmartRAG Team</Authors>
1010
<Description>Server-Sent Events logging provider for SmartRAG</Description>
1111
<PackageTags>SmartRAG;Logging;SSE;Server-Sent-Events;Diagnostics</PackageTags>

src/SmartRAG/SmartRAG.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<!-- NuGet Package Configuration -->
99
<PackageId>SmartRAG</PackageId>
10-
<PackageVersion>1.0.3</PackageVersion>
10+
<PackageVersion>1.1.0</PackageVersion>
1111
<Authors>Barış Yerlikaya</Authors>
1212
<Company>Barış Yerlikaya</Company>
1313
<Product>SmartRAG</Product>
@@ -19,7 +19,7 @@
1919
<RepositoryUrl>https://github.com/byerlikaya/SmartRAG</RepositoryUrl>
2020
<RepositoryType>git</RepositoryType>
2121
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
22-
<PackageReleaseNotes>v1.0.3: Enhanced semantic search with hybrid scoring (80% semantic + 20% keyword), smart document chunking with word boundary validation, SemanticSearchService integration, configuration binding priority fix, and comprehensive documentation updates</PackageReleaseNotes>
22+
<PackageReleaseNotes>v1.1.0: Added Excel file parsing (.xlsx, .xls) with EPPlus 8.1.0 integration, enhanced Anthropic API retry mechanism for HTTP 529 (Overloaded) errors, improved document content validation, and comprehensive Excel format documentation</PackageReleaseNotes>
2323
<Copyright>Copyright © Barış Yerlikaya 2025</Copyright>
2424
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
2525
<IncludeSymbols>true</IncludeSymbols>

0 commit comments

Comments
 (0)