====== API v2.6 Release Notes ====== This version of the API shipped with **Indigo 2021.2.0** - check the [[:API Version Chart]] to see what version of the API is available in which Indigo versions. * Added a '''' element to ''[[indigo_2021.2_documentation:plugin_guide#custom_html_menu_item_dialogs |]]'' and ''[[indigo_2021.2_documentation:plugin_guide#custom_html_config_dialogs |]]'' elements so that those menus will open a browser URL rather than run a plugin config dialog. * Added the [[https://wiki.indigodomo.com/doku.php?id=indigo_2021.2_documentation:plugin_guide#processing_http_requests_in_your_plugin|full path to a file specified]] in a ''/messages/'' call to the action props dict. * Added ability for a plugin to [[https://wiki.indigodomo.com/doku.php?id=indigo_2021.2_documentation:plugin_guide#processing_http_requests_in_your_plugin|pass back a file reference]] for IWS to stream back to caller. * Added the ability to [[indigo_2021.2_documentation:object_model_reference#converting_to_native_python_collections |convert]] ''[[indigo_2021.2_documentation:object_model_reference#converting_to_native_python_collections| indigo.Dict]]'' [[indigo_2021.2_documentation:object_model_reference#converting_to_native_python_collections| and]] ''[[indigo_2021.2_documentation:object_model_reference#converting_to_native_python_collections| indigo.List]]'' instances to the Python equivalents (recursively). * Added the ability to [[indigo_2021.2_documentation:device_class#generating_a_dictionary_for_a_device|convert an]] ''[[indigo_2021.2_documentation:device_class#generating_a_dictionary_for_a_device|indigo.Device]]'' [[indigo_2021.2_documentation:device_class#generating_a_dictionary_for_a_device|to a Python]] ''[[indigo_2021.2_documentation:device_class#generating_a_dictionary_for_a_device|dict]]''with all properties and states. * Added the ability for [[indigo_2021.2_documentation:plugin_guide#resources_folder |a plugin to provide static content]] through IWS HTTP calls. * Added ability for plugins to [[https://wiki.indigodomo.com/doku.php?id=indigo_2021.2_documentation:plugin_guide#processing_http_requests_in_your_plugin|return custom error text]] on IWS generated error pages (ex 404, etc). * Added the capability to [[indigo_2021.2_documentation:plugin_guide&#supporturl_elements|specify relative URLs in plugin dialogs]] so that the plugin can host it's own help files. * Added the **Example HTTP Responder** plugin to the SDK to illustrate most of the above features. * Added an API to get the full path to the plugin's directory (''[[indigo_2021.2_documentation:plugin_guide&#properties |self.pluginFolderPath]]'') * Added an API to get the support URL for a plugin (''[[indigo_2021.2_documentation:plugin_guide&#properties |self.pluginSupportURL]]'') * Added an API to get the best URL to the web server (''[[indigo_2021.2_documentation:server_commands#get_web_server_url |indigo.server.getWebServerURL]]'') * Added new ''[[indigo_2021.2_documentation:object_model_reference#utility_classes_and_functions|indigo.utils]]'' module * Added a [[indigo_2021.2_documentation:object_model_reference#classes|JSONEncoder subclass]] to encode python dates as strings (''indigo.utils.JSONDateEncoder'') * Added [[indigo_2021.2_documentation:object_model_reference#classes|FileNotFoundError exception]] (''indigo.utils.FileNotFoundError'') * Added helper function to validate and return the appropriate ''indigo.Dict'' to IWS to direct it to stream the contents of a static file back to the requester (''[[indigo_2021.2_documentation:object_model_reference#return_static_file |indigo.utils.return_static_file]]'') * Added helper function to validate the construction of an email address (''[[indigo_2021.2_documentation:object_model_reference#validate_email_address |indigo.utils.validate_email_address]]'')