# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.31.1] - 2023-02-10
### Fixed
- Add tests for AG fan-out with shared dependencies

## [1.31.0] - 2022-09-01
### Added
- SwitchToken, OnLoaded

## [1.30.2] - 2022-08-30
### Fixed
- Linting errors

## [1.30.1] - 2022-08-09
### Fixed
- Applied formatting to all of the Python files

## [1.30.0] - 2022-07-29
### Changed
- Add prim input to OnObjectChanged node

## [1.29.0] - 2022-07-29
### Added
- Support for relative image urls in UI widget nodes

## [1.28.1] - 2022-07-28
### Fixed
- Spurious error messages about 'Node compute request is ignored because XXX is not request-driven'

## [1.28.0] - 2022-07-26
### Added
- Placer node.
- Added ReadWidgetProperty node

## [1.27.0] - 2022-07-26
### Changed
- Removed internal Placers from the widget nodes.

## [1.26.1] - 2022-07-25
### Fixed
- Various UI nodes were rejecting valid exec inputs like ENABLED_AND_PUSH

## [1.26.0] - 2022-07-22
### Added
- 'style' input attributes for Button, Spacer and Stack nodes.
### Fixed
- WriteWidgetStyle was failing on styles containing hex values (e.g. for colors)

## [1.25.0] - 2022-07-20
### Added
- WriteWidgetStyle node

## [1.24.1] - 2022-07-21
### Changed
- Undo revert

## [1.24.0] - 2022-07-18
### Added
- Spacer node
### Changed
- VStack node:
  - Removed all execution inputs except for create.
  - Added support for OgnWriteWidgetProperty.
  - inputs:parentWidgetPath is no longer optional.

## [1.23.0] - 2022-07-18
### Changed
- Reverted changes in 1.21.1

## [1.22.0] - 2022-07-15
### Added
- WriteWidgetProperty node
### Changed
- Removed all of Button node's execution inputs except for Create
- Removed Button node's 'iconSize' input.
- Modified Button node to work with WriteWidgetProperty

## [1.21.1] - 2022-07-15
### Changed
- Added test node TickN, modified tests

## [1.21.0] - 2022-07-14
### Changed
- Added +/- icons to Multigate and Sequence

## [1.20.0] - 2022-07-07
### Added
- Test for public API consistency

## [1.19.0] - 2022-07-04
### Changed
- OgnButton requires a parentWidgetPath. It no longer defaults to the current viewport.
- Each OgnButton instance can create multiples buttons. They no longer destroy the previous ones.
- widgetIdentifiers are now unique within GraphContext

## [1.18.1] - 2022-06-20
### Changed
- Optimized MultiSequence

## [1.18.0] - 2022-05-30
### Added
- OnClosing

## [1.17.1] - 2022-05-23
### Changed
- Changed VStack ui name to Stack

## [1.17.0] - 2022-05-24
### Changed
- Converted ForEach node from Python to C++
- Removed OnWidgetDoubleClicked

## [1.16.1] - 2022-05-23
### Changed
- Converted Counter node from Python to C++

## [1.16.0] - 2022-05-21
### Added
- Removed OnGraphInitialize, added Once to replace

## [1.15.1] - 2022-05-20
### Changed
- Added direction input to VStack node to allow objects to stack in width, height & depth directions.
- Button node uses styles to select icons rather than mouse functions.

## [1.15.0] - 2022-05-19
### Added
- OnGraphInitialize - triggers when the graph is created
### Changed
- OnStageEvent - removed non-functional events

## [1.14.1] - 2022-05-19
### Fixed
- Fixed OgnOnWidgetValueChanged output type resolution

## [1.14.0] - 2022-05-17
### Changed
- Added '(BETA)' to the ui_names of the new UI nodes.

## [1.13.0] - 2022-05-16
### Added
- Added Sequence node with dynamic outputs named OgnMultisequence

## [1.12.0] - 2022-05-11
### Added
- Node definitions for UI creation and manipulation
- Documentation on how to use the new UI nodes
- Dependencies on extensions omni.ui_query and omni.kit.window.filepicker(optional)

## [1.11.3] - 2022-04-12
### Fixed
- OnCustomEvent when onlyPlayback=true
- Remove state attrib from PrintText

## [1.11.2] - 2022-04-08
### Added
- Added absoluteSimTime output attribute to the OnTick node

## [1.11.1] - 2022-03-16
### Fixed
- OnStageEvent Animation Stop event when only-on-playback is true

## [1.11.0] - 2022-03-10
### Added
- Removed _outputs::shiftOut_, _outputs::ctrlOut_, _outputs::altOut_ from _OnKeyboardInput_ node.
- Added _inputs::shiftIn_, _inputs::ctrlIn_, _inputs::altIn_ from _OnKeyboardInput_ node.
- Added support for key modifiers to _OnKeyboardInput_ node.
## [1.10.1] - 2022-03-09
### Changed
- Made all input attributes of all event source nodes literalOnly
## [1.10.0] - 2022-02-24
### Added
- added SyncGate node
## [1.9.1] - 2022-02-14
### Fixed
- add additional extension enabled check for omni.graph.ui not enabled error
## [1.9.0] - 2022-02-04
### Added
- added SetPrimRelationship node
## [1.8.0] - 2022-02-04
### Modified
- Several event nodes now have _inputs:onlyPlayback_ attributes to control when they are active. The default is enabled, which means these nodes will only operate what playback is active.
### Fixed
- Category for Counter
## [1.7.0] - 2022-01-27
### Added
- Added SetPrimActive node
## [1.6.0] - 2022-01-27
### Added
- Added OnMouseInput node
### Modified
- Changed OnGamepadInput to use SubscriptionToInputEvents instead
- Changed OnKeyboardInput to use SubscriptionToInputEvents instead
## [1.5.0] - 2022-01-25
### Added
- Added OnGamepadInput node
## [1.4.5] - 2022-01-24
### Fixed
- categories for several nodes
## [1.4.4] - 2022-01-14
### Added
- Added car customizer tutorial
## [1.4.2] - 2022-01-05
### Modified
- Categories added to all nodes
## [1.4.1] - 2021-12-20
### Modified
- _GetLookAtRotation_ moved to _omni.graph.nodes_
## [1.4.0] - 2021-12-10
### Modified
- _OnStageEvent_ handles new stage events
## [1.3.0] - 2021-11-22
### Modified
- _OnKeyboardInput_ to use allowedTokens for input key
- _OnStageEvent_ bugfix to avoid spurious error messages on shutdown
## [1.2.0] - 2021-11-10
### Modified
- _OnKeyboardInput_, _OnCustomEvent_ to use _INode::requestCompute()_
## [1.1.0] - 2021-11-04
### Modified
- _OnImpulseEvent_ to use _INode::requestCompute()_

## [1.0.0] - 2021-05-10
### Initial Version
