-
Notifications
You must be signed in to change notification settings - Fork 39
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
Upgrade org.springframework:spring-framework-bom 5.3.27 -> 6.0.8 - abandoned #356
Upgrade org.springframework:spring-framework-bom 5.3.27 -> 6.0.8 - abandoned #356
Conversation
Suggested commit message:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Spring 6 bytecode requires JDK 17. We should either:
- Just not upgrade yet, but TBD for how long.
- Avoid compiling and testing a subset of classes on JDK 11, though TBD how.
- Just raise the baseline to JDK 17; it's almost 2023, after all.
Option (2) is most work, but if we put in the work, we might use it to also solve the problem of supporting multiple incompatible versions of the same library and/or making it easier for users to (de)select rules and checks for a specific library. For example, perhaps there should be a Spring 6-focussed Maven module. (OTOH, supporting Spring 5 still without duplication might get messy then; need to think about it.)
7084682
to
484fe31
Compare
Will add the label |
Summary of changes: - Use JDK 11.0.19 instead of 11.0.18. - Use JDK 17.0.7 instead of 17.0.6. - Use JDK 20.0.1 instead of 19.0.2. - Drop the early access build, as Error Prone is currently not compatible with JDK 21-ea. See: - https://www.oracle.com/java/technologies/javase/11-0-19-relnotes.html - https://www.oracle.com/java/technologies/javase/17-0-7-relnotes.html - https://www.oracle.com/java/technologies/javase/20-relnote-issues.html - https://www.oracle.com/java/technologies/javase/20-0-1-relnotes.html
484fe31
to
1d57c8d
Compare
Looks good. No mutations were possible for these changes. |
1d57c8d
to
206cea6
Compare
# the code is compiled using JDK 17, while the tests are executed | ||
# using JDK 11. | ||
- name: Check out code | ||
uses: actions/[email protected] |
Check warning
Code scanning / Scorecard
Pinned-Dependencies
with: | ||
persist-credentials: false | ||
- name: Set up JDK | ||
uses: actions/[email protected] |
Check warning
Code scanning / Scorecard
Pinned-Dependencies
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DisabledForJreRange(max = JRE.JAVA_16 /* Spring targets JDK 17. */) | ||
@MethodSource("validateRuleCollectionTestCases") | ||
@ParameterizedTest | ||
void validateRuleCollectionWithJdk17AndAbove(Class<?> clazz) { | ||
if (JDK_17_PLUS_RULE_COLLECTIONS.contains(clazz)) { | ||
RefasterRuleCollection.validate(clazz); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can of course instead loop over JDK_17_PLUS_RULE_COLLECTIONS
, but I wanted to stick with a single source of parameterized test elements. 🤷
An alternative approach would be to have a single parameterized test with (Class<?> clazz, JRE minJre)
parameters, but that seems overkill for now. If/when we need to introduce JDK 21-only tests while still supporting JDK 11 we should reconsider.
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. ⚠ Warning: custom changes will be lost. |
c52841e
to
0ccbf97
Compare
0ccbf97
to
81f6d3f
Compare
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
This PR got replaced by #679. |
81f6d3f
to
5e8b4f4
Compare
I have replicated the changes in this PR to #679, so will drop this branch. |
This PR contains the following updates:
5.3.27
->6.0.8
Release Notes
spring-projects/spring-framework
v6.0.8
Compare Source
⭐ New Features
StringUtils.truncate()
#30290ObjectUtils.nullSafeConciseToString()
#30286Cookie
attributes inCookieResultMatchers
forMockMvc
#30285SameSite
cookie attribute inMockMvcHttpConnector
#30264MockCookie
to make use of Servlet 6.0 APIs and semantics for "attributes" #30263initRequestBuilder
inDefaultWebClient
#30254HttpMethod
reflection hint toObjectToObjectConverterRuntimeHints
#30201ConstructorReference
#30189Collections.unmodifiableList(new ArrayList(..))
withList.copyOf()
#30166InputStream.readAllBytes()
inFileCopyUtils.copyToByteArray()
#30155🐞 Bug Fixes
default-destroy-method
in XML config #30301title
inequals()
andhashCode()
ofProblemDetail
#30294@HttpExchange
interface does not resolve return type correctly while using with suspending methods #30266AbstractMessageWriterResultHandler
#30214SharedEntityManagerCreator
#30161📔 Documentation
@PathVariable
reference documentation code snippets #30243@EnableWebSocket
#30183🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@1993heqiang, @TAKETODAY, @ZouHongxue, @alexjansons, @divcon, @edyda99, @filipblondeel, @ghostg00, @giuseppemilicia, @izeye, @justin-tay, @krzyk, @kyuarl21, @quaff, @shitian9, @simonbasle, @srivatsa-cfp, @ssang1105, @stsypanov, @wizard4wu, and @yuzawa-san
v6.0.7
Compare Source
⭐ New Features
matches
operator #30144matches
operator #30140AbstractAutowireCapableBeanFactory
#30103DefaultServerRequestBuilder
methods #30046🐞 Bug Fixes
processAot
fails when Bean Validation API present but no provider found #30130@Autowired
/@Value
does not work on inner bean in native #29803TransactionalOperator
#27572java.lang.Object
on a JDK proxy #25316📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@EnricSala, @MrCoffee77, @abelsromero, @edyda99, @liupeng12345, @srivatsa-cfp, and @yuzawa-san
v6.0.6
Compare Source
⭐ New Features
readNBytes
in ByteArrayHttpMessageConverter when contentLength is available #30010@Nullable
annotations toLogMessage.format
methods #30006CoroutinesUtils#invokeSuspendingFunction
contract #30005@SubscribeMapping
method not called when built as native image #30002ContextView
instead ofContext
inServerWebExchangeContextFilter
#29691@Value
for record injection #28774🐞 Bug Fixes
HttpServiceProxyFactoryExtensions.kt
tospring-web
module #30042PathMatchingResourcePatternResolver
can no longer handle paths containing spaces and special characters #30031NullPointerException
if passing an anonymous class toReflectionsHint#registerType
#29774@Repository
class #29764📔 Documentation
@AspectJ
argument name resolution algorithm is outdated in reference manual #30026chomp
andfold
settings in reference documentation #30001🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@1004789224, @1993heqiang, @AlexElin, @diguage, @divcon, @izeye, @kilink, @lenoch7, @sergiuprdn, @singhbaljit, and @violetagg
v6.0.5
Compare Source
⭐ New Features
CacheControl
#29955HttpServiceProxyFactory#createClient
Kotlin extension #29942TransactionalOperator.executeAndAwait
nullability #29919SharedEntityManagerCreator
'squeryTerminatingMethods
set #29886@Nullable
toProblemDetail.setProperty
value argument #29868ConcurrentExecutorAdapter
for removal in 6.1 #29865Jackson2ObjectMapperBuilder#configureFeature
exception handling #29859http.client.requests
Metrics No Longer Haveclient.name
Tag #29839@Aspect
classes to extend concrete@Aspect
classes #29830@JmsListener
subscription #29790@JsonDeserialize(builder = ...)
does not work in GraalVM native image #29646@RequestMapping
without patterns should match root path as both "" and "/" #29625@JsonNaming
strategy is not supported in GraalVM native image #29386DatabaseClient
is eagerly invoked #29367CloseStatus.SESSION\_NOT\_RELIABLE
#29220Optional
inPayloadMethodArgumentResolver
#28945MockMvc.multipart()
Kotlin extensions withHttpMethod
#28634ModelAttributeMethodProcessor
Kotlin exception handling #23846🐞 Bug Fixes
ex.getPropertyName()
is not initialized inResponseEntityExceptionHandler#handleTypeMismatch
#29959MockHttpServletRequest#setContentType
fails withStringIndexOutOfBoundsException
#29255InMemoryWebSessionStore#changeSessionId
makes blocking calls to UUID.randomUUID #29212forwarding-header-strategy=native
or cloud platform detected #28601CoroutineContext
in reactive transaction #27308📔 Documentation
@DynamicPropertySource
examples regarding changes in Testcontainers #29939ControllerMappingReflectiveProcessor
documentation #29938primitivesDefaultedForNullValue
inBeanPropertyRowMapper
#29923DataClassRowMapper
supports Java records #29814@Bean
method return type for equivalence with XML example #29338@Bean
return type #29944🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Drezir, @FutureGadget, @OlgaMaciaszek, @ThomHurks, @a364176773, @bcc829, @derrick-pericipio, @divcon, @etylermoss, @fml2, @izeye, @j-min5u, @j3graham, @jprinet, @krzyk, @ks-yim, @making, @manthanb, @quaff, @r331, @sephiroth-j, @srivatsa-cfp, @vikeychen, @wplong11, @xavier-b, @yuezk, @yuzawa-san, and @zhmaeff
v6.0.4
Compare Source
⭐ New Features
@Convert
on JPA entities #29771@RequestPart
dto not configured for reflection in aot #29749@Configuration
classes with Kotlin in native-image are broken #29663ResultActions.andExpectAll()
#27317🐞 Bug Fixes
📔 Documentation
ConfigurableEnvironment
#29693🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Dunemaster, @IDJack, @diguage, @izeye, and @quim3ra
v6.0.3
Compare Source
⭐ New Features
MockClientHttpRequest
andMockClientHttpResponse
#29670RequestMappingHandlerMapping#handleNoMatch
#29634ApplicationContext
in AOT mode if AOT processing failed #29579@ModelAttribute
and@InitBinder
annotations@Reflective
#29572BindingReflectionHintsRegistrar
to support properties on records #29571🐞 Bug Fixes
ConstructorReference
does not generate AST representation of arrays #29665@Named
,@ManagedBean
, and other Jakarta annotations #29641NoHandlerFoundException
mistakenly returns request headers fromErrorResponse#getHeaders
#29626@HttpExchange
doesn't work if there are bothURI
and@PathVariable
method parameters #29624boolean
#29598request
-scoped bean with@Lazy
fails in native image (due to missing detection of CGLIB lazy resolution proxies) #29584String
literal (and vice versa) #28356📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Aashay-Chapatwala, @CoderYellow, @ShenFeng312, @Spark61, @divcon, @izeye, @koo-taejin, @mdeinum, @mhalbritter, @quaff, and @singhbaljit
v6.0.2
Compare Source
⭐ New Features
🐞 Bug Fixes
📔 Documentation
v6.0.1
Compare Source
⭐ New Features
SourceHttpMessageConverter
optional #29535LocalVariableTableParameterNameDiscoverer
completely (avoiding its exposure in native images) #29531LogAdapter
to allow build-time code removal #29506🐞 Bug Fixes
📔 Documentation
SQLExceptionSubclassTranslator
in the upgrade guide #29518🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Encyclopedias, @andregasser, @davidcostanzo, @divcon, @jiangying000, @mdeinum, and @wilkinsona
v6.0.0
Compare Source
See What's New in Spring Framework 6.x and Upgrading to Spring Framework 6.x for upgrade instructions and details of new features.
⭐ New Features
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@ophiuhus and @wilkinsona