You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ep...@apache.org on 2026/10/12 12:51:43 UTC

(solr-mcp) branch main updated: ci: drop Solr 8.11 from the compatibility matrix and supported range (#255)

This is an automated email from the ASF dual-hosted git repository.

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr-mcp.git


The following commit(s) were added to refs/heads/main by this push:
     new 7cb39a3d ci: drop Solr 8.11 from the compatibility matrix and supported range (#255)
7cb39a3d is described below

commit 7cb39a3da8b1a86b3bd5f75e949247a1e4728009
Author: Aditya Parikh <ad...@gmail.com>
AuthorDate: Mon Oct 12 08:51:24 2026 -0400

    ci: drop Solr 8.11 from the compatibility matrix and supported range (#255)
    
    Apache Solr has end-of-lifed 8.x: the downloads page lists only 10.x
    and 9.11.x as supported and calls every older line EOL. Stop testing
    8.11 in ci.yml and build-and-publish.yml, and state the supported range
    as 9.4-10, the oldest version the matrix still runs, in the README,
    quick start, AGENTS.md and DEVELOPMENT.md.
    
    addFieldTypes_denseVectorField_schemaRoundTrip no longer needs its
    Solr < 9 branch expecting DenseVectorField to be rejected: every tested
    version has the type, which arrived in Solr 9.0.
    
    Signed-off-by: Aditya Parikh <ad...@gmail.com>
    Co-authored-by: Claude Opus 5.5 (1M context) <no...@anthropic.com>
---
 .github/workflows/build-and-publish.yml                     |  3 +--
 .github/workflows/ci.yml                                    |  1 -
 AGENTS.md                                                   |  3 +--
 README.md                                                   |  2 +-
 dev-docs/DEVELOPMENT.md                                     |  3 +--
 docs/site/content/pages/mcp/quick-start.md                  |  2 +-
 .../apache/solr/mcp/server/TestcontainersConfiguration.java |  2 +-
 .../mcp/server/schema/SchemaServiceIntegrationTest.java     | 13 ++-----------
 8 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml
index 875600e4..c38e6e5d 100644
--- a/.github/workflows/build-and-publish.yml
+++ b/.github/workflows/build-and-publish.yml
@@ -171,7 +171,7 @@ jobs:
     # ============================================================================
     # Tests the server against multiple Solr versions using Testcontainers.
     # Runs in parallel so each Solr version is an independent job.
-    # Tested versions: 8.11, 9.4, 9.9, 9.10, 10
+    # Tested versions: 9.4, 9.9, 9.10, 10
     # ============================================================================
     solr-compatibility:
         name: Solr ${{ matrix.solr-version }} Compatibility
@@ -181,7 +181,6 @@ jobs:
             fail-fast: false
             matrix:
                 solr-version:
-                    - "8.11-slim"
                     - "9.4-slim"
                     - "9.9-slim"
                     - "9.10-slim"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 02a8c1dc..27fe6bd8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -158,7 +158,6 @@ jobs:
             fail-fast: false
             matrix:
                 solr-version:
-                    - "8.11-slim"
                     - "9.4-slim"
                     - "9.10-slim"
                     - "10-slim"
diff --git a/AGENTS.md b/AGENTS.md
index 6caf5776..64a38f86 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -455,14 +455,13 @@ are exercised. The Jib JVM path runs in `build-and-publish.yml`.
 The Solr Docker image used in tests is pinned as `test-image-solr` in `gradle/libs.versions.toml` (the Grafana LGTM image for the OTLP test as `test-image-lgtm`), matching the literal default in `TestcontainersConfiguration`/`OtlpExportIntegrationTest`. Override the Solr image for one run with the `solr.test.image` system property:
 
 ```bash
-./gradlew test -Dsolr.test.image=solr:8.11-slim    # Solr 8.11
 ./gradlew test -Dsolr.test.image=solr:9.4-slim     # Solr 9.4
 ./gradlew test -Dsolr.test.image=solr:9.9.0-slim     # Solr 9.9 (the pinned default)
 ./gradlew test -Dsolr.test.image=solr:9.10-slim    # Solr 9.10
 ./gradlew test -Dsolr.test.image=solr:10-slim      # Solr 10
 ```
 
-**Tested compatible versions:** 8.11, 9.4, 9.9, 9.10, 10
+**Tested compatible versions:** 9.4, 9.9, 9.10, 10
 
 ### Solr 10 Compatibility
 
diff --git a/README.md b/README.md
index 8393397f..c199e4be 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ This Spring AI [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
 
 **Prerequisites:** Java 25+, [Docker](https://docs.docker.com/get-docker/) and Docker Compose, Git.
 
-**Compatibility:** works with Apache Solr **8.11–10** (the test suite runs against 9.9 by default — see [Solr version compatibility](dev-docs/DEVELOPMENT.md#solr-version-compatibility)).
+**Compatibility:** works with Apache Solr **9.4–10** (the test suite runs against 9.9 by default — see [Solr version compatibility](dev-docs/DEVELOPMENT.md#solr-version-compatibility)).
 
 #### 1. Start Solr with sample data
 
diff --git a/dev-docs/DEVELOPMENT.md b/dev-docs/DEVELOPMENT.md
index ec77550e..99b7c8cc 100644
--- a/dev-docs/DEVELOPMENT.md
+++ b/dev-docs/DEVELOPMENT.md
@@ -207,14 +207,13 @@ This runs tests tagged with `@Tag("docker-integration")` which verify:
 Tests run against the Solr image pinned as `test-image-solr` in `gradle/libs.versions.toml` by default (the LGTM image for the OTLP test is pinned there too, as `test-image-lgtm`). Point them at another Solr version with the `solr.test.image` system property:
 
 ```bash
-./gradlew test -Dsolr.test.image=solr:8.11-slim   # Solr 8.11
 ./gradlew test -Dsolr.test.image=solr:9.4-slim    # Solr 9.4
 ./gradlew test -Dsolr.test.image=solr:9.9.0-slim    # Solr 9.9 (the pinned default)
 ./gradlew test -Dsolr.test.image=solr:9.10-slim   # Solr 9.10
 ./gradlew test -Dsolr.test.image=solr:10-slim     # Solr 10
 ```
 
-**Tested compatible versions:** 8.11, 9.4, 9.9, 9.10, 10.
+**Tested compatible versions:** 9.4, 9.9, 9.10, 10.
 
 **Solr 10 notes.** Solr 10 is fully supported with the JSON wire format. The `/admin/mbeans`
 endpoint was removed in Solr 10, so `getCacheMetrics()`/`getHandlerMetrics()` catch
diff --git a/docs/site/content/pages/mcp/quick-start.md b/docs/site/content/pages/mcp/quick-start.md
index 1bd1458f..48b34b7c 100644
--- a/docs/site/content/pages/mcp/quick-start.md
+++ b/docs/site/content/pages/mcp/quick-start.md
@@ -7,7 +7,7 @@ template: mcp/quick-start
 
 * Java 25+ ([Eclipse Temurin](https://adoptium.net/) recommended)
 * [Docker](https://docs.docker.com/get-docker/) and Docker Compose
-* Apache Solr **8.11–10** (the bundled sample stack runs Solr 9; the server is tested against 8.11, 9.4, 9.9, 9.10, and 10)
+* Apache Solr **9.4–10** (the bundled sample stack runs Solr 9; the server is tested against 9.4, 9.9, 9.10, and 10)
 * An MCP client &mdash; this guide uses [Claude Desktop](https://claude.ai/download), but any MCP-compatible client works. See [Adding to AI Clients](/mcp/clients/claude-desktop.html) for other options.
 
 ## Start Solr with Sample Data ##
diff --git a/src/test/java/org/apache/solr/mcp/server/TestcontainersConfiguration.java b/src/test/java/org/apache/solr/mcp/server/TestcontainersConfiguration.java
index 83bf13e3..a5efe757 100644
--- a/src/test/java/org/apache/solr/mcp/server/TestcontainersConfiguration.java
+++ b/src/test/java/org/apache/solr/mcp/server/TestcontainersConfiguration.java
@@ -40,7 +40,7 @@ public class TestcontainersConfiguration {
 
 	/**
 	 * Major version of the Solr image under test, read from its tag
-	 * ({@code solr:10-slim} is 10, {@code solr:8.11-slim} is 8), for tests whose
+	 * ({@code solr:10-slim} is 10, {@code solr:9.4-slim} is 9), for tests whose
 	 * expected outcome differs by Solr version.
 	 */
 	public static int solrMajorVersion() {
diff --git a/src/test/java/org/apache/solr/mcp/server/schema/SchemaServiceIntegrationTest.java b/src/test/java/org/apache/solr/mcp/server/schema/SchemaServiceIntegrationTest.java
index c7edbd55..0303550c 100644
--- a/src/test/java/org/apache/solr/mcp/server/schema/SchemaServiceIntegrationTest.java
+++ b/src/test/java/org/apache/solr/mcp/server/schema/SchemaServiceIntegrationTest.java
@@ -20,7 +20,6 @@ import static org.junit.jupiter.api.Assertions.*;
 
 import java.util.List;
 import java.util.Map;
-import org.apache.solr.client.solrj.RemoteSolrException;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -235,16 +234,8 @@ class SchemaServiceIntegrationTest {
 
 	@Test
 	void addFieldTypes_denseVectorField_schemaRoundTrip() throws Exception {
-		List<Map<String, Object>> vectorType = List.of(Map.of("name", "aft_test_vector", "class",
-				"solr.DenseVectorField", "vectorDimension", 4, "similarityFunction", "cosine"));
-
-		if (TestcontainersConfiguration.solrMajorVersion() < 9) {
-			// DenseVectorField arrived in Solr 9.0; older servers reject the type.
-			assertThrows(RemoteSolrException.class, () -> schemaService.addFieldTypes(TEST_COLLECTION, vectorType));
-			return;
-		}
-
-		schemaService.addFieldTypes(TEST_COLLECTION, vectorType);
+		schemaService.addFieldTypes(TEST_COLLECTION, List.of(Map.of("name", "aft_test_vector", "class",
+				"solr.DenseVectorField", "vectorDimension", 4, "similarityFunction", "cosine")));
 
 		SchemaRepresentation schema = schemaService.getSchema(TEST_COLLECTION);
 		Map<String, Object> vt = schema.getFieldTypes().stream()