Releases: DaveL17/matplotlib
Another Big Beta Update
Another long list of changes.
Although the changes and potential bugs should be low risk, those choosing to update should make a backup of CSV data. Although it shouldn't be necessary, a full backup would include the prior plugin file, and the prior plugin preferences file located at: /Library/Application Support/Perceptive Automation/Indigo 7.2/Preferences/Plugins/com.fogbert.indigoplugin.matplotlib.indiPref
adjusted for whatever your current version of Indigo may be.
Please post any questions or bugs to the Indigo forum or here on GitHub.
Here is a consolidated list of changes since the prior version:
v0.8.01
- Plugin should shut down more gracefully.
- Code refinements.
v0.7.57
- Moves 'None' options in drop-down lists to bottom of list (per Indigo standard.)
v0.7.56
- Adds check to ensure that the plugin is compatible with Indigo version.
v0.7.55
- Re-fixes float error in the duration value for CSV refreshes.
v0.7.54
- Fixes float error in the duration value for CSV refreshes.
- Moves dev prop maintenance routine to deviceStartComm.
v0.7.53
- Adds tests to alert the user that they're saving charts to the wrong location (when the Indigo version is updated.)
- Fixes bug where battery level being displayed regardless of setting.
v0.7.52
- Better handles long device names in Battery Health chart.
- Plots title relative to figure instead of to plot.
- Fixes KeyError bug in pluginEnvironmentLogger 'isChart'.
v0.7.51
- Adds control to hide device names on battery health charts.
- Improves plotting of battery level values on battery health charts.
- Code refinements.
v0.7.50
- Consolidates chart plot logging into single method.
- Help bubble refinements.
- Code refinements.
v0.7.49
- Standardizes plotting of X axis label across all devices.
- Standardizes plotting of chart title across all devices.
- Standardizes save image code across all devices.
- Refines behavior across all plugin elements.
v0.7.48
- Adds support for charting 'Armed' and 'Disarmed' values.
v0.7.47
- Improves handling of CSV data updates when duration is set to zero (no limit.)
v0.7.46
- Fixes empty text instances for custom Y tick labels (where locations are defined but labels are not.)
v0.7.45
- Adds feature to Battery Health Device to plot a background box for battery level values.
- Improves validation for chart axis limits (Y Min, Y Max, Y2 Min, Y2 Max).
- Improves code for plotting Y1 and Y2 axis limits (Y Min, Y Max, Y2 Min, Y2 Max).
- Code refinements.
v0.7.44
- Updates config dialog text for Battery Health Chart - excluded devices (language referred to legacy control.)
- Adds requirement that the custom Y tick labels field and custom Y tick values field be the same length.
- Fixes bug for Battery Health Chart to remove "No Battery Devices" dummy device when actual devices present.
v0.7.43
- Adds default entries for legend labels (will only be displayed if Display Legend option is enabled.)
v0.7.42
- Refines configuration dialog control labels.
- Deletes unneeded Fill control from Bar Devices (bar 4).
v0.7.41
- Fixes bug in format_axis_y_ticks where error was thrown under certain conditions (including 'None', '', and ' '.)
- Improved error logging.
v0.7.40
- Fixed bug in line charting for TypeError: list indices must be integers, not str'
v0.7.39
- No longer allows creation of CSV device without establishing at least one data source.
- Fixes bug in validation of plugin configuration settings for change logging.
- Improves docstrings.
v0.7.38
- Adds process garbage collection to runConcurrentThread().
v0.7.37
- Chart update processes are no longer blocking.
- Puts CSV refreshing back in the main thread.
v0.7.36
- Moves CSV refreshing to its own process.
v0.7.35
- Fixes bug in custom line segments where only the first custom line is plotted.
v0.7.34
- Fixes bug in duration setting for CSV devices.
Big Beta Update
Rather than try to single out meaningful changes, I'll list them all (it may also be helpful to those that might want to isolate a specific build.) This series of changes also completely eliminates any hooks into the pandas library (as of build v0.7.22.)
This represents a huge update to the plugin and, while it has been running very stably in testing, there could be some lingering bugs. It is recommended that you backup any data files before installing this update.
v0.7.33
- Further improves maintenance of legacy props in all chart devices.
- Moves maintenance tasks to separate module.
v0.7.32
- Further improves maintenance of legacy props in all chart devices.
- Set all device UI icons to off state when comm killed through plugin menu action.
- Fixed bug in snappy config menus which created unneeded device props.
v0.7.31
- Fixed bug in bar chart config dialog where X axis grid setting not hiding properly.
v0.7.30
- Improves logging of plugin prefs when changes made using configuration dialog.
- Fixes placement of line 6 suppression option in line chart device configuration dialog.
v0.7.29
- Improves resiliency to CSV files that contain 1 or fewer observations.
- Changes the default timestamp from the epoch to current time (retains the epoch as the default device last refresh).
- Adds trap for RuntimeError when trying to save chart image to address the 'too many ticks' error.
- Adds trap for TypeError when trying to generate a best fit line segment to address the 'int' object is not iterable error.
- Adds number of chart devices and CSV engine devices to plugin environment logging.
v0.7.28
- Improved conversion of legacy line fill properties to bool type.
v0.7.27
- Reorders plugin device model list when editing device.
- Improves error logging.
- Cleans up XML attributes.
v0.7.26
- Revises chart device names for consistency.
- Fixes bug in battery chart device "KeyError: 'customSizeChart'. "
v0.7.25
- Adds choice to bar, line and scatter charts to suppress the plotting of individual data elements. The data and all settings are retained.
v0.7.24
- Synchronize self.pluginPrefs in closedPrefsConfigUi().
v0.7.23
- Adds choice to set bar width to make it simpler for first time device creation. If the value is set to zero, the plugin will attempt to set an attractive bar width automatically. Zero is now the new default for new bar chart devices.
- Changes menu items from "En/Disable All Devices" to "En/Disable All Plugin Devices".
- Changes default font for Calendar Devices to 12 pt (to better fit the default image size for non-retina screens.)
- Changes behavior of custom size chart checkbox so that now, custom size values will only be honored when the custom size checkbox is checked.
- Improves validation of plugin device configuration settings.
- Improves setting of Y1 limits and better handles condition where limits set improperly when all observations are the same value.
- Updates CSV device validation for duration (data to keep).
- Updates behavior so that if all CSV data are older than the time limit, the plugin will return the original data and warn the user.
- Refines grid settings for Polar Chart Devices.
- Fixes bug in Line Chart devices where customizations (like best fit or fill) would result in an 'argument dimensions are incompatible' error.
- Fixes bug in default line color settings for Weather Forecast devices.
- Fixes bug in new CSV data source names that contain extended Unicode characters.
- Fixes bug in new and existing Polar Chart data source names that contain extended Unicode characters.
- Fixes bug where data header name was converted to 'NaN' while data quality repairs were made.
- Fixes bug where line chart best fit property incorrectly stored as a string. Will convert legacy devices in this state to boolean.
- Changes Python lists to tuples where possible to improve speed.
- Updates kDefaultPluginPrefs.
- Code refinements.
v0.7.22
- Removes dependence on pandas library.
- Code refinements.
v0.7.21
- Removes default location from plugin preferences for data and chart save locations.
v0.7.20
- Improves resiliency in dealing with malformed CSV files.
- Adds new date formats for chart axes:
- Jan 16 [M D]
- Jan 16 2019 [M D Y]
- 16 Jan [D M]
- 2019 Jan 16 [Y M D]
- [Line Devices] Hides the best fit color control until the "Plot Best Fit" checkbox is selected.
- Fixes bug in date/time format specifiers.
- Improves CSV item processing performance.
- Fixes bug in manual refresh Action.
- Attempts to work around pandas bug in rare csv write bug where the string '-01-01 00:00:00' is added to observation data.
- Refines plugin logging.
- Improves under-hood maintenance to ensure that the plugin and its devices are up to date for the installed version (plugin preference, device properties, etc.)
- Code refinements.
v0.7.19
- CSV Engine / Edit Data Item / Data Source control now returns a case- insensitive sorted list.
- Fixes bug in naming of CSV Engine data items that contain Unicode characters.
- Ups the default duration limit to no limit (where it should have been in the first place.)
Feature Update
- Ups the duration limit default to 7200 hours.
Feature Release
- Adds filter to CSV Engine Add Data Item and Edit Data Item controls to allow source menu to be filtered to show all sources, just devices, or just variables.
- Adds CSV Engine device limit based on time (in hours).
- Includes pandas library in base installation (v0.19.1) and consolidates csv_refresh_process() under pandas.
- Improves device configuration dialogs (battery health, line).
- Removes plugin update checking.
- Fixes bug where manual update charts were updating every 15 seconds.
- Fixes bug where device comm not honored for chart devices when called by single chart refresh action.
- Code refinements.
CSV Refresh Actions
v0.7.09
- Settings for manual CSV refresh actions retained when CSV Engine device
source names changed.
v0.7.08
- Adds Action item to update CSV device set to manual update only
- Adds Action item to update CSV device set to manual update only for single CSV data source.
Bug Fix
Bug Fix
Adds Support for Fantastic Weather Devices
- Adds support for Fantastic Weather forecast devices.
- Fixes bug in Refresh Charts menu item.
- Fixes bug in Refresh Charts action item.
Moves Refresh Interval to Devices
- Moves refresh interval to charts. Users can now establish individual refresh rates for each chart separately.
- Adds weekly option to refresh interval.
- Better sorting of CSV sources within device configuration dialogs.
- Significantly reduces debug logging.
- Code refinements.
Bug Fixes
v0.7.03
- Fixes bug in setting of marker style for lines 5 and 6.
- Fixes bug in setting of marker color for all lines.
- Fixes bug in sorting of data source names for device configuration.
- Code refinements.
v0.7.02
- Moves charting code into separate class.
v0.7.01
- Adjusts chart output logging for consistency between enabled and disabled devices.
- Fixes bug where legacy devices not updated for missing line5Annotate and line6Annotate props.