Releases: paolo-rossi/delphi-neon
Releases · paolo-rossi/delphi-neon
Release 3.0.0
🚀 High level features (since the 2.1.0 release)
- 🚀 Objects and Items creation through a FactoryClass and the
[NeonFactory]
and[NeonItemFactory]
- ✨ New attribute
[NeonItemFactory]
Now you can decide the (array,list, dictionary) item creation based on the item's JSON values - ✨ New attributes:
[NeonFactory]
Now you can decide the object creation based on the JSON value - 🚀 Now it's possible to serialize
TBytes
fields or properties in Base64 format using the new[NeonFormat]
attribute - ✨ Added
TBytesSerializer
custom serializer forTBytes
- 🚀 Now you can support all kind of formats for any Delphi type using the
[NeonFormat]
attribute and creating a custom serializer - ✨ Support for the KebabCase and ScreamingSnakeCase in
INeonConfiguration
- 🚀 You can now ignore specific members (by name) globally (e.g. Parent, Owner, etc...). New config setting: IgnoreMembers
🛠️ Other features, changes and bugfixes
- 👍 Extended test coverage
- 👍 Improved earlier versions compatibility
- 🐛 Several bug fixed
Release 2.1.0
🚀 High level features (since the 2.0.3 release)
- 🏛️ Support for Delphi 12 Athens
- 💥 StrictTypes configuration: allows loose conversions between types (useful when you have an "all string" json to read into a properly typed Delphi object)
- 💥Support for use of class functions in IncludeIf.CustomFunction parameter to NeonIncludeAttribute. This enables the use of CustomFunction when generating OpenAPI schemas. Thanks to @veikkonurmonen
- 🚀 Extended Nullables support thanks to @dominikcz
- 🚀 Improved formatting on floats
- 🚀 Better management of dates: now it differentiate between TDate, TTime, TDateTime
- 🏛️ (re)checked compatibility with Delphi XE6
🧰 Other features, changes and bugfixes
- ➕ Overloaded versions of Print and PrintToStream allowing to pass the TJSONOutputOption parameter
- ➕ Preserved empty strings in nullable records
- 🛠️ Refactoring of all conditional defines. Removed VERxxx in favor of HAS_* defines ().
- 🛠️ Reworked error messages
- 🪛 Fixed a memory leak for empty List in Dictionary
- 🪛 Fixed a bug in
NeonIncludeIf
code
Release 2.0.3
✨ High level features (since the 2.0.2 release)
- ✨ Improved support for Variants serialization/deserialization (thanks to Daniel Jenne)
- ✨ Improved support for array (static and dynamic) deserializaion
🛠️ Other features, changes and bugfixes
- 🛠️ Routines for value creation
Paolo.
Release 2.0.2
✨ High level features (since the 2.0.1 release)
🛠️ Other features, changes and bugfixes
- 🛠️ Changed function names to match Neon attributes
Release 2.0.1
✨ High level features (since the 2.0.0 release)
🛠️ Other features, changes and bugfixes
- 🛠️ The AutoCreate feature works also when a custom serializer gets called
Release 2.0.0
✨ High level features (since the 1.9.0 release)
- ✨ Support for [NeonRawValue] attribute (to serialize a property exactly as is, without escaping) useful for embedding pre-serialized JSON
- ✨ AutoCreate feature (Neon will try to create sub-objects that are nil with a default parameter-less constructor)
- ✨ Support for [NeonAutoCreate] attribute (to individually control the auto-creation of members)
- ✨ Added cache mechanism for class/record members
- ✨ Added Benchmarks project so you can compare Neon's performance against other JSON serializers
🛠️ Other features, changes and bugfixes
- 🛠️ More tests (for the AutoCreate and RawValue features)
- 🐛 Fixed MainDemo file path
Release 1.9.0
✨ High level features (since the 1.8.0 release)
- ✨ Now it's possible to (de)serialilze enums as Integer
- ✨ Now it's possible to deserialize array of arrays
🛠️ Other features, changes and bugfixes
- 🛠️ JSONToValue now can accept strings to deserialize
- 🐛 Restored 10.2 compatibility (custom managed records, ParseJSONValue parameters)
Release 1.8.0
✨ High level features (since the 1.7.0 release)
- ✨ Support for UInt64 (although Delphi JSON framework has not UInt64 support)
- 🛠️ Now ReadInteger will check ranges against the exact type.
- 🛠️ Type and range checking for float types
- 🛠️ Added ValueToJSONString (overload) to the TNeon class.
🛠️ Other features, changes and bugfixes
- 🛠️ using a custom serializer (when available) to allocate TValue instead of TRttiUtils.CreateNewValue
- 🐛 Small fix using Format function
- 🐛 The RegistryCache is now thread safe (thanks to stalexteam)
Release 1.7.0
💥 High level features (since the 🔖 1.6.1 release)
- 💥 Added support for Delphi 11 Alexandria
- 💥
NeonUnwrapped
Attribute to unwrap (flatten) a sub-object into the parent object - 💥 New
TValue
custom serializer - 💥 New
nullables
custom serializers
🌟 Other features, changes and bugfixes
- 🛠️ Fixed Linux compilation error
- 🛠️ Improved enum support in a JSON Schema
Release 1.6.1
🌟 Other features, changes and bugfixes (since the 🔖 1.6.0 release)
- 🛠️ Fix: Renamed also the unit name! (Neon.Core.Persistence.JSON.Schema)