Updated with latest mevd changes and latest conformance test package - #38
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Couchbase connector to align with the latest Microsoft.Extensions.VectorData (MEVD) changes, migrates away from the older Couchbase.SemanticKernel naming/dependency surface, and switches conformance testing to the newer packaged conformance test suite.
Changes:
- Renames/migrates the connector to
Couchbase.VectorData(namespaces, solution/workflows, package metadata) and updates dependencies/TFMs. - Reworks the Couchbase conformance test harness to consume
Microsoft.Extensions.VectorData.ConformanceTestsand adds/adjusts test adapters for Couchbase behavior. - Updates documentation and the demo app to use the new connector surface and updated APIs.
Reviewed changes
Copilot reviewed 99 out of 111 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Tests.ConformanceTests/TypeTests/CouchbaseKeyTypeTests.cs | Add key-type conformance adapter |
| Tests.ConformanceTests/TypeTests/CouchbaseEmbeddingTypeTests.cs | Update embedding-type test base/namespace |
| Tests.ConformanceTests/TypeTests/CouchbaseDataTypeTests.cs | Add data-type conformance adapter |
| Tests.ConformanceTests/Tests.ConformanceTests.csproj | Retarget/update packages; switch to packaged conformance tests |
| Tests.ConformanceTests/Support/CouchbaseVectorStoreFixture.cs | Remove obsolete fixture |
| Tests.ConformanceTests/Support/CouchbaseTestStore.cs | Update test store (env vars, naming adjustment, options) |
| Tests.ConformanceTests/Support/CouchbaseSimpleModelFixture.cs | Remove obsolete fixture |
| Tests.ConformanceTests/Support/CouchbaseDynamicDataModelFixture.cs | Remove obsolete fixture |
| Tests.ConformanceTests/ModelTests/CouchbaseNoVectorModelTests.cs | Add model conformance adapter |
| Tests.ConformanceTests/ModelTests/CouchbaseNoDataModelTests.cs | Add model conformance adapter |
| Tests.ConformanceTests/ModelTests/CouchbaseMultiVectorModelTests.cs | Add model conformance adapter |
| Tests.ConformanceTests/ModelTests/CouchbaseDynamicModelTests.cs | Add model conformance adapter |
| Tests.ConformanceTests/ModelTests/CouchbaseBasicModelTests.cs | Add model conformance adapter |
| Tests.ConformanceTests/HybridSearch/CouchbaseKeywordVectorizedHybridSearchTests.cs | Remove obsolete hybrid search test |
| Tests.ConformanceTests/Filter/CouchbaseBasicQueryTests.cs | Remove obsolete filter/query test |
| Tests.ConformanceTests/Filter/CouchbaseBasicFilterTests.cs | Remove obsolete filter test |
| Tests.ConformanceTests/CRUD/CouchbaseRecordConformanceTests.cs | Remove obsolete CRUD test wrapper |
| Tests.ConformanceTests/CRUD/CouchbaseNoDataConformanceTests.cs | Remove obsolete CRUD test wrapper |
| Tests.ConformanceTests/CRUD/CouchbaseDynamicDataModelConformanceTests.cs | Remove obsolete CRUD test wrapper |
| Tests.ConformanceTests/CRUD/CouchbaseBatchConformanceTests.cs | Remove obsolete CRUD test wrapper |
| Tests.ConformanceTests/CouchbaseTestSuiteImplementationTests.cs | Add packaged conformance suite implementation check |
| Tests.ConformanceTests/CouchbaseIndexKindTests.cs | Add index-kind conformance adapter |
| Tests.ConformanceTests/CouchbaseHybridSearchTests.cs | Add hybrid-search conformance adapter |
| Tests.ConformanceTests/CouchbaseFilterTests.cs | Add filter conformance adapter |
| Tests.ConformanceTests/CouchbaseEmbeddingGenerationTests.cs | Update embedding generation tests to new APIs/registrations |
| Tests.ConformanceTests/CouchbaseDistanceFunctionTests.cs | Add distance-function conformance adapter |
| Tests.ConformanceTests/CouchbaseDependencyInjectionTests.cs | Update DI conformance to new collection/store types |
| Tests.ConformanceTests/CouchbaseCollectionManagementTests.cs | Add collection management conformance adapter |
| Tests.ConformanceTests/Collections/CouchbaseCollectionConformanceTests.cs | Remove obsolete collection conformance wrapper |
| test/VectorData.UnitTests/VectorData.UnitTests.csproj | Remove in-repo unit test project |
| test/VectorData.UnitTests/CollectionModelBuilderTests.cs | Remove in-repo unit tests |
| test/VectorData.ConformanceTests/Xunit/XunitTestCaseExtensions.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ITestCondition.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/DisableTestsAttribute.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalTheoryTestCase.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalTheoryDiscoverer.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalTheoryAttribute.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalFactTestCase.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalFactDiscoverer.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/Xunit/ConditionalFactAttribute.cs | Remove in-repo conformance infra |
| test/VectorData.ConformanceTests/VectorSearch/VectorSearchWithFilterConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/VectorSearch/VectorSearchDistanceFunctionComplianceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/VectorData.ConformanceTests.csproj | Remove in-repo conformance project |
| test/VectorData.ConformanceTests/Support/VectorStoreFixture.cs | Remove in-repo conformance support |
| test/VectorData.ConformanceTests/Support/VectorStoreCollectionFixture.cs | Remove in-repo conformance support |
| test/VectorData.ConformanceTests/Support/TestStore.cs | Remove in-repo conformance support |
| test/VectorData.ConformanceTests/Support/SimpleModelFixture.cs | Remove in-repo conformance support |
| test/VectorData.ConformanceTests/Support/DynamicDataModelFixture.cs | Remove in-repo conformance support |
| test/VectorData.ConformanceTests/packages.lock.json | Remove lockfile for removed project |
| test/VectorData.ConformanceTests/Models/SimpleRecord.cs | Remove in-repo conformance models |
| test/VectorData.ConformanceTests/HybridSearch/KeywordVectorizedHybridSearchComplianceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/Filter/BasicQueryTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/EmbeddingTypeTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/EmbeddingGenerationTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/DependencyInjectionTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/CRUD/RecordConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/CRUD/NoVectorConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/CRUD/NoDataConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/CRUD/DynamicDataModelConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/CRUD/BatchConformanceTests.cs | Remove in-repo conformance tests |
| test/VectorData.ConformanceTests/Collections/CollectionConformanceTests.cs | Remove in-repo conformance tests |
| README.md | Update package/name references to VectorData connector |
| global.json | Update SDK pin (currently malformed) |
| CouchbaseVectorSearchDemo/README.md | Add updated demo documentation |
| CouchbaseVectorSearchDemo/Program.cs | Update demo to Couchbase.VectorData + reuse cluster connection |
| CouchbaseVectorSearchDemo/Glossary.cs | Update attribute usage for vector dimensions |
| CouchbaseVectorSearchDemo/CouchbaseVectorSearchDemo.csproj | Switch project reference + dependency updates |
| Couchbase.VectorData/Linq/AsyncEnumerable.cs | Namespace/diagnostics migration to VectorData |
| Couchbase.VectorData/ICouchbaseMapper.cs | Namespace migration to VectorData |
| Couchbase.VectorData/ICouchbaseCollectionOptions.cs | Namespace migration to VectorData |
| Couchbase.VectorData/Diagnostics/Verify.cs | Remove Semantic Kernel-specific helpers; rename namespace |
| Couchbase.VectorData/Diagnostics/UnconditionalSuppressMessageAttribute.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/RequiresUnreferencedCodeAttribute.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/RequiresDynamicCodeAttribute.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/NullableAttributes.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/IsExternalInit.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/ExperimentalAttribute.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/ExceptionExtensions.cs | Add polyfill/helper |
| Couchbase.VectorData/Diagnostics/DynamicallyAccessedMembersAttribute.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/CompilerServicesAttributes.cs | Add polyfill |
| Couchbase.VectorData/Diagnostics/ActivityExtensions.cs | Add activity helpers (namespace mismatch) |
| Couchbase.VectorData/Data/VectorStoreRecordPropertyVerification.cs | Namespace comment update |
| Couchbase.VectorData/Data/VectorStoreRecordPropertyReaderOptions.cs | Namespace migration |
| Couchbase.VectorData/Data/VectorStoreRecordPropertyReader.cs | Namespace comment migration |
| Couchbase.VectorData/Data/VectorStoreRecordMapping.cs | Add mapping helper (copied internal utility) |
| Couchbase.VectorData/Data/VectorStoreErrorHandler.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseVectorStoreOptions.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseVectorStore.cs | Namespace/diagnostics migration |
| Couchbase.VectorData/CouchbaseServiceCollectionExtensions.cs | Update DI extensions to VectorData namespaces |
| Couchbase.VectorData/CouchbaseSearchFilterTranslator.cs | Move to new filter translation base |
| Couchbase.VectorData/CouchbaseSearchDynamicCollection.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseSearchCollectionOptions.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseSearchCollection.cs | Remove legacy filter support; update namespaces |
| Couchbase.VectorData/CouchbaseQueryFilterTranslator.cs | Move to new filter translation base |
| Couchbase.VectorData/CouchbaseQueryDynamicCollection.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseQueryCollectionOptions.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseQueryCollectionCreateMapping.cs | Quote include fields for SQL++ |
| Couchbase.VectorData/CouchbaseQueryCollection.cs | Quote vector field for SQL++ |
| Couchbase.VectorData/CouchbaseModelBuilder.cs | Update model building hooks + enforce string key type |
| Couchbase.VectorData/CouchbaseMapper.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseIndexType.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseDynamicMapper.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseConstants.cs | Namespace migration |
| Couchbase.VectorData/CouchbaseCollectionBase.cs | Update model builder invocation + embedding generation path |
| Couchbase.VectorData/Couchbase.VectorData.csproj | Package id/TFMs/dependency updates; remove SemanticKernel deps |
| Couchbase.VectorData/AssemblyInfo.cs | Mark assembly experimental |
| Couchbase.VectorData.sln | Rename solution/project entry |
| Couchbase.SemanticKernel/CouchbaseCollectionSearchMapping.cs | Remove legacy SemanticKernel-specific mapping |
| .github/workflows/ci_template.yaml | Update default solution name |
| .github/workflows/cd.yml | Update release workflow solution name |
Suppressed comments (1)
Tests.ConformanceTests/CouchbaseDependencyInjectionTests.cs:76
- Without starting
CouchbaseTestStore,ScopeProviderwill fail when the collection is resolved. AddIAsyncLifetimehooks to start/stop the sharedCouchbaseTestStorefor these tests.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.