Skip to content

Commit 2b3160e

Browse files
bnasslahsenclaude
andcommitted
Promote v4 docs to default version, archive current docs as v2
The 3.x line is now GA, so the v4 documentation becomes the default site version served at the root, and the previous current docs (2.8.17) are archived under /v2 (mirroring the existing /v1 legacy docs). - Move current root docs to v2/; move v4/ docs to root (brings mcp.adoc) - v2 files reference {springdoc-version2} (2.8.17); root files reference {springdoc-version} (3.0.3), keeping ui/scalar on {springdoc-version2} - Fix include prefixes: v2/index uses v2/-prefixed includes, root index uses bare includes - pom.xml: add springdoc-version2 attribute, drop dangling springdoc-upcoming-version, copy img to docs/v2/img - Add v2/v1 older-version banner to the root index and mcp.html to sitemap - Restore root index SEO/social meta tags and make them durable: tags live in src/docs/seo/index-head.html and are injected into the generated root index.html only (not v1/v2) by maven-antrun-plugin after asciidoctor runs - Regenerate published docs/ Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 12b4292 commit 2b3160e

157 files changed

Lines changed: 2297 additions & 2878 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎docs/core-properties.html‎

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<meta name="generator" content="Asciidoctor 2.0.15">
8-
<title>Untitled</title>
8+
<title>springdoc-openapi MCP properties</title>
99
<link rel="stylesheet" href="css/site.css">
1010
<script src="js/setup.js"></script><script defer src="js/site.js"></script>
1111

@@ -231,7 +231,7 @@
231231
<tr>
232232
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.use-management-port</p></td>
233233
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
234-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To expose the swagger-ui/scalar on the actuator management port.</p></td>
234+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To expose the swagger-ui on the actuator management port.</p></td>
235235
</tr>
236236
<tr>
237237
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.disable-i18n</p></td>
@@ -330,10 +330,89 @@
330330
</tr>
331331
</tbody>
332332
</table>
333+
<div class="sect2">
334+
<h3 id="_springdoc_openapi_mcp_properties"><a class="anchor" href="#_springdoc_openapi_mcp_properties"></a>springdoc-openapi MCP properties</h3>
335+
<div class="paragraph">
336+
<p>All properties are under the <code>springdoc.ai.mcp</code> prefix. These properties require the <code>springdoc-openapi-starter-webmvc-mcp</code> or <code>springdoc-openapi-starter-webflux-mcp</code> dependency.</p>
337+
</div>
338+
<table class="tableblock frame-all grid-all stretch">
339+
<colgroup>
340+
<col style="width: 33.3333%;">
341+
<col style="width: 33.3333%;">
342+
<col style="width: 33.3334%;">
343+
</colgroup>
344+
<thead>
345+
<tr>
346+
<th class="tableblock halign-left valign-top">Parameter name</th>
347+
<th class="tableblock halign-left valign-top">Default Value</th>
348+
<th class="tableblock halign-left valign-top">Description</th>
349+
</tr>
350+
</thead>
351+
<tbody>
352+
<tr>
353+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.enabled</p></td>
354+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
355+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Enable the MCP tool integration.</p></td>
356+
</tr>
357+
<tr>
358+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.base-url</p></td>
359+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>http://localhost:8080</code></p></td>
360+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. Base URL for tool execution HTTP calls. If not set, defaults to <code>http://localhost:{server.port}</code>.</p></td>
361+
</tr>
362+
<tr>
363+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.init-timeout-seconds</p></td>
364+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>30</code></p></td>
365+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Integer</code>. Timeout in seconds waiting for the OpenAPI spec at startup.</p></td>
366+
</tr>
367+
<tr>
368+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.paths-to-exclude</p></td>
369+
<td class="tableblock halign-left valign-top"></td>
370+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. List of ant patterns for paths to exclude from MCP tool generation.</p></td>
371+
</tr>
372+
<tr>
373+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.mcp-endpoint</p></td>
374+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/mcp</code></p></td>
375+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The MCP server endpoint path.</p></td>
376+
</tr>
377+
<tr>
378+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.dashboard-enabled</p></td>
379+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
380+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Enable the MCP Developer Dashboard UI.</p></td>
381+
</tr>
382+
<tr>
383+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.dashboard-path</p></td>
384+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/mcp-ui</code></p></td>
385+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The dashboard UI mount path.</p></td>
386+
</tr>
387+
<tr>
388+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.guardrails.require-approval-for-mutating-tools</p></td>
389+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
390+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When <code>true</code>, calling a mutating tool (POST/PUT/DELETE/PATCH) via MCP returns an approval-required response instead of executing the HTTP call.</p></td>
391+
</tr>
392+
<tr>
393+
<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.ai.mcp.guardrails.safe-methods</p></td>
394+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GET,HEAD,OPTIONS</code></p></td>
395+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. Comma-separated list of HTTP methods considered safe (read-only). All other methods are treated as mutating.</p></td>
396+
</tr>
397+
</tbody>
398+
</table>
399+
<div class="admonitionblock note">
400+
<table>
401+
<tr>
402+
<td class="icon">
403+
<i class="fa icon-note" title="Note"></i>
404+
</td>
405+
<td class="content">
406+
When MCP is enabled, <code>springdoc.pre-loading-enabled</code> is automatically forced to <code>true</code> by an environment post-processor, ensuring the OpenAPI specification is available at startup for tool registration.
407+
</td>
408+
</tr>
409+
</table>
410+
</div>
411+
</div>
333412
</div>
334413
<div id="footer">
335414
<div id="footer-text">
336-
Last updated 2026-02-28 15:35:27 +0100
415+
Last updated 2026-07-30 23:56:58 +0200
337416
</div>
338417
</div>
339418
</div>

