scalaxb 1.3.0

互換性の無い変更点

  • SOAP RPC/encoded のサポートの廃止。
  • SOAP の faultactorString に変更。 #268 by @rubbish
  • >22 case classes をデフォルトで生成するようにした。 #280
  • 全ての属性を取り扱う単一の attributes フィールドでデフォルトで生成するようにした。 #286

SOAP 関連の変更点

  • ヘッダの message parts の取り扱いを修正した。 #285 by @plaflamme
  • nillable な fault の取り扱いを修正した。 #284
  • http のインスタンスを lazy に変更した。 #279 by @rubbish
  • fault の toString を実装した。 #278

case class >22 および属性に関する変更

scalaxb 1.3.0 より、デフォルトで >22 な case class が生成されるようになる。さらに、全ての属性は attribute フィールドにまとめられる。

従来の振る舞いに戻したい場合は以下の設定を行う:

contentsSizeLimit in (Compile, scalaxb) := 20

namedAttributes in (Compile, scalaxb) := true

これに関連して、1.3.0 は属性のデフォルト値の取り扱いを修正した。 #288

scalaxb と Scala 2.11

scalaxb 1.2.0 より Scala 2.11.x をサポートするようになった。Scala 2.11 は XML とパーサコンビネータをモジュール化するため、追加で設定が必要になった。以下は sbt 0.13 のマルチプロジェクト構文を使った例だ:

import ScalaxbKeys._
 
lazy val scalaXml = "org.scala-lang.modules" %% "scala-xml" % "1.0.2"
lazy val scalaParser = "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.1"
lazy val dispatchV = "0.11.2" // change this to appropriate dispatch version
lazy val dispatch = "net.databinder.dispatch" %% "dispatch-core" % dispatchV
 
