291 Commits over 397 Days - 0.03cph!
Fix Either.CreateType( typeof(Signal) )
Prune unused child nodes during validation
Was doing this when removing links, but this would sometimes break graphs during deserialization
CacheForceLoadExposed test
Allow calling Remove() on removed elements
Fix deserializing into existing graph with array element links
Add SerializationOptions.ForceUpdateCached
Add way to not increment ChangeId after housekeeping validation
Set SourceLocation in cached deserialize
Set SourceLocation in Serialize, if null
SerializationOptions scope refactor, add WriteCacheReferences
Version bump
Store node properties as a JsonObject
Fix order inconsistency
Add ChangeId to model, deserialize cached if changed
Move aliases to ISourceLocation
ActionGraphCache: aliases
Reapply "Add ActionGraph.SourceLocation"
This reverts commit 69982f5ae0aa3b6b072be3bfd5e6e28862709913.
IActionGraphCache.Add() takes in a Guid
Add IActionGraphCache.Guids
Add interface IActionGraphCache
Revert "Add ActionGraph.SourceLocation"
This reverts commit 413f3e3e213f3e31114cc585e89d2dd288a5366c.
Add ActionGraph.SourceLocation
Make NodeBinding.FromMethodBase exceptions into binding errors
ParameterDefinitionExtensions.With order test, actual fix
ParameterDefinitionExtensions.With order fix
Add to cache on deserialize
Check cache even when deserializing full graphs
Expose parts of ActionGraphCache
Failing test for delegate type with multiple out parameters
Expression graphs can implement delegates with multiple out parameters
Keep serialized properties in a consistent order
Input / output signals can be synchronous or async
Got simple expression graphs working again, now with signals
Automatically hook up input -> output signal for new expression graphs
Fix version 7 upgrader
Fix expression subgraphs
Failing test for expression graph using async
Use a dummy Signal type for all signal parameters
Basic test for async in expression graphs
Test for control flow async
Control flow nodes inherit async from body signals
Start using DisplayInfo.Hidden
Use ExposeWhenCachedAttribute instead of ITypeLoader.CanCache( Type )
Link.IsNestedInput
ActionGraph delegates can override input values
Define types that must be exposed during cached graph serialization
Link.TryGetConstant() / TryGetVariable()
Automatically remove unlinked nested nodes
Get rid of LinkSource, just use nested nodes
Benchmark cached vs uncached
Fix ReSharper error
Simplify ToDictionaryExpression
ActionGraphCache first pass
Basic delegate invocation benchmarks
Fix serializing System.Object
IMessageContext.StackTraceIdentifier
Include Context.StackTraceIdentifier in ValidationException.ToString()
Merge branch 'legacy/1.3'
Add __guid and rename Version to __version in json
Nicer stack traces
Fix "The node already has a parent." when deserializing
Tweak lambda naming
Generate a throwing lambda when compiling a graph with errors
Tweak how ValidationExceptions are thrown on invoke
Added NodeLibrary.VoidTaskFaulted event
Merge branch 'legacy/1.3'
Only AssignmentKind.Set guarantees a variable is initialized
Test output type of struct member assignment
Fix result type of set property node if target is a struct
Display info for assignment operations
Failing property binding test
Allow type loaders to specify read / write access to properties and fields
Fix property parameters when disconnected
Accessor node binding tweaks
Use IEnumerable<T> for ParameterDefinitionExtensions
Make ParameterDefinitionExtensions public