公式の雑な要約と適当な感想以外は本当に書かないので、英語読める人 and/or 正確に知りたい人は公式を読もう
https://playframework.com/documentation/2.5.x/Migration25
説明書いてないのは、自分があまり理解してないか、興味ないか、みたいな感じです。
単なる翻訳ではなく、自分の感想混ざってる(むしろそっちが多い?)ので注意。
- sbt0.13.11使えって書いてある
- sbtに詳しい人なら知ってると思うが(?)、0.13.5以降ならおそらく問題ないが、単に最新使っておいたほうがいいよ、というだけ
- 逆に言うとplay2.4でも普通にsbtは最新使えばいいと思うよ(という個人的意見)
- Scala2.10サポートなくなりました
- つまり2.11のみになった
- 2.12は出たらサポートしたいねー、みたいなことは書いてある
- 2.10使ってる人なんていないですよね?
- ちなみに知ってると思いますが、関連して(?)書いておくと、play2.4の時点でJava8以上ですし、2.5も勿論Java8必須です
- ログまわりの変更
- 今までlogbackに直に依存してたのが、整理、分割され、コア部分はslf4jのapiのみに依存するようになったらしい?
- 何故いまさら・・・
- play-logbackという新たなモジュールできてる http://repo1.maven.org/maven2/com/typesafe/play/play-logback_2.11/
- wsが依存するAsyncHttpClientがversion 2に
- https://github.com/AsyncHttpClient/async-http-client
- play2.4までは1.9とかだった?
- 2は結構違うらしい?
- ws使ってない人にはあまり関係ない
- 2ってまだRC(2016/3/5現在)だったはずだけれど、大丈夫なのか?
- lightbend(typesafe)の人が、AsyncHttpClientに頑張ってreactive-stream対応のpull reqをしていたのを見かけた覚え
- GlobalSettingsが非推奨になった
- 以前からGlobalSettings以外の方法は提供されていたので、そういう流れらしい
- 個人的にはGlobalSettingsで、それほど不便感じてなかったのでめんどい・・・
- 古いpluginのAPI削除された
- これは2.4で非推奨になってたから当然な流れ
- routesがデフォルトではInjectedRoutesGeneratorを生成するように
- InjectedRoutesGeneratorとは、objectではなくclassのほう。2.4で入ったDIのほう
- 今までとデフォルトが逆になった
- 設定をbuild.sbtに "routesGenerator := StaticRoutesGenerator" と1行書けば、objectのコントローラー使いつつけることもできる
- これが一番ハマる人多そう
- デフォルトが変わっただけで、現状ではobjectのほうは非推奨ではない
- ExternalAssetsとかのplay組み込みのコントローラーもDIの方になった
- へー、まぁ言われたとおり書き換えましょう
- modeやisProdやisDevなどのメソッドが非推奨に
- ん?DI経由で取得しろみたいに書いてある?けど、objectの方のコントローラーの場合どうするんだろう(よく読んでない)
- Content-Type charset の変更
- Guice関連の変更
- CSRFの変更
- Cryptoが非推奨に
- nettyが3.10から4に
- ついに・・・!?
- 関連して設定が変わったとかなんとか