Spring Framework 5.0.5 和 4.3.15 发布,包含大量改进

h4cd
 h4cd
发布于 2018年04月04日
收藏 8

Spring Framework 5.0.5 和 4.3.15 同时发布了。

Spring Framework 5.0.5 版本是本周晚些时候将要发布的 Spring Boot 2.0.1 版本的基础,4.3.15 版本将同时被 Boot 1.5.11 收录。两个版本都做了大量 bug 修复,同时也有大量的改进。5.0.5版本也准备在最近发布的 JDK 10上运行,从而允许在 JDK 8 以及9和10中同时构建和测试框架。另外,5.0.5(4.3.15有较小程度)还包括对启动时注释自检的重大性能改进。

5.0.5:

Bug

  • [SPR-15780] - Precondition failed for PUT methods on ResponseEntity return types

  • [SPR-16488] - Deadlock in SubProtocolWebSocketHandler on shutdown with Undertow

  • [SPR-16489] - EL1072E when evaluating compiled null-safe expression

  • [SPR-16521] - JSON with missing quote leads to hanging

  • [SPR-16524] - [Reactor Netty] Incorrect error level logging for client bad request

  • [SPR-16526] - StringIndexOutOfBoundsException when rewriting links in CSS resources

  • [SPR-16528] - Spurious ERROR-level logging when using SSEEmitter

  • [SPR-16529] - GsonHttpMessageConverter cannot be used in an SseEmitter because it closes the response stream

  • [SPR-16534] - testBindInstantFromJavaUtilDate fails on systems in the Pacific/Auckland time zone

  • [SPR-16543] - WebApplicationContextFacesELResolver#isReadOnly always return false

  • [SPR-16544] - SpEL : Indexed access within an expression with null variables is no longer a SpelEvaluationException

  • [SPR-16545] - StackOverflowError when using WebFlux multipart file data handler with Undertow

  • [SPR-16546] - FilePart transferTo fails with java.nio.file.NoSuchFileException

  • [SPR-16551] - HiddenHttpMethodFilter breaks HandlerFunction with BodyExtractors.toFormData

  • [SPR-16555] - ChannelSendOperator.WriteBarrier readyToWrite has race condition

  • [SPR-16556] - PostgresTableMetaDataProvider.isGetGeneratedKeysSimulated() does not detect Postgres 10

  • [SPR-16559] - Missing PersistenceException cause message in refresh failure warn log

  • [SPR-16564] - Reading annotations in ConfigurationClassParser does not fall back to ASM on Google App Engine

  • [SPR-16570] - Inconsistent synchronization in AbstractBeanFactoryBasedTargetSource and JdbcAccessor

  • [SPR-16571] - WebAsyncManager concurrentResult should be volatile

  • [SPR-16572] - TransactionTemplate inherits equals()/hashCode() from DefaultTransactionDefinition

  • [SPR-16577] - SimpleAliasRegistry registerAlias not atomic

  • [SPR-16581] - URIEditor should not double escape classpath: URIs

  • [SPR-16582] - RestTemplate with HttpComponentsClientHttpRequestFactory and no buffering with an interceptor throws UnsupportedOperationException

  • [SPR-16584] - Inconsistent handling of null values through Java 8 accessors in ConcurrentReferenceHashMap

  • [SPR-16591] - ServletHttpHandlerAdapter @WebServlet annotation attributes do not conform to servlet spec

  • [SPR-16597] - WebFlux commitActions are called after status, headers and cookies are set

  • [SPR-16599] - AcceptHeaderLocaleResolver chooses wrong Locale for language match

  • [SPR-16606] - ResourceDecoder incorrectly matches to Object.class

  • [SPR-16611] - CallMetaDataContext.reconcileParameters doesn't catch output parameters with DatabaseMetaData.procedureColumnResult type (on Postgres)

  • [SPR-16620] - Consistent thread-safe iteration in DefaultSingletonBeanRegistry

  • [SPR-16625] - FactoryBeanRegistrySupport atomicity issues

  • [SPR-16627] - Address race condition within spring that causes about-to-be-created-bean exceptions

  • [SPR-16630] - An error occurs if a blank character exists before and after the delimiter of the MIME type parameter.

  • [SPR-16636] - WebClient retrieve() does not handle Void.class as recommended

  • [SPR-16640] - Multipart Upload with Commons Fileupload on lazy mode downloads data on cleanup

  • [SPR-16648] - Concurrent result may be missed due to a race condition in MockMvc

  • [SPR-16650] - ServletUriComponentsBuilder should replace context path when X-Forwarded-Prefix is present

  • [SPR-16652] - Annotation lookup on parameter in inner class constructor fails when using javac from JDK versions prior to 9

  • [SPR-16653] - Cannot autowire individual constructor argument in @Nested test class

  • [SPR-16660] - UriComponentsBuilder Forwarded header parsing can throw java.lang.NumberFormatException

  • [SPR-16663] - NamedParameterUtils.parseSqlStatement should parse :{x} style parameter correctly

  • [SPR-16669] - Unable to bind a null value for UUID column with PostgreSQL

  • [SPR-16670] - JndiRmiServiceExporter fails to export service on IBM j9 JDK

  • [SPR-16671] - SimpleMailMessage's handling of to/cc/bcc arrays is inconsistent

