Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/indexability_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ jobs:
- name: Run HTML structure tests
id: html-tests
continue-on-error: true
env:
# This job manages no containers of its own — skip conftest's docker startup.
DOCS_GITHUB_ENV: "true"
run: |
echo "Running HTML indexability tests..."
uv run pytest -m "indexability" -v --tb=short --junitxml=pytest-results.xml
Expand All @@ -46,6 +49,8 @@ jobs:
continue-on-error: true
if: env.ANTHROPIC_API_KEY != '' && env.OPENAI_API_KEY != ''
env:
# This job manages no containers of its own — skip conftest's docker startup.
DOCS_GITHUB_ENV: "true"
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/llms_txt_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ jobs:
id: run-tests
continue-on-error: true
env:
# This job manages no containers of its own — skip conftest's docker startup.
DOCS_GITHUB_ENV: "true"
# Raises GitHub's anonymous rate limit (60/hr → 5000/hr) for the
# version-freshness test, which hits /releases/latest per library.
GH_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
1 change: 1 addition & 0 deletions _build_scripts/update-config-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ const appendVersionsToConfig = async (config) => {
config.go_client_version = await getRepoVersion('weaviate-go-client');
config.java_client_version = await getRepoVersion('weaviate-java-client');
config.typescript_client_version = await getRepoVersion('typescript-client');
config.csharp_client_version = await getRepoVersion('csharp-client');
config.helm_version = await getRepoVersion('weaviate-helm');
config.weaviate_cli_version = await getRepoVersion('weaviate-cli');
config.agents_python_version = await getRepoVersion('weaviate-agents-python-client');
Expand Down
1 change: 1 addition & 0 deletions _includes/code/howto/search.bm25.gql.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
limit: 3
bm25: {
query: "Australian mammal cute"
properties: ["question", "answer"]
# highlight-start
searchOperator: {
operator: AndCross,
Expand Down
2 changes: 2 additions & 0 deletions _includes/code/howto/search.bm25.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@
response = jeopardy.query.bm25(
# highlight-start
query="African desert wind",
# and_cross errors unless every searched property shares tokenization settings
query_properties=["question", "answer"],
# Each token must be matched by at least one searched property,
# but not necessarily all by the same property
operator=BM25Operator.and_cross(),
Expand Down
12 changes: 6 additions & 6 deletions _includes/release-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ This table lists recent Weaviate Database versions and corresponding client libr

| Weaviate Database <br/><small>([GitHub][cWeaviate])</small> | First <br/>release date | Python <br/><small>([GitHub][cPython])</small> | TypeScript/ <br/>JavaScript <br/><small>([GitHub][cTypeScript])</small> | Go <br/><small>([GitHub][cGo])</small> | Java <br/><small>([GitHub][cJava])</small> | C# <br/><small>([GitHub][cCSharp])</small> |
| :------------------------------------------------------------------ | :---------------------- | :-------------------------------------------------------------------------------: | :--------------------------------------------------------------------------: | :-------------------------------------------------------------------------: | :-----------------------------------------------------------------: | :-----------------------------------------------------------------------------: |
| [1.39.x](https://github.com/weaviate/weaviate/releases/tag/v1.39.0) | 2026-08-04 | [4.23.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.23.0) | - | - | [6.3.1](https://github.com/weaviate/java-client/releases/tag/6.3.1) | - |
| [1.38.x](https://github.com/weaviate/weaviate/releases/tag/v1.38.0) | 2026-06-05 | [4.22.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.22.0) | [3.14.x](https://github.com/weaviate/typescript-client/releases/tag/v3.14.0) | - | [6.3.0](https://github.com/weaviate/java-client/releases/tag/6.3.0) | - |
| [1.37.x](https://github.com/weaviate/weaviate/releases/tag/v1.37.0) | 2026-04-16 | [4.21.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.21.0) | [3.13.x](https://github.com/weaviate/typescript-client/releases/tag/v3.13.0) | [5.7.3](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.7.3) | [6.2.0](https://github.com/weaviate/java-client/releases/tag/6.2.0) | N/A |
| [1.36.x](https://github.com/weaviate/weaviate/releases/tag/v1.36.0) | 2026-02-24 | [4.20.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.20.0) | [3.12.x](https://github.com/weaviate/typescript-client/releases/tag/v3.12.0) | [5.7.x](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.7.0) | [6.1.0](https://github.com/weaviate/java-client/releases/tag/6.1.0) | [1.0.1](https://github.com/weaviate/weaviate-dotnet-client/releases/tag/v1.0.1) |
| [1.35.x](https://github.com/weaviate/weaviate/releases/tag/v1.35.0) | 2025-12-17 | [4.19.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.19.0) | [3.11.x](https://github.com/weaviate/typescript-client/releases/tag/v3.11.0) | [5.6.x](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.6.0) | [6.0.0](https://github.com/weaviate/java-client/releases/tag/6.0.0) | [1.0.0](https://github.com/weaviate/weaviate-dotnet-client/releases/tag/v1.0.0) |
| [1.39.x](https://github.com/weaviate/weaviate/releases/tag/v1.39.0) | 2026-08-04 | [4.23.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.23.0) | - | - | [6.3.1](https://github.com/weaviate/java-client/releases/tag/6.3.1) | [1.2.0](https://github.com/weaviate/csharp-client/releases/tag/1.2.0) |
| [1.38.x](https://github.com/weaviate/weaviate/releases/tag/v1.38.0) | 2026-06-05 | [4.22.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.22.0) | [3.14.x](https://github.com/weaviate/typescript-client/releases/tag/v3.14.0) | - | [6.3.0](https://github.com/weaviate/java-client/releases/tag/6.3.0) | [1.2.0](https://github.com/weaviate/csharp-client/releases/tag/1.2.0) |
| [1.37.x](https://github.com/weaviate/weaviate/releases/tag/v1.37.0) | 2026-04-16 | [4.21.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.21.0) | [3.13.x](https://github.com/weaviate/typescript-client/releases/tag/v3.13.0) | [5.7.3](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.7.3) | [6.2.0](https://github.com/weaviate/java-client/releases/tag/6.2.0) | [1.1.1](https://github.com/weaviate/csharp-client/releases/tag/1.1.1) |
| [1.36.x](https://github.com/weaviate/weaviate/releases/tag/v1.36.0) | 2026-02-24 | [4.20.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.20.0) | [3.12.x](https://github.com/weaviate/typescript-client/releases/tag/v3.12.0) | [5.7.x](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.7.0) | [6.1.0](https://github.com/weaviate/java-client/releases/tag/6.1.0) | [1.0.1](https://github.com/weaviate/csharp-client/releases/tag/1.0.1) |
| [1.35.x](https://github.com/weaviate/weaviate/releases/tag/v1.35.0) | 2025-12-17 | [4.19.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.19.0) | [3.11.x](https://github.com/weaviate/typescript-client/releases/tag/v3.11.0) | [5.6.x](https://github.com/weaviate/weaviate-go-client/releases/tag/v5.6.0) | [6.0.0](https://github.com/weaviate/java-client/releases/tag/6.0.0) | [1.0.0](https://github.com/weaviate/csharp-client/releases/tag/1.0.0) |

<details>
<summary>Older releases</summary>
Expand Down Expand Up @@ -59,6 +59,6 @@ The [TypeScript client](https://github.com/weaviate/typescript-client) replaced
[cTypeScript]: https://github.com/weaviate/typescript-client/releases
[cGo]: https://github.com/weaviate/weaviate-go-client/releases
[cJava]: https://github.com/weaviate/java-client/releases
[cCSharp]: https://github.com/weaviate/weaviate-dotnet-client/releases
[cCSharp]: https://github.com/weaviate/csharp-client/releases

</details>
3 changes: 2 additions & 1 deletion docs/weaviate/api/graphql/search-operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -555,7 +555,7 @@ The available options are `And`, `Or`, and `AndCross`:

If not set, the keyword search behaves as if `Or` was set with a `minimumOrTokensMatch` of `1`.

An `AndCross` query example:
An `AndCross` query example, restricted to `question` and `answer` because the `JeopardyQuestion` collection mixes tokenizations across its properties:

```graphql
{
Expand All @@ -564,6 +564,7 @@ An `AndCross` query example:
limit: 3
bm25: {
query: "African desert wind"
properties: ["question", "answer"]
searchOperator: {
operator: AndCross
}
Expand Down
2 changes: 1 addition & 1 deletion docs/weaviate/search/bm25.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ If a collection mixes tokenizations, restrict the search to a compatible set of

:::

The examples below use Python and GraphQL, because `and_cross` is currently available in the Python client and not yet in the TypeScript, Go, Java, or C# clients.
The examples below use Python and GraphQL: `and_cross` is available in the Python client and, from version `1.2.0`, the C# client, but not yet in the TypeScript, Go, or Java clients. Both examples restrict the search to `question` and `answer`, because the `JeopardyQuestion` collection mixes tokenizations across its properties.

<Tabs className="code" groupId="languages">
<TabItem value="py" label="Python">
Expand Down
11 changes: 8 additions & 3 deletions tests/test_docs_indexability.py
Original file line number Diff line number Diff line change
Expand Up @@ -641,9 +641,14 @@ def test_chatgpt_can_search_code_tabs():
text = response.output_text
text_lower = text.lower()

# Must find the correct quickstart URL
assert "docs.weaviate.io/weaviate/quickstart" in text, (
f"ChatGPT didn't find the quickstart URL. Response:\n{text[:1000]}"
# The live web-search model cites either /weaviate/quickstart or /cloud/quickstart,
# so the URL is not a reliable assertion target; the content assertions below carry the signal.
found_quickstart_url = (
"docs.weaviate.io/weaviate/quickstart" in text
or "docs.weaviate.io/cloud/quickstart" in text
)
assert found_quickstart_url, (
f"ChatGPT didn't find a quickstart URL. Response:\n{text[:1000]}"
)

# Must identify multiple programming languages from the code tabs
Expand Down
2 changes: 2 additions & 0 deletions tests/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
"rate limit", "overloaded", "temporarily unavailable",
"error while connecting", "connection error",
"weaviate_cloud_connection_error",
# Embedded Weaviate's gRPC port is fixed but ephemeral-range, so a transient holder can free it before a retry.
"address already in use", "did not start listening",
)


Expand Down
2 changes: 1 addition & 1 deletion versions-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
"java_client_version": "6.2.0",
"typescript_client_version": "3.13.1",
"spark_connector_version": "1.4.0",
"csharp_client_version": "1.1.1"
"csharp_client_version": "1.2.0"
}
Loading