Spring Boot 1.3が9月にリリースされるようです。
blog-java2ブログエンジンもSpring Boot 1.3にアップグレードするつもりなので、現段階で公開されているリリースノートを見てみました。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3-Release-Notes
最新のリリースノートを和訳しましたので、こちらをご覧下さい。
Spring Boot 1.3 リリースノート和訳 (http://blog.afnf.net/blog/77)
Spring Boot 1.3.0 M1
- Gradle pluginの変更(ほとんどのユーザは関係なし)
- 1.2で非推奨となったメソッド等の廃止
- JacksonのObjectMapperに関する変更
- JettyでJSPを使用する場合、org.eclipse.jetty:jetty-jspを明示的に追加しなければならなくなった
- Spring Securityが3.2から4.0にアップグレードされた
- ThymeleafのSpring Securityプラグインがアップグレードされた
- CLIアプリの依存解決用に、Maven bom (bill of materials) のサポートが追加された
- Spring Framework 4.2以上が必須になった
- ConfigurableEmbeddedServletContainer,setJspServletClassName,setRegisterJspServlet が setJspServlet に置き換えられた
- EndpointMBeanのコンストラクタ引数にObjectMapperが追加になった
- DropwizardMetricWriterがDropwizardMetricServiceに置き換えられた
- @ConditionalOnMissingClassアノテーション引数がnameからvalueに変更された
- Spring Framework 4.2への移行に伴い、いくつかの3rd Partyライブラリがアップグレードされた
- TomcatやJettyのメジャーバージョンアップは無し
- Developer tools(spring-boot-devtools)の追加
- キャッシュライブラリのAuto-configuration追加、@EnableCachingの追加
- Actuatorメトリクスの追加、Java8対応
- 実行可能JARファイルを
init.d
またはsystemd
サービスとしてインストールできるようになった
- OAuth2サーバ・クライントのサポート
- HealthIndicatorsの追加(Elasticsearch, Email, JMS)
- ActuatorエンドポイントがCORS(Cross-Origin Resource Sharing)に対応した
- Auto-configurationレポートにおいて、@SpringBootApplication(exclude=...) などにより除外された設定が明示的にリスティングされるようになった
- bean validation(JSR 303)をサポートするspring-boot-starter-validation POMの追加
- Actuatorエンドポイントの
/env
と/metrics
において、正規表現によるフィルタリングが可能になった(例:http://localhost:8080/metrics/.*root.* )
- SendGridメール配信サービスのAuto-configurationを追加
- Maven pluginに、総合テストで便利なstart/stop goalが追加された
- JacksonのJava8モジュールがデフォルトで登録されるようになった
- TransactionTemplatebeanがTransactionAutoConfigurationの一部として含まれるようになった
- MailServer beanがspring.mail.jndi-nameプロパティにより、JNDIから取得できるようになった
- server.display-nameプロパティにより、サーブレット名が設定できるようになった
- FlywayMigrationStrategy beanの追加
Spring Boot 1.3.0 M2
- application.propertiesの以下がリネームされた
- spring.view.* → spring.mvc.view.*
- spring.pidfile → spring.pid.file
- server.session-timeout → server.session.timeout
- spring.oauth2.* → security.oauth2.*
- prefix.spring.groovy.template.prefix → prefix.spring.groovy.resource-loader-location
- HTTPレスポンス圧縮がネイティブでサポートされるようになったため、server.tomcat.compression.*やspring.http.gzip.*は使用できなくなり、server.compression.*が追加された
- 二重の初期化を避けるため、ログ設定ファイルに
-spring
サフィックスの付与が推奨されるようになった(例:logback-spring.xml)
- logging.configで設定されたログ設定ファイルが見つからない場合、起動に失敗するようになった
- Logback設定ファイルが誤っている場合、起動に失敗するようになった
- Actuatorエンドポイントの
/health
におけるセキュリティー強化
- ApplicationArgumentsの追加により、SpringApplication.afterRefreshの引数String[]は非推奨となった
- jOOQのAuto-configurationが追加された
- ApplicationArgumentsを引数にとるApplicationRunnerが追加された
- banner.txtでANSI colorが使用できるようになった
- アクティブなプロファイルが無い場合にapplication-default.propertiesがロードされるようになった
- spring-boot-starter-hateoas(Spring HATEOAS)が有効な場合、Actuatorエンドポイントに
/link
が追加されるようになった
- spring-boot-actuator-docsが追加され、
/docs
でActuatorエンドポイントのドキュメントが参照できるようになった
- Actuatorエンドポイント
/logfile
, /flyway
, /liquibase
の追加
- Spring SessionとSpring Data Redisが有効な場合、セッションデータがRedisに格納されるようになった
- ResourceChainRegistrationとspring.resources.chain.*プロパティの追加、キャッシュ除けの一意リソース名の生成
- logback-spring.xmlにおいて、
<springProfile>
, <springProperty>
要素が使用できるようになった
- HTTPセッション設定プロパティserver.session.*の追加
- Apache ActiveMQ ArtemisのAuto-configurationが追加された
- IDEのコンテンツアシスト向けにspring-configuration-metadata.jsonへ
hints
属性が追加された
- 実行可能JARファイルを
init.d
などで動作させる場合に、.conf
ファイルが使用できるようになった
- DB2, Firebird, TeradataのJDBC URLの場合、JDBCドライバクラス名が自動的に推定されるようになった
- 実行可能JARファイルを作成するためのAntLibモジュールが追加された
- SpringBootVersionクラスが追加された
- JUnit実行時の標準出力をキャプチャするためのOutputCapture hamcrest matchersが追加された
- ローカルノードでないElasticsearchでも、Spring Bootを使えるようにするための設定が出来るようになった
- spring.pid.fail-on-write-errorを設定することで、PIDファイル作成失敗時にApplicationPidFileWriterが例外を送出するようになった
- Mavenの
spring-boot:run
goal 実行時のオプションとして、useTestClasspathが追加された
Spring Boot 1.3.0 M3
- application.propertiesの以下がリネームされた
- servet.tomcat.accessLogEnabled → server.tomcat.accesslog.enabled
- servet.tomcat.accessLogPattern → server.tomcat.accesslog.pattern
- servet.undertow.accessLogDir → server.undertow.accesslog.dir
- servet.undertow.accessLogEnabled → server.undertow.accesslog.enabled
- servet.undertow.accessLogPattern → server.undertow.accesslog.pattern
- Gradleのapplication pluginがデフォルトでは適用されなくなった
- server.session.persistent=trueを設定することで、Tomcat, Jetty, Undertowの再起動時にセッションが復元されるようになった
- Devtoolsで、reload/restartのトリガとなるパスを設定できるようになった
- CLIアプリの依存解決時に、Mavenのsettings.xmlが参照されるようになった
- Embedded MongoDBのAuto-configurationが追加された
- デバッグ時、Actuatorエンドポイントの
/h2-console
でH2 Web Consoleが使用できるようになった
- logging.pattern.*の追加、Tomcatアクセスログの改善、logging.exception-conversion-wordの追加、log4j2に関する改善
- Auto-configurationレポートにおいて、無条件に設定されたクラスがリスティングされるようになった
- @ConfigurationPropertiesを使用する場合に、@EnableConfigurationPropertiesが不要になった
- JMSやRabbitのエンドポイントが簡単に無効化できるようになった
- meta-dataを読むためのspring-boot-configuration-metadataが追加された
- spring-configuration-metadata.jsonへdeprecation属性が追加された
- spring-configuration-metadata.jsonのデフォルト値設定が改良された
- Health indicatorsが簡単に無効化出来るようになった
Spring Boot 1.3.0 M4
- Cloudfoundryデプロイのリグレッションを修正
- M3で実装されたH2 auto-configurationが有効化されていなかった不具合を修正
- spring.datasource.typeによってコネクションプール実装を変更できるようになった
- spring.messages.fallback-to-system-localeの追加
設定値変更
多すぎて掲載しきれませんw
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3.0-M1-Configuration-Changelog
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3.0-M2-Configuration-Changelog
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3.0-M3-Configuration-Changelog
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3.0-M4-Configuration-Changelog
感想
ものすげぇ量w
blog-java2が影響を受ける箇所がいくつかありました。
バージョンアップ体験記はこちら→その1、その2
変更履歴
- 2015/08/09 初版
- 2015/08/27 M3の一部と、M4を追記
- 2015/11/16 新エントリへのリンクを追加