Orma v3.0.0をリリースしました

Orma v3.0.0をリリースしました*1

実にv2.6.0から100コミット以上、v2.0.0から8ヶ月後のリリースとなります。

このバージョンは、内部的には大きく変えたものの、インターフェイス的にはそれほどv2.6.0と変わりありません。v2.6.0で警告なしに動いていたものはそのまま動くと思います。

transctionAsync() まわりで古いメソッドを消したので、修正が必要なこともあるかもしれません。たとえば、DroidKaigi2016では次のような修正が必要でした。

Upgrade Orma to v3.0.0-rc2 by gfx · Pull Request #419 · konifar/droidkaigi2016 · GitHub

ひとつ注意点として、Android Gradle Plugin (正確のはその一部であるDataBinding library)との相性問題があります。CHANGELOGにも書きましたが、以下のような組み合わせでないと動きません。

  • Android Gradle Plugin 2.1以下 + Orma v2.x
  • Android Gradle Plugin 2.2以上 + Orma v3.x

これは、Android Gradle PluginとOrmaがfull qualified nameが全く同じクラスをもち実装が微妙に異なるANTLR (TunnelVisionLabs ANTLR vs Original ANTLR) に依存しているためです。

android bug ticket: Issue 200925 - android - Databinding plugin uses non-standard Antlr dependency. - Android Open Source Project - Issue Tracker - Google Project Hosting

このため、Android Gradle PluginとOrmaを同時にアップデートする必要があります。お手数をおかけしますがよろしくおねがいします。

*1:Orma入門もv3.0.0に対応済みです: Android Orma入門 - Islands in the byte stream