リリースノートをgithubのwikiにまとめてるのでそれを読もう
https://github.com/scalaz/scalaz/wiki/7.2.0-M1
ご存知かどうかあれですが、諸事情により、少し前から自分が権限もらって実質リリース担当になってます。
7.0.7と7.1.1も自分がリリースしましたね。日本語blogは書かなかった気がするけど。
今更ですが、それらもかなり頑張ったのでwikiみてください(バイナリ互換壊さずに、如何に多くバックポートするか、という作業)
7.2.0-M1について、簡単に日本語でもまとめ
- 初めての 7.2.x のマイルストーンのリリース
- 7.1.xとバイナリ互換ありません。バイナリ互換ある安定版がいい人は7.1.x*1を使いましょう。
- たとえば、Scalaz単体で使うなら7.2.0-M1でもいいけど、specs2やargonautなどなど、scalazに依存するライブラリを使う場合は7.2.0-M1は使えないでしょう。そのライブラリ担当者が、マイルストーン用にリリースしてくれれば使えますが。
- 引き続き、7.1.xはしばらく(少なくとも7.2.0 finalがでるまでは必ず)バイナリ互換を保ったマイナーアップデートを出すつもりなので
- マイルストーンなので、次に出る7.2.xのマイルストーン、もしくはRCともバイナリ互換なくなる予定です
- 微妙に話まとまっていなかったけど https://github.com/scalaz/scalaz/issues/893 まぁリリース権限持ってるの利用して、出しちゃいました(もうRCでいいんじゃね?派閥がいた)
- Java6のsupportきって、Java7以上必須になった
- Scala2.9のサポートきった。Scala2.10と2.11用しかリリースされてない
- なので、やっとvalue classやClassTagなどの機能使えてる
- scala標準のxmlやparserにも依存しなくなった(つまりscala-library.jarのみに依存)
- xmlのモジュール削除
- 色々と非推奨になっていたクラス削除
- Length, Each, Index, MetricSpace, BKTree, Promise, InsertionMap, Rope など
- 非推奨になっていたメソッドも削除
- 7.1.0が出た後に7.2.xのブランチに入った新機能は、7.1.1にも出来る限りバックポートしたけれど、バイナリ互換の関係でバックポートできなかった新機能を色々と追加
- 7.2.0-M1のリリースノートのページは、7.1.1にバックポートできなかった差分のみ書いてるので、7.1.0からの差分は7.1.1のページもみてね*2
リリースノートを効率よくまとめる技術を考えて試行錯誤してるけど、流石に需要少ないだろうし、それはまた気が向いたら書くかもしれない・・・。