Improvement

  • [SPR-12452] - Spring Websockets Broker relay supporting a cluster of STOMP endpoint addresses

  • [SPR-13919] - Add support for asserting JSON in ContentRequestMatchers, just as there is for XML

  • [SPR-14694] - Support BufferingClientHttpRequestFactory in MockRestServiceServer

  • [SPR-16050] - Customize PreparedStatementCreatorFactory in getPreparedStatementCreator

  • [SPR-16516] - SSE writer does not allow customizing the charset

  • [SPR-16519] - Headers adding ability in ACK/NACK frame

  • [SPR-16520] - Unable to register @RestControllerAdvice Class via WebTestClient

  • [SPR-16523] - Consistent use of Collection.toArray with zero-sized array argument

  • [SPR-16535] - Support for ResolvableType.getType().getTypeName() on Java 8

  • [SPR-16536] - DefaultMessageListenerContainer should interrupt worker threads when not returning on shutdown

  • [SPR-16537] - Need ability to access URI template in WebClient metrics/tracing instrumentation

  • [SPR-16539] - Jackson Encoder(s) ignore charset in MimeType

  • [SPR-16542] - EncoderHttpMessageWriter never sets Content-Length

  • [SPR-16548] - Improve docs and handling of send errors in ResponseBodyEmitter

  • [SPR-16553] - Provide simple way to create ClientResponse

  • [SPR-16558] - Consistent incrementer arrangement for PostgreSQL, DB2 and SAP HANA

  • [SPR-16562] - Overloaded convenience setters on HttpHeaders

  • [SPR-16567] - Support @ResponseStatus-annotated exceptions on WebFlux

  • [SPR-16568] - Consider caching interface-derived BeanInfo instances in CachedIntrospectionResults

  • [SPR-16587] - MockMvcResultMatchers.jsonPath(String).value() should have a matching method to declare the expected type

  • [SPR-16588] - Support for SimpleEvaluationContext in SpEL

  • [SPR-16589] - Support for grouped DeferredImportSelector

  • [SPR-16596] - Consistent volatile access to running flag in Lifecycle implementations

  • [SPR-16601] - CodecException: No suitable writer found for part

  • [SPR-16607] - ThreadPoolTaskExecutor should cancel all remaining Future handles on shutdown

  • [SPR-16613] - Allow to make FormHttpMessageConverter add the charset in the Content-Type header

  • [SPR-16624] - Update ContentNegotiationStrategy to never return an empty List

  • [SPR-16626] - STOMP broker relay only allows up to 15 client connections

  • [SPR-16628] - When @DependsOn throws a NoSuchBeanDefinitionException it should include the dependent bean for clarity

  • [SPR-16635] - Generate multipart boundary using SecureRandom

  • [SPR-16667] - Reduce ClassUtils.forName overhead (in particular for annotation introspection purposes)

  • [SPR-16675] - Comprehensively cache annotated methods for interfaces and superclasses

  • [SPR-16677] - Mixed use BeanNameAutoProxyCreator and AnnotationAwareAspectJAutoProxyCreator to proxy same bean

  • [SPR-16678] - Add cpp to mime.types as text/plain

4.3.15:

