@@ -5,25 +5,102 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 3.0.0] - 2026-01-27
9+
10+ ### 🎉 Major Release: Multi-Engine Architecture
11+
12+ This release transforms SentimentAnalyzer from a single ML.NET-based package into a modular, multi-engine sentiment analysis suite with 4 distinct NuGet packages.
13+
14+ ### New Packages
15+
16+ #### SentimentAnalyzer.Core 3.0.0
17+
18+ - ** New Package** : Lightweight VADER-based sentiment analysis (<1 MB)
19+ - Uses VaderSharp2 for rule-based sentiment scoring
20+ - ~ 75% accuracy on general sentiment tasks
21+ - No ML model files required
22+ - Perfect for size-constrained applications
23+
24+ #### SentimentAnalyzer.Onnx 3.0.0
25+
26+ - ** New Package** : High-accuracy TinyBERT transformer model (~ 18 MB)
27+ - 94.2% accuracy on sentiment classification
28+ - Embedded ONNX model (no external downloads)
29+ - Supports .NET Standard 2.0, .NET 8, and .NET 10
30+ - Cross-platform (Windows, Linux, macOS, iOS, Android)
31+
32+ #### SentimentAnalyzer.Onnx.Multilingual 3.0.0
33+
34+ - ** New Package** : Multilingual DistilBERT model supporting 104 languages
35+ - ~ 88% accuracy across multiple languages
36+ - Downloads 270 MB model on first use (cached locally)
37+ - Async download support with progress reporting
38+ - Fixed HuggingFace ONNX export bug (correctly exported model hosted on GitHub Releases)
39+
40+ ### SentimentAnalyzer 3.0.0 (Legacy)
41+
42+ - Maintained for backward compatibility
43+ - Upgraded ML.NET from 1.5.5 to 5.0.0
44+ - No API changes - drop-in replacement for v2.x
45+ - Multi-targeting: .NET Standard 2.0, .NET 8, .NET 10
46+
47+ ### New Features
48+
49+ - ** Fluent Builder API** : ` SentimentAnalyzer.CreateBuilder().UseVader().Build() `
50+ - ** ISentimentEngine Interface** : Create custom sentiment engines
51+ - ** Thread-Safe** : All engines are thread-safe and can be reused
52+ - ** Comprehensive Test Suite** : 58 tests across Core.Tests and integration tests
53+ - ** Sample Applications** : Console, Blazor WASM, MAUI, BenchmarkDotNet samples
54+
55+ ### Architecture Changes
56+
57+ - Modular design allowing mix-and-match of engines
58+ - Shared core abstractions (` ISentimentEngine ` , ` SentimentResult ` , ` SentimentLabel ` )
59+ - Package size optimization (choose what you need)
60+
61+ ### Documentation
62+
63+ - Comprehensive README with engine comparison table
64+ - Performance benchmarks and accuracy metrics
65+ - Migration guide for v2.x users
66+ - API reference for all packages
67+
68+ ### Breaking Changes from 2.x
69+
70+ - New namespace structure (see migration guide)
71+ - Builder pattern required for new engines
72+ - Legacy ` Sentiments.Predict() ` API moved to SentimentAnalyzer package
73+
74+ ### Model Hosting
75+
76+ - TinyBERT model: Embedded in SentimentAnalyzer.Onnx package
77+ - DistilBERT model: Hosted on GitHub Releases (correctly exported ONNX model)
78+ - Vocab files: Downloaded from HuggingFace
79+
880## [ 2.0.0] - 2026-01-22
981
1082### Added
83+
1184- Multi-targeting support for ` .NET Standard 2.0 ` , ` .NET 8 ` , and ` .NET 10 `
1285- Package README included in NuGet package
1386- Additional package tags for better discoverability
1487
1588### Changed
89+
1690- ** Upgraded ML.NET from 1.5.5 to 5.0.0** - This is a major dependency upgrade
1791- Updated package description and metadata
1892- Test project upgraded to .NET 8 with latest test framework versions
1993
2094### Compatibility
95+
2196This release maintains ** full backward compatibility** with v1.x:
97+
2298- The API (` Sentiments.Predict(text) ` ) remains unchanged
2399- The ` SentimentPrediction ` model is unchanged
24100- Existing code will work without modifications
25101
26102### Migration Guide
103+
27104No code changes required. Simply update your package reference:
28105
29106``` xml
@@ -35,28 +112,31 @@ No code changes required. Simply update your package reference:
35112```
36113
37114### Platform Support
38- | Platform | Supported |
39- | ----------| -----------|
115+
116+ | Platform | Supported |
117+ | --------------------- | ----------------------- |
40118| .NET Framework 4.6.1+ | ✅ (via netstandard2.0) |
41- | .NET Core 2.0+ | ✅ (via netstandard2.0) |
42- | .NET 5/6/7 | ✅ (via netstandard2.0) |
43- | .NET 8 (LTS) | ✅ Native |
44- | .NET 10 (LTS) | ✅ Native |
45- | .NET MAUI | ✅ |
46- | Blazor (Server/WASM) | ✅ |
47- | Unity | ✅ (via netstandard2.0) |
119+ | .NET Core 2.0+ | ✅ (via netstandard2.0) |
120+ | .NET 5/6/7 | ✅ (via netstandard2.0) |
121+ | .NET 8 (LTS) | ✅ Native |
122+ | .NET 10 (LTS) | ✅ Native |
123+ | .NET MAUI | ✅ |
124+ | Blazor (Server/WASM) | ✅ |
125+ | Unity | ✅ (via netstandard2.0) |
48126
49127---
50128
51129## [ 1.2.3] - 2021-xx-xx
52130
53131### Changed
132+
54133- Performance improvements using singleton pattern
55134- Based on ML.NET version 1.5.5
56135
57136## [ 1.0.0] - 2020-xx-xx
58137
59138### Added
139+
60140- Initial release
61141- Binary sentiment analysis (positive/negative)
62142- Offline, on-device prediction
0 commit comments