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.77.0] - 2024-05-07

Changed

  • Fix OGN node generation build when using kit-kernel

[1.76.0] - 2024-01-30

Added

  • More detailed database tests for better code coverage of generated code

[1.75.0] - 2024-01-26

Added

  • Function to nicely format attribute and node type names for the user

  • Pedantic mode for the node generator so that smaller details needing attention can emit warnings

Changed

  • Modified docs generator to use the nice formatting when an explicit override does not exist

  • Updated the OGN best practices documentation with more information on execution attributes

[1.74.0] - 2024-01-19

Added

  • Documentation for best practices in naming and documentation in .ogn files.

Changed

  • Modified repo tools to share common code and look in the DriveSim relative locations

  • Changed nodes.json generator to call the script directly in the build rather than going through repo tools

[1.73.0] - 2024-01-16

Added

  • Extra code coverage and unit tests.

[1.72.0] - 2024-01-15

Changed

  • Moved nodes.json generation to a post build command

[1.71.0] - 2024-01-16

Added

  • extras keyword for specifying the addition of generators not normally running

  • Implementation of Python database generation for cpp nodes when it is added as an extra

[1.70.0] - 2024-01-12

Changed

  • Ogn scanner now prioritizes package files even with a version mismatch occurs

[1.69.0] - 2024-01-05

Added

  • Code coverage tests for attribute generation and some utilities

[1.68.0] - 2024-01-04

Changed

  • Changed test generation to use separate graphs instead of fresh scenes

  • Threading tests now run multiple test cases at once

[1.67.0] - 2023-12-28

Added

  • Testing for main_docs and generate_type_name_conversions tools

Changed

  • Configuration of the tools to allow for easier testing

Removed

  • Obsolete tool to add node type information to the .toml file - that approach will not be used

[1.66.0] - 2023-12-15

Removed

  • The unused generated Python databases on C++ nodes

[1.65.0] - 2023-12-08

Changed

  • Invalid extended types cause ogn parsing to fail

[1.64.0] - 2023-12-05

Changed

  • Ensured the icon path written as metadata is relative

[1.63.0] - 2023-12-01

Changed

  • Modified the icon path metadata to point to the build tree

[1.62.1] - 2023-11-27

Added

  • Handle OSError that may be raised when the test module init.py file cannot be locked for writing.

[1.62.0] - 2023-11-23

Fixed

  • init_instance and release_instance were not passing the instanceID to the user callback

[1.61.1] - 2023-11-17

Fixed

  • Fixed exception when the number of node definitions to be imported as background tasks is less than the thread count.

[1.61.0] - 2023-11-17

Changed

  • Deprecated the generated db.internalState and DB::sInternalState functions, in favor of the sharedState and perInstanceState version

  • Stack created OGN databsases now have access to (auto)instances

Added

  • Generates the code in the python OGN database that can invoke init_instance and release_instance if implemented by the node writer

[1.60.0] - 2023-11-09

Added

  • Coverage filtering for generated node types marked as internal:test

[1.59.0] - 2023-11-09

Changed

  • Made documentation references consistent through use of substitutions

[1.58.3] - 2023-11-06

Fixed

  • Import the tests synchronously when running the extension tests.

[1.58.2] - 2023-11-02

Fixed

  • Leaking file handles from configuration files

[1.58.1] - 2023-10-27

Fixed

  • Numpy type definitions in the conversions data

[1.58.0] - 2023-10-22

Changed

  • Rearrangement of docs for AutoNode

Added

  • Tool for dumping the set of all available types to a .rst file

[1.57.1] - 2023-10-18

Changed

  • Removed redundant variables generated in the database files, which cause compilation warnings.

[1.57.0] - 2023-10-18

Added

  • OGN generator now instrument the database to take into account mapped attribute

[1.56.1] - 2023-10-17

Fixed

  • Premake file filters were not handling update tag and type name conversion file correctly

[1.56.0] - 2023-10-13

Changed

  • Renamed put_func to register_function to more accurately reflect what it is doing

Added

  • Methods for deregistering functions

[1.55.0] - 2023-10-11

Removed

  • Incorrectly identified SDF types for attribute types without an equivalent

Fixed

  • Incorrect references to node types when it meant node type names

[1.54.1] - 2023-10-06

Added

  • Dependency on omni.kit.test. Needed because we import nodes’ test modules even when not running tests and they import omni.kit.test.

[1.54.0] - 2023-10-06

Changed

  • Moved ogn_types.py to an AutoNode specific location

Added

  • Repo tools command and support for creating file mapping all supported type representations

  • Module for providing the above mapping data

Removed

  • Obsolete data_types.py file

