Skip to content

Releases: rschmitt/dynamic-object

dynamic-object-1.2.0

14 Feb 03:29
Compare
Choose a tag to compare

Changes in this release:

  • Streaming serialization support has been improved significantly. Nested DynamicObject instances will now be correctly streamed, instead of being buffered. In addition, a stream-oriented variant of the write method is now available on the EdnTranslator interface, with a sensible default implementation.
  • Wrapping a null reference as a DynamicObject is now forbidden and will result in a NullPointerException.
  • Exceptions are no longer swallowed within DynamicObject#deserializeStream.

dynamic-object-1.1.0

13 Feb 06:14
Compare
Choose a tag to compare

Changes in this release:

  • The DynamicObject#serialize(Object, Writer) method has been added. This method is available for streaming use cases (such as serializing directly to a file) where there is no need to build an intermediate String representation.
  • A major bug has been fixed that was causing Map elements to be dropped.

dynamic-object-1.0.0

08 Feb 07:14
Compare
Choose a tag to compare

Changes in this release:

  • DynamicObject is now stable; this release is not a pre-release.
  • DynamicObject has adopted semantic versioning.
  • Custom keys can now be strings (using @Key("string")), in addition to keywords (using @Key(":keyword")).
  • The getMap method now returns a raw Map without wildcards.
  • The serializeStream method now returns a Java 8 Stream<T> instead of an Iterator<T>.

dynamic-object-0.5

21 Jul 05:04
Compare
Choose a tag to compare
dynamic-object-0.5 Pre-release
Pre-release

Changes in this release:

  • User-defined validate() methods are now supported. This allows custom logic to be added to a DynamicObject type that will be called along with the usual validation checks when validate() is invoked.

dynamic-object-0.4

06 Jul 21:34
Compare
Choose a tag to compare
dynamic-object-0.4 Pre-release
Pre-release

Changes in this release:

  • Fields marked @Required, when accessed, will immediately throw NullPointerException, even if validate() was never called.
  • Support for java.util.Optional has been added. Optionals will be wrapped and unwrapped at runtime; using Optional in a dynamic-object schema does not affect the on-wire or in-memory representation.

dynamic-object-0.3

27 Jun 06:13
Compare
Choose a tag to compare
dynamic-object-0.3 Pre-release
Pre-release

This release includes the following changes:

  • built-in support for java.time.Instant with the #inst tag
  • DynamicObject#getMap now returns a Map instead of an Object

dynamic-object-0.2

25 Jun 07:25
Compare
Choose a tag to compare
dynamic-object-0.2 Pre-release
Pre-release

This is mostly a bugfix release; it is fully source compatible with v0.1. Changes include:

  • Added support for serializing and deserializing arbitrary types (registered types can be round-tripped by themselves)
  • Fixed cached access to null field
  • Fixed a bug where default methods that looked like builder methods were not invoked correctly
  • Changed DynamicObject#validate return type from void to T
  • Add support for deserializing a stream of DynamicObjects from a PushbackReader

dynamic-object-0.1

20 Jun 05:20
Compare
Choose a tag to compare
dynamic-object-0.1 Pre-release
Pre-release

This is an early preview release; the API is not yet guaranteed to be stable.