-
Notifications
You must be signed in to change notification settings - Fork 40.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document that embedded Tomcat must be at least 10.1.25 #42849
Comments
Out of interest, what's your use case for downgrading Tomcat? |
I don't have a use case myself but I encountered this problem while answering a question on Stack Overflow. So this is my best guess: The OP of that question is using a combination of running an embedded Tomcat during development, and traditional deployment on an external Tomcat on other environments. That external Tomcat happens to be on v10.1.6. I assume they're not able to upgrade that Tomcat, so they decided to downgrade their embedded Tomcat in stead by overriding the They referenced the System Requirements page, arguing that it should be possible to use any Tomcat v10.1.x version, and I understand the confusion, which is why I opened this issue. For context, here is the Q&A: https://stackoverflow.com/q/79116989 |
Thanks for the background and for helping the community on Stack Overflow. IMO, they're reading a little too much into that table. In the section on customizing dependency versions, we warn that "each Spring Boot release is designed and tested against this specific set of third-party dependencies. Overriding versions may cause compatibility issues". That's what's happening here. That said, usually, we do try to be more tolerant of older versions of Tomcat. Unfortunately, that wasn't possible in this case as falling back to the old way of doing this would reintroduce #40945 and #40957. In short, I think it's worth noting that we require at least 10.1.25. |
…ot-starter-parent to v3.3.5 This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.springframework.boot:spring-boot-starter-parent](https://spring.io/projects/spring-boot) ([source](https://github.com/spring-projects/spring-boot)) | parent | patch | `3.3.4` -> `3.3.5` | --- ### Release Notes <details> <summary>spring-projects/spring-boot (org.springframework.boot:spring-boot-starter-parent)</summary> ### [`v3.3.5`](https://github.com/spring-projects/spring-boot/releases/tag/v3.3.5) [Compare Source](spring-projects/spring-boot@v3.3.4...v3.3.5) #### 🐞 Bug Fixes - Running mvn spring-boot:run with classpaths that exceeds Windows' length limits leaves temporary files [#​42841](spring-projects/spring-boot#42841) - Report produced by ConditionReportApplicationContextFailureProcessor is always empty in a failed test [#​42785](spring-projects/spring-boot#42785) - Case-insensitive comparisons may be adversely affected by the user's locale [#​42735](spring-projects/spring-boot#42735) - DataSourceProperties#driverClassIsLoadable should not print a stacktrace to the error stream when it fails [#​42683](spring-projects/spring-boot#42683) - Some `@ControllerEndpoint` and `@RestControllerEndpoint` infrastructure remains undeprecated [#​42498](spring-projects/spring-boot#42498) - Auto-configuration for Rabbit Streams doesn't consider RabbitConnectionDetails [#​42490](spring-projects/spring-boot#42490) - ClassNotFoundException is thrown when loading protocol resolvers from ForkJoinPool task [#​42468](spring-projects/spring-boot#42468) - ActiveMQ Artemis Connection Factory creation fails in native image [#​42421](spring-projects/spring-boot#42421) - Duplicate meter binding when context contains multiple registries, none are primary, and one or more is a composite [#​42397](spring-projects/spring-boot#42397) #### 📔 Documentation - Document that embedded Tomcat must be at least 10.1.25 [#​42849](spring-projects/spring-boot#42849) - Fix systemd example configuration [#​42805](spring-projects/spring-boot#42805) - Document that the exact behavior of the maximum HTTP request header size property is server-specific [#​42789](spring-projects/spring-boot#42789) - Clarify why `@Primary` is recommended when defining your own ObjectMapper that replaces JacksonAutoConfiguration's [#​42787](spring-projects/spring-boot#42787) - Polish javadoc for Binder#bindOrCreate(String, Class) [#​42778](https://github.com/spring-projects/spring-boot/issu...
The System Requirements documentation specifies which versions are supported. However, not all patch versions of Tomcat v10.1.x are supported. For example, since #41093, only Tomcat v10.1.25 or later are supported. Running a Spring Boot v3.3.4 application on Tomcat v10.1.24 or lower will result in an error since
AbstractProtocol.setMaxQueueSize(int)
does not exist.Should the documentation make it more clear that certain patch versions won't work? For example, is it useful to update it to:
Or would this cause too much of a maintenance burden?
The text was updated successfully, but these errors were encountered: