Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.76.0] - 2023-03-07
Added
Added functions to traverse the graph and visit upstream and downstream nodes
[1.75.0] - 2023-03-05
Added
AttributeTemplate.get_default_data accessor
[1.74.2] - 2023-03-01
Fixed
OM-84762 IBundleFactory get_bundle conversion methods bugfix.
[1.74.1] - 2023-03-01
Fixed
warning about deprecated function call
[1.74.0] - 2023-02-28
Added
ComputeGraph::flushUsd call to apply pending usd changes.
[1.73.1] - 2023-02-25
Changed
Modifed format of Overview to be consistent with the rest of Kit
Fixed link to Python autodocs
[1.73.0] - 2023-02-24
Added
ResolveAttrTypeCommand
[1.72.4] - 2023-02-23
Added
Two new utility methods for evaluating code once at the start/end of threaded unit tests in ThreadsafetyTestUtils.
[1.72.3] - 2023-02-22
Changed
Renamed omni.kit.exec references to omni.kit.exec.core
[1.72.2] - 2023-02-21
Added
ThreadsafetyTestUtils class that helps simplify the writing of thread-safety tests for OG nodes.
[1.72.1] - 2023-02-19
Changed
Added label to the main doc page so that higher level docs can reference the extension
[1.72.0] - 2023-02-16
Changed
Unification of Py_Bundle and IConstBundle/IBundle
[1.71.1] - 2023-02-15
Fixed
Made test file pattern account for node files not beginning with Ogn
[1.71.0] - 2023-02-15
Changed
Switched the default execution backend for generated tests. Execution Framework in enabled by default
[1.70.1] - 2023-02-09
Fixed
Reverted unintential change to test case creation
[1.70.0] - 2023-02-08
Added
AttributeTemplate API calls
[1.69.0] - 2023-02-07
Added
Split support for test configurations without forcing specific base class
[1.68.0] - 2023-02-06
Added
omni.graph.core._unstable module
AttributeTemplate CompoundNodeType python bindings
CreateCompoundNodeType, CreateCompoundNodeTypeInput, CreateCompoundNodeTypeOutput, RemoveCompoundNodeTypeInput, RemoveCompoundNodeTypeOutput commands
Removed
CreateNodeType, CreateTypeInput, CreateNodeTypeOutput, RemoveNodeTypeInput, RemoveNodeTypeOutput
[1.67.4] - 2023-02-02
Fixed
Lint error that appeared when pylint updated
[1.67.3] - 2023-01-30
Changed
Removed the kit-sdk landing page
Moved all of the documentation into the new omni.graph.docs extension
[1.67.2] - 2023-01-30
Changed
Refactored OG test generation to not assume execution backend
[1.67.1] - 2023-01-20
Fixed
GIL locking safety in bindings call out to python
GIL is released before Graph eval via python
[1.67.0] - 2023-01-11
Changed
Made dynamic attribute failures raise exceptions
Made return values of dynamic attribute commands more consistent
Made the node controller failures in dynamic attribute operations raise exceptions
[1.66.0] - 2023-01-11
Removed
Gather prototype is gone
Changed
Bundle attributes are now all typed as eRelationship (no ePrim anymore)
[1.65.3] - 2023-01-03
Changed
Added [native] to make package separate for each platform & build config
[1.65.2] - 2022-12-21
Changed
Refactored CUDA build to consolidate build functions and remove unnecessary rebuilds
[1.65.1] - 2022-12-16
Fixed
Updated inspection to handle Python node redirection
[1.65.0] - 2022-12-14
Added
CreateNodeTypeInput and CreateNodeTypeOutput support empty references and specifying the supported ogn type(s)
[1.64.0] - 2022-12-14
Changed
Filtered out test_data_access tests from EF generation. These tests have issue with per-node data when run twice, but they don’t provide any value for compute correctness since they only read a file and use python data base.
[1.63.0] - 2022-12-13
Added
og.AttributeType.get_unions() method to access the attribute union definitions.
[1.62.1] - 2022-12-12
Added
Fixed occasional crash in grouped undos/redos.
[1.62.0] - 2022-12-08
Fixed
Settings.tempoary context manager now removes any settings that it adds.
Changed
Settings.temporary context manager now accepts a list of settings.
[1.61.0] - 2022-12-02
Changed
Modified Python node type registration process to handle multiple versions on-demand
[1.60.0] - 2022-11-24
Removed
Setting useSchemaPrims
Test variations that allow modifying the deleted setting
Changed
Turned use of the deleted setting into errors
[1.59.0] - 2022-11-22
Added
ObjectLookup.variable now supports Sdf.Path and str objects
Fixed
Errors and crashes from OmniGraph commands when grouping or applying successive undo and redo calls
[1.58.1] - 2022-11-21
Added
Documentation for running a minimal Kit with OmniGraph
[1.58.0] - 2022-11-17
Removed
Settings updateToUSD, supportForceWriteback, useLegacySimulationPipeline, and enableUSDInPreRender
Test variations that allow modifying the deleted setting
Changed
Turned use of the deleted settings into errors
[1.57.0] - 2022-11-14
Changed
Default simple dynamic attribute values to the CPU
[1.56.0] - 2022-11-12
Removed
Support for the deleted implicit global graph setting
Test variations that allow modifying the implicit global graph setting
Changed
Turned use of the implicit global graph setting into errors
[1.55.1] - 2022-11-10
Changed
removed dependency on omni.kit.test
[1.55.0] - 2022-11-10
Added
Support for redirecting dynamic attributes to the GPU
[1.54.0] - 2022-10-31
Changed
change bindings to reflect new Fabric naming conventions.
change all types to reflect new namespace, should remain abi compatible
[1.53.0] - 2022-10-23
Added
og.get_kit_version()
[1.52.0] - 2022-10-20
Added
NodeType.is_compound_node_type()
GraphRegistryEvent.NODE_TYPE_NAMESPACED_CHANGED, GraphRegistryEvent.NODE_TYPE_CATEGORY_CHANGED
[1.51.2] - 2022-10-19
Fixed
Corrected the path to the default category files
[1.51.1] - 2022-10-14
Changed
test generation for EF will filter tests that target deprecated implicit graph
[1.51.0] - 2022-10-03
Added
instance_path argument added to IVariable.get, get_array and set methods to specify the instance of the variable
[1.50.0] - 2022-09-30
Added
node_type.get_path(), which returns the path to the prim associated with a node type
[1.49.0] - 2022-09-28
Added
Collection of registration and deregistration timing for Python node types
[1.48.1] - 2022-09-27
Fixed
Py_AttributeData set value for attribute with ePath role
[1.48.0] - 2022-09-21
Added
Og.Node.is_compound_node
Og.Graph.is_compound_graph
CreateNodeType, CreateNodeTypeInput, RemoveNodeTypeInput, CreateNodeTypeOutput, RemoveNodeTypeOutput, ReplaceWithCompound commands
[1.47.0] - 2022-09-20
Added
Ability to control prim and node creation behavior with allow_exists
[1.46.1] - 2022-09-19
Fixed
Lookup of output bundles by path
[1.46.0] - 2022-09-14
Changed
Refactored controller classes to accept variable arguments in all methods and constructor
Removed
References to obsolete set of unsupported types
Last remaining references to the obsolete ContextHelper
Added
Argument flattening utility
[1.45.2] - 2022-09-07
Added
Python node type registration deallocates attribute defaults after registration.
[1.45.1] - 2022-09-01
Fixed
Fixed the type name access in the node controller to handle bundles properly
[1.45.0] - 2022-08-30
Added
Handling for allocation of memory and transfer of values for Python default values
[1.44.0] - 2022-08-23
Added
GraphRegistry.get_event_stream to get an event stream that triggers when node types are added and removed.
[1.43.0] - 2022-08-19
Added
Access to new setting that turns deprecations into errors
[1.42.0] - 2022-08-12
Changed
og.AttributeData now raise exceptions for errors instead of printing
[1.41.1] - 2022-08-09
Fixed
All of the lint errors reported on the Python files in this extension
[1.41.0] - 2022-08-02
Added
Optimize attribute setting from python nodes - during runtime computation we skip commands (no need for undo)
[1.40.0] - 2022-07-27
Added
IBundle2 remove_attributes_by_name, remove_child_bundles_by_name
[1.39.0] - 2022-07-27
Changed
Added better repr to Attribute and Node
[1.38.1] - 2022-07-26
Fixed
Adjusted config to avoid obsolete commands module
Added firewall protection to AutoFunc and AutoClass initialization so that they work in the script editor
[1.38.0] - 2022-07-19
Added
IBundle2 interface API review
[1.37.0] - 2022-07-12
Added
Python performance: database caching, prefetch and commit for batching of simple attribute reads/writes
[1.36.0] - 2022-07-12
Fixed
Backward compatibility of the generated attribute descriptions.
[1.35.0] - 2022-07-08
Added
omni.graph.core.Attribute.is_deprecated()
omni.graph.core.Attribute.deprecation_message()
omni.graph.core.Internal sub-module
omni.graph.core.Internal._deprecateAttribute()
[1.34.0] - 2022-07-07
Changed
Refactored imports from omni.graph.tools to get the new locations
Moved node_generator/ into the _impl/ subdirectory
Made dunder attribute names in AttributeDataValueHelper into single-underscore to avoid Python compatibility problem
Added
Test for public API consistency
[1.33.0] - 2022-07-06
Added
Metadata support for IBundle2 interface
[1.32.3] - 2022-07-04
Fixed
Py_GraphContext’s eq and hash now use the underlying GraphContext object rather than the Python wrapper
[1.32.2] - 2022-06-28
Changed
Made node type failure a more actionable error
Bootstrap the nodeContextHandle to allow independent database creation
Added
Linked docs in the build area
[1.32.1] - 2022-06-26
Changed
Made node type failure a more actionable error
[1.32.0] - 2022-06-26
Added
Added test for clearing bundle contents
[1.31.1] - 2022-06-21
Changed
Fixed error in graph_settings when loading non-schema prims
[1.31.0] - 2022-06-17
Added
omni.graph.core.graph.get_evaluator_name()
[1.30.1] - 2022-06-17
Added
Added ApplyOmniGraph and RemoveOmniGraph api commands
[1.30.0] - 2022-06-13
Added
omni.graph.core.GraphEvaluationMode enum
evaluation_mode argument added to omni.graph.core.Graph.create_graph_as_node
evaluation_mode property added to omni.graph.core.Graph
SetEvaluationModeCommand
evaluation_mode parameter added to CreateGraphAsNodeCommand
evaluation_mode option added to GraphController
[1.29.0] - 2022-06-13
Added
Temporary binding function to prevent Python node initialization from overwriting values already set
[1.28.0] - 2022-06-07
Added
Added CPU-GPU pointer support in data_view class and propagation of the state through python wrapper classes
[1.27.0] - 2022-06-07
Added
Support for the generator settings to complement runtime settings
[1.26.1] - 2022-06-04
Fixed
Nodes with invalid connections no longer break upgrades to OmniGraph schema
[1.26.0] - 2022-05-06
Fixed
Handling of runtime attributes whose bundle uses CPU to GPU pointers
Added
Support for CPU to GPU data in the DataWrapper
[1.25.0] - 2022-05-05
Removed
Python subscriptions to changes in settings, now handled in C++
[1.24.1] - 2022-05-05
Deprecated
Deprecated OmniGraphHelper and ContextHelper for og.Controller
[1.24.0] - 2022-04-29
Fixed
Fixed override method for IPythonNode type
Removed
Obsolete example files
Added
Explicit settings handler
Changed
Used explicit OmniGraph test handler base classes
[1.24.0] - 2022-04-27
Added
GraphController.set_variable_default_value
GraphController.get_variable_default_value
ObjectLookup.variable
GraphContext.get_graph_target
[1.23.0] - 2022-04-25
Added
Added a test to confirm that all version references in omni.graph.* match
[1.22.2] - 2022-04-20
Fixed
Undoing the deletion of a connection’s src prim will now restore the connection on undo.
[1.22.1] - 2022-04-18
Changed
og.Attribute will now raise an exception when methods are called when in an invalid state.
[1.22.0] - 2022-04-11
Fixed
Moved Py_Node and Py_Graph callback lists to static storage where they won’t be destroyed prematurely.
Callback objects now get destroyed when the extension is unloaded.
[1.21.1] - 2022-04-05
Fixed
Added hash check to avoid overwriting ogn/tests/init.py when it hasn’t changed
Fix deprecated generator of ogn/tests/init.py to generate a safer, non-changing version
[1.21.0] - 2022-03-31
Added
IConstBundle2
,IBundle2
andIBundleFactory
interface python bindings.Unit tests for bundle interfaces
[1.20.1] - 2022-03-24
Fixed
Fixed location of live-generation of USD files from .ogn
Fixed contents of the generated tests/init.py file
[1.20.0] - 2022-03-23
Added
GraphEvent.CREATE_VARIABLE and GraphEvent.REMOVE_VARIABLE event types
Graph.get_event_stream()
[1.19.0] - 2022-03-18
Added
Added command to set variable tooltip
[1.18.0] - 2022-03-16
Added
support for enableLegacyPrimConnection setting to test utils
[1.17.1] - 2022-03-14
Fixed
Corrected creation of implicit graphs that were not at the root path
Added tests for such graphs and a graph in a layer
[1.17.0] - 2022-03-11
Added
Node.get_backing_bucket_id()
GraphContext.write_bucket_to_backing()
[1.16.0] - 2022-03-01
Added
expected_error.ExpectedError (moved from omni.graph.test)
Changed
Updated OmniGraphTestCase and derived classes to use test_case_class
[1.15.0] - 2022-02-16
Added
Added commands to create and remove variables
[1.14.0] - 2022-02-11
Added
Attribute.register_value_changed_callback
Database.get_variable
Database.set_variable
Controller.keys.CREATE_VARIABLES
GraphController.create_variable
[1.13.0] - 2022-02-10
Added
Added support for migration of old graphs to use schema prims
[1.12.2] - 2022-02-07
Changed
Moved carb logging out of database.py and into Node::logComputeMessage.
Fall back to old localized logging for Python nodes which don’t yet support the compute message logging ABI.
[1.12.1] - 2022-02-04
Fixed
Compute counts weren’t working for Python nodes
Compute messages from Python nodes weren’t visible in the graph editors
[1.12.0] - 2022-01-28
Added
Support for WritePrim creation in GraphController.expose_prims
[1.11.0] - 2022-01-29
Changed
Reflecting change of omni.graph.core from 2.11 -> 2.12
[1.10.0] - 2022-01-27
Added
ObjectLookup.usd_attribute
[1.9.0] - 2022-01-21
Added
Node.log_compute_message
Node.get_compute_messages
Node.clear_old_compute_messages
Graph.register_error_status_change_callback
Graph.deregister_error_status_change_callback
Severity enum
[1.8.0] - 2021-12-17
Added
Added NodeType.get_all_categories_
Added get_node_categories_interface
Created binding class NodeCategories
[1.7.0] - 2021-12-15
Added
Added NodeType::isValid and cast to bool
Added Controller class
Added GraphController class
[1.6.0] - 2021-12-06
Added
og.NodeEvent.ATTRIBUTE_TYPE_RESOLVE
[1.5.2] - 2021-12-03
Added
Node, Attribute, AttributeData, Graph, and Type objects are now hashable in Python, meaning that they can be used in sets, as keys in dicts, etc.
Fixed
Comparing Node and Graph objects for equality in Python now compare the actual objects referenced rather than the wrappers which hold the references
Comparing Attribute and AttributeData objects to None in Python no longer generates an exception.
[1.5.0] - 2021-12-01
Added functions to get extension versions for core and tools
Added cascading Python node registration process, that auto-generates when out of date
Added user cache location for live regeneration of nodes
[1.4.0] - 2021-11-26
Added
Python Api
Graph.get_parent_graph
Fixed
Fix failure when disconnecting a connection from a subgraph node to the parent graph node
[1.3.2] - 2021-11-24
Changed
Generated python nodes will emit info instead of warning when inputs are unresolved
[1.3.1] - 2021-11-22
Changed
Improved error messages from wrapped functions
[1.3.0] - 2021-11-19
Added
bool operators added to all returned OG Objects. So
if node:
is equivalent toif node.is_valid():
Changed
Bug fix in Graph getter methods
[1.2.0] - 2021-11-10
Added
og.get_node_by_path
get_graph_by_path
,get_node_by_path
now return None on failure
[1.1.0] - 2021-10-17
Added
og.get_graph_by_path
[1.0.0] - 2021-10-17
Initial Version
Started changelog with current version of omni.graph