Listing news on any major breaking changes in DFG. For regular changes, see integrated Github.com project milestones for DFG.
- Deprecated nouns: SessionBlobEntry -> GraphBlobEntry RobotBlobEntry -> AgentBlobEntry UserBlobEntry -> AgentBlobEntry RobotData -> AgentMetadata SessionData -> GraphMetadata UserLabel -> AgentLabel RobotLabel -> AgentLabel SessionLabel -> GraphLabel
Variables and Factors are renamed and aliased to the old names, see #1109.
-
Factor-level noun-adjectives SkeletonDFGFactor -> FactorSkeleton DFGFactorSummary -> FactorSummary DFGFactor -> FactorCompute PackedFactor/Factor -> FactorDFG
-
Variable-level noun-adjectives SkeletonDFGVariable -> VariableSkeleton DFGVariableSummary -> VariableSummary DFGVariable -> VariableCompute PackedVariable/Variable -> VariableDFG
-
v0.24 FileDFGs can be loaded with v0.25 with the exception of the User[Label/Data/BlobEntries]
- Remove
FolderStore
.dat
legacy extension. To upgrade a legacy FolderStore remove extention with something like:foreach(f->mv(f,split(f,".")[1]), files)
- save/loadDFG now users Tar.jl and CodecZlib.jl #351.
- save/loadDFG now preserves meta fields #921.
- Deprecate getNeighbors for listNeighbors.
- Dropped AbstractRelativeRoots.
- Throw
KeyError
ifgetBlobEntry
is not found, previously wasErrorException
. - Change return type on
addData!
convenience wrappers to only return newBlobEntry
. - Fix
addBlob!
calls forFolderStore
andInMemoryBlobStore
to useBlobEntry.originId
and not previous bugentry.id
. - Close long running serialization redo (#590) using only JSON3.jl and StructTypes.jl going forward.
- Standardize BlobEntry=>Blob naming of functions, and keeping convenience wrappers
{get,add,update,delete}Data[!]
. - Consolidate to only one
BlobEntry
definition, dropping use ofAbstractBlobEntry
. - Include type field
VariableNodeData.covar
. - Drop minimum Julia compat to 1.8.
- Add ids and metadata to data types.
- Use
Base.@kwdef
on stuct types for default values and serialization. - Dropped dependency on Unmarshal.jl.
- Note src/Serialization.jl was refactored and currently contains lots of legacy code for DFG v0.18 compat, and much will be deleted in DFG v0.20 to standardize serialization around JSON3.jl, see #590.
Neo4jDFG
has been removed.LightDFG
has been removed, andGraphsDFG
is not the standard in-memory driver for aliasLocalDFG
.- Standardize all timestamp fields to
ZonedDateTime
from previousDateTime
so that time zones will always be available. - internal
getDFGVersion()
function now returns a::VersionNumber
. - Use
userLabel, robotLabel, sessionLabel
instead of legacyuserId, robotId, sessionId
.
- Unpack of GenericFactorNodeData with
reconstrFactorData
now getsdfg::AbstractDFG
andvarOrder::Vector{Symbol}
, deprecating previous use ofconvert
without the graph context (#832). - Switch to GraphsDFG, deprecating archived LightGraphs.jl (#826).
- Workaround: packed factor data
.fnc
encoded as base64 to avoid escape character problems (#834). - Towards distributions serialized via JSON, getting away from custom strings (#848).
LocalDFG
replacesDefaultDFG
(#844).- Optimized creation of CGDFG /
createDfgSessionIfNotExist
(#839, #815). plotDFG
replacesdfgplot
(#841, #844).Neo4jDFG
replacesCloudGraphsDFG
(#836).
{Packed}VariableNodeData.infoPerCoord::Vector{Float64}
replaces previous.inferdim::Float64
. The change should have legacy support to help facilitate the transition. This datastore is likely to only become part of critical computations downstream in IncrementalInference.jl v0.26, even though the previous.inferdim
data values are being populated there. (#804)