Skip to content
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

Conversation

Picnic-Bot
Copy link
Contributor

@Picnic-Bot Picnic-Bot commented Nov 18, 2022

This PR contains the following updates:

Package Type Update Change
org.springframework:spring-framework-bom import major 5.3.27 -> 6.0.8

Release Notes

spring-projects/spring-framework

v6.0.8

Compare Source

⭐ New Features

  • Disable variable assignment in SimpleEvaluationContext #​30326
  • Limit SpEL expression length #​30325
  • Limit string concatenation in SpEL expressions #​30324
  • Introduce StringUtils.truncate() #​30290
  • Introduce ObjectUtils.nullSafeConciseToString() #​30286
  • Introduce assertions against Cookie attributes in CookieResultMatchers for MockMvc #​30285
  • Polishing #​30267
  • Support SameSite cookie attribute in MockMvcHttpConnector #​30264
  • Update MockCookie to make use of Servlet 6.0 APIs and semantics for "attributes" #​30263
  • Refine initRequestBuilder in DefaultWebClient #​30254
  • HttpServerErrorException contains not-serializable field of type DefaultResponseErrorHandler #​30224
  • Add class hints for Jackson annotations on fields and methods #​30208
  • Add HttpMethod reflection hint to ObjectToObjectConverterRuntimeHints #​30201
  • Improve performance of canRead() in HttpMessageReader's #​30192
  • Optimize array creation in SpEL ConstructorReference #​30189
  • ConstructorResolver error hints about mixing indexed and named args #​30169
  • Replace Collections.unmodifiableList(new ArrayList(..)) with List.copyOf() #​30166
  • Add assert null validations for DefaultServerResponseBuilder #​30157
  • Use InputStream.readAllBytes() in FileCopyUtils.copyToByteArray() #​30155
  • Cache ServerHttpRequest::getMethod in AbstractServerHttpRequest #​30139
  • Use String.equals() in LiteralPathElement #​30138
  • Optimize some iterations in BodyExtractor and BodyInserter #​30136
  • Add a couple missing java.time types to StatementCreatorUtils #​30123
  • WebClient observations should not record CANCEL signals as aborted if response was received #​30070
  • Destroy method not found in native image if concrete bean type is not exposed #​29545
  • Contribute init/destroy lifecycle introspection hints for registered beans #​29246

🐞 Bug Fixes

  • NPE thrown for nonexistent default-destroy-method in XML config #​30301
  • Fix comparison of title in equals() and hashCode() of ProblemDetail #​30294
  • SSE breaks with indenting serializer in WebMvc.fn #​30277
  • @HttpExchange interface does not resolve return type correctly while using with suspending methods #​30266
  • Increase max regex length in SpEL expressions #​30265
  • Missing response information from client observation context when filter functions fail #​30247
  • NullPointerException on timeout in HttpComponentsClientHttpConnector when using Apache HttpComponents #​30245
  • Wrong MockRestRequestMatchers.header() method in spring-test being invoked (JDK issue?) #​30220
  • Refine generic type management in AbstractMessageWriterResultHandler #​30214
  • MvcUriComponentsBuilder.fromMethodCall breaks for controller with CharSequence return type #​30210
  • Encode IPV6 Zone IDs (%) in ReactorServerHttpRequest #​30188
  • Handle all exceptions for stored proc output param retrieval in SharedEntityManagerCreator #​30161
  • Fix IllegalArgumentException that prevents STOMP DISCONNECT from reaching the client #​30120
  • TypeNotPresentException: org/springframework/cglib/proxy/NoOp not present on Java 17 #​30115

📔 Documentation

  • Add since tags to sameSite() and attribute() in CookieResultMatchersDsl #​30308
  • Fix incorrect jakarta.inject artifact version #​30270
  • Fix @PathVariable reference documentation code snippets #​30243
  • Use diamond operator in examples in reference manual #​30204
  • Fix example in Javadoc for @EnableWebSocket #​30183
  • Fix anchor in link to "Web on Reactive Stack" chapter #​30158
  • Documentation for Vavr's Try method to trigger transaction rollbacks #​30108
  • Document that WebClient defaultStatusHandler do not apply to exchange* methods #​30059

