Skip to content

Releases: JavaWebStack/abstract-data

Release 1.0.6

03 Sep 18:12
e6790b8
Compare
Choose a tag to compare

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

26 May 18:38
858625f
Compare
Choose a tag to compare
  • 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

03 Sep 20:06
e6d897b
Compare
Choose a tag to compare

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

08 May 16:38
aae4425
Compare
Choose a tag to compare

Fixed:

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

Release 1.0.2

01 May 19:45
c39bfdb
Compare
Choose a tag to compare

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

19 Jan 20:57
352af2d
Compare
Choose a tag to compare

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

05 Nov 16:19
Compare
Choose a tag to compare

First Release