Changes
All notable changes to this project will be documented in this file.
1.7.5 - 2025-10-22
- Initial UE 5.7 support.
 
1.7.4 - 2025-5-15
- Initial UE 5.6 support.
 
1.7.3 - 2024-12-25
- FIX Fix uninitialized struct fields which causes bogus errors.
 
1.7.2 - 2024-11-27
- New Better 
FTextdeserialize handling.- See: Core Types - FText
 
 
1.7.1 - 2024-11-20
- BREAKING Empty 
TArray/TSet/TMapproperties on write.- See: Breaking - 1.7.1
 
 
1.7.0 - 2024-10-2
- Initial UE 5.5 support.
 - BREAKING Separate 
DataConfig54.upluginandDataConfig.uplugin.- See: Breaking - 1.7.0
 
 
1.6.2 - 2024-5-18
- Misc Shipping configuration build fixes.
 
1.6.1 - 2024-4-28
- Fix compilation for UE 5.4.
 
1.6.0 - 2024-3-31
- BREAKING Removed 
PredicateIsUStruct. Use struct handlers instead.- See: Breaking - 1.6.0
 
 - NEW JSON Blueprint Library Nodes
- See: Extra - Blueprint Nodes
 - Moved most editor extra samples to engine so it can be used at runtime.
 
 - NEW Struct handlers added to serializer/deserializers.
 - NEW JSON Writer improvements.
- Allows override config for inline object/arrays.
See: JSON - Override Config - Add float/int format strings to config.
 
 - Allows override config for inline object/arrays.
 - NEW UE core types serializers and deserializers.
- See: UE Core Types
 
 - NEW Property reader/writer heuristic stack overflow detection. 
- This avoids a hard crash when serializing running into infinite loop.
 
 - FIX EditorConfig fixes.
- Now properly indented with tab just like UE code base.
 
 
1.5.0 - 2024-2-20
- BREAKING 
EDcDataEntry::Nilrenamed toEDcDataType::None.- This is necessary to fix Mac builds.
 
 - UE 5.4 support.
 - NEW Optional support.
- See Optional
 
 
1.4.3 - 2023-8-27
- NEW Extra samples.
 - CHANGE small QoL changes:
- Fix 
FDcDiagnosticenum argument captures. - Better 
FDcJsonReader::FinishRead()behavior. - Diagnostic message fixes.
 - Relax JSONReader a bit to allow root object/array.
 - Add 
PredicateIsRootPropertyutil to select root property. 
 - Fix 
 
1.4.2 - 2023-8-1
- UE 5.3 support.
 
1.4.1 - 2023-2-15
- Fix compilation on 
!WITH_EDITORONLY_DATA.- See No MetaData.
 
 - UE 5.2 support.
 
1.4.0 - 2022-11-17
Checkout blog post "DataConfig 1.4 Released with UE 5.1 Support".
- NEW Support for UE 5.1.
- See UE version upgrade.
 
 - NEW Extra samples and docs.
 - CHANGE Use separated 
upluginfor UE4 and UE5.- See Integration
 
 - FIX Core changes and fixes:
- Fail when 
FPropertyWriter::WriteObjectReference()takes nullptr. See test:DataConfig.Core.Property.DiagNullObject - Additional check for class mismatch for default object deserialize handlers.
See test: 
DataConfig.Core.Deserialize.DiagObjectClassMismatch 
 - Fail when 
 
1.3.0 - 2022-6-20
Checkout blog post "DataConfig Core and JSON Asset 1.3 Release".
- CHANGE Property reader/writer improvement and fixes 
- Allow reading 
Array/Set/Mapand native array likeint arr[5]as root.
See: Non Class/Struct Root - Expand property with 
ArrayDim > 1as array.
See: Property - Performance improvement by caching 
FScript/Array/SetHelper 
 - Allow reading 
 - NEW Extra samples:
 - FIX Core changes and fixes:
- Fix stale enum property fields serialization crash.
 - Fix 
TSet/TMapserialization crashes. - Fix soft object/class reference serialize to nil when it's not loaded.
 - Fix pipe property class/object handlers.
 - Fix 
TObjectPtr<>serialization and deserialization. - Fix 
PeekReadDataPtron class property. - Removed 
FScopedStackedReader/FScopedStackedWriterusage. - Fix 
HeuristicVerifyPointerdiagnostic. - Fix 
DC_TRYshadowing variableRet. - JSON now support non string keyed 
TMap<>as[{ "$key": <foo>, "$value": <bar> }].
See: JSON - Map - Fix 
DcPropertyUtils::DcIsSubObjectProperty()
Now it only checks forCPF_InstancedReference. - Update screenshots to UE5.
Note that DataConfig still supports from 4.25 and onwards. - Update Property docs.
 
 
1.2.2 - 2022-4-5
- Support for UE 5.0.0
 - Add 
