/**
 * \page ChangeLog
 *
 * \section v35_1_0_9_TO_v35_1_0_10 Version v35.1.0.9 to version v35.1.0.10 changes
 *
 * \subsection v35_1_0_9_TO_v35_1_0_10Added Added functions
 *
 * The following functions were added between versions v35.1.0.9 and v35.1.0.10
 *
 * \li \ref qcsapi_wifi_set_power_constraint
 * \li \ref qcsapi_wifi_get_power_constraint
 */
