- Update mongodb-driver-core to 4.2.3
- Update joda-time to 2.10.9 (#259) @scala-steward
- Update sbt to 1.4.6 (#258) @scala-steward
- Migrate to GitHub actions (#257) @yanns
- Update cats-core to 2.3.1 (#256) @scala-steward
- Update scalacheck to 1.15.2 (#255) @scala-steward
- Update sbt to 1.4.5 (#254) @scala-steward
- Update cats-core to 2.3.0 (#252) @scala-steward
- Update jackson-databind to 2.12.0 (#253) @scala-steward
- Update sbt to 1.4.4 (#251) @scala-steward
- Update sbt-bintray to 0.6.1 (#245) @scala-steward
- Update sbt to 1.4.3 (#250) @scala-steward
- Update scalatest to 3.2.3 (#249) @scala-steward
- Update scalacheck to 1.15.1 (#248) @scala-steward
- Fix error message in case of invalid enum value (#247) @balazs-kossovics-ct
- Update scalacheck to 1.15.0 (#244) @scala-steward
- Update sbt-bintray to 0.6.0 (#243) @scala-steward
- Update joda-time to 2.10.8 (#242) @scala-steward
- Update joda-time to 2.10.7 (#241) @scala-steward
- Update sbt to 1.4.1 (#240) @scala-steward
- Update sbt to 1.4.0 (#238) @scala-steward
- Update jackson-databind to 2.11.3 (#237) @scala-steward
- target jvm 8 bytecode (#232) @yanns
- scala 2.12.12 (#231) @yanns
- Cats 2.2.0 (#230) @yanns
- test jsonTypeSwitch (#227) @yanns
- Update mongodb-driver-core to 3.12.7 (#221) @scala-steward
- Update magnolia to 0.17.0 (#224) @scala-steward
- Update jackson-databind to 2.11.2 (#220) @scala-steward
- Update mongodb-driver-core to 3.12.6 (#217) @scala-steward
- scala 2.13.3 (#216) @agourlay
- Modularize sphere json (#213) @yanns
- Update jackson-databind to 2.11.1 (#214) @scala-steward
- json4s 3.6.9 (#210) @agourlay
- Optimise mongo format (#209) @agourlay
- Update mongodb-driver-core to 3.12.5 (#207) @scala-steward
- test empty type hints (#201) @yanns
- some love for typeclasses (#202) @yanns
- keep only one method for automatic derivation based on magnolia (#200) @yanns
- Update scalacheck-1-14 to 3.1.2.0 (#199) @scala-steward
- tests suite for mongo derivation (#193) @yanns
- optimize mongo format generated by magnolia (#196) @yanns
- Update mongodb-driver-core to 3.12.4 (#197) @scala-steward
- Update scalatest to 3.1.2 (#198) @scala-steward
- Update json4s-jackson, json4s-scalap to 3.6.8 (#194) @scala-steward
- sphere-mongo must depend on sphere-mongo-core and sphere-mongo-derivation (#192) @yanns
sphere-mongo
is now split intosphere-mongo-core
containing the type classes andsphere-mongo-derivation
containing the magic for deviring type class instances for case classes and sealed traits. This split does not change anything for users ofsphere-mongo
.- there is now an experimental
sphere-mongo-derivation-magnolia
project, alternative tosphere-mongo-derivation
based on magnolia. (see #174 for plan)
Detail:
- sphere-mongo must depend on sphere-mongo-core and sphere-mongo-derivation (#192) @yanns
- Issue with mongo type hint field (#191) @yanns
- add sphere-mongo-derivation-magnolia (#190) @yanns
- extract mongo-derivation (#189) @yanns
- show impact of parsing DateTime for a more realistic benchmark (#187) @agourlay
- various optimizations which have a slight positive impact on the bench (#186) @agourlay
- minor cleanup macros (#185) @agourlay
- Update jackson-databind to 2.11.0 (#184) @scala-steward
- a bit of linting (#183) @agourlay
- FromJson[Collections] even more imperative style for a couple percents improvement (#182) @agourlay
- Update joda-time to 2.10.6 (#181) @scala-steward
- scala 2.13.2 (#180) @agourlay
- optimize Money & HighPrecisionMoney (#179) @agourlay
- Allocate only once the typeHint JField (#178) @agourlay
- Add missing unit tests for MongoFormat[Vector[_]] (#177) @agourlay
- Cleanup JavacOptions regarding Java7 (#175) @agourlay
- introduce official owners (#172) @yanns
- Update sbt to 1.3.10 (#171) @scala-steward
- Precompute most common centFactor in Money fromCentAmount (#170) @agourlay
- Various perf improvements (#169) @agourlay
- Do not use List.apply for performance in MongoFormatMacros (#168) @agourlay
- Update Scala 2.12.11 (#167) @agourlay
- Update mongodb-driver-core to 3.12.3 (#165) @scala-steward
- Update mongodb-driver-core to 3.12.2 (#162) @scala-steward
- Update sbt to 1.3.9 (#163) @scala-steward
- Update jackson-databind to 2.10.3 (#161) @scala-steward
- Update scalacheck-1-14 to 3.1.1.1 (#159) @scala-steward
- Update cats-core to 2.1.1 (#160) @scala-steward
- Update scalatest to 3.1.1 (#158) @scala-steward
- upgrade to scalatest 3.1.0 (#157) @agourlay
- Update mongodb-driver-core to 3.12.1 (#154) @scala-steward
- test JSONTypeHintField (#156) @yanns
- Update sbt to 1.3.8 (#155) @scala-steward
- Update sbt-release to 1.0.13 (#153) @scala-steward
- Update sbt to 1.3.7 (#152) @scala-steward
- cats 2.1.0 in sphere-util (#151) @yanns
This version is available for scala 2.12 and scala 2.13. Support for scala 2.11 has been removed.
- cats 2.1.0 (#148) @yanns
- Update jackson-databind to 2.10.2 (#149) @scala-steward
- Update sbt-bintray to 0.5.6 (#147) @scala-steward
- Update sbt to 1.3.6 (#146) @scala-steward
- Update scalacheck to 1.14.3 (#145) @scala-steward
- scala 2.13.1 (#142) @yanns
- Update sbt-release to 1.0.12 (#135) @scala-steward
- Update sbt to 1.3.4 (#139) @scala-steward
- Update scalacheck to 1.14.2 (#140) @scala-steward
- Update jackson-databind to 2.10.1 (#138) @scala-steward
- Update joda-time to 2.10.5 (#136) @scala-steward
- micro-optimizations (#132) @yanns
- Update jackson-databind to 2.10.0 (#130) @scala-steward
- Update joda-time to 2.10.4 (#126) @scala-steward
- Update jackson-databind to 2.9.10 (#128) @scala-steward
- automatic release notes (#129) @yanns
- test MongoTypeHintField (#124) @yanns
- Update scala-logging to 3.9.2. 109
- Update json4s-jackson, json4s-scalap to 3.6.7. 114
- Update joda-time to 2.10.3. 116
- Update jackson-databind to 2.9.9.3. 118
- Update cats-core, cats-macros to 2.0.0. 122
- cross-compile on scala 2.13, 2.12 & 2.11. 123
- Update cats to 1.6.1. 105
- Update json4s to 3.6.6. 108
- Remove scala 2.13.0-M5 artifacts to allow updating dependencies. 107
- introduce mongo format for java.util.Local 101
deriveJSON
andderiveMongoFormat
support sum types with only one concrete type. 92
- update mongo core driver to 3.10.1. 70
- fix runtime error on
HighPrecisionMoney.toString
. 74 - lots of improvement on mongo support:
- support scala singleton objects in mongo generics. 72
- Breaking change: avoid need for currying in mongo format. 73
- update
jackson-databind
from 2.9.7 to 2.9.8. 62 - update
json4s-jackson
andjson4s-scalap
from 3.6.2 to 3.6.3. 63 - optimize
FromJSON[Seq[A]]
. 65
- make value
log
ofLogging
protected. 60 - update Scala to
2.12.8
- update
cats
to1.5.0
- update
mongodb-driver
to3.9.1
- update
joda-convert
to2.1.2
- update
json4s-jackson
to3.6.2
- update
jackson-databind
from2.9.6
to2.9.7
. 50 - update
cats
to1.4.0
- update
mongodb-driver
to3.8.2
- update
json4s-jackson
to3.6.0
- update
scala
to2.12.7
- fix to respect the java embedded annotation #52
- update
cats
to1.2.0
- update
joda
to2.10
- update
joda-convert
to2.1.1
- update
mongodb-driver
to3.8.0
- update
jackson-databind
to2.9.6
- update
json4s-jackson
to3.6.0
- Fix a bug in the new derive functions introduced in 0.9.12. 40
- Added derive functions for
ToJSON
andFromJSON
. E.g. in addition tojsonProduct
, there is now alsotoJsonProduct
andfromJsonProduct
. 39
- sphere-mongo depends on
mongodb-driver-core
instead ofmongodb-driver
to let the user decide to use whether the sync or themongodb-driver-async
driver.
- update Scala to
2.12.6
- update scala-logging to
3.9.0
- update jackson-databind to
2.9.5
- update mongodb-driver to
3.7.0
and3.7.1
- introduce
ToJSON.instance
to reserveToJSON.apply
for the typeclass instance. This change is backwards compatible only with scala >= 2.12. - optimize
LangTag.unapply
to avoid allocations.
- this version was partially deployed - please ignore and more to 0.9.10 directly.
- increase limit to allow more subclasses for
deriveJSON[X]
.
- json and mongo formats performance optimization
- update cats to
1.1.0
- update scala-logging to
3.8.0
- update
joda-convert
to2.0.1
- Added
HighPrecisionMoney
decoding validations forfractionDigits
andcentAmount
- Added helpers for
BaseMoney
(amount
andbaseMoneyMonoid
) - Introduced
ValidatedFlatMap
- added initial support for high precision money
- money is now polymorphic and has
centPrecision
andhighPrecision
types - old format with
currencyCode
andcentAmount
still supported for input, it's treated ascentPrecision
- when returned to clients "old" money has additional fields:
type
,fractionDigits
- high precision money
centAmount
can be specified and is used for rounding - experimental - high precision money is defined by
preciseAmount
andfractionDigits
- money is now polymorphic and has
- add default mongo formats for
List
andSet
- update
jackson-databind
to2.9.4
- update
mongodb-driver
to3.4.3
- update
json4s-jackson
to3.5.3
- update
jackson-databind
to2.9.3
- update
joda-convert
to1.9.2
- update
cats
to1.0.1
MongoFormat
uses the field default value if the field is absent in the mongo object.
- add support for scala enums for MongoDB
- update Cats dependency to 1.0.0-MF
- added scalac option "-Ypartial-unification"
Please note that v0.8.0 and v0.8.1 represent the same version. They are side-effect of failed attempt to update the sbt-bintray
plugin.
- Introduced
sphere-mongo
which provides a set of type classes and macros to help with defining models for MongoDB (it is similar to whatsphere-json
provides for JSON models). You can use it like this:resolvers += Resolver.bintrayRepo("commercetools", "maven") libraryDependencies += "io.sphere" %% "sphere-mongo" % "0.8.2"
- use Cats instead of Scalaz.
- update dependencies
- optimize performance of
FromJSON[List[A]]
andFromJSON[Vector[A]]
- update dependencies
- add
ToJSON.apply
- add ToJSONProduct.forProductN to create
ToJSON
without any magic
- jackson-databind 2.8.7
- add Money.withCentAmount to calculate a new money with a new cent amount in the same currency
- jackson-databind 2.8.6
- joda-time 2.9.7
- cross compile to scala 2.11 and scala 2.12
- Add TypeSelectorContainer to typeswitch return type
- performance micro-optimization
- update json to 3.4.2
- update scala-logging to 3.5.0
- update "org.scalaz" %% "scalaz-core" to "7.1.8"
- update "com.fasterxml.jackson.core" % "jackson-databind" to 2.7.4
- update "joda-time" % "joda-time" to 2.9.4
- update scala to 2.11.8
- update "com.fasterxml.jackson.core" % "jackson-databind" to 2.7.3
- update "joda-time" % "joda-time" to 2.9.3
JNothing
is now treated the same way asJNull
during the case-class serialization
- update "com.fasterxml.jackson.core" % "jackson-databind" to "2.7.2"
- update "org.scalaz" %% "scalaz-core" to "7.1.7"
- update "joda-time" % "joda-time" to "2.9.2"
- can parse a
JLong
null
is now treated the same way asundefined
during the case-class serialization- Dropped scala 2.10 support
- Added
deriveSingletonJSON
macros which provides a nice alternative toEnumeration
where you can represent enum-values as a sealed case object hierarchy (you can find an example in the DeriveSingletonJSONSpec).