Skip to content

Releases: eed3si9n/scalaxb

1.7.5

28 Jun 04:39
v1.7.5
Compare
Choose a tag to compare
  • Populates xsi:type attribute on toXML(...) #518 by @abestel
  • Adds scalaxbUseLists setting to generate List[A] instead of Seq[A] #526 by @pgrandjean
  • Fixes code generation to avoid multi-arg infix syntax #531 by @margussipria
  • Splits generated fromString method for big enums that would otherwise not compile #517 by @LolHens

1.7.4

28 Jun 03:52
v1.7.4
Compare
Choose a tag to compare
1.7.4 Pre-release
Pre-release
  • Populates xsi:type attribute on toXML(...) #518 by @abestel
  • Adds scalaxbUseLists setting to generate List[A] instead of Seq[A] #526 by @pgrandjean
  • Fixes code generation to avoid multi-arg infix syntax #531 by @margussipria

1.7.3

22 Sep 05:00
v1.7.3
Compare
Choose a tag to compare

enhancement

bug fix

  • Fixes the handling of attributes declared as sequences #512 by @abestel

1.7.2

26 Aug 08:48
v1.7.2
2234d3c
Compare
Choose a tag to compare

bug fix

1.7.1

16 Mar 17:55
v1.7.1
Compare
Choose a tag to compare

v1.7.0...v1.7.1

bug fixes

1.7.0

09 Sep 10:46
v1.7.0
18f4676
Compare
Choose a tag to compare

1.5.2...v1.7.0

Breaking changes

  • ExecutionContext parameter is added to all methods returning Future[A], instead of hardcoding a execution context. #482 inspired by #407

Symbol encoding strategy and capitalization

scalaxb 1.7.0 adds option to encode symbols.

  lazy val scalaxbCapitalizeWords  = settingKey[Boolean]("Attempts to capitalize class and attribute names to match the CamelCase convention")
  lazy val scalaxbSymbolEncodingStrategy = settingKey[SymbolEncodingStrategy.Value]("Specifies the strategy to encode non-identifier characters in generated class names")

  object SymbolEncodingStrategy extends Enumeration {
    val Discard = Value("discard")
    val SymbolName = Value("symbol-name")
    val UnicodePoint = Value("unicode-point")
    val DecimalAscii = Value("decimal-ascii")
    val Legacy151 = Value("legacy-1.5.1")
  }

#461 by @hosamaly

Other enhancements

Bug fixes

  • Don't throw exception on http status code != 200 to allow Fault parsing #444 by @alexdupre
  • Fixes Soap11Fault bug when empty detail #450 by @dportabella

1.5.2

24 Aug 02:14
1.5.2
Compare
Choose a tag to compare

enhancements

  • Adds support for Gigahorse 0.3 and different backends (OkHttp and AHC) #428 by @alexdupre

bug fixes

  • Splits fromAnySchemaType into smaller chunks to work around JVM code size limit. #429 by @fltt

1.5.1

10 Mar 03:11
1.5.1
Compare
Choose a tag to compare

bug fixes

enhancements

1.5.0

10 Mar 03:10
1.5.0
Compare
Choose a tag to compare

breaking changes

  • Fixes name clashes in typeclass instance by prefixing full package name. #385 by @anatoliykmetyuk
  • The default value for using varargs is set to false.
  • sbt-scalaxb is now an auto plugin. See below.

bug fixes

enhancements

  • Adds --mutable option to generate mutable case classes. See below.
  • Uses type attribute to convert xs:any. #389 by @anatoliykmetyuk
  • Adds --autopackages option to pick package names automatically. #391 by @anatoliykmetyuk
  • Adds --visitor option to generate a Visitor for traversing over the generated case classes. #392 by @anatoliykmetyuk

sbt-scalaxb changes

sbt-scalaxb for scalaxb 1.5.0 is changed to an auto plugin.
Instead of adding scalaxbSettings and defining sourceGenerators in Compile,
enable ScalaxbPlugin instead. All other setting/task keys will be prefixed with "scalaxb".
For example, packageName will now be called scalaxbPackageName.

Before:

import ScalaxbKeys._
lazy val root = (project in file(".")).
  settings(
    name := "foo-project").
  settings(scalaxbSettings).
  settings(
    sourceGenerators in Compile += (scalaxb in Compile).taskValue,
    packageName in (Compile, scalaxb) := "generated"
    // packageNames in (Compile, scalaxb) := Map(uri("http://something/") -> "something"),
    // logLevel in (Compile, scalaxb) := Level.Debug
  )

After:

lazy val root = (project in file(".")).
  enablePlugins(ScalaxbPlugin).
  settings(
    name := "foo-project",
    scalaxbPackageName in (Compile, scalaxb) := "generated"
    // scalaxbAutoPackages in (Compile, scalaxb) := true
  )

#405 by @eed3si9n

mutable case class

scalaxb 1.5.0 adds an option to generate mutable case classes.

case class Address(var name: String,
  var street: String,
  var city: String)

In sbt-scalaxb, this can be enabled as:

lazy val root = (project in file(".")).
  enablePlugins(ScalaxbPlugin).
  settings(
    name := "foo-project",
    scalaxbPackageName in (Compile, scalaxb) := "generated",
    scalaxbGenerateMutable in (Compile, scalaxb) := true
  )

#390 by @AndreVanDelft

1.4.1

18 Jul 00:02
1.4.1
Compare
Choose a tag to compare

breaking changes

  • Adds Dispatch 0.11.3 support, and defaultDispatchVersion is bumped up to it. #352 by @DustinChaloupka

fixes

  • Fixes handling of implicit and explicit soap headers. #366 by @coutoPL