2018年4月3日星期二

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


Linuxeden 开源社区 --Spring
Spring

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

转自 https://ift.tt/2GvPzOF

The post Spring Framework 5.0.5 和 4.3.15 发布,包含大量改进 appeared first on Linuxeden开源社区.

https://ift.tt/2GvdySe

没有评论:

发表评论