‎docs/css/font-awesome.css‎

100755100644
File mode changed.

‎docs/css/site.css‎

100755100644
File mode changed.

‎docs/css/site.css.map‎

100755100644
File mode changed.

‎docs/demos.html‎

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,31 +37,34 @@ <h3 id="_springdoc_applications_demos"><a class="anchor" href="#_springdoc_appli
3737
<div class="ulist">
3838
<ul>
3939
<li>
40-
<p><a href="https://demos.springdoc.org/demo-spring-boot-3-webmvc" target="_blank" rel="noopener">Demo Spring Boot 3 Web MVC with OpenAPI 3 and Swagger-UI</a></p>
40+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-webmvc" target="_blank" rel="noopener">Demo Spring Boot 4 Web MVC with OpenAPI 3</a></p>
4141
</li>
4242
<li>
43-
<p><a href="https://demos.springdoc.org/demo-spring-boot-3-webflux/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 3 WebFlux with OpenAPI 3 and Swagger-UI</a></p>
43+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-webflux/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 4 WebFlux with OpenAPI 3</a></p>
4444
</li>
4545
<li>
46-
<p><a href="https://demos.springdoc.org/demo-spring-boot-webmvc-scalar/scalar" target="_blank" rel="noopener">Demo Spring Boot 3 Web MVC with OpenAPI 3 and Scalar</a></p>
46+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-webmvc-scalar/scalar" target="_blank" rel="noopener">Demo Spring Boot 4 Web MVC with OpenAPI 3 and Scalar</a></p>
4747
</li>
4848
<li>
49-
<p><a href="https://demos.springdoc.org/demo-spring-boot-webflux-scalar/scalar" target="_blank" rel="noopener">Demo Spring Boot 3 WebFlux with OpenAPI 3 and Scalar</a></p>
49+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-webflux-scalar/scalar" target="_blank" rel="noopener">Demo Spring Boot 4 WebFlux with OpenAPI 3 and Scalar</a></p>
5050
</li>
5151
<li>
52-
<p><a href="https://demos.springdoc.org/demo-spring-boot-3-webflux-functional/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 3 WebFlux with Functional endpoints OpenAPI 3</a></p>
52+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-webflux-functional/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 4 WebFlux with Functional endpoints OpenAPI 3</a></p>
5353
</li>
5454
<li>
55-
<p><a href="https://demos.springdoc.org/demo-spring-hateoas" target="_blank" rel="noopener">Demo Spring Boot 3 and Spring Hateoas with OpenAPI 3</a></p>
55+
<p><a href="https://demos1.springdoc.org/demo-spring-hateoas" target="_blank" rel="noopener">Demo Spring Boot 4 and Spring Hateoas with OpenAPI 3</a></p>
5656
</li>
5757
<li>
58-
<p><a href="https://demos.springdoc.org/spring-cloud-function-webmvc" target="_blank" rel="noopener">Demo Spring Boot 3 and Spring Cloud Function Web MVC</a></p>
58+
<p><a href="https://demos1.springdoc.org/spring-cloud-function-webmvc" target="_blank" rel="noopener">Demo Spring Boot 4 and Spring Cloud Function Web MVC</a></p>
5959
</li>
6060
<li>
61-
<p><a href="https://demos.springdoc.org/spring-cloud-function-webflux/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 3 and Spring Cloud Function WebFlux</a></p>
61+
<p><a href="https://demos1.springdoc.org/spring-cloud-function-webflux/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 4 and Spring Cloud Function WebFlux</a></p>
6262
</li>
6363
<li>
64-
<p><a href="https://demos.springdoc.org/demo-microservices/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 3 and Spring Cloud Gateway</a></p>
64+
<p><a href="https://demos1.springdoc.org/demo-microservices/swagger-ui.html" target="_blank" rel="noopener">Demo Spring Boot 4 and Spring Cloud Gateway</a></p>
65+
</li>
66+
<li>
67+
<p><a href="https://demos1.springdoc.org/demo-spring-boot-mcp/mcp-ui/index.html" target="_blank" rel="noopener">Demo Spring Boot 4 with MCP Support</a></p>
6568
</li>
6669
</ul>
6770
</div>
@@ -76,7 +79,7 @@ <h3 id="_source_code_of_the_demo_applications"><a class="anchor" href="#_source_
7679
<div class="ulist">
7780
<ul>
7881
<li>
79-
<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi-demos/tree/master</a></p>
82+
<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/4.x" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi-demos/tree/4.x</a></p>
8083
</li>
8184
</ul>
8285
</div>
@@ -97,7 +100,7 @@ <h3 id="_source_code_of_the_demo_applications"><a class="anchor" href="#_source_
97100
</div>
98101
<div id="footer">
99102
<div id="footer-text">
100-
Last updated 2025-09-07 15:07:54 +0200
103+
Last updated 2026-07-30 23:56:58 +0200
101104
</div>
102105
</div>
103106
</div>