lazy val root = (project in file(".")).
  settings(scalaxbSettings: _*).
  settings(
    name := "hello",

scalaxb 1.2.1

これは SOAP コード生成に関連したバグ修正に的を絞ったリリースだ。詳細は SOAP を使うを参照。
.

SOAP 関連のバグフィクス

  • xs:AnyType の処理を修正した。 #265
  • asFaultのエラーを修正した。 #264 reported by @romainreuillon
  • マルチパート SOAP メッセージにより生成されるコードを修正した。 #267 reported by @tomhaigh
  • HttpClientsAsync にて concurrent.Future を使うように修正した。 #269 reported by @hedefalk
  • ブロッキング SOAP クライアントを生成する --blocking というコマンドラインオプションを追加した。

細かな機能改善点

  • コードの生成に内部で使っている scalaxb パッケージを別名にマスクした。

scalaxb 1.2.0

ノンブロッキング SOAP

scalaxb 1.2.0 よりデフォルトでノンブロッキングな SOAP コードを生成がされるようになった。これまでの Either[X, A] の代わりに SOAP 呼び出しは Future[A] を返し、もし Fault がある場合は Future の失敗として投げられる。

// default
def getQuote(symbol: Option[String]): Future[stockquote.GetQuoteResponse]
 
// async in (Compile, scalaxb) := false
def getQuote(symbol: Option[String]): Either[scalaxb.Fault[Any], stockquote.GetQuoteResponse]

この機能は @jlavallee@hoff2 によって #213/#259 としてコントリビュートされた。詳細は soap を使う を参照。

SOAP 関連のバグフィクス

  • SOAP内のパラメータに現れる予約語をエスケープするようにした。 #252/#256 contributed by @romainreuillon
  • SOAP内のオペレーション名に現れる予約語をエスケープするようにした。 #241 reported by @rcgoodfellow
  • SOAP内での nillable な要素の扱いを修正した。 #229 reported by @barnesjd
  • SOAP を POST したときのエンコーディング問題を修正した。 #231 reported by @hedefalk
  • Dispatch 0.11.1 に対応した。
  • literal RPC スタイルのときのレスポンスのパースを修正した。 #260 reported by @romainreuillon

その他のバグフィクスおよび細かな機能改善点

  • Scala 2.9.0 のサポートから除外して、廃止勧告の出ている呼び出しを修正した。
  • DatatypeFactoryThreadLocal にキャッシュするようにした。 #243 contributed by @malaporte
  • 長さがゼロのプレフィックスの処理を修正した。 #253/#255 contributed by @romainreuillon
  • 複合型の継承時に mix 属性が正しく継承されない問題を修正した。 #228 reported by @choffmeister
  • unbounded が入れ子になったときに、パーサが終了しない問題を修正した。 #230 reported by @FranklinChen
  • xs:elementdefault および minOccurs = 1 であるときの処理を修正した。 #245 reported by @alboko
  • xs:enumeration の値が非常に長い場合の処理を修正した。 #247 reported by @jcranky
  • xs:element の名前にシンボルが入っていて、かつ --class-prefix が渡されたときの処理を修正した。 #251 reported by @romangarcia
  • xs:group のパーサが複数回継承される問題を修正した。 #238 reported by @choeger

scalaxb 1.1.2

バグフィクスおよび細かな機能改善点

  • xs:enumeration の値が空白である場合に生成される case object を修正した。#220 reported by @FranklinChen and others.
  • 属性の名前が valuexs:simpleContext により生成される value という名前のフィールドと衝突するのを修正した。 #221 reported by @lyle-janrain

scalaxb 1.1.1

コマンドラインの互換性の無い変更点

scalaxb cli はデフォルトパッケージ名と名前空間特定のパッケージ名の両方を指定するのに -p--package を使っていた。scalaxb 1.1.1 はデフォルトパッケージ名には -p--default-package を、名前空間特定のパッケージ名には --package を使うようにした。

バグフィクスおよび細かな機能改善点

  • 大文字と小文字だけが違う型の名前を回避するようにした。#215 reported by @drdozer
  • minOccurs=0 かつ nillable である xs:all の処理の修正。#216 reported by @minettiandrea
  • xsi:nil="1" が nil としてパースされないことを修正した。#217 reported by @aoprisan
  • カメレオンスキーマの取り扱いを改善した。#102
  • デフォルトの dispatchVersion を 0.10.1 に設定した。
  • sbt 0.13 に向けて sbt-scalaxb を更新した。

scalaxb 1.1.0

1.0 と互換性の無い変更点

  • scalaxb は sys.error を生成するようになったため、Scala 2.8 ではコンパイルできなくなた。 #115 reported by @idot and others.

dispatchVersion

Dispatch 0.10.x 互換のコードを生成するための新しいキー dispatchVersion が追加された #210:

dispatchVersion in scalaxb in Compile := "0.10.0"

libraryDependencies <+=(dispatchVersion in scalaxb in Compile) { dv =>
  "net.databinder.dispatch" %% "dispatch-core" % dv
}

バグフィクスおよび細かな機能改善点

  • ParserFailure のメッセージに違反したデータを含めるようにした。 #206 requested by @caoilte
  • QName 型の列挙の処理を修正した。 #208
  • プラットホーム間のゆらぎを防ぐため sbt-scalaxb は *.xsd をソートするようにした。 #207 reported by @caoilte
  • xsd ファイルが変更されたときのみ sbt-scalaxb がコードを生成するように変更した。 #199 requested by @fommil

scalaxb 1.0.2

バグフィクス

  • 大きなグループの取り扱いを修正した。 #188 reported by @workingDog
  • 名前空間制約のある xs:any の取り扱いを修正した。 #189
  • 名前の重複解決の上限を取り除いた。 #190
  • シンボルの列挙値の取り扱いを修正した。 #191
  • xs:group 参照の命名が衝突するのを修正した。 #192
  • 外部パッケージからの型によって構成される xs:choice の取り扱いを修正した。 #193
  • 分割された xs:sequence が nillable かつ unbounded である場合の取り扱いを修正した。 #194
  • 代替グループを含む xs:choice の取り扱いを修正した。 #195
  • 外部パッケージからの xs:sequence を含む複合型の取り扱いを修正した。 #196
  • 代替グループを含む xs:group または混合複合型の取り扱いを修正した。 #197
  • xs:anySimpleType から直接または間接的に派生する複合型の取り扱いを修正した。 #200/#203 reported by @sagarcjoshi
  • 単純型を拡張する混合複合型の取り扱いを修正した。 #205
  • DispatchHttpClients 非-200 な結果を取り扱わないのを修正した。 reported and fixed by @dportabella in #204

scalaxb 1.0.1

バグフィクスおよび細かな機能改善点

scalaxb 1.0.0

これは scalaxb 最初の安定版だ。
実際に使ってみて、バグを報告してくれたり、アイディアやコードを貢献してくれた多くの方々に感謝したい。

0.7 と互換性の無い変更点

Scala 2.10.0-RC1 に適応するためにいくつかの点が変更された。

  • implicit の衝突を回避するために、scalaxb パッケージオブジェクトは XMLStandardTypes を継承しなくなった。
  • 明示的に implicit をインポートするため scalaxb.XMLStandardTypes オブジェクトが加えられた。
  • HexBinary クラスと Base64Binary クラスの toIndexedSeq メソッドは vector という名前に変更された。
  • SOAP バインディングのためのデフォルトの http クライアントは Dispatch 0.9.5 にアップグレードされた。

バグフィクスおよび細かな機能改善点

  • 要素フォーム ("qualified") のチェック時にあったタイポを修正した #168。 Fixed by @mprihoda
  • base64Binary エンコーディングのより寛容な処理 #173。 Requested by @nmccready
  • nillable な choice を含む名前付きモデルグループから生成されるコードを修正した #162。Reported by @rajish
  • 複数の名前空間をまたいだ属性のマージを修正した #174。 Reporetd by @sbrownyarris
  • カメレオンスキーマの処理を修正した #176。 Reported by @Marza
  • 生成された trait の XMLFormat から孫型が抜けていたのを修正した #178。 Reported by @kidasoft
  • xs:boolean のパースを修正した #179。Fixed by @rssh
Syndicate content