Bug

  • [SPR-15780] - Precondition failed for PUT methods on ResponseEntity return types

  • [SPR-16409] - SubProtocolWebSocketHandler should not log ERROR on "No messages received after ..."

  • [SPR-16414] - ServletServerHttpRequest.getURI() may throw a java.net.URISyntaxException

  • [SPR-16415] - AbstractClientSockJsSession.close call does not propagate IOException from disconnect

  • [SPR-16427] - Spurious WARNINGs when XML declared TransactionProxyFactoryBean's target bean depends on an annotation declared bean that depends on another bean

  • [SPR-16435] - Lambda error detection might not work on JDK 9

  • [SPR-16450] - CachingConnectionFactory - Invalid session in session cache

  • [SPR-16453] - MockMvcRequestBuilder does not decode pathInfo

  • [SPR-16458] - MimeType compareTo implementation is not compatible with equals

  • [SPR-16461] - GSON converter only serialises fields of controller method return type, ignoring subclass fields of response object

  • [SPR-16478] - SimpleJdbcCall can't access synonyms in Oracle database

  • [SPR-16479] - Set thread interrupt flag on InterruptedException

  • [SPR-16486] - JsonMappingException when trying to instantiate org.springframework.messaging.Message

  • [SPR-16488] - Deadlock in SubProtocolWebSocketHandler on shutdown with Undertow

  • [SPR-16489] - EL1072E when evaluating compiled null-safe expression

  • [SPR-16495] - NPE in Spring-JDBC with Oracle and SimpleJdbcInsert

  • [SPR-16496] - ExceptionHandlerExceptionResolver advice applicability check may fail against interface-based controller proxy

  • [SPR-16498] - FormTag renders empty <div> tag

  • [SPR-16506] - ForwardedHeaderFilter garbles query params during sendRedirect()

  • [SPR-16526] - StringIndexOutOfBoundsException when rewriting links in CSS resources

  • [SPR-16528] - Spurious ERROR-level logging when using SSEEmitter

  • [SPR-16529] - GsonHttpMessageConverter cannot be used in an SseEmitter because it closes the response stream

  • [SPR-16533] - Race condition in ConcurrentMapCache

  • [SPR-16534] - testBindInstantFromJavaUtilDate fails on systems in the Pacific/Auckland time zone

  • [SPR-16543] - WebApplicationContextFacesELResolver#isReadOnly always return false

  • [SPR-16556] - PostgresTableMetaDataProvider.isGetGeneratedKeysSimulated() does not detect Postgres 10

  • [SPR-16559] - Missing PersistenceException cause message in refresh failure warn log

  • [SPR-16564] - Reading annotations in ConfigurationClassParser does not fall back to ASM on Google App Engine

  • [SPR-16570] - Inconsistent synchronization in AbstractBeanFactoryBasedTargetSource and JdbcAccessor

  • [SPR-16571] - WebAsyncManager concurrentResult should be volatile

  • [SPR-16572] - TransactionTemplate inherits equals()/hashCode() from DefaultTransactionDefinition

  • [SPR-16577] - SimpleAliasRegistry registerAlias not atomic

  • [SPR-16581] - URIEditor should not double escape classpath: URIs

  • [SPR-16582] - RestTemplate with HttpComponentsClientHttpRequestFactory and no buffering with an interceptor throws UnsupportedOperationException

  • [SPR-16584] - Inconsistent handling of null values through Java 8 accessors in ConcurrentReferenceHashMap

  • [SPR-16599] - AcceptHeaderLocaleResolver chooses wrong Locale for language match

  • [SPR-16604] - DefaultResponseErrorHandler wastes the body of a response with an unknown status

  • [SPR-16611] - CallMetaDataContext.reconcileParameters doesn't catch output parameters with DatabaseMetaData.procedureColumnResult type (on Postgres)

  • [SPR-16620] - Consistent thread-safe iteration in DefaultSingletonBeanRegistry

  • [SPR-16625] - FactoryBeanRegistrySupport atomicity issues

  • [SPR-16627] - Address race condition within spring that causes about-to-be-created-bean exceptions

  • [SPR-16630] - An error occurs if a blank character exists before and after the delimiter of the MIME type parameter.

  • [SPR-16640] - Multipart Upload with Commons Fileupload on lazy mode downloads data on cleanup

  • [SPR-16648] - Concurrent result may be missed due to a race condition in MockMvc

  • [SPR-16650] - ServletUriComponentsBuilder should replace context path when X-Forwarded-Prefix is present

  • [SPR-16652] - Annotation lookup on parameter in inner class constructor fails when using javac from JDK versions prior to 9

  • [SPR-16660] - UriComponentsBuilder Forwarded header parsing can throw java.lang.NumberFormatException

  • [SPR-16663] - NamedParameterUtils.parseSqlStatement should parse :{x} style parameter correctly

  • [SPR-16669] - Unable to bind a null value for UUID column with PostgreSQL

  • [SPR-16671] - SimpleMailMessage's handling of to/cc/bcc arrays is inconsistent

Improvement

  • [SPR-12452] - Spring Websockets Broker relay supporting a cluster of STOMP endpoint addresses

  • [SPR-16439] - Quartz Scheduler - configurable SchedulerFactory

  • [SPR-16455] - Avoid String concatenation for not-null assertion in BeanProperty/DirectFieldBindingResult

  • [SPR-16457] - AcceptHeaderLocaleResolver should match country locales against supported language locales

  • [SPR-16535] - Support for ResolvableType.getType().getTypeName() on Java 8

  • [SPR-16558] - Consistent incrementer arrangement for PostgreSQL, DB2 and SAP HANA

  • [SPR-16587] - MockMvcResultMatchers.jsonPath(String).value() should have a matching method to declare the expected type

  • [SPR-16588] - Support for SimpleEvaluationContext in SpEL

  • [SPR-16596] - Consistent volatile access to running flag in Lifecycle implementations

  • [SPR-16628] - When @DependsOn throws a NoSuchBeanDefinitionException it should include the dependent bean for clarity

  • [SPR-16635] - Generate multipart boundary using SecureRandom

  • [SPR-16667] - Reduce ClassUtils.forName overhead (in particular for annotation introspection purposes)

  • [SPR-16678] - Add cpp to mime.types as text/plain

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Spring Framework 5.0.5 和 4.3.15 发布,包含大量改进
加载中

最新评论(3

waylau
waylau
"Spring 5 案例大全"项目,基于最新的 5.0.5.RELEASE ,-> https://github.com/waylau/spring-5-book
Tinian
Tinian
就等springboot更新了
吴小往
吴小往
😄
返回顶部
顶部