‎docs/faq.html‎

Lines changed: 7 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ <h3 id="_how_can_i_define_multiple_openapi_definitions_in_one_spring_boot_projec
111111
<div class="ulist">
112112
<ul>
113113
<li>
114-
<p><a href="https://github.com/springdoc/springdoc-openapi/tree/main/springdoc-openapi-tests/springdoc-openapi-actuator-webmvc-tests/src/test/java/test/org/springdoc/api/app68" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/tree/main/springdoc-openapi-tests/springdoc-openapi-actuator-webmvc-tests/src/test/java/test/org/springdoc/api/app68</a></p>
114+
<p><a href="https://github.com/springdoc/springdoc-openapi/tree/spring-boot-4/springdoc-openapi-tests/springdoc-openapi-actuator-webmvc-tests/src/test/java/test/org/springdoc/api/app68" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/tree/spring-boot-4/springdoc-openapi-tests/springdoc-openapi-actuator-webmvc-tests/src/test/java/test/org/springdoc/api/app68</a></p>
115115
</li>
116116
</ul>
117117
</div>
@@ -662,7 +662,7 @@ <h3 id="_how_can_i_test_the_swagger_ui"><a class="anchor" href="#_how_can_i_test
662662
<div class="ulist">
663663
<ul>
664664
<li>
665-
<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p>
665+
<p><a href="https://github.com/springdoc/springdoc-openapi/blob/spring-boot-4/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/spring-boot-4/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p>
666666
</li>
667667
</ul>
668668
</div>
@@ -682,7 +682,7 @@ <h3 id="_how_can_i_customise_the_openapi_object"><a class="anchor" href="#_how_c
682682
<div class="ulist">
683683
<ul>
684684
<li>
685-
<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p>
685+
<p><a href="https://github.com/springdoc/springdoc-openapi/blob/spring-boot-4/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/spring-boot-4/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p>
686686
</li>
687687
</ul>
688688
</div>
@@ -2001,10 +2001,10 @@ <h3 id="_how_to_integrate_open_api_3_with_spring_project_not_spring_boot"><a cla
20012001
<div class="sect2">
20022002
<h3 id="_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot"><a class="anchor" href="#_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot"></a>What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</h3>
20032003
<div class="paragraph">
2004-
<p><code>springdoc-openapi 2.x</code> is compatible with <code>spring-boot 3</code>.</p>
2004+
<p><code>springdoc-openapi 3.x</code> is compatible with <code>spring-boot 4</code>.</p>
20052005
</div>
20062006
<div class="paragraph">
2007-
<p>In general, <strong>you should only pick the last stable version as per today 2.8.17.</strong></p>
2007+
<p>In general, <strong>you should only pick the last stable version as per today 3.0.3.</strong></p>
20082008
</div>
20092009
<div class="paragraph">
20102010
<p>More precisely, this the exhaustive list of spring-boot versions against which <code>springdoc-openapi</code> has been built:</p>
@@ -2020,60 +2020,8 @@ <h3 id="_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot"
20202020
<td class="tableblock halign-left valign-top"><p class="tableblock">Springdoc OpenAPI Versions</p></td>
20212021
</tr>
20222022
<tr>
2023-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4.x.x</code></p></td>
2024-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.x.x</code></p></td>
2025-
</tr>
2026-
<tr>
2027-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.5.x</code></p></td>
2028-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.8.x</code></p></td>
2029-
</tr>
2030-
<tr>
2031-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.4.x</code></p></td>
2032-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code> - <code>2.8.x</code></p></td>
2033-
</tr>
2034-
<tr>
2035-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.3.x</code></p></td>
2036-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.6.x</code></p></td>
2037-
</tr>
2038-
<tr>
2039-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.2.x</code></p></td>
2040-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.x</code> - <code>2.5.x</code></p></td>
2041-
</tr>
2042-
<tr>
2043-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.1.x</code></p></td>
2044-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.2.x</code></p></td>
2045-
</tr>
2046-
<tr>
2023+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4.0.x</code></p></td>
20472024
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.0.x</code></p></td>
2048-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code> - <code>2.1.x</code></p></td>
2049-
</tr>
2050-
<tr>
2051-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code>, <code>1.5.x</code></p></td>
2052-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.6.0</code>+</p></td>
2053-
</tr>
2054-
<tr>
2055-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.6.x</code>, <code>1.5.x</code></p></td>
2056-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.6.0</code>+</p></td>
2057-
</tr>
2058-
<tr>
2059-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.5.x</code>, <code>1.5.x</code></p></td>
2060-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5.9</code>+</p></td>
2061-
</tr>
2062-
<tr>
2063-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.4.x</code>, <code>1.5.x</code></p></td>
2064-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5.0</code>+</p></td>
2065-
</tr>
2066-
<tr>
2067-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.x</code>, <code>1.5.x</code></p></td>
2068-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.4.0</code>+</p></td>
2069-
</tr>
2070-
<tr>
2071-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.2.x</code>, <code>1.5.x</code></p></td>
2072-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.2.1</code>+</p></td>
2073-
</tr>
2074-
<tr>
2075-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code>, <code>1.5.x</code></p></td>
2076-
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.0.0</code>+</p></td>
20772025
</tr>
20782026
</tbody>
20792027
</table>
@@ -2127,7 +2075,7 @@ <h3 id="_some_parameters_are_not_generated_in_the_resulting_openapi_spec"><a cla
21272075
</div>
21282076
<div id="footer">
21292077
<div id="footer-text">
2130-
Last updated 2026-01-01 20:40:09 +0100
2078+
Last updated 2026-07-30 23:56:58 +0200
21312079
</div>
21322080
</div>
21332081
</div>

0 commit comments

Comments
 (0)