jsoniter-scala

Scala macros for compile-time generation of safe and ultra-fast JSON codecs + circe booster

MIT License

Stars
739

Bot releases are visible (Hide)

jsoniter-scala - Latest Release

Published by plokhotnyuk about 2 months ago

  • Generation of more compact code for reading of arrays and array sequences of primitives
  • More efficient writing of java.time.Period values
  • More efficient decoding and encoding of java.time.* values by the circe-booster codec from jsoniter-scala-circe module
  • More efficient writing of BigDecimal and java.time.Duration values using Scala.js
  • Update Scala Native to 0.5.5

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.8...v2.30.9

jsoniter-scala -

Published by plokhotnyuk about 2 months ago

  • Fix to use proper compilation error message in cases when the codec cannot be derived due to non-concrete ADT leaf classes with free type parameters

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.7...v2.30.8

jsoniter-scala -

Published by plokhotnyuk 3 months ago

  • More efficient writing of Float, Double, and java.time.Duration values using Scala.js

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.6...v2.30.7

jsoniter-scala -

Published by plokhotnyuk 3 months ago

  • More efficient writing of numeric and java.time.* values using Scala.js

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.5...v2.30.6

jsoniter-scala -

Published by plokhotnyuk 3 months ago

  • More efficient writing of BigDecimal, BigInt, Double, Long, and java.time.Duration values using Scala.js

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.4...v2.30.5

jsoniter-scala -

Published by plokhotnyuk 3 months ago

  • More efficient writing of Double values using Scala.js
  • More efficient reading of BigDecimal, BigInt, Double, Float, Long, and java.time.Duration values using Scala.js

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.3...v2.30.4

jsoniter-scala -

Published by plokhotnyuk 4 months ago

  • Update Scala Native to 0.5.4
  • Update scala-java-time to 2.6.0 for jsoniter-scala-coreJS and jsoniter-scala-coreNative modules
  • Update circe-core to 0.14.9 for jsoniter-scala-circe* modules

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.2...v2.30.3

jsoniter-scala -

Published by plokhotnyuk 4 months ago

  • Fixed possible ArrayIndexOutOfBoundsException for some lengths of output buffer when serializing double values with 3-digit mantissa by JVMs
  • More efficient parsing of java.time.Duration values without nanoseconds
  • More efficient serialization of strings with escaped unicodes
  • More efficient serialization of double and float values
  • Added some compile-time optimizations

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.1...v2.30.2

jsoniter-scala -

Published by plokhotnyuk 5 months ago

  • Fixed missing enforced discriminator field for module or enum classes
  • Disallowed discriminatorFieldName to be None when alwaysEmitDiscriminator is true

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.0...v2.30.1

jsoniter-scala -

Published by plokhotnyuk 5 months ago

  • Added ability to enforce emitting of the discriminator field for ADT-based types if their codecs are derived not from the base ADT type

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.29.0...v2.30.0

jsoniter-scala -

Published by plokhotnyuk 5 months ago

  • Added the ConfiguredJsonValuCodec[A] trait that can be used with the ... derives ... syntax for Scala 3 macros

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.5...v2.29.0

jsoniter-scala -

Published by plokhotnyuk 6 months ago

  • Disabled generation of asymmetric codecs for sum types with leaf classes that are AnyVal or one value classes with CodecMakerConfig.withInlineOneValueClasses(true)
  • Update Scala 2.13.x to 2.13.14

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.4...v2.28.5

jsoniter-scala -

Published by plokhotnyuk 7 months ago

  • Fixed an unexpected Scala 3 compiler warning for generic sum types

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.3...v2.28.4

jsoniter-scala -

Published by plokhotnyuk 8 months ago

  • More efficient reading of time-zone offsets in java.time.* types and exponents in float, double, and BigDecimal types for JVMs and Scala Native
  • Update Scala 3.x to 3.3.3
  • Update Scala 2.13.x to 2.13.13
  • Update Scala 2.12.x to 2.12.19

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.2...v2.28.3

jsoniter-scala -

Published by plokhotnyuk 8 months ago

  • Fix to throw an overflow error before an illegal number error due to unexpected e, E, or . byte when reading Byte, Short, Int, Long, and BigInt values
  • Fix typos in error messages when parsing invalid java.time.Duration values
  • More efficient reading and writing of JSON strings with non-ASCII characters
  • More efficient reading of java.time.Duration and java.time.Period values

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.1...v2.28.2

jsoniter-scala -

Published by plokhotnyuk 9 months ago

  • Fix reading of java.time.LocalTime and java.time.LocalDateTime values to throw JsonReaderException for all invalid values
  • Clean up error messages for reading of invalid char values
  • More efficient reading of numeric values
  • More efficient validation of encoding of JSON strings with non-ASCII characters
  • More efficient reading of year parts that are out of 0000 to 9999 range in java.time._ values using JVMs or Scala Native

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.0...v2.28.1

jsoniter-scala -

Published by plokhotnyuk 9 months ago

  • Added an ability to customize number serializer for circe integration

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.27.7...v2.28.0

jsoniter-scala -

Published by plokhotnyuk 9 months ago

  • Add missing support of immutable.TreeSeqMap and mutable.PriorityQueue by Scala 3 macros
  • Fixed reusing of the same instance when reading mutable.LongMap and mutable.CollisionProofHashMap with Scala 3

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.27.6...v2.27.7

jsoniter-scala -

Published by plokhotnyuk 9 months ago

  • Added missing support of mutable.CollisionProofHashMap
  • Fixed error messages when reading maps from invalid JSON arrays of JSON arrays
  • More efficient reading of maps and sets when limit of inserts is set to infinity
  • More efficient validation of surrogate char pairs (contributed by @xtonik)

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.27.5...v2.27.6

jsoniter-scala -

Published by plokhotnyuk 9 months ago

  • Fixed missing support of ordering when reading SortedMap and TreeMap collections with Scala 3
  • Fixed writing of ADTs to don't serialize null values
  • Clean up of error messages when parsing ADTs
  • More efficient writing of Option and List values
  • More efficient reading of BitSet values and non-specialized maps
  • More efficient derivation of codecs for classes without required fields when checking of field duplication is turned off

All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.27.4...v2.27.5

Package Rankings
Top 10.0% on Repo1.maven.org
Top 6.75% on Proxy.golang.org
Badges
Extracted from project README's
Actions Build Scala Steward Gitter Chat Maven Central GitHub contributors