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.

[Unreleased]

[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 and IBundleFactory 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 to if 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