FlexMeasures Changelog

v0.8.0 | November XX, 2021

New features

  • Charts with sensor data can be requested in one of the supported [vega-lite themes] (incl. a dark theme) [see PR #221]

Bugfixes

  • Fix recording time of schedules triggered by UDI events [see PR #300]

Infrastructure / Support

  • Account-based authorization, incl. new decorators for endpoints [see PR #210]

  • Central authorization policy which lets database models codify who can do what (permission-based) and relieve API endpoints from this [see PR #234]

  • Improve data specification for forecasting models using timely-beliefs data [see PR #154]

  • Allow plugins to register their custom config settings, so that FlexMeasures can check whether they are set up correctly [see PR #230 and PR #237]

  • Added sensor method to obtain just its latest state (excl. forecasts) [see PR #235]

v0.7.1 | November 08, 2021

Bugfixes

  • Fix device messages, which were mixing up older and more recent schedules [see PR #231]

v0.7.0 | October 26, 2021

Warning

The config setting FLEXMEASURES_PLUGIN_PATHS has been renamed to FLEXMEASURES_PLUGINS. The old name still works but is deprecated.

New features

  • Set a logo for the top left corner with the new FLEXMEASURES_MENU_LOGO_PATH setting [see PR #184]

  • Add an extra style-sheet which applies to all pages with the new FLEXMEASURES_EXTRA_CSS_PATH setting [see PR #185]

  • Data sources can be further distinguished by what model (and version) they ran [see PR #215]

  • Enable plugins to automate tests with app context [see PR #220]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

  • Fix users resetting their own password [see PR #195]

  • Fix scheduling for heterogeneous settings, for instance, involving sensors with different time zones and/or resolutions [see PR #207]

  • Fix sensors/<id>/chart view [see PR #223]

Infrastructure / Support

  • FlexMeasures plugins can be Python packages now. We provide a cookie-cutter template for this approach. [see PR #182]

  • Set default timezone for new users using the FLEXMEASURES_TIMEZONE config setting [see PR #190]

  • To avoid databases from filling up with irrelevant information, only beliefs data representing changed beliefs are saved, and unchanged beliefs are dropped [see PR #194]

  • Monitored CLI tasks can get better names for identification [see PR #193]

  • Less custom logfile location, document logging for devs [see PR #196]

  • Keep forecasting and scheduling jobs in the queues for only up to one day [see PR #198]

v0.6.1 | October 23, 2021

New features

Bugfixes

  • Fix (dev) CLI command for adding a GenericAssetType [see PR #173]

  • Fix (dev) CLI command for adding a Sensor [see PR #176]

  • Fix missing conversion of data source names and ids to DataSource objects [see PR #178]

  • Fix GetDeviceMessage to ensure chronological ordering of values [see PR #216]

Infrastructure / Support

v0.6.0 | September 3, 2021

Warning

Upgrading to this version requires running flexmeasures db upgrade (you can create a backup first with flexmeasures db-ops dump). In case you are using experimental developer features and have previously set up sensors, be sure to check out the upgrade instructions in PR #157. Furthermore, if you want to create custom user/account relationships while upgrading (otherwise the upgrade script creates accounts based on email domains), check out the upgrade instructions in PR #159. If you want to use both of these custom upgrade features, do the upgrade in two steps. First, as described in PR 157 and upgrading up to revision b6d49ed7cceb, then as described in PR 159 for the rest.

Warning

The config setting FLEXMEASURES_LISTED_VIEWS has been renamed to FLEXMEASURES_MENU_LISTED_VIEWS.

Warning

Plugins now need to set their version on their module rather than on their blueprint. See the documentation for writing plugins.

New features

  • Multi-tenancy: Supporting multiple customers per FlexMeasures server, by introducing the Account concept. Accounts have users and assets associated. [see PR #159 and PR #163]

  • In the UI, the root view (“/”), the platform name and the visible menu items can now be more tightly controlled (per account roles of the current user) [see also PR #163]

  • Analytics view offers grouping of all assets by location [see PR #148]

  • Add (experimental) endpoint to post sensor data for any sensor. Also supports our ongoing integration with data internally represented using the timely beliefs lib [see PR #147]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

Infrastructure / Support

  • Add possibility to send errors to Sentry [see PR #143]

  • Add CLI task to monitor if tasks ran successfully and recently enough [see PR #146]

  • Document how to use a custom favicon in plugins [see PR #152]

  • Allow plugins to register multiple Flask blueprints [see PR #171]

  • Continue experimental integration with timely beliefs lib: link multiple sensors to a single asset [see PR #157]

  • The experimental parts of the data model can now be visualised, as well, via make show-data-model (add the –dev option in Makefile) [also in PR #157]

v0.5.0 | June 7, 2021

Warning

If you retrieve weather forecasts through FlexMeasures: we had to switch to OpenWeatherMap, as Dark Sky is closing. This requires an update to config variables ― the new setting is called OPENWEATHERMAP_API_KEY.

New features

  • Allow plugins to overwrite UI routes and customise the teaser on the login form [see PR #106]

  • Allow plugins to customise the copyright notice and credits in the UI footer [see PR #123]

  • Display loaded plugins in footer and support plugin versioning [see PR #139]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

  • Fix last login date display in user list [see PR #133]

  • Choose better forecasting horizons when weather data is posted [see PR #131]

Infrastructure / Support

  • Add tutorials on how to add and read data from FlexMeasures via its API [see PR #130]

  • For weather forecasts, switch from Dark Sky (closed from Aug 1, 2021) to OpenWeatherMap API [see PR #113]

  • Entity address improvements: add new id-based fm1 scheme, better documentation and more validation support of entity addresses [see PR #81]

  • Re-use the database between automated tests, if possible. This shaves 2/3rd off of the time it takes for the FlexMeasures test suite to run [see PR #115]

  • Make assets use MW as their default unit and enforce that in CLI, as well (API already did) [see PR #108]

  • Let CLI package and plugins use Marshmallow Field definitions [see PR #125]

  • add time_utils.get_recent_clock_time_window() function [see PR #135]

v0.4.1 | May 7, 2021

Bugfixes

  • Fix regression when editing assets in the UI [see PR #122]

  • Fixed a regression that stopped asset, market and sensor selection from working [see PR #117]

  • Prevent logging out user when clearing the session [see PR #112]

  • Prevent user type data source to be created without setting a user [see PR #111]

v0.4.0 | April 29, 2021

Warning

Upgrading to this version requires running flexmeasures db upgrade (you can create a backup first with flexmeasures db-ops dump).

New features

  • Allow for views and CLI functions to come from plugins [see also PR #91]

  • Configure the UI menu with FLEXMEASURES_LISTED_VIEWS [see PR #91]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

  • Asset edit form displayed wrong error message. Also enabled the asset edit form to display the invalid user input back to the user [see PR #93]

Infrastructure / Support

  • Updated dependencies, including Flask-Security-Too [see PR #82]

  • Improved documentation after user feedback [see PR #97]

  • Begin experimental integration with timely beliefs lib: Sensor data as TimedBeliefs [see PR #79 and PR #99]

  • Add sensors with CLI command currently meant for developers only [see PR #83]

  • Add data (beliefs about sensor events) with CLI command currently meant for developers only [see PR #85 and PR #103]

v0.3.1 | April 9, 2021

Bugfixes

  • PostMeterData endpoint was broken in API v2.0 [see PR #95]

v0.3.0 | April 2, 2021

New features

  • FlexMeasures can be installed with pip and its CLI commands can be run with flexmeasures [see PR #54]

  • Optionally setting recording time when posting data [see PR #41]

  • Add assets and weather sensors with CLI commands [see PR #74]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

  • Show screenshots in documentation and add some missing content [see PR #60]

  • Documentation listed 2.0 API endpoints twice [see PR #59]

  • Better xrange and title if only schedules are plotted [see PR #67]

  • User page did not list number of assets correctly [see PR #64]

  • Missing postPrognosis endpoint for >1.0 API blueprints [part of PR #41]

Infrastructure / Support

  • Added concept pages to documentation [see PR #65]

  • Dump and restore postgres database as CLI commands [see PR #68]

  • Improved installation tutorial as part of [PR #54]

  • Moved developer docs from Readmes into the main documentation [see PR #73]

  • Ensured unique sensor ids for all sensors [see PR #70 and (fix) PR #77]

v0.2.3 | February 27, 2021

New features

  • Power charts available via the API [see PR #39]

  • User management via the API [see PR #25]

  • Better visibility of asset icons on maps [see PR #30]

Note

Read more on these features on the FlexMeasures blog.

Bugfixes

  • Fix maps on new asset page (update MapBox lib) [see PR #27]

  • Some asset links were broken [see PR #20]

  • Password reset link on account page was broken [see PR #23]

Infrastructure / Support

  • CI via Github Actions [see PR #1]

  • Integration with timely beliefs lib: Sensors [see PR #13]

  • Apache 2.0 license [see PR #16]

  • Load js & css from CDN [see PR #21]

  • Start using marshmallow for input validation, also introducing HTTP status 422 in the API [see PR #25]

  • Replace solarpy with pvlib (due to license conflict) [see PR #16]

  • Stop supporting the creation of new users on asset creation (to reduce complexity) [see PR #36]