summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG10
-rw-r--r--README.markdown6
-rw-r--r--build.sbt19
-rw-r--r--notes/1.2.1.markdown2
-rw-r--r--src/main/ls/1.2.1.json21
-rw-r--r--src/main/scala/spray/json/AdditionalFormats.scala2
-rw-r--r--src/test/scala/spray/json/AdditionalFormatsSpec.scala2
7 files changed, 51 insertions, 11 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 48b3e6b..0bd003e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+Version 1.2.1 (2012-10-15)
+--------------------------
+- Upgraded to parboiled 1.1.2
+- Cross-published for Scala 2.9.2 and Scala 2.10.0-RC1
+
+
Version 1.2 (2012-10-12)
------------------------
- Upgraded to Scala 2.9.2 and parboiled 1.1.1
@@ -11,8 +17,8 @@ Version 1.1.1 (2012-03-13)
- Improved automatic field name extraction for case classes
-Version 1.1 (2012-02-01)
-------------------------
+Version 1.1.0 (2012-02-01)
+--------------------------
- Added automatic case class field name extraction via new jsonFormatX overloads
- Added 'asJson' pimp to Strings
- Added RootJsonFormat (JsonFormat for types corresponding to JSON document roots)
diff --git a/README.markdown b/README.markdown
index a070bda..3d2c4c4 100644
--- a/README.markdown
+++ b/README.markdown
@@ -11,11 +11,13 @@ It sports the following features:
### Installation
_spray-json_ is available from the [repo.spray.io] repository.
-The latest release is `1.2` and is built against Scala 2.9.2.
+The latest release is `1.2.1` and is built against Scala 2.9.2 as well as Scala 2.10.0-RC1.
If you use SBT you can include _spray-json_ in your project with
- "io.spray" %% "spray-json" % "1.2"
+ "io.spray" %% "spray-json" % "1.2.1" cross CrossVersion.full
+
+(the trailing "cross CrossVersion.full" modifier is only required for SBT 0.12.x)
_spray-json_ has only one dependency: the parsing library [parboiled][]
(which is also a dependency of _spray-http_, so if you use _spray-json_ together with other modules of the *spray*
diff --git a/build.sbt b/build.sbt
index 833295d..29835d1 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,6 +1,6 @@
name := "spray-json"
-version := "1.2"
+version := "1.2.1"
organization := "io.spray"
@@ -14,12 +14,19 @@ startYear := Some(2011)
licenses := Seq("Apache 2" -> new URL("http://www.apache.org/licenses/LICENSE-2.0.txt"))
-scalaVersion := "2.9.2"
+scalaVersion := "2.10.0-RC1"
-scalacOptions := Seq("-deprecation", "-encoding", "utf8")
+scalacOptions <<= scalaVersion map {
+ case x if x startsWith "2.9" =>
+ Seq("-unchecked", "-deprecation", "-encoding", "utf8")
+ case x if x startsWith "2.10" =>
+ Seq("-feature", "-language:implicitConversions", "-unchecked", "-deprecation", "-encoding", "utf8")
+}
+
+resolvers += "sonatype releases" at "https://oss.sonatype.org/content/repositories/releases/"
libraryDependencies ++= Seq(
- "org.parboiled" %% "parboiled-scala" % "1.1.1" % "compile",
+ "org.parboiled" %% "parboiled-scala" % "1.1.2" % "compile",
"org.specs2" %% "specs2" % "1.12.2" % "test"
)
@@ -30,7 +37,9 @@ scaladocOptions <<= (name, version).map { (n, v) => Seq("-doc-title", n + " " +
// publishing
///////////////
-credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
+crossScalaVersions := Seq("2.9.2", "2.10.0-RC1")
+
+scalaBinaryVersion <<= scalaVersion(sV => if (CrossVersion.isStable(sV)) CrossVersion.binaryScalaVersion(sV) else sV)
publishMavenStyle := true
diff --git a/notes/1.2.1.markdown b/notes/1.2.1.markdown
new file mode 100644
index 0000000..851e6e1
--- /dev/null
+++ b/notes/1.2.1.markdown
@@ -0,0 +1,2 @@
+- Upgraded to parboiled 1.1.2
+- Cross-published for Scala 2.9.2 and Scala 2.10.0-RC1 \ No newline at end of file
diff --git a/src/main/ls/1.2.1.json b/src/main/ls/1.2.1.json
new file mode 100644
index 0000000..95a4381
--- /dev/null
+++ b/src/main/ls/1.2.1.json
@@ -0,0 +1,21 @@
+{
+ "organization" : "io.spray",
+ "name" : "spray-json",
+ "version" : "1.2.1",
+ "description" : "A Scala library for easy and idiomatic JSON (de)serialization",
+ "site" : "https://github.com/spray/spray-json",
+ "tags" : [ "json" ],
+ "docs" : "http://spray.github.com/spray/api/spray-json/",
+ "resolvers" : [ "http://repo.spray.io" ],
+ "dependencies" : [ {
+ "organization" : "org.parboiled",
+ "name" : "parboiled-scala",
+ "version" : "1.1.2"
+ } ],
+ "scalas" : [ "2.9.2", "2.10.0-RC1" ],
+ "licenses" : [ {
+ "name" : "Apache 2",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ } ],
+ "sbt" : false
+} \ No newline at end of file
diff --git a/src/main/scala/spray/json/AdditionalFormats.scala b/src/main/scala/spray/json/AdditionalFormats.scala
index 20fdc74..cc52f8d 100644
--- a/src/main/scala/spray/json/AdditionalFormats.scala
+++ b/src/main/scala/spray/json/AdditionalFormats.scala
@@ -94,7 +94,7 @@ trait AdditionalFormats {
def safeReader[A :JsonReader] = new JsonReader[Either[Exception, A]] {
def read(json: JsValue) = {
try {
- Right(json.convertTo)
+ Right(json.convertTo[A])
} catch {
case e: Exception => Left(e)
}
diff --git a/src/test/scala/spray/json/AdditionalFormatsSpec.scala b/src/test/scala/spray/json/AdditionalFormatsSpec.scala
index 0a28560..7129fdf 100644
--- a/src/test/scala/spray/json/AdditionalFormatsSpec.scala
+++ b/src/test/scala/spray/json/AdditionalFormatsSpec.scala
@@ -58,7 +58,7 @@ class AdditionalFormatsSpec extends Specification {
case class Foo(id: Long, name: String, foos: Option[List[Foo]] = None)
object FooProtocol extends DefaultJsonProtocol {
- implicit val FooProtocol: JsonFormat[Foo] = lazyFormat(jsonFormat(Foo, "id", "name", "foos"))
+ implicit val fooProtocol: JsonFormat[Foo] = lazyFormat(jsonFormat(Foo, "id", "name", "foos"))
}
"The lazyFormat wrapper" should {