DebugGetRealPropertyValuefor double BP fields. 
1.2.1 - 2022-2-23
- Support for UE5 Preview 1.
 - FIX Compile fixes for examples on UE 4.25.
 - FIX UE 4.25/4.26 editor extra BP serde automation test fixes.
 - FIX 
FDcAnsiJsonWriterwrites non ascii char to?when string contains escaping characters.FDcJsonWriterwas unaffected. This only happens to the ansi char writer and only when input has escapes like\t.
 
1.2.0 - 2022-1-26
Checkout blog post "Introducing DataConfig 1.2".
- NEW Serializer. Previously we only have deserializers. 
- Serializer API mirrors deserializers.
 - Builtin serialization and deserialization handlers are all roundtrip-able.
 DcDiagnosticDeserialize -> DcDiagnosticSerDefor sharing diagnostics.DcDeserializeUtils -> DcSerDeUtilsfor sharing code.
 - NEW MsgPack reader and writer.
- Full spec implemented, minus the "Timestamp extension type".
 - Integrate and passes kawanet/msgpack-test-suite.
 
 - NEW JSON writer.
- With 
WIDECHAR/ANSICHARspecialization as JSON Reader. - Accept config to output pretty or condensed output.
 
 - With 
 - NEW Builtin metas.
DcSkip- skip marked fieldsDcMsgPackBlob- marked TArray<>/Struct would be read as blob by MsgPack SerDe
 - CHANGE Core type changes.
FDcReader/FDcWriterchanges.FDcStruct/ClassStatrenamed toFDcStruct/ClassAccess.ReadStruct/ClassRoot()renamed toReadStruct/ClassRootAccess.- Add
ReadStruct/ClassRoot()that takes no argument for common use cases. FDcReader::Coercion()now returns aFDcResult[Read/Write]Soft[Object/Class]ReferencetakesFSoftObjectPtr.- RTTI with 
GetId()andCastById() 
FDcSerializer/FDcDeserializerchanges.DcDiagnosticDeserialize->DcDiagnosticSerDefor sharing diagnostics.DcDeserializeUtils->DcSerDeUtilsfor sharing code.- Add handlers to read/write 
Soft/Lazyreferences as is, without loading the object. - Implicit call 
Properties.Push()before contextPrepare(). - Removed 
FDcScopedPropertyin favor ofDcDeserializeUtils::RecursiveDeserialize()it's more concise. 
FDcPropertyReader/FDcPropertyWriterchanges.- When reading class object keys any one with 
$will be ignored.- previously only allow 
$type,$path. - note that struct by default don't check for these. It's trivia to add the logic if you want to.
 
 - previously only allow 
 - Add 
FDcPropertyReader::PeekReadDataPtrmatches withPeekProperty 
- When reading class object keys any one with 
 FDcJsonReaderchanges.- Remove object key length limit, which was 2048 and it's incorrect.
- Though 
FNameis capped at 1024, which is a Unreal Engine limit. 
 - Though 
 - Fix 
ReadName()which previously would fail. - Fix quoted string parsing/escaping  in 
ParseQuotedString 
- Remove object key length limit, which was 2048 and it's incorrect.
 - Add 
EDcDataEntry::Extension. - Add 
FDcPropertyDatumtemplate constructor to directly construct one from aFStruct*. FPrettyPrintWriternow print blobs with hash, previously it's pointer value.DcAutomationUtils::SerializeIntoJson/DeserializeIntoJson->SerializeInto/DeserializeFromas we're supporting other formats.- Add 
HeuristicVerifyPointerto check common magic invalid pointers. 
 - Misc fixes and QOL improvements.
- Fixed linux build. Now the headless program target cross compiles and runs under wsl.
 - Serializer/Deserializer now also report diagnostics.
 - Better Json reader diagnostic formatting. Now it clamps long lines properly.
 - Add 
DataConfigEditorExtra.DcCoreTestsCommandletas tests runner. - Add performance benchmark.
 - Restructured DataConfig book for topics on serializer and MsgPack.
 
 
1.1.1 - 2021-10-6
- Support for UE 4.27.
 - Support for UE 5.
 
1.1.0 - 2021-4-24
- Integrate nst/JSONTestSuite. Now 
DcJSONParserpass most of them. Skipped tests are also documented. FDcAnsiJsonReadernow detect and convert non ASCII UTF8 characters. Previously these characters are dropped.- Headless test runner pass along parameters to tests, for example
DataConfigHeadless-Win64-Debug.exe Parsing -- n_array_just_minus