Framework Spring 4.2.1 Telah Rilis

Yana Permana 2 September 2015

Framework Spring 4.2.1 Telah Rilis

Bagi pengguna framework Spring patut bergembira karena Framework Spring 4.2.1 telah rilis. Pengembang Spring mengumumkannya secara resmi melalui spring.io setelah mereka selesai memperbaharui ketersediaan Spring 4.2.1 di repo.spring.io dan repositori Maven. Banyak sekali perbaikan yang dilakukan begitu juga peningkatan performa framework.

Pada Spring 4.2.1, peningkatan dilakukan pada dukungan Jackson, meta-annotation, dan dukungan depedensi pihak ketiga (termasuk Hibernate 5.0). Berikut rincian peningkatan Spring 4.2.1:

  • Dukungan untuk JSR-356 WebSockets pada WebSphere Liberty Profile
  • HibernateJpaDialect akan memberi peringatan mengenai koneksi ON_CLOSE (ketika dimutakhirkan dari versi 4.0.x)
  • UriComponents mendukung variabel URI pada konten yang berisi regex
  • JdkVersion yang usang masih bisa dipakai (tujuannya untuk kompatibilitas generasi JDK terbaru)
  • Pengunggahan file dengan Servlet 3 multipart requests kini didukung berdasarkan nama file dengan charset encoding (RFC 2231)
  • BeanPropertyRowMapper akan membuat log jika mapRow tidak menemukan PropertyDescriptor
  • Penyediaan varian SpringConstraintValidatorFactory untuk penggunaan validation.xml
  • StompSubProtocolHandler akan mengirim SessionSubscribeEvent setelah ChannelSecurityInterceptor telah memvalidasi akses
  • Pengenalan antarmuka SmartMessageConverter dengan conversionHint arguments
  • Dukungan attribut implisit alias dengan @AliasFor
  • RedirectView's menggunakan getCurrentWebApplicationContext()
  • Peringatan untuk menghindari property yang ambigu untuk method yang mempunyai banyak parameter
  • Penambahan Jdk7Module untuk Jackson2ObjectMapperBuilder's
  • Pengenalan hook untuk membuat custom BeanPropertyBindingResult dalam DataBinder
  • Quote jika set Etags diperlukan dengan ResponseEntity builder API
  • Dukungan CALL Statement untuk SAP HANA
  • VersionResourceResolver akan menambahkan header ETag ketika mengatasi sumber daya
  • Pencarian method tidak dibolehkan untuk overriding definitions pada parent bean
  • SimpleAliasRegistry akan mendeteksi circles antara non-canonical aliases
  • Dukungan atribut implisit transitif alias dengan @AliasFor
  • DefaultDeserializer kini menggunakan ConfigurableObjectInputStream
  • RuntimeExceptions dimasukkan pada ExecutionException
Sedangkan fitur terbaru Spring 4.2.1 diantaranya:
  • Pengenalan tambahan JsonPath matchers dalam Spring MVC
  • Pengenalan JsonPath matchers untuk konten
Perbaikan bug banyak dilakukan pada rilis Spring 4.2.1, ini dia rinciannya:
  • MethodValidationPostProcessor gagal membuat signature ketika menjalankan Hibernate Validator 5
  • Regression: Nilai PropertiesFactoryBean tidak bisa dikonversi untuk sasaran, tanpa tipe ConversionService
  • AllEncompassingFormHttpMessageConverter memprioritaskan Jackson 2 XML dibanding JSON
  • MockHttpServletRequest mengembalikan cookie kosong termasuk NULL jika instans dibangun menggunakan MockHttpServletRequestBuilder
  • Pengujian request multipart gagal ketika mengaktifkan keamanan Spring
  • Jackson 2.6: Pengkonversi pesan hanya dapat menggunakan tipe untuk collections
  • SocketUtilstidak bisa mendeteksi ketersediaan port pada localhost
  • @AliasFor berpotensi menolak atribut dalam meta-annotation yang salah
  • Terjadi race ketika pesan yang masuk dapat menangani pesan yang gagal dan mengirim kesalahan frame StompSubProtocolHandler
  • AnnotationUtils gagal untuk melempar Exception jika meta-annotation tidak ada
  • AnnotationUtils gagal untuk menyintesis maps bertingkat kedalam anotasi
  • ResponseBodyEmitter tidak mendapatkan headers
  • Nilai default CommonsPool2TargetSource#maxWait salah
  • JsonPath assertions gagal untuk membedakan antara definite dan indefinite dalam memeriksa existence
  • ResourceUrlProvider hanya menyediakan paths dan tidak meminta parameters
  • Regression: SpringHandlerInstantiator menghentikan dukungan dalam MVC
  • Tidak dapat mengatur Content-Type dengan menggunakan ScriptTemplateView
  • Pemindahan MessageHeaders melalui Map.Entry.setValue()
  • Resolusi ScopedProxyMode untuk scope meta-annotation tidak berjalan dengan @Bean methods (dengan scan berbasis ASM)
  • ServletWebRequest.checkNotModified mencoba untuk memanggil HttpServletResponse.getStatus() pada Servlet 2.5
  • Regression: BeanWrapperImpl.getPropertyDescriptor tidak mengijinkan nested paths
Pengembang Spring merekomendasikan untuk segera memutakhirkan Spring. Selain itu pengembang Spring sudah menyiapkan jadwal rilis berikutnya yakni pada awal bulan oktober, hmm sanget cepat bukan. Tertarik mencobanya? Kunjungi situs resminya di spring.io.

(yp/spring)