[1.53.0] - 2023-09-29

Changed

  • Reorganized AutoNode documentation to reflect separation of runtime and developer mode

  • Hid some deprecated code

[1.52.0] - 2023-09-28

Changed

  • Access the IAttribute interface from an object instead of from Carbonite where it could fail

[1.51.0] - 2023-09-21

Added

  • Explicit module for type annotations in the .toml file

Changed

  • Generated compute functions, to simplify the parameters they accept

[1.50.0] - 2023-09-18

Added

  • Access for the cudaPointers keyword

  • Added code generation to get cudaPointer value into the metadata

[1.49.0] - 2023-09-13

Changed

  • Location processing for AutoNode toml definitions

  • Documentation for AutoNode to add information about the setting

  • Import location for data type definitions

  • AutoNode generator tool argument list

  • compute generation for AutoNode definitions

Added

  • Implementation of AutoNode generator calls as part of build

Fixed

  • Syntax of test generated .toml files

[1.48.0] - 2023-09-08

Added

  • Functionality and test to generate the nodes.json node type definition metadata file programmatically

[1.47.0] - 2023-08-31

Added

  • Tests for all types with the generator

Changed

  • Modified the generator to recognize all legal OGN type definitions

Removed

  • Support for plain Python types, temporarily

[1.46.2] - 2023-08-02

Changed

  • Fixed config for generating matrix2d types.

  • Adding matrix2d to matrices union configuration.

[1.46.1] - 2023-08-02

Changed

  • Fix for a small test generation error when reading test file paths.

[1.46.0] - 2023-07-31

Removed

  • Obsolete autograph support

[1.45.2] - 2023-07-30

Removed

  • Long deprecated function that has no body

[1.45.1] - 2023-07-28

Removed

  • Unnecessary Linux file copy for doc index building

[1.45.0] - 2023-07-26

Added

  • Ability to utilize external test scenes in .ogn “tests” constructs.

[1.44.0] - 2023-07-25

Changed

  • Revert output and state bundle name space separator to underscore

[1.43.0] - 2023-07-13

Removed

  • Obsolete documentation special case for tutorial nodes

[1.42.1] - 2023-07-14

Added

  • Error handling for when a generated test file is unreadable

[1.42.0] - 2023-07-11

Changed

  • Moved the post build command project to a common area so that it can be shared by downstream repos

[1.41.1] - 2023-06-28

Changed

  • Small edit to parsing logic for the “pure” scheduling hint.

[1.41.0] - 2023-06-27

Changed

  • Modified toc specification to point to an extension-local directory

  • Changed the ogn file dependencies to not include the table of contents generator files

  • Modified generation and parsing of per-extension index files to link to local files instead of the node library

  • Modified format of generated node documentation files to correspond to what is found in the node library

Added

  • Extension root parameter to the node documentation index generator

  • veryVerbose flag to the node documentation index generator for extra output

  • Deprecation support for constant objects

  • Ability to specify pre and post documentation files for any node

  • Support for CSV table output in restructuredText and readable directory list for argparse arguments

[1.40.1] - 2023-06-27

Changed

  • OGN node and test generation is multi threaded

  • OGN nodes and test modules can be imported in parallel on multiple threads

  • Python tests are imported on a separate thread

[1.40.0] - 2023-06-22

Added

  • Parsing logic for new “pure” scheduling hint.

[1.39.0] - 2023-05-31

Fixed

  • Adjusted the CRLF settings for the generated .md node table of content files

[1.38.0] - 2023-05-29

Fixed

  • Regeneration of table of contents with new data

  • Algorithm looking for location of the config dir in downstream repos

[1.37.0] - 2023-05-26

Added

  • Keyword CREATE_ATTRIBUTES for controller.edit() function

[1.36.2] - 2023-05-23

Changed

  • Small comment change.

[1.36.1] - 2023-05-11

Added

  • Warning to generated code for input bundle that is invalid but is required for computation

[1.36.0] - 2023-05-09

Fixed

  • Refactored deprecation decorators to work in more cases

Added

  • Beefed up the deprecation tests

[1.35.1] - 2023-05-08

Fixed

  • Bug with Python code generator for BundleContents

[1.35.0] - 2023-05-08

Deprecated

  • Removed deprecated locations of Python modules

[1.34.0] - 2023-05-02

Added

  • Parsing support for the addition of node type forwarding for a node type in the .ogn file

[1.33.0] - 2023-05-02

Changed

  • Changed the dynamic attribute accessors getDynamicInputs(), getDynamicOutputs(), getDynamicStates() to return gsl::span.

[1.32.0] - 2023-04-19

