Releases: JavaWebStack/abstract-data
Releases · JavaWebStack/abstract-data
Release 1.0.6
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
- 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
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
Fixed:
- Fixed bug with missing .object(boolean) override
- Fixed NPE when orElse in query is null
Release 1.0.2
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 astrict
parameter - Added
toStringList()
andtoObjectList()
helpers inAbstractArray
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, useAbstractNull.VALUE
instead
Required Changes:
- The
AbstractNull.INSTANCE
constant got deprecated and should be replaced by the newAbstractNull.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 newMapper
class that's easier to use and offers all the new options added in this and the last update.
Release 1.0.1
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()
andAbstractObject.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 newMapper
- 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
First Release