v1.37 client library coverage + CI improvements#417
Merged
Conversation
There was a problem hiding this comment.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Infrastructure as Code | View in Orca | ||
| SAST | View in Orca | ||
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
☢️ The following Vulnerabilities (CVEs) have been detected
| PACKAGE | FILE | CVE ID | INSTALLED VERSION | FIXED VERSION | ||
|---|---|---|---|---|---|---|
| tar | ./yarn.lock | CVE-2026-24842 | 6.2.1 | 7.5.7 | View in code | |
| tar | ./yarn.lock | CVE-2026-26960 | 6.2.1 | 7.5.8 | View in code |
There was a problem hiding this comment.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Infrastructure as Code | View in Orca | ||
| SAST | View in Orca | ||
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
- conftest's autouse oidc_env fixture was clobbering WEAVIATE_HTTP_HOST/GRPC_HOST with localhost:8580/50551 for the entire session, breaking the WCD-targeting connect_to_custom snippets (Invalid port: 8580:443). After the OIDC snippets were updated to hardcode localhost, the env-var override is no longer needed. - search.generative.ts now reads the koala image from disk instead of fetching from Wikipedia (transient ETIMEDOUT in CI). Image bundled at _includes/code/howto/koala.jpg.
- Workflow: add '127.0.0.1 keycloak' to /etc/hosts in all 4 'Configure Keycloak' steps so OIDC clients on the runner host can reach the metadata endpoint at the docker-internal hostname (the iss claim). - query_agent.py / query_agent.mts: fix suggest_queries call referencing non-existent 'IRPAPERS' collection; use 'ArxivPapers' (which exists in WCD per repopulate.py). - personalization_agent.py: bump fetch limit (20 -> 200) so that contains_any over the 10 listed movie titles reliably has all of them in the result set; the 9k-movie dataset means the previous cap of 20 truncated before 'Avatar 2' showed up.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the docs repo’s pinned Weaviate/client-library versions and expands/reshapes the snippet test harness (plus CI workflow) to improve v1.37 coverage—especially for tokenization and query profiling—while addressing CI flakiness around OIDC/token usage and some agent/indexability tests.
Changes:
- Bump pinned Weaviate + client library versions (Node + Python) and refresh lockfiles.
- Add new v1.37 code samples/tests (TypeScript, Java v6, C#) for tokenization + query profiling, plus C# export coverage.
- CI/test-harness tweaks: yarn-based Node install, optional client-branch overrides, Keycloak issuer alignment, and xfails for known flaky tests.
Reviewed changes
Copilot reviewed 52 out of 56 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Updates Node dependency lockfile for new/added packages and version bumps. |
| versions-config.json | Bumps pinned component/client versions used by builds. |
| uv.lock | Updates Python dependency lockfile (agents + demo datasets). |
| tests/utils.py | Adjusts OIDC env handling to avoid clobbering host vars; adds clearer docstring. |
| tests/test_typescript.py | Enhances TS harness replacement support; adds v1.37 TS snippet coverage. |
| tests/test_python.py | Marks a flaky Python snippet as xfail in CI. |
| tests/test_java.py | Reorders Java suite to run OIDC connection earlier; adds new v1.37 Java tests. |
| tests/test_docs_indexability.py | Marks flaky ChatGPT web-search test as xfail. |
| tests/test_csharp.py | Reorders C# suite to run OIDC connection earlier; adds new v1.37 C# tests. |
| tests/README.md | Updates local setup guidance (Node/yarn) and adds TS-specific instructions. |
| tests/package.json | Keeps only ESM module setting for tsx execution (no dependencies). |
| tests/docker-compose.yml | Bumps Weaviate image to 1.37.2. |
| tests/docker-compose-three-nodes.yml | Bumps Weaviate images to 1.37.2. |
| tests/docker-compose-rbac.yml | Bumps Weaviate image; aligns Keycloak issuer hostname settings for OIDC. |
| tests/docker-compose-anon.yml | Bumps Weaviate image to 1.37.2. |
| tests/docker-compose-anon-offload.yml | Bumps Weaviate image to 1.37.2. |
| tests/docker-compose-anon-clip.yml | Bumps Weaviate image to 1.37.2. |
| tests/docker-compose-anon-bind.yml | Bumps Weaviate image to 1.37.2. |
| tests/docker-compose-anon-2.yml | Bumps Weaviate image to 1.37.2. |
| pytest.ini | Adds a wcd marker for remote WCD tests. |
| pyproject.toml | Bumps Python deps (agents + demo datasets). |
| package.json | Adds deps needed for TS embedded/export tooling; adds a tar resolution; bumps agents. |
| docs/weaviate/tutorials/tokenization.md | Adds TS/Java/C# tabs/snippets for v1.37 tokenization tutorial. |
| docs/weaviate/starter-guides/custom-vectors.mdx | Switches Java version placeholder to java_client_version. |
| docs/weaviate/search/query-profile.md | Adds TS/Java/C# tabs/snippets for query profiling docs. |
| docs/weaviate/client-libraries/java/index.mdx | Switches Java version placeholder to java_client_version. |
| docs/deploy/configuration/export.md | Adds C# snippets for export operations. |
| docs/agents/_includes/query_agent.py | Uses legacy single-vectorizer config; fixes collection name in suggest queries. |
| docs/agents/_includes/query_agent.mts | Adds targetVector config for named-vector collections; fixes collection name. |
| docs/agents/_includes/personalization_agent.py | Increases fetch limit for personalization sample. |
| CLAUDE.md | Updates package-manager guidance to “yarn only” and clarifies npm usage. |
| .github/workflows/docs_tests.yml | Adds workflow_dispatch inputs for client-branch overrides; improves Keycloak/OIDC setup. |
| .github/actions/setup-test-env/action.yml | Switches Node caching/install to yarn with frozen lockfile. |
| _includes/release-history.md | Adds v1.37 client-library coverage entries (TS/Go/Java/C#). |
| _includes/code/tutorials/tokenization/tokenize_endpoint.ts | Adds TS tokenize-endpoint examples and assertions. |
| _includes/code/tutorials/tokenization/custom_stopwords.ts | Adds TS custom stopwords examples and assertions. |
| _includes/code/tutorials/tokenization/accent_folding.ts | Adds TS accent folding examples and assertions. |
| _includes/code/quickstart/clients.install.new.mdx | Switches Java version placeholder to java_client_version. |
| _includes/code/quickstart/clients.install.mdx | Switches Java version placeholder to java_client_version. |
| _includes/code/package.json | Removes nested Node package manifest under _includes/code/. |
| _includes/code/java-v6/src/test/java/TokenizationTest.java | Adds Java v6 tokenization examples/tests for v1.37 features. |
| _includes/code/java-v6/src/test/java/SearchProfileTest.java | Adds Java v6 query-profile examples/tests. |
| _includes/code/java-v6/src/test/java/ConnectionTest.java | Updates OIDC connect snippet to hardcoded RBAC localhost ports. |
| _includes/code/java-v6/pom.xml | Bumps Java client dependency to 6.2.1-SNAPSHOT for tests. |
| _includes/code/howto/search.profile.ts | Adds TS query-profile how-to sample with assertions and setup/cleanup. |
| _includes/code/howto/search.generative.ts | Switches image loading from remote fetch to local file read for test stability. |
| _includes/code/howto/search.bm25.py | Updates BM25 query example text. |
| _includes/code/csharp/TokenizationTest.cs | Adds C# tokenization examples/tests for v1.37 features. |
| _includes/code/csharp/SearchProfileTest.cs | Adds C# query-profile examples/tests. |
| _includes/code/csharp/ManageDataExportTest.cs | Adds C# export examples/tests for v1.37 export preview API. |
| _includes/code/csharp/GetStartedTest.cs | Adds a hidden indexing delay between insert and query for stability. |
| _includes/code/csharp/ConnectionTest.cs | Updates OIDC connect snippet to hardcoded RBAC localhost ports. |
| _includes/code/connections/connect-ts-v3.ts | Updates OIDC connect snippet to hardcoded RBAC localhost ports. |
| _includes/code/connections/connect-python-v4.py | Updates OIDC connect snippet to hardcoded RBAC localhost ports. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| client = await Connect.Local(); | ||
| } | ||
|
|
||
| public Task DisposeAsync() => Task.CompletedTask; |
| movie.properties["title"]: movie | ||
| for movie in movies_collection.query.fetch_objects( | ||
| filters=Filter.by_property("title").contains_any(movie_titles), limit=20 | ||
| filters=Filter.by_property("title").contains_any(movie_titles), limit=200 |
Comment on lines
276
to
285
| # Connect to a self-hosted Weaviate instance configured with OIDC. | ||
| # Obtain the access token from your identity provider before connecting. | ||
| http_host, http_port = os.environ["WEAVIATE_HTTP_HOST"].split(":") | ||
| grpc_host, grpc_port = os.environ["WEAVIATE_GRPC_HOST"].split(":") | ||
|
|
||
| client = weaviate.connect_to_custom( | ||
| http_host=http_host, | ||
| http_port=int(http_port), | ||
| http_host="localhost", | ||
| http_port=8580, | ||
| http_secure=False, | ||
| grpc_host=grpc_host, | ||
| grpc_port=int(grpc_port), | ||
| grpc_host="localhost", | ||
| grpc_port=50551, | ||
| grpc_secure=False, | ||
| auth_credentials=Auth.bearer_token( |
Comment on lines
228
to
236
| // Connect to a self-hosted Weaviate instance configured with OIDC. | ||
| // Obtain the access token from your identity provider before connecting. | ||
| const httpParts = process.env.WEAVIATE_HTTP_HOST!.split(':'); | ||
| const grpcParts = process.env.WEAVIATE_GRPC_HOST!.split(':'); | ||
|
|
||
| const client = await weaviate.connectToCustom({ | ||
| httpHost: httpParts[0], | ||
| httpPort: Number(httpParts[1]), | ||
| httpHost: 'localhost', | ||
| httpPort: 8580, | ||
| httpSecure: false, | ||
| grpcHost: grpcParts[0], | ||
| grpcPort: Number(grpcParts[1]), | ||
| grpcHost: 'localhost', | ||
| grpcPort: 50551, | ||
| grpcSecure: false, |
Comment on lines
241
to
252
| String accessToken = System.getenv("WEAVIATE_OIDC_ACCESS_TOKEN"); | ||
| String refreshToken = System.getenv("WEAVIATE_OIDC_REFRESH_TOKEN"); | ||
| long expiresIn = Long.parseLong( | ||
| System.getenv().getOrDefault("WEAVIATE_OIDC_EXPIRES_IN", "60")); | ||
|
|
||
| WeaviateClient client = WeaviateClient.connectToCustom(config -> config | ||
| .scheme("http") | ||
| .httpHost(httpParts[0]) | ||
| .httpPort(Integer.parseInt(httpParts[1])) | ||
| .grpcHost(grpcParts[0]) | ||
| .grpcPort(Integer.parseInt(grpcParts[1])) | ||
| .httpHost("localhost") | ||
| .httpPort(8580) | ||
| .grpcHost("localhost") | ||
| .grpcPort(50551) | ||
| .authentication(Authentication.bearerToken(accessToken, refreshToken, expiresIn))); |
Comment on lines
239
to
252
| // Connect to a self-hosted Weaviate instance configured with OIDC. | ||
| // Obtain the access token from your identity provider before connecting. | ||
| var httpParts = Environment.GetEnvironmentVariable("WEAVIATE_HTTP_HOST")!.Split(':'); | ||
| var grpcParts = Environment.GetEnvironmentVariable("WEAVIATE_GRPC_HOST")!.Split(':'); | ||
| var accessToken = Environment.GetEnvironmentVariable("WEAVIATE_OIDC_ACCESS_TOKEN")!; | ||
| var refreshToken = Environment.GetEnvironmentVariable("WEAVIATE_OIDC_REFRESH_TOKEN") ?? ""; | ||
| var expiresIn = int.Parse(Environment.GetEnvironmentVariable("WEAVIATE_OIDC_EXPIRES_IN") ?? "60"); | ||
|
|
||
| WeaviateClient client = await WeaviateClientBuilder | ||
| .Custom( | ||
| restEndpoint: httpParts[0], | ||
| restPort: httpParts[1], | ||
| grpcEndpoint: grpcParts[0], | ||
| grpcPort: grpcParts[1], | ||
| restEndpoint: "localhost", | ||
| restPort: "8580", | ||
| grpcEndpoint: "localhost", | ||
| grpcPort: "50551", | ||
| useSsl: false, | ||
| credentials: Auth.BearerToken(accessToken, expiresIn, refreshToken) |
Comment on lines
+7
to
+11
| "weaviate_agents_version": "1.4.0", | ||
| "python_client_version": "4.21.0", | ||
| "go_client_version": "5.7.2", | ||
| "java_client_version": "6.2.0", | ||
| "typescript_client_version": "3.13.0", |
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.
What's being changed:
Type of change:
How has this been tested?
yarn start