Deprecated

  • Removed all references to ContextHelper and OmniGraphHelper

  • Old .ogn test specification format no longer supported

[1.31.0] - 2023-04-11

Added

  • Generation of the table of contents documentation for nodes

Changed

Removed

  • Obsolete unitTest flag from the node generator command

  • Unnecessary import in generated Python tests

[1.30.0] - 2023-04-07

Added

  • Generate code for OmniGraphDatabase to cache dynamic input, output and state attributes.

[1.29.0] - 2023-04-06

Added

  • Ability to use allowedTokens as a top level definition for attributes

  • Ability to reference an allowedToken by name or value as a default in the .ogn

  • Tests for the new functionality

Fixed

  • Stored tokens internally with reference counts to avoid sporadic illegal data accesses

[1.28.0] - 2023-03-31

Changed

  • target attributes now use relationships with output and state ports

[1.27.3] - 2023-03-28

Changed

  • Filtered out cpp nodes from using batched reads and writes

[1.27.2] - 2023-03-24

Changed

  • target python wrapping changed from string to usdrt Sdf.Path

[1.27.1] - 2023-03-22

Fixed

  • Made all docstrings to publicly visible documentation consistent

[1.27.0] - 2023-03-21

Fixed

  • Use top level Python module’s name instead of ext_id as module name when generating cached node code

[1.26.0] - 2023-03-17

Added

  • Implementing target attribute type

[1.25.0] - 2023-03-17

Added

  • Generate an update file indicating that the tools scripts are up to date

  • Build support for respect of the update file when deciding whether to regenerate from .ogn files

  • Updated category_definitions to use Python 3.10 type syntax, mostly as a test for incremental rebuilds

[1.24.0] - 2023-03-14

Changed

  • Default of cudaPointers on Python nodes is now CPU instead of CUDA as it was before, mainly for Warp

[1.23.0] - 2023-03-09

Added

  • Change default index for static version of internal state to return the authoring graph

  • Added wrappers for shared and per-instance versions of internal state functions

[1.22.11] - 2023-02-28

Fixed

  • Rebuild python Database if input bundles are invalid

[1.22.10] - 2023-02-27

Added

  • Generation of OGN tests on vectorized data

[1.22.9] - 2023-02-25

Changed

  • Modifed format of Overview to be consistent with the rest of Kit

[1.22.8] - 2023-02-22

Added

  • Removed debugging print

[1.22.7] - 2023-02-21

Added

  • ThreadsafetyTestUtils to public API.

[1.22.6] - 2023-02-19

Changed

  • Added label to the main doc page so that higher level docs can reference the extension

[1.22.5] - 2023-02-14

Fixed

  • Made test file pattern account for node files not beginning with Ogn

[1.22.4] - 2023-02-08

Changed

  • Modified lookup of target extension version to account for the modified path names

[1.22.3] - 2023-02-07

Fixed

  • Removed an unused import

[1.22.2] - 2023-02-02

Fixed

  • Lint error that appeared when pylint updated

[1.22.1] - 2023-01-30

Changed

  • Removed the kit-sdk landing page

  • Moved all of the documentation into the new omni.graph.docs extension

[1.22.0] - 2023-01-16

Changed

  • Split functions and added configuration information to make the ogn project builds more flexible

[1.21.1] - 2023-01-11

Changed

  • Sort the generated Python import statements to ensure a consistent ordering

[1.21.0] - 2023-01-11

Changed

  • OGN generator for vectorization

[1.20.1] - 2022-12-14

Fixed

  • Made build level access of config directory account for being inside the SDK as well as in the build

[1.20.0] - 2022-12-13

Changed

  • Attribute Union Definitions are now loaded from a json configuration file(AttributeUnionConfiguration.json)

[1.19.0] - 2022-12-02

Changed

  • Modified Python node type code generation process to handle multiple versions on-demand

[1.18.1] - 2022-11-30

Fixed

  • Output formatting for string and token defaults containing special characters

[1.18.0] - 2022-10-21

Added

  • Internal utilities for support of testing node type registration

[1.17.0] - 2022-09-30

Fixed

  • Changed code emission to avoid defining interface that will not be used

[1.16.3] - 2022-09-14

Added

  • Better documentation for categories

Removed

  • Testing for obsolete transform data type

[1.16.2] - 2022-08-30

Fixed

  • Linting errors

[1.16.1] - 2022-08-24

Fixed

  • AttributeManager has_* generated methods for optional extended attributes.

[1.16.0] - 2022-08-19

Added

  • Support for new setting that turns deprecations into errors

  • Tests for deprecation code

  • Access to deprecation message logs to use for testing

[1.15.3] - 2022-08-16

