Skip to content

Commit b06b8e3

Browse files
committed
docs: update version to v1.2.0 in CHANGELOG and README
1 parent f0e0b4d commit b06b8e3

File tree

2 files changed

+62
-11
lines changed

2 files changed

+62
-11
lines changed

CHANGELOG.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,58 @@ All notable changes to this project 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-
## [1.1.0] - 2025-01-XX
8+
## [1.2.0] - 2025-01-XX
9+
10+
### 🎨 Complete API Unification (Major Improvement over v1.1.0)
11+
12+
**Design Philosophy**: Don't add concepts to solve problems. Less is more.
13+
14+
### Added
15+
- **Unified Insert API**: `Insert(func(ib *InsertBuilder))` works for both SQL and vector databases
16+
- **Smart Format Detection**: QdrantCustom automatically handles Insert(func) format
17+
- **Vector Array Support**: `[]float32` and `[]float64` preserved in InsertBuilder/UpdateBuilder
18+
- **Convenience Methods**:
19+
- `Built.SqlOfUpsert()` - MySQL UPSERT without Custom
20+
- `Built.SqlOfInsertIgnore()` - MySQL INSERT IGNORE without Custom
21+
22+
### Removed (Simplification)
23+
- **Preset Constructors** (complexity removed):
24+
-`QdrantHighPrecision()`, `QdrantHighSpeed()`, `QdrantBalanced()`
25+
-`MySQLWithUpsert()`, `MySQLWithIgnore()`
26+
-`InsertPoint()`, `InsertPoints()` methods
27+
-`Delete()` method (not needed)
28+
29+
### Changed
30+
- `JsonOfDelete()` now auto-sets `built.Delete = true` internally
31+
- Only basic constructors remain: `NewQdrantCustom()`, `NewMySQLCustom()`
32+
- Users configure via fields or existing closures (`QdrantX()`)
33+
34+
### Why v1.2.0 (Not v1.1.1)?
35+
36+
v1.1.0 had design issues:
37+
- Too many preset functions (5 removed)
38+
- Inconsistent API (InsertPoint vs Insert)
39+
- Over-engineered solutions
40+
41+
v1.2.0 achieves true simplicity:
42+
- ✅ One `Insert(func)` API for all databases
43+
- ✅ One `Update(func)` API for all databases
44+
- ✅ No extra methods needed
45+
- ✅ Complete unification
46+
47+
### Tests
48+
- 140+ tests, all passing
49+
- New tests for unified Insert/Update/Delete API
50+
- Comprehensive Qdrant CRUD validation
51+
52+
### Documentation
53+
- All docs updated to reflect simplified design
54+
- Removed references to preset constructors
55+
- Added unified API examples
56+
57+
---
58+
59+
## [1.1.0] - 2025-01-XX (Deprecated - Use v1.2.0)
960

1061
### Added
1162
- **Custom Interface**: Unified abstraction for database-specific features

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ or build condition sql for some orm framework, like [xorm](https://github.com/go
1313
also can build json for some json parameter db, like [Qdrant](https://github.com/qdrant/qdrant) ....
1414

1515

16-
> 🎉 **v1.1.0 Released**: Custom Interface for Database-Specific Features! Full CRUD support for vector databases.
16+
> 🎉 **v1.2.0 Released**: Complete API Unification! One Insert/Update/Delete API for SQL and vector databases.
1717
1818
---
1919

20-
## 🚀 NEW: Custom Interface (v1.1.0)
20+
## 🚀 NEW: Unified CRUD API (v1.2.0)
2121

2222
**Unified abstraction for SQL and Vector Databases with database-specific features!**
2323

24-
**✨ New in v1.1.0**:
25-
- 🎯 **Custom Interface** - Unified abstraction for all database types
26-
- 📝 **Full CRUD** - Insert/Update/Delete support for vector databases
27-
- 🔧 **Official Implementations** - QdrantCustom (full CRUD), MySQLCustom (UPSERT)
28-
- 🏗️ **Extensible Architecture** - One `Generate()` method handles all operations
29-
- 📚 **Complete Documentation** - Templates and guides for custom implementations
24+
**✨ New in v1.2.0**:
25+
- 🎯 **Complete API Unification** - One `Insert(func)` for SQL and vector databases
26+
- 📝 **No Extra Methods** - No InsertPoint, no Delete(), just the essentials
27+
- 🔧 **Smart Detection** - Custom automatically handles different data formats
28+
- 🏗️ **Extreme Simplicity** - Removed 5 preset functions, kept only basics
29+
- 📚 **Convenience Methods** - SqlOfUpsert(), SqlOfInsertIgnore() for common cases
3030

3131
```go
32-
// MySQL UPSERT (v1.1.0) - 无需 Custom
32+
// MySQL UPSERT (v1.2.0) - 无需 Custom
3333
built := xb.Of(user).
3434
Insert(func(ib *xb.InsertBuilder) {
3535
ib.Set("id", user.ID).
@@ -40,7 +40,7 @@ built := xb.Of(user).
4040
sql, args := built.SqlOfUpsert()
4141
// INSERT INTO users ... ON DUPLICATE KEY UPDATE ...
4242

43-
// Qdrant Vector Search (v1.1.0)
43+
// Qdrant Vector Search (v1.2.0)
4444
built := xb.Of(&CodeVector{}).
4545
Custom(xb.NewQdrantCustom()).
4646
Eq("language", "golang").

0 commit comments

Comments
 (0)