|
1 | 1 | # CrossVector - Changelog |
2 | 2 |
|
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [1.0.0] - 2025-12-06 🎉 |
| 9 | + |
| 10 | +**First Production Release!** |
| 11 | + |
| 12 | +### Added |
| 13 | + |
| 14 | +**Benchmarking System:** |
| 15 | +- Created comprehensive `scripts/benchmark.py` tool for performance testing |
| 16 | +- Support for 4 database backends (pgvector, astradb, milvus, chroma) |
| 17 | +- Support for 2 embedding providers (OpenAI, Gemini) |
| 18 | +- 7 operation types tested: bulk/individual create, vector/metadata search, Query DSL operators, update, delete |
| 19 | +- `--skip-slow` flag to skip cloud backends for faster local testing |
| 20 | +- Smart Query DSL optimization: 4 operators for slow backends, 10 for fast backends |
| 21 | +- Detailed markdown reports with performance metrics |
| 22 | +- Performance summary shows tested vs skipped backends clearly |
| 23 | + |
| 24 | +**Engine Improvements:** |
| 25 | +- Added `VectorEngine.drop_collection()` method for collection cleanup |
| 26 | +- Better collection lifecycle management |
| 27 | + |
| 28 | +**Documentation:** |
| 29 | +- Added benchmarking section to README.md (102 lines) |
| 30 | +- Created comprehensive `docs/benchmarking.md` guide (385 lines) |
| 31 | +- Updated `docs/contributing.md` with benchmarking workflow |
| 32 | +- Added usage examples and best practices |
| 33 | +- Cost estimation and troubleshooting guides |
| 34 | + |
| 35 | +**Testing:** |
| 36 | +- Added 50+ new unit tests |
| 37 | +- Test coverage for ABC adapters (82%) |
| 38 | +- Test coverage for logger (100%) |
| 39 | +- Extended engine tests |
| 40 | +- Schema, utils, and Q object coverage tests |
| 41 | +- Total: 365 tests passing (from ~300) |
| 42 | + |
| 43 | +**Architecture:** |
| 44 | +- Enhanced ABC base class with unified initialization |
| 45 | +- Improved adapter architecture |
| 46 | +- Better error reporting in benchmarks |
| 47 | +- Truncated error messages in reports for readability |
| 48 | + |
| 49 | +### Changed |
| 50 | + |
| 51 | +- Collection name defaults now use `api_settings.VECTOR_COLLECTION_NAME` instead of class constant |
| 52 | +- Improved Milvus metadata-only search support verification |
| 53 | +- Updated all adapter documentation |
| 54 | +- Modernized contributing.md with uv, pre-commit, ruff |
| 55 | + |
| 56 | +### Removed |
| 57 | + |
| 58 | +- Removed `scripts/e2e.py` (replaced with `pytest scripts/tests`) |
| 59 | +- Removed `DEFAULT_COLLECTION_NAME` class constant from adapters |
| 60 | + |
| 61 | +### Fixed |
| 62 | + |
| 63 | +- Fixed Milvus tests to verify metadata-only search functionality |
| 64 | +- Fixed collection name handling across all adapters |
| 65 | +- Better error messages in benchmark reports |
| 66 | +- Proper cleanup in benchmark tests |
| 67 | + |
| 68 | +### Breaking Changes |
| 69 | + |
| 70 | +- `DEFAULT_COLLECTION_NAME` class constant removed - use `api_settings.VECTOR_COLLECTION_NAME` in settings instead |
| 71 | +- Stricter ChromaDB config validation (prevents conflicting settings) |
| 72 | + |
| 73 | +### Performance |
| 74 | + |
| 75 | +- Benchmark results show ~60% reduction in API calls for cloud backends with optimization |
| 76 | +- Local testing with `--skip-slow`: ~2-3 minutes vs 10+ minutes |
| 77 | +- PgVector: ~6-10 docs/sec bulk create, ~0.5ms metadata queries |
| 78 | +- Gemini: 1.5x faster search vs OpenAI for same operations |
| 79 | + |
| 80 | +### Documentation Updates |
| 81 | + |
| 82 | +- Repository URLs and references updated |
| 83 | +- Enhanced architecture diagrams |
| 84 | +- Improved API documentation |
| 85 | +- Fixed all broken links |
| 86 | + |
3 | 87 | ## [0.1.3] - 2025-11-30 |
4 | 88 |
|
5 | 89 | ### Testing Infrastructure |
|
0 commit comments