scalaz 7.2.0-M1をリリースしました

リリースノートをgithubwikiにまとめてるのでそれを読もう

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


リリースノートを効率よくまとめる技術を考えて試行錯誤してるけど、流石に需要少ないだろうし、それはまた気が向いたら書くかもしれない・・・。

*1:コレ書いてる2015-04-28時点では7.1.xの最新は7.1.1

*2:というのをwikiにも書いたけど、そのあたりの英語がもし変だったら誰か直しておいてください