Releases: FlexMeasures/flexmeasures
Better use of future knowledge
What's Changed
For an explanation of the main new features, see also https://flexmeasures.io/018-better-use-of-future-knowledge/
- Update Docker Setup Instructions and Refactor Toy Example Section by @briskdust in #896
- Documentation/v2g use case by @Flix6x in #885
- Feature/planning/add asset to scheduler by @victorgarcia98 in #881
- fix: complete return tuple by @Flix6x in #912
- less conservative value for the big-M value by @victorgarcia98 in #905
- let admin-reader users see Assets, Users, Account and Tasks pages in the navigation bar by @victorgarcia98 in #900
- fix: 'str' object has no attribute 'removeprefix' in Python 3.8 by @Flix6x in #917
- fix(logs):reduce log messages from schedule by @GustaafL in #918
- Feature/currency symbols by @Flix6x in #922
- 769 bug: unable to save asset attributes through the UI when latitude and longitude are undefined by @Flix6x in #924
- feature(UI): Tables with rows that navigate on click by @Flix6x in #923
- Implement Content Security Policy (CSP) Upgrade for Enhanced Web Application Security by @Ahmad-Wahid in #920
- 875 remove obsolete data classes from db by @GustaafL in #921
- add (device) consumption and production capacities as sensors by @victorgarcia98 in #897
- feature: add usage forecast by @victorgarcia98 in #906
- fix: deprecate usage of job.exc_info by @Flix6x in #939
- Breadcrumb for the asset page by @victorgarcia98 in #930
- fix(model): fix annotation model and add db migration file by @GustaafL in #929
- fix: internationalize thousands separator to narrow non-breaking space by @Flix6x in #940
- add charge and discharge efficiencies as sensors by @victorgarcia98 in #933
- feat: benchmark util for accessing performance by @Nischay-Pro in #787
New Contributors
- @briskdust made their first contribution in #896
Full Changelog: v0.17...v0.18
FlexMeasures 0.17.1
This is a patch release in the 0.17.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.
v0.17: Consultancy
Overview
Version v0.17 of FlexMeasures lets you elevate some accounts to be consultants of other accounts. It also increases robustness of scheduling, by using fallbacks. And a new favicon!
What's Changed
- ci: allow to update OR upgrade dependencies by @nhoening in #862
- fix: apply soc-unit when deserializing soc-minima and soc-maxima by @Flix6x in #864
- fix(tests): try highs solver again by @Flix6x in #863
- add parent generic asset by @victorgarcia98 in #855
- Replace click.echo by click.secho by @Ahmad-Wahid in #871
- Security/pillow>=10.0.1 by @Flix6x in #872
- feat: spin off fallback scheduler from the storage scheduler by @victorgarcia98 in #846
- serialize sensor only when there's data by @victorgarcia98 in #866
- Change the Asset constraint
(account_id, name)
to(parent_asset_id, name)
. by @victorgarcia98 in #874 - Feature/planning/adapt scheduler multiple output by @victorgarcia98 in #879
- fix: unreachable code on the endpoint to get a schedule by @victorgarcia98 in #887
- fix(api): redirect url for fallback scheduler returns full url by @GustaafL in #888
- Feature/add consultancy account by @GustaafL in #877
- consumption and production site-level power constraints by @victorgarcia98 in #884
- feature: weekly heatmap by @Flix6x in #883
- make fallback scheduler redirect optional by @victorgarcia98 in #891
- Fix: consultant role by @Flix6x in #892
- fix: stop using upgrade-insecure-requests header by @nhoening in #894
- feat(favicon): update favicon to fm logo by @GustaafL in #895
Full Changelog: v0.16...v0.17
FlexMeasures 0.16.1
This is a patch release in the 0.16.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.
FlexMeasures 0.15.2
This is a patch release in the 0.15.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.
FlexMeasures 0.14.3
This is a patch release in the 0.14.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.
v0.16: ProfitLoss Reporter
What's Changed
- Switch off HiGHS logs for
LOGGING_LEVEL=INFO
by @victorgarcia98 in #824 - fix:
highs
string is insolver_name
by @victorgarcia98 in #826 - Fix: public sensors to show by @Flix6x in #830
- feat: add
ProfitOrLossReporter
to compute profit/loss of energy flows by @victorgarcia98 in #808 - Upgrade dependencies after v0.15 by @Flix6x in #813
- Feature/datetime unit conversions with dayfirst and timezone by @Flix6x in #831
- Add tutorial for the
Reporters
by @victorgarcia98 in #825 - amend changes in linear_optimization after commiting in PR #825 by @victorgarcia98 in #836
- fix: parsing of soc-target timestamps in
fm add schedule for-storage
by @victorgarcia98 in #834 - fix: infeasible problem due to float precision error by @victorgarcia98 in #832
- remove extra backtick by @victorgarcia98 in #837
- feature: add command
flexmeasures show chart
by @victorgarcia98 in #833 - CLI smart autocompletion by @Ahmad-Wahid in #713
- fix: bump version of Ubuntu in Dockerfile by @seagyn in #785
- Clean up job data source retrieval by @Flix6x in #845
- rename
source
tosources
and fetch only one value per event by @victorgarcia98 in #844 - installation: bump piptools to target >=7.2 by @Nischay-Pro in #801
- ci: build docker images automatically by @Nischay-Pro in #800
- ci: update build matrix to target multiple python versions by @Nischay-Pro in #847
- installation: added docker script to auto update dependencies for all Py versions by @Nischay-Pro in #843
- fix(docs): IDs by @Flix6x in #852
- Feat/interpolate instantaneous sensor charts by @Flix6x in #851
- expose storage and ems power capacities as flex-model fields by @victorgarcia98 in #850
- add headroom charts to tutorial part II by @victorgarcia98 in #856
- feat: add chart action to export data to CSV by @Flix6x in #849
- Upgrade Flask ecosystem dependencies by @Flix6x in #838
- save scheduler info into rq job by @victorgarcia98 in #859
- 782 update fm modes documentation for sunset of api versions 3 by @Flix6x in #857
- fix: instruct client browser to reload JS by @Flix6x in #860
- fix: rq queue name in menu by @Flix6x in #861
New Contributors
Full Changelog: v0.15...v0.16
FlexMeasures 0.15.1
This is a patch release in the 0.15.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.
v0.15: Process scheduling & Heatmap
Note
Read more on these features on the FlexMeasures blog <https://flexmeasures.io/015-process-scheduling-heatmap/>
__.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Warning
Upgrading to this version requires installing the LP/MILP solver HiGHS using pip install highspy
.
Warning
If your server is running in play mode (FLEXMEASURES_MODE = "play"
), users will be able to see sensor data from any account [see PR #740 <https://www.github.com/FlexMeasures/flexmeasures/pull/740>
_].
Overview
New features
- Add
ProcessScheduler
class to optimize the starting time of processes one of the policies developed (INFLEXIBLE, SHIFTABLE and BREAKABLE), accessible via the CLI commandflexmeasures add schedule for-process
[seePR #729 <https://www.github.com/FlexMeasures/flexmeasures/pull/729>
_ andPR #768 <https://www.github.com/FlexMeasures/flexmeasures/pull/768>
_] - Users can select a new chart type (daily heatmap) on the sensor page of the UI, showing how sensor values are distributed over the time of day [see
PR #715 <https://www.github.com/FlexMeasures/flexmeasures/pull/715>
_] - Added API endpoints
/sensors/<id>
(GET) for fetching a single sensor,/sensors
(POST) for adding a sensor,/sensors/<id>
(PATCH) for updating a sensor and/sensors/<id>
(DELETE) for deleting a sensor. [seePR #759 <https://www.github.com/FlexMeasures/flexmeasures/pull/759>
] and [seePR #767 <https://www.github.com/FlexMeasures/flexmeasures/pull/767>
] and [seePR #773 <https://www.github.com/FlexMeasures/flexmeasures/pull/773>
] and [seePR #784 <https://www.github.com/FlexMeasures/flexmeasures/pull/784>
] - Users are warned in the UI on when the data they are seeing includes one or more Daylight Saving Time (DST) transitions, and heatmaps (see previous feature) visualize these transitions intuitively [see
PR #723 <https://www.github.com/FlexMeasures/flexmeasures/pull/723>
_] - Allow deleting multiple sensors with a single call to
flexmeasures delete sensor
by passing the--id
option multiple times [seePR #734 <https://www.github.com/FlexMeasures/flexmeasures/pull/734>
_] - Make it a lot easier to read off the color legend on the asset page, especially when showing many sensors, as they will now be ordered from top to bottom in the same order as they appear in the chart (as defined in the
sensors_to_show
attribute), rather than alphabetically [seePR #742 <https://www.github.com/FlexMeasures/flexmeasures/pull/742>
_] - Users on FlexMeasures servers in play mode (
FLEXMEASURES_MODE = "play"
) can use thesensors_to_show
attribute to show any sensor on their asset pages, rather than only sensors registered to assets in their own account or to public assets [seePR #740 <https://www.github.com/FlexMeasures/flexmeasures/pull/740>
_] - Having percentages within the [0, 100] domain is such a common use case that we now always include it in sensor charts with % units, making it easier to read off individual charts and also to compare across charts [see
PR #739 <https://www.github.com/FlexMeasures/flexmeasures/pull/739>
_] - DataSource table now allows storing arbitrary attributes as a JSON (without content validation), similar to the Sensor and GenericAsset tables [see
PR #750 <https://www.github.com/FlexMeasures/flexmeasures/pull/750>
_] - Users will be able to see (e.g. in the UI) exactly which reporter created the report (saved as sensor data), and hosts will be able to identify exactly which configuration was used to create a given report [see
PR #751 <https://www.github.com/FlexMeasures/flexmeasures/pull/751>
_ andPR #788 <https://www.github.com/FlexMeasures/flexmeasures/pull/788>
_] - The CLI
flexmeasures add report
now allows passingconfig
andparameters
in YAML format as files or editable via the system's default editor [seePR #752 <https://www.github.com/FlexMeasures/flexmeasures/pull/752>
_ andPR #788 <https://www.github.com/FlexMeasures/flexmeasures/pull/788>
_] - The CLI now allows to set lists and dicts as asset & sensor attributes (formerly only single values) [see
PR #762 <https://www.github.com/FlexMeasures/flexmeasures/pull/762>
_]
Bugfixes
- Add binary constraint to avoid energy leakages during periods with negative prices [see
PR #770 <https://www.github.com/FlexMeasures/flexmeasures/pull/770>
_]
Infrastructure / Support
- Add support for profiling Flask API calls using
pyinstrument
(if installed). Can be enabled by setting the environment variableFLEXMEASURES_PROFILE_REQUESTS
toTrue
[seePR #722 <https://www.github.com/FlexMeasures/flexmeasures/pull/722>
_] - The endpoint
[POST] /health/ready <api/v3_0.html#get--api-v3_0-health-ready>
_ returns the status of the Redis connection, if configured [seePR #699 <https://www.github.com/FlexMeasures/flexmeasures/pull/699>
_] - Document the
device_scheduler
linear program [seePR #764 <https://www.github.com/FlexMeasures/flexmeasures/pull/764>
_] - Add support for
HiGHS <https://highs.dev/>
_ solver [seePR #766 <https://www.github.com/FlexMeasures/flexmeasures/pull/766>
_] - Add support for installing FlexMeasures under Python 3.11 [see
PR #771 <https://www.github.com/FlexMeasures/flexmeasures/pull/771>
_] - Start keeping sets of pinned requirements per supported Python version. Also fixes recent Docker build problem. [see
PR #776 <https://www.github.com/FlexMeasures/flexmeasures/pull/776>
_] - Removed obsolete code dealing with deprecated data models (e.g. assets, markets and weather sensors), and sunset the fm0 scheme for entity addresses [see
PR #695 <https://www.github.com/FlexMeasures/flexmeasures/pull/695>
_ andproject 11 <https://www.github.com/FlexMeasures/flexmeasures/projects/11>
_]
Complete overview from merge log
- fix: relax decimal resolution in constraint validation by @victorgarcia98 in #731
- fix: timerange for sensor with a single belief by @Flix6x in #732
- feat: CLI can delete multiple sensors at once by @Flix6x in #734
- fix: drop NaN values when saving the report to the database by @Flix6x in #735
- feat: add pyinstrument integration to Flask API endpoints by @Nischay-Pro in #722
- fix: relax constraint for overlaying plot traces for sensors with various resolutions by @Flix6x in #743
- Fix/report offsets in local time by @Flix6x in #744
- Feature/sort sensor legend in order of appearence by @Flix6x in #742
- feat: sensors with % units get chart including 0-100% in their domain by @Flix6x in #739
- fix: prevent mutating the original FIELD_DEFINITIONS dict by @Flix6x in #746
- Fix absolute currency units by @Flix6x in #738
- ci: PR template by @victorgarcia98 in #753
- docs: mention the ongoing work on shifting algorithm in the API notation by @nhoening in #747
- feat: add attributes column to
data_source
table by @victorgarcia98 in #750 - Upgrade dependencies after v014 by @nhoening in #757
- Docs: clear up capacity limit in toy tutorial by @nhoening in #760
- feat: 674 let the GitHub action test pipeline also use the latest dependency versions by @nhoening in #749
- feat: add redis liveness probe by @victorgarcia98 in #699
- try new coveralls Github Action by @nhoening in #655
- feat: let CLI users pass a JSON list (as a string) to set an asset or sensor attribute by @nhoening in #762
- feat(sensors): adds fetch_one sensor endpoint to API by @GustaafL in #759
- docs: add device_scheduler page by @victorgarcia98 in #764
- fix(storage): fixes too many args in constraint_message function by @GustaafL in #758
- docs: improve documentation of flexmeasures by @Nischay-Pro in #756
- enable usage of Highs solver by @victorgarcia98 in #766
- feat: add
ProcessScheduler
by @victorgarcia98 in #729 - 433 post sensor by @GustaafL in #767
- fix(sensor): removes resolution from fetch one response to only retur… by @GustaafL in #779
- feat: in play mode, allow showing any sensor on the asset page by @Flix6x in #740
- feature: add command
flexmeasures add schedule for-process
by @victorgarcia98 in #768 - feat: add support for python 3.11 by @Nischay-Pro in #771
- mention that the higher version 2.10 works by @nhoening in #783
- 433 patch sensor by @GustaafL in https://github.com/FlexMeasures/flexmea...
FlexMeasures 0.14.2
This is a patch release in the 0.14.x series and includes some regression fixes. We recommend that all users upgrade to this version.
See our changelog for a list of all the changes.