Skip to content

Releases: JavaWebStack/abstract-data

Release 1.0.6

Choose a tag to compare

@JanHolger JanHolger released this 03 Sep 18:12
e6790b8

Added:

  • XML Representation (XMLElement, XMLTextNode)
  • XML Parser (w3c wrapper) & Dumper
  • onlyIf fluent api helper

Removed:

  • AbstractMapper (has been replaced by Mapper several versions ago)

Fixed:

  • Support for internal/custom implementations of List, Set and Map (like Arrays.asList(...), etc.)
  • Fixed NPE when there is no field given in the mapper context

Notes:

  • This release is BREAKING for users still using the deprecated AbstractMapper api
  • Dependency major/minor versions have been upgraded, check for compatibility with your software

Release 1.0.5

Choose a tag to compare

@JanHolger JanHolger released this 26 May 18:38
858625f
  • Implemented equals methods which fixes a major bug with the orm (changes in abstract elements were not detected by the dirtiness checks)
  • Updated snakeyaml to 2.0 to fix CVE's
  • Updated all other dependencies to the latest minor release

Release 1.0.4

Choose a tag to compare

@JanHolger JanHolger released this 03 Sep 20:06
e6d897b

Added:

  • Added a toTree method that joins the key segments
  • Added a "use" helper method to allow executing code in the chaining flow

Fixed:

  • Disabled coercing errors for AbstractNull to replicate the previous behavior
  • Fixed the DateMapper

Required Changes:

  • The removal of AbstractMapper was delayed because of several issues with the last release and is now planned for the next release. If you are still using it, make sure to replace it by the new Mapper class.

Release 1.0.3

Choose a tag to compare

@JanHolger JanHolger released this 08 May 16:38
aae4425

Fixed:

  • Fixed bug with missing .object(boolean) override
  • Fixed NPE when orElse in query is null

Release 1.0.2

Choose a tag to compare

@JanHolger JanHolger released this 01 May 19:45
c39bfdb

Added:

  • @DateFormat annotation that adds support for custom date formats per field and support for epoch timestamps in seconds or milliseconds
  • Automatic type coercing between different primitives and between object and array elements
  • Option to enable a strict mode (Mapper.strict()) that prevents the newly introduced type coercing
  • All type coercing methods (.string(), .number(), .bool(), ...) now optionally accept a strict parameter
  • Added toStringList() and toObjectList() helpers in AbstractArray

Fixed:

  • Fields without explicit naming weren't mapped
  • Static fields were included due to a missing check
  • SimpleDateFormat isn't thread safe, which affected date parsing in multit-hreaded environments
  • The new json parser didn't support exponential notation for floating point numbers

Deprecated:

  • AbstractNull.INSTANCE got deprecated, use AbstractNull.VALUE instead

Required Changes:

  • The AbstractNull.INSTANCE constant got deprecated and should be replaced by the new AbstractNull.VALUE constant
  • Check whether your project is fine with the type coercing feature and enable strict mode if not
  • The removal of AbstractMapper is planned for the next release. If not already done, please check all your projects and replace it by the new Mapper class that's easier to use and offers all the new options added in this and the last update.

Release 1.0.1

Choose a tag to compare

@JanHolger JanHolger released this 19 Jan 20:57
352af2d

Added:

  • New self-implemented JsonParser and JsonDumper implementation
  • New self-implemented Mapper
  • Support for ordering fields using the order attribute in @MapperOptions
  • Support for additional attributes by adding @Additional to a field of type AbstractObject
  • Support for deserializing types with generic type arguments (Set, List, Map)
  • Support for accessing the context (field, annotations, ...) in custom type adapters
  • Stream API collectors for AbstractArray and AbstractObject that can be accessed using the static methods AbstractArray.collect() and AbstractObject.collect()
  • Bson Support (bson library is marked optional and needs to be added to the classpath manually)

Fixed:

  • QueryString keys weren't encoded/decoded properly
  • Json String length limit of 1500

Deprecated:

  • AbstractMapper (see the Mapper class for the new api)

Removed:

  • Gson dependency
  • Gson util classes (GsonAbstractDataAdapter, GsonEnum, GsonEnumAdapter, GsonListDeserializer, GsonMapDeserializer)

Required Changes:

  • The old AbstractMapper got deprecated and should be replaced by the new Mapper
  • Because gson isn't used for mapping anymore, you need to make sure to replace all gson annotations (@SerializedName, @Expose, ...) to @MapperOptions

Release 1.0.0

Choose a tag to compare

@JanHolger JanHolger released this 05 Nov 16:19

First Release