Changed

  • Refactored checking for legal extension name as Python import

[1.15.2] - 2022-08-09

Fixed

  • Applied formatting to all of the Python files

[1.15.1] - 2022-08-05

Fixed

  • All of the lint errors reported on the Python files in this extension

[1.15.0] - 2022-08-01

  • Change m_primHandle to m_bundleHandle in BundleAttributeManager

[1.14.1] - 2022-07-25

  • Added ALLOW_MULTI_INPUTS metadata key

[1.14.0] - 2022-07-13

  • Added UI_TYPE metadata key, added class method to MetadataKeys to get all the metadata key strings

[1.13.0] - 2022-07-08

Added

  • Support for ‘deprecation’ attribute keyword in .ogn files.

[1.12.0] - 2022-07-07

Changed

  • Refactored import of non-public API to emit a deprecation warning

  • Moved node_generator/ into the _impl section

Added

  • Support for fully defined Python API at the omni.graph.tools level

  • Support for fully defined Python API at the omni.graph.tools.ogn level

  • Support for public API consistency test

[1.11.0] - 2022-06-28

Changed

  • Merged to USD and import generated tests and added enhanced generated code coverage

[1.10.0] - 2022-06-23

Removed

  • Support for the deprecated Autograph functionality, now in omni.graph.core.autonode

[1.9.1] - 2022-06-17

Fixed

  • Corrected bad API documentation formatting

Added

  • Documentation links for Python API

[1.9.0] - 2022-06-13

Added

  • Check to see if values are already set before initializing defaults in Python nodes

[1.8.1] - 2022-06-08

Fixed

  • Add stdint include when constructing node database files.

[1.8.0] - 2022-06-07

Added

  • Support for generator settings to alter the generated code

  • Generator setting for Python output optimization

  • Build flag to modify generator settings

  • Generator script support for generator settings being passed around

[1.7.0] - 2022-05-27

Added

  • Ability for the controller to take an attribute description as the first parameter instead of only attributes

[1.6.2] - 2022-05-17

Fixed

  • Improved node description formatting by using newlines to indicate paragraph breaks

[1.6.1] - 2022-05-11

Added

  • Category for UI nodes

[1.6.0] - 2022-05-10

Added

  • Ability to use @deprecated_function with property getters and setters.

[1.5.4] - 2022-05-06

Fixed

  • Fixed the emission of the CPU to GPU pointer information for output bundles

[1.5.3] - 2022-04-29

Fixed

  • Fixed incorrect line highlighting in user guide

[1.5.2] - 2022-04-25

Fixed

  • Stopped generating bundle handle extraction in situations where the handle will not be used

[1.5.1] - 2022-04-05

Fixed

  • Removed regeneration warning until such time as the regeneration actually happens

[1.5.0] - 2022-03-24

Fixed

  • Fixed generated contents of tests/init.py to be constant

  • Refactored generation to use standard import pattern

  • Ability to create generated directories on the fly rather than insisting they already exist

Added

[1.4.0] - 2022-03-14

Added

  • ensure_nodes_in_toml.py to add the [[omnigraph]] section to the extension.toml file

[1.3.2] - 2022-03-14

Added

  • examples category

[1.3.1] - 2022-03-09

Added

  • Added literalOnly to the list of metadata keys

  • Added some explanation for the literalOnly metadata key to the OGN reference guide

[1.3.0] - 2022-03-08

Changed

  • Changed the naming of the generated tests to be shorter for easier use in TestRunner

  • Changed the generated USD to use the schema prims

  • Changed the generated test scripts to use the schema prims

  • Removed unused USD metadata from generated code

[1.2.4] - 2022-03-08

Changed

  • Modified C++ generated code node registration to match omni.graph.core 2.23.3

[1.2.3] - 2022-02-15

Added

  • script node category

[1.2.1] - 2022-02-10

Added

  • Unset the useSchemaPrims setting for tests until they are working

[1.2.0] - 2022-02-09

Changed

  • Moved autograph to omni.graph.core, retained imports for backward compatibility

[1.1.1] - 2021-08-30

Breaking Changes

  • Type names have changed. Float32 is now Float and Int32 is now Int.

Improvements and Bugfixes

  • BUGFIX Fixed type initializers in autograph

  • PERF IMPROVEMENT Functions using Autofunc now use code generated at read time instead of runtime lookups.

  • UI IMPROVEMENT Nodes no longer have extra connections with the node name.

[1.1.0] - 2021-08-19

Adds Autograph

Added Autograph tools and types

[1.0.0] - 2021-03-01

Initial Version

  • Started changelog with initial released version of the OmniGraph core