🔨 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

  • Improve diagnostics in SpEL for matches operator #​30144
  • Improve diagnostics in SpEL for repeated text #​30142
  • Increase scope of regex pattern cache for the SpEL matches operator #​30140
  • Minor updates in HandlerMappingIntrospector #​30127
  • Skip parameter name resolution when not needed in AbstractAutowireCapableBeanFactory #​30103
  • Remove extra copy of headers/cookies in WebClient #​30092
  • Assert non-null arguments in DefaultServerRequestBuilder methods #​30046
  • Jetty 12 support in WebFlux #​29575

🐞 Bug Fixes

  • Gradle task processAot fails when Bean Validation API present but no provider found #​30130
  • ContentDisposition::parse does not support Windows paths #​30111
  • BindException raised instead of MethodArgumentNotValidException subclass #​30100
  • Ensure reactive transaction rollback on commit error #​30096
  • CaffeineCacheManager getCache method cause thread block #​30066
  • RequestedContentTypeResolver does not ignore quality factor when filtering */* media types #​29915
  • @Autowired/@Value does not work on inner bean in native #​29803
  • Avoid rollback after a commit failure in TransactionalOperator #​27572
  • SpEL: cannot call methods declared in java.lang.Object on a JDK proxy #​25316

📔 Documentation

  • Add anchor rewrites in the reference documentation #​30132
  • Fix minor spacings in webflux docs #​30078
  • Add a list of observations produced by Spring Framework #​30060

🔨 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

  • Prefer request hostName and hostPort in ReactorServerHttpRequest #​30062
  • Use readNBytes in ByteArrayHttpMessageConverter when contentLength is available #​30010
  • Add missing @Nullable annotations to LogMessage.format methods #​30006
  • Refine CoroutinesUtils#invokeSuspendingFunction contract #​30005
  • @SubscribeMapping method not called when built as native image #​30002
  • Provide method with ContextView instead of Context in ServerWebExchangeContextFilter #​29691
  • Support @Value for record injection #​28774

🐞 Bug Fixes

  • WebClient now requires scheme #​30053
  • Move HttpServiceProxyFactoryExtensions.kt to spring-web module #​30042
  • AutowireCapableBeanFactory.createBean does not prefer default constructor anymore #​30041
  • Server request URL with spring-webflux 6.0.5 is in resolved IP6 format #​30033
  • PathMatchingResourcePatternResolver can no longer handle paths containing spaces and special characters #​30031
  • Catch defensively exception thrown by validation contraints AOT processing of Kotlin extensions #​30037
  • Fix proxy hint Kotlin extensions #​30025
  • WebFlux fails with WebDAV HTTP methods #​29981
  • NullPointerException if passing an anonymous class to ReflectionsHint#registerType #​29774
  • Native hints for package private methods on custom @Repository class #​29764
  • Native version of webflux/r2dbc failed #​29582
  • Protect JMS connection creation against prepareConnection errors #​29116
  • SingleConnectionFactory - reconnection problem (AMQ Broker) #​29115

📔 Documentation

  • Fix "Configuring a Global Date and Time Format" example #​30034
  • @AspectJ argument name resolution algorithm is outdated in reference manual #​30026
  • Update comment in Javadoc of ServletRequestPathFilter DispatcherServlet relating to DispatcherServlet #​30014
  • Revise AspectJ examples in the reference manual #​30003
  • Revise chomp and fold 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

  • Add RFC-8246 "immutable" attribute to CacheControl #​29955
  • Allow MockRest to match header/queryParam value list with one Matcher #​29953
  • DataBuffer should offer restricted access to underlying ByteBuffer #​29943
  • Introduce HttpServiceProxyFactory#createClient Kotlin extension #​29942
  • Support ProblemDetail serialization to XML with Jackson #​29927
  • Refine TransactionalOperator.executeAndAwait nullability #​29919
  • Early support for JDK 21 #​29910
  • StringDecoder causes direct allocation of ByteBuffer #​29889
  • Include all Hibernate query methods in SharedEntityManagerCreator's queryTerminatingMethods set #​29886
  • Add native support for RSocketExchange. #​29877
  • Add @Nullable to ProblemDetail.setProperty value argument #​29868
  • Deprecate obsolete ConcurrentExecutorAdapter for removal in 6.1 #​29865
  • ContentDisposition.toString() should include both regular and extended filename parameter #​29861
  • Refine Jackson2ObjectMapperBuilder#configureFeature exception handling #​29859
  • Flexible constructor resolution in AutowireCapableBeanFactory.createBean(Class) #​29855
  • Optimize CorsConfiguration::checkHeaders #​29853
  • Spring Web RestTemplate http.client.requests Metrics No Longer Have client.name Tag #​29839
  • Allow @Aspect classes to extend concrete @Aspect classes #​29830
  • Custom Constraint Validator not work with native image #​29823
  • Deprecate HttpStatus 103 CHECKPOINT in favor of new EARLY_HINTS #​29816
  • Fix R2dbcTransactionManager debug log: don't log a Mono #​29800
  • Improve generated default name for @JmsListener subscription #​29790
  • Support double-quoted values in HttpHeaders::getValuesAsList #​29785
  • Support method validation for an interface only proxy like an HTTP interface client #​29782
  • ResourceHandlers cannot resolve static resources without wildcard patterns #​29739
  • Release R2DBC connection when cleanup fails in transaction #​29703
  • Spring Webfilters and Kotlin Coroutines #​29672
  • Support "multipart/mixed" and "multipart/related" in DefaultServerWebExchange #​29671
  • @JsonDeserialize(builder = ...) does not work in GraalVM native image #​29646
  • Combined class and method @RequestMapping without patterns should match root path as both "" and "/" #​29625
  • Prefer problem detail media type independent of ordering in Accept header #​29588
  • Restrict forwards in MockMvcWebConnection to 100 #​29557
  • @JsonNaming strategy is not supported in GraalVM native image #​29386
  • SQL supplier in R2DBC DatabaseClient is eagerly invoked #​29367
  • Set reason for WebSocket CloseStatus.SESSION\_NOT\_RELIABLE #​29220
  • HttpComponentsClientHttpConnector hangs when host is invalid #​29156
  • Add ResponseEntity.ofNullable() to deal with non-Optional nullable objects #​29117
  • Provide access to all configured interceptors in AbstractHandlerMapping #​28985
  • Support Optional in PayloadMethodArgumentResolver #​28945
  • Remove clear() call to release method of WeakEntryReference and SoftEntryReference #​28863
  • Add MockMvc.multipart() Kotlin extensions with HttpMethod #​28634
  • WebSocketConnectionManager constructor with prepared URI #​28524
  • Deprecate Base64Utils #​28434
  • List supported media types in HttpMediaTypeNotSupportedException when given invalid input media types #​28062
  • Introduce getContentAsString and getContentAsByteArray to Resource #​24651
  • Support Optional in Jackson 2 message converters #​24498
  • Refine ModelAttributeMethodProcessor Kotlin exception handling #​23846

🐞 Bug Fixes

  • DefaultHandlerExceptionResolver::doResolveException no longer returns ModelAndView customized via protected method #​29971
  • ex.getPropertyName() is not initialized in ResponseEntityExceptionHandler#handleTypeMismatch #​29959
  • Violation of a unique index on insert in MSSQL is translated to DataIntegrityViolationException instead of DuplicateKeyException #​29950
  • PathMatchingResourcePatternResolver duplicates module/file resources #​29934
  • ResourceUrlEncodingFilter throws StringIndexOutOfBoundsException in tests #​29933
  • Explicit target ClassLoader for interface-based proxies in MvcUriComponentsBuilder #​29913
  • org.springframework.web.context.ContextLoader cannot be loaded in a native image #​29905
  • MockHttpServletRequest InputStream has been made static in gh-29125 #​29901
  • MvcUriComponentsBuilder adds trailing slash if path is defined at controller level only #​29897
  • Closing an ApplicationContext leads to Exception at ExecutorServiceAdapter #​29892
  • Set WebClient Observation as current in reactor context #​29891
  • Client request observation contributes full URI template to uri meter tag values #​29885
  • HTTP client observations miss uri keyvalue for "/" requests #​29879
  • ProblemDetail is missing serialization hints for Native Image #​29801
  • Invalid Accept header results in IllegalStateException #​29794
  • AOT processing fails with Set if type doesn't implement Comparable #​29792
  • CSRF token not available to FreeMarker templates #​29787
  • Fail more explicitly when AOT attempts to handle a bean definition that uses an instance supplier #​29556
  • WebSocket stats not updated correctly when sessions cleared #​29375
  • MockHttpServletRequest#setContentType fails with StringIndexOutOfBoundsException #​29255
  • InMemoryWebSessionStore#changeSessionId makes blocking calls to UUID.randomUUID #​29212
  • ReactorServerHttpRequest does not reflect forwarded host and port when forwarding-header-strategy=native or cloud platform detected #​28601
  • Propagate CoroutineContext in reactive transaction #​27308
  • Bean validation doesn't work on Kotlin coroutines controller parameters #​23499

📔 Documentation

  • Update @DynamicPropertySource examples regarding changes in Testcontainers #​29939
  • Refine ControllerMappingReflectiveProcessor documentation #​29938
  • Clarify semantics of primitivesDefaultedForNullValue in BeanPropertyRowMapper #​29923
  • Document instrumentation for RestTemplate and/or WebClient #​29904
  • CronExpression::parse has invalid Javadoc #​29884
  • Update Javadoc on async request timeout value in HandlerFunctionAdapter #​29882
  • Document how to mark an observation as an error if the exception was handled #​29848
  • Document that bean instance suppliers are not supported with AOT/native #​29835
  • Clearly document that DataClassRowMapper supports Java records #​29814
  • Increase number of TOC levels in generated PDF documentation #​29781
  • Consistent @Bean method return type for equivalence with XML example #​29338
  • Outdated Javadoc for AbstractApplicationContext.postProcessBeanFactory #​29064
  • Improve documentation on support for a language-only Locale requested via "Accept-Language" #​28673
  • Update the reference documentation with limitation related to @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

  • Add native support for @Convert on JPA entities #​29771
  • @RequestPart dto not configured for reflection in aot #​29749
  • Avoid wasted memory on empty maps and sets #​29742
  • Compatibility with Hibernate ORM 6.2 #​29736
  • Add Kotlin DSL support for MockMVC andExpectAll #​29727
  • Add ExecutingResponseCreator to delegate request and response #​29721
  • JmsTemplate.convertAndSend throws NullPointerException during shutdown #​29706
  • Extract ResourceEntityResolver HTTPS schema resolution fallback #​29697
  • @Configuration classes with Kotlin in native-image are broken #​29663
  • Introduce Kotlin DSL for ResultActions.andExpectAll() #​27317

🐞 Bug Fixes

  • ResourceHandlers cannot resolve static resources with certain wildcard patterns #​29712
  • Conflict on insert gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 #​29699

📔 Documentation

  • fix typo in core-aot.adoc #​29788
  • Polish #​29727: Mention Kotlin andExpectAll in reference manual #​29766
  • Update Jakarta Mail info in ref docs #​29707
  • Trigger/TriggerContext reference documentation outdated #​29702
  • Improve documentation for literals in SpEL expressions #​29700
  • Small fixes and improvements to the reference documentation #​29694
  • Fix manipulating property sources example in Javadoc for 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

  • Throw PessimisticLockingFailureException/CannotAcquireLockException instead of plain ConcurrencyFailureException #​29675
  • Introduce additional constructors in MockClientHttpRequest and MockClientHttpResponse #​29670
  • Fall back to JdkClientHttpConnector as ClientHttpConnector #​29645
  • Optimize object creation in RequestMappingHandlerMapping#handleNoMatch #​29634
  • Align multipart codecs on client and server #​29630
  • Deprecate "application/graphql+json" media type after spec changes #​29617
  • HTTP interface client does not call FormHttpMessageWriter when writing form data #​29615
  • ProblemDetail doesn't override the equals method #​29606
  • Add title to SockJS iFrames for accessibility compliance #​29594
  • Forbid loading of a test's ApplicationContext in AOT mode if AOT processing failed #​29579
  • Deprecate JettyWebSocketClient in favor of StandardWebSocketClient #​29576
  • Improve options to expose MessageSource formatted errors for a ProblemDetail response #​29574
  • Make @ModelAttribute and @InitBinder annotations @Reflective #​29572
  • Update BindingReflectionHintsRegistrar to support properties on records #​29571

🐞 Bug Fixes

  • Cannot use WebDAV methods in Spring MVC 6.0 anymore #​29689
  • AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist in container annotation #​29685
  • BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue #​29681
  • SpEL ConstructorReference does not generate AST representation of arrays #​29665
  • NullPointerException in BindingReflectionHintsRegistrar for anonymous classes #​29657
  • DataBufferInputStream violates InputStream contract #​29642
  • Component scanning no longer uses component index for @Named, @ManagedBean, and other Jakarta annotations #​29641
  • Fix canWrite in PartHttpMessageWriter #​29631
  • NoHandlerFoundException mistakenly returns request headers from ErrorResponse#getHeaders #​29626
  • URI override for @HttpExchange doesn't work if there are both URI and @PathVariable method parameters #​29624
  • Unnecessary parameter name introspection for constructor-arg resolution (leading to LocalVariableTableParameterNameDiscoverer warnings) #​29612
  • Set detail from reason in both constructors of ResponseStatusException #​29608
  • SpEL string literal misses single quotation marks in toStringAST() #​29604
  • AOT code generation fails for bean of type boolean #​29598
  • request-scoped bean with @Lazy fails in native image (due to missing detection of CGLIB lazy resolution proxies) #​29584
  • 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException #​29565
  • ConcurrentLruCache implementation is using too much heap memory #​29520
  • Duplicate key violation gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 #​29511
  • SpEL: Two double quotes are replaced by one double quote in single quoted String literal (and vice versa) #​28356

📔 Documentation

  • Fix ErrorResponse#type documentation #​29632
  • Fix typo in observability documentation #​29590
  • Consistent documentation references to Jakarta WebSocket (2.1) #​29581
  • Unrendered asciidoc headings in reference documentation #​29569
  • Document observability support #​29524

🔨 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

  • Rely on standard parameter name resolution in Bean Validation 3.0 #​29566

🐞 Bug Fixes

  • ResponseStatusException does not use the reason to set the "detail" field #​29567
  • LocalVariableTableParameterNameDiscoverer logs many warnings with Hibernate validation #​29563

📔 Documentation

  • org.springframework.web.multipart.commons not found #​29562

v6.0.1

Compare Source

⭐ New Features

  • Make SourceHttpMessageConverter optional #​29535
  • Deprecate LocalVariableTableParameterNameDiscoverer completely (avoiding its exposure in native images) #​29531
  • Make GeneratorStrategy.generate unreachable on native #​29521
  • Update LogAdapter to allow build-time code removal #​29506

🐞 Bug Fixes

  • Unhandled exceptions should mark Servlet observation outcome as error #​29512

📔 Documentation

  • Broken link in documentation section 6.10 #​29554
  • Fix Javadoc link text in BindingResult #​29551
  • Fix some typos in Kotlin WebClient example code #​29538
  • Fix link to Bean Utils Light Library in BeanUtils Javadoc #​29534
  • Fix link to WebFlux section in reference manual #​29525
  • Document RuntimeHints testing strategies #​29523
  • Reorganize and modularize the Testing chapter in the reference manual #​29522
  • Document switch to SQLExceptionSubclassTranslator in the upgrade guide #​29518
  • Update documentation to mention Java 17+ baseline #​29514
  • Link to Spring WebFlux section is broken #​29513
  • Update javadoc of Jackson-based decoders to reflect 2.14 baseline #​29508
  • Code example has callout from a different code example #​29505
  • Code listing callouts are displayed incorrectly in core-beans.adoc #​29457
  • Fix a syntax error in an XML listing in core-validation.adoc #​29456

🔨 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

  • Avoid direct URL construction and URL equality checks #​29486
  • Simplify creating RFC 7807 responses from functional endpoints #​29462
  • Allow test classes to provide runtime hints via declarative mechanisms #​29455

📔 Documentation

  • Align javadoc of DefaultParameterNameDiscoverer with its behavior #​29494
  • Document AOT support in the TestContext framework #​29482
  • Document Ahead of Time processing in the reference guide #​29350

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​ophiuhus and @​wilkinsona


  • If you want to rebase/retry this PR, check this box

@Picnic-Bot
Copy link
Contributor Author

Picnic-Bot commented Nov 18, 2022

Suggested commit message:

Upgrade Spring 5.3.27 -> 6.0.8 (#356)

This release targets JDK 17 and therefore requires some tests to be disabled
when running JDK 16 and below. Additionally, we no longer require that
`provided` and `test` dependencies contain JDK 11-compatible bytecode. This is
okay, since such dependencies are not pulled in by the release artifacts. 

See:
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M1
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M2
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M3
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M4
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M5
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-M6
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-RC1
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-RC2
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-RC3
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-RC4
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.1
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.2
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.3
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.4
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.5
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.6
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.7
- https://github.com/spring-projects/spring-framework/releases/tag/v6.0.8
- https://github.com/spring-projects/spring-framework/compare/v5.3.27...v6.0.8

Copy link
Member

@Stephan202 Stephan202 left a 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:

  1. Just not upgrade yet, but TBD for how long.
  2. Avoid compiling and testing a subset of classes on JDK 11, though TBD how.
  3. 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.)

@Picnic-Bot Picnic-Bot force-pushed the renovate/org.springframework-spring-framework-bom-6.x branch 2 times, most recently from 7084682 to 484fe31 Compare November 20, 2022 02:01
@Picnic-Bot Picnic-Bot changed the title Upgrade org.springframework:spring-framework-bom 5.3.23 -> 6.0.0 Upgrade org.springframework:spring-framework-bom 5.3.24 -> 6.0.0 Nov 20, 2022
@rickie
Copy link
Member

rickie commented Nov 21, 2022

Will add the label pause-renovate for now.

@rickie rickie added the pause renovate Stop automatic rebasing label Nov 21, 2022
@Picnic-Bot Picnic-Bot force-pushed the renovate/org.springframework-spring-framework-bom-6.x branch from 484fe31 to 1d57c8d Compare April 28, 2023 19:11
@Picnic-Bot Picnic-Bot changed the title Upgrade org.springframework:spring-framework-bom 5.3.24 -> 6.0.0 Upgrade org.springframework:spring-framework-bom 5.3.27 -> 6.0.8 Apr 28, 2023
@github-actions
Copy link

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202 Stephan202 force-pushed the renovate/org.springframework-spring-framework-bom-6.x branch from 1d57c8d to 206cea6 Compare April 28, 2023 20:36
# 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

score is 7: GitHub-owned GitHubAction not pinned by hash Click Remediation section below to solve this issue
with:
persist-credentials: false
- name: Set up JDK
uses: actions/[email protected]

Check warning

Code scanning / Scorecard

Pinned-Dependencies

score is 7: GitHub-owned GitHubAction not pinned by hash Click Remediation section below to solve this issue
@Stephan202 Stephan202 changed the base branch from master to sschroevers/require-jdk-17 April 28, 2023 20:37
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@github-actions
Copy link

  • Surviving mutants in this change: 8
  • Killed mutants in this change: 119
class surviving killed
🧟tech.picnic.errorprone.bugpatterns.MethodReferenceUsage 2 17
🧟tech.picnic.errorprone.bugpatterns.CanonicalAnnotationSyntax 1 4
🧟tech.picnic.errorprone.bugpatterns.SpringMvcAnnotation 1 9
🧟tech.picnic.errorprone.bugpatterns.RefasterAnyOfUsage 1 8
🧟tech.picnic.errorprone.bugpatterns.util.AnnotationAttributeMatcher 1 2
🧟tech.picnic.errorprone.bugpatterns.PrimitiveComparison 1 14
🧟tech.picnic.errorprone.bugpatterns.LexicographicalAnnotationAttributeListing$1 1 1
🎉tech.picnic.errorprone.bugpatterns.FormatStringConcatenation$ReplacementArgumentsConstructor 0 2
🎉tech.picnic.errorprone.refaster.matchers.ThrowsCheckedException 0 3
🎉tech.picnic.errorprone.refaster.runner.Refaster 0 2
🎉tech.picnic.errorprone.bugpatterns.StaticImport 0 4
🎉tech.picnic.errorprone.bugpatterns.AmbiguousJsonCreator 0 2
🎉tech.picnic.errorprone.refaster.test.RefasterRuleCollection 0 4
🎉tech.picnic.errorprone.bugpatterns.MockitoMockClassReference 0 8
🎉tech.picnic.errorprone.bugpatterns.util.MoreJUnitMatchers 0 4
🎉tech.picnic.errorprone.bugpatterns.RedundantStringConversion 0 9
🎉tech.picnic.errorprone.bugpatterns.LexicographicalAnnotationAttributeListing 0 4
🎉tech.picnic.errorprone.bugpatterns.JUnitValueSource 0 8
🎉tech.picnic.errorprone.bugpatterns.MissingRefasterAnnotation 0 1
🎉tech.picnic.errorprone.bugpatterns.IsInstanceLambdaUsage 0 4
🎉tech.picnic.errorprone.bugpatterns.DirectReturn 0 9

Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202 Stephan202 removed the pause renovate Stop automatic rebasing label Apr 28, 2023
Copy link
Member

@Stephan202 Stephan202 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had Renovate update the PR, then rebased it on top of #603 and added a commit. I also updated the suggested commit message. Right now the build fails for the same reason that the #603 build fails, but things work fine otherwise.

Comment on lines +98 to 105
@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);
}
}
Copy link
Member

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.

@Picnic-Bot
Copy link
Contributor Author

Edited/Blocked Notification

Renovate 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.

@rickie rickie force-pushed the sschroevers/require-jdk-17 branch from c52841e to 0ccbf97 Compare May 2, 2023 08:18
@Stephan202 Stephan202 force-pushed the sschroevers/require-jdk-17 branch from 0ccbf97 to 81f6d3f Compare May 15, 2023 04:36
@Picnic-Bot Picnic-Bot changed the title Upgrade org.springframework:spring-framework-bom 5.3.27 -> 6.0.8 Upgrade org.springframework:spring-framework-bom 5.3.27 -> 6.0.8 - abandoned Jun 10, 2023
@Picnic-Bot
Copy link
Contributor Author

Autoclosing Skipped

This 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.

@Stephan202
Copy link
Member

This PR got replaced by #679.

@Stephan202 Stephan202 force-pushed the sschroevers/require-jdk-17 branch from 81f6d3f to 5e8b4f4 Compare June 10, 2023 09:07
@Stephan202
Copy link
Member

I have replicated the changes in this PR to #679, so will drop this branch.

@Stephan202 Stephan202 closed this Jun 10, 2023
@Stephan202 Stephan202 deleted the renovate/org.springframework-spring-framework-bom-6.x branch June 10, 2023 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants