# v4.3.1 Improvements and additions
- Added support for the GPIO_NUM_MAX macro value (hardware dependant).
- _otptsSttsPkg() virtual property confirmation for all subclasses.
- Unneeded redundant code cleanup.
- Code simplification: use of fncPtrType for declarations of attributes and methods

# v4.3.0 Improvements and additions
- Added default constructors to all the classes that hadn't. Addition required for some dinamically created objects.
- Added the use of standard GPIO_NUM_NC to define an invalid pin number (non connected)
- Added the use of standard GPIO_NUM_MAX to validate the pin number for verifications
- All pin related constructor parameters types have been changed from uint8_t to int8_t, to make easy use of the GPIO_NUM_NC macro value (-1)

# v4.2.0 Debugging, improvements and normalization release
Debugging:
- HntdTmLtchMPBttn objects had wrong logic settings when entering the **isDisabled** state for some keepPilot and isOnDisabled combinations.
Improvements:
- DFA unconditional state changes allowed to cascade on more classes' state machines.
Normalization:
- The DblActnLtchMPBttn subclasses objects exited the **isDisabled** state in a sequence not consistent with other classes' objects.
- isOnScndry attribute flag moved upwards the classes hierachy. Now all DblActnLtchMPBttn subclasses include the attribute flag and have access to it's value through its getters, task and functions execution when turning On & Off.

# v4.1.0 Debugging and improvements release
Refactoring:
- The setOutputsChange() and getOutputsChange() transparently changed. The API was not changed -it still sets and returns a boolean value- but internally now keeps a counter to avoid multithread developments generated race conditions.
Debugging:
- The use of getters and taskNotify mechanisms for the same attribute flags at the same time generated unexpected results due to race conditions: SOLVED.
- Code overall simplification and cleanup.
- DFA unconditional state changes allowed to cascade on more classes' state machines.
Example files:
- Several example files added.
- Some example files modified to show different solutions approaches for the same results.

# v4.0.5 Maintenance release
- DbncdMPBttn::init() conditional execution premises corrected (the condition resulted in a Paradox)
Pending of test on the STM32 implementation
- DFA unconditional state changes allowed to cascade advancement in single step to improve speed and responsiveness for the DbncdMPBttn and DbncdDlydMPBttn classes.

# v4.0.4 Maintenance release
- Code cleanup.
- Auto documentation generation problems solved, documentation regenerated.
- Several examples added for most of the classes.

# v4.0.3 Minor debugging
- The clearStatus() method for the HntdTmLtchMPBttn class ignored the resetting of some flags that left open the possibility of uncomplete state clearing. Corrected.
- Several examples added for most of the classes.

# v4.0.2 Refactoring update
All changes are transparent to the user.
- outputschange attribute flag setting added, as the isOn, isEnabled, pilotOn, wrnngOn, isVoided, isOnScndry simple value assignement are refactored into full methods.
- outputschange attribute flag setting by simple assignement after above mentioned methods execution removed (as it now is uneeded code duplication).
- Examples added for several classes.


# v4.0.1 Documentation update
- Documentation update
- Non-tested examples deleted from package

# v4.0.0 Initial Release for ESP32-Arduino
- This initial release refactors the STM32 library version for the ESP32 MCU for the Arduino environment