**********************
FlexMeasures Changelog
**********************
v0.31.0 | February XX, 2026
============================
New features
-------------
Infrastructure / Support
----------------------
Bugfixes
-----------
v0.30.1 | December XX, 2025
============================
Bugfixes
-----------
v0.30.0 | December 02, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: If you make use of ``flexmeasures add report`` with the ``--start-offset`` and/or ``--end-offset`` options (for instance, in a cron job), please check whether the report period logged by the CLI command still fits your use case.
Your offsets may need to be adjusted in relation to your ``FLEXMEASURES_TIMEZONE`` config setting (its offset with respect to :abbr:`UTC (Coordinated Universal Time)`).
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``) and ``flexmeasures add initial-structure``.
New features
-------------
* Major overhaul of ``flexmeasures add forecasts`` (use the ``--help`` option to learn more) [see `PR #1546 `_, `PR #1744 `_ and `PR #1834 `_]
* The new ``commitments`` field in the ``flex-context`` can be used to specify previous commitments (e.g. market positions) that the scheduler needs to take into account [see `PR #1754 `_ and `PR #1793 `_]
* Many more field descriptions in Swagger, including flex-model and flex-context fields [see `PR #1777 `_ and `PR #1841 `_]
* Maps auto-zoom to cover the asset portfolio visible to the user, with fresh users prompted to pan to their own location when adding their first asset [see `PR #1644 `_]
* Sticky replay button for asset and sensor pages [see `PR #1739 `_]
* The ``flexmeasures delete beliefs``, ``flexmeasures delete nan-beliefs`` and ``flexmeasures delete unchanged-beliefs`` CLI commands now support limiting the action to a given set of data sources [see `PR #1770 `_]
* Let consultants see client assets on dashboard and group by account [see `PR #1763 `_]
* More explicitly represent the unit of sensors that record dimensionless data [see `PR #1802 `_]
* Allow modifying asset trees with the CLI using ``flexmeasures edit transfer-parenthood`` [see `PR #1773 `_]
* Expanded the sorting columns of "latest jobs" table [see `PR #1821 `_]
* Allow to keep legend combined below graphs, even with many plots (useful on narrow screens) [see `PR #1816 `_]
Infrastructure / Support
----------------------
* Updated dependencies [see `PR #1752 `_, `PR #1820 `_ and `PR #1842 `_]
* Speed up data searches by refactoring our filter for selecting data from the latest version of a data generating model [see `PR #1698 `_]
* Add new tutorial for PV curtailment and multi-asset scheduling [see `PR #1804 `_ and `PR #1846 `_]
* Drop need for .env file in favour of more adaptation of flexmeasures.cfg config file [see `PR #1759 `_]
* Support saving beliefs with a ``belief_horizon`` in the ``AggregatorReporter`` [see `PR #1735 `_]
* Support skipping a ``PandasReporter`` transformation if any of its (keyword) arguments has no data [see `PR #1669 `_]
* Assets now have an `external_id` field so data from external sources can be linked to the right FlexMeasures asset in custom integrations [see `PR #1774 `_ and `PR #1806 `_]
* Save buttons in UI editors (flex-model, flex-context and data dashboards) [see `PR #1764 `_]
* Improve performance of the endpoint profiler and support configuration using the new ``FLEXMEASURES_PROFILER_CONFIG`` setting [see `PR #1799 `_]
* Use ``SimpleWorker`` instead of fork-based ``Worker`` on macOS to prevent segmentation faults when running ``flexmeasures jobs run-worker`` for development purposes on macOS. [see `PR #1818 `_]
* Move flex model UI schema to server side [see `PR #1830 `_]
* Fewer version details in OpenAPI specs, to make pre-commit step complain less [see `PR #1845 `_]
Bugfixes
-----------
* Fix unit conversion when scheduling a storage asset that deals with power sensors recording data in kWh units [see `PR #1784 `_]
* Fix interpretation of ``--start-offset`` and ``--end-offset`` options in ``flexmeasures add report`` [see `PR #1758 `_]
* Let users search for flex context sensors on whole site tree again [see `PR #1826 `_]
* Fix unintended date range hopping, a UI bug where date ranges set in URL parameters would be overridden by the user's previously selected date range (a session variable) [see `PR #1821 `_]
* Fix off-center map markers [see `PR #1840 `_]
* Resolved a crash in the "latest jobs" table when sorting was applied, and corrected a typo in the Jobs API Swagger UI documentation. [see `PR #1821 `_]
* Enhance dates on UI(sensor page) to be human friendly when representing future dates [see `PR #1832 `_]
* Fix spinner not disappearing on the asset graph page [see `PR #1831 `_]
* Fix links to API endpoint docs in Sphinx documentation [see `PR #1843 `_]
v0.29.1 | November 5, 2025
============================
Bugfixes
-----------
* Support different but still compatible units in time series segments of variable quantities [see `PR #1792 `_]
* Fix account and `/assets/owned_by` pages rendering, giving them asset icons [see `PR #1772 `_]
* Fix bug when sending one sensor in flex-model when triggering schedule on asset [see `PR #1795 `_]
* Allow consultants to view client users [see `PR #1755 `_]
* Fix bug where removed flex-model fields don't show up under the dropdown for new fields, except after a page refresh [see `PR #1775 `_]
* Fix bug in displaying user audit log (incl. expanding its API schema) [see `PR #1779 `_]
* Support flex-context prices with SI-prefixed currencies (e.g. kEUR) [see `PR #1844 `_]
v0.29.0 | October 14, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
New features
-------------
* Added a UI editor (form modal) to edit an asset's flex-model [see `PR #1429 `_ and `PR #1565 `_]
* New CLI command for scheduling, with full flex-context and flex-model support as well as the option to set your scheduler class [see `PR #1713 `_]
* Full coverage of flex-context fields in the UI editor [see `PR #1689 `_]
* Touch up the KPI cards [see `PR #1731 `_]
* Touch up asset context page [see `PR #1732 `_]
* Allow ``PandasReporter`` configurations to skip a transformation in case any of the transformation ``args`` or ``kwargs`` is missing all data [see `PR #1717 `_]
* The ``flexmeasures delete unchanged-beliefs`` CLI command now supports limiting the action to a given period [see `PR #1720 `_]
Infrastructure / Support
----------------------
* Migrate data for the ``flex-model`` of an asset to a dedicated column in the database table for assets [see `PR #1429 `_]
* Updated dependencies [see `PR #1707 `_]
* Upgraded Docker Image Ubuntu 24, which uses Python 3.12 [see `PR #1723 `_]
* Include finished and canceled jobs in the overview printed by the CLI command ``flexmeasures jobs show-queues`` [see `PR #1712 `_]
* Improved flex-context modal UI and UI-backend functionalities&structure [see `PR #1704 `_]
* Removed the use of ``consumption_price_sensor`` from the ``ProcessScheduler`` and replaced with now mandatory ``consumption_price`` in the ``flex-context`` [see `PR #1729 `_]
* Removed obsolete UI view [see `PR #1743 `_]
Bugfixes
-----------
* Changed 422 response for asset PATCH endpoint to the format also used elsewhere [see `PR #1722 `_]
* Fix UI flex-context editor for flex-contexts with boolean fields (that were set through the API) [see `PR #1733 `_]
* Fix floating spinner on asset graphs page [see `PR #1738 `_]
* Make monitoring tasks & users robust against db issues [see `PR #1715 `_]
v0.28.2 | October 3, 2025
============================
Bugfixes
-----------
* Fix horizons in UI chart tooltips [see `PR #1730 `_]
* Fix UI chart for Charge Point sessions [see `PR #1699 `_]
* Fix two audit logs in the sensor API, which were not committed to db [see `PR #1721 `_]
v0.28.1 | September 18, 2025
============================
Bugfixes
-----------
* Fix schema validation in ``PATCH /assets/(id)`` [see `PR #1711 `_]
* Fixed example values for peak pricing and improved error message for incompatible price units set in the ``flex-context`` [see `PR #1710 `_]
v0.28.0 | September 10, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
This upgrade may take a few minutes, depending on how much time series data you have in your database (the data will be reindexed).
New features
-------------
* Display KPIs for asset sensors with daily event resolution [see `PR #1608 `_, `PR #1634 `_ and `PR #1656 `_]
* Ability to add users via API (POST /users) and in the UI (from an account page) [See `PR #1678 `_]
* Improved timestamp on sensor detail page to be more friendly [see `PR #1632 `_]
* Asset types support: new API endpoint (`GET /assets/types`), better docs and fix CLI command ``flexmeasures show asset-types`` [see `PR #1663 `_]
* Add ``--combine-legend`` option to flexmeasures show chart. When used, all legends are combined and displayed at the bottom of the chart. If not used (default = False), each chart will display its own separate legend (as on the asset page) [see `PR #1696 `_]
* Add support for using Swagger to generate API documentation [see `PR #1703 `_]
Infrastructure / Support
----------------------
* Upgraded dependencies [see `PR #1616 `_, `PR #1672 `_, `PR #1668 `_ and `PR #1690 `_]
* Removed support for Python3.8 [see `PR #1615 `_]
* Better support for using ``Sensor`` objects as dictionary keys [see `PR #1650 `_]
* Removed obsolete API blueprint for play mode and underlying backup file-based functionality [see `PR #1622 `_ and `PR #1630 `_]
* Faster data loading for the UI by vectorization of dictionary representations of sources and sensors, and of epoch conversion [see `PR #1641 `_]
* Refactor: Remove clunky calls to the API from within the UI view code [see `PR #1683 `_]
* Compress chart data sent to the UI charts [see `PR #1645 `_ and `PR #1691 `_]
* Better representation of changes in JSON structures in audit logs [see `PR #1700 `_]
Bugfixes
-----------
* Fixed usage of slow query for status page [see `PR #1638 `_]
* Fix editing of public assets in the UI [see `PR #1636 `_]
* Fix issue with :abbr:`DST (Daylight Saving Time)` transitions when processing variable quantities using the time series specification format, in flex-contexts and/or flex-models [see `PR #1681 `_]
* Add audit log entries when creating sensors, assets and accounts via the CLI [see `PR #1623 `_]
v0.27.4 | August 27, 2025
============================
Bugfixes
-----------
* Fix ``flexmeasures show reporters`` and ``flexmeasures show schedulers`` [see `PR #1674 `_]
* Show job information again on the job page on rq-dashboard, for scheduling jobs that set a specific ``belief_time`` and/or ``resolution`` [see `PR #1670 `_]
v0.27.3 | August 19, 2025
============================
Bugfixes
-----------
* Fix the time window in the UI from being replaced with :abbr:`NaN (not a number)` values when refreshing the asset graphs page [see `PR #1667 `_]
* Fix scheduling storage devices within a single time step [see `PR #1619 `_]
v0.27.2 | August 13, 2025
============================
Bugfixes
-----------
* Resolve issue where concatenating sensor data from updated reporters leads to a :abbr:`NaN (not a number)` source and crashing the asset graphs page [see `PR #1660 `_]
Infrastructure / Support
----------------------
* Faster data loading for the UI by caching dictionary representations of sources and sensors [see `PR #1647 `_]
* Modify a query to speed up a data availability check for forecasting [see `PR #1658 `_]
v0.27.1 | August 11, 2025
============================
Bugfixes
-----------
* Flex-context price sensors can have any shared unit [see `PR #1628 `_]
* Fix a few UI grievances in asset creation, esp. child assets [see `PR #1629 `_]
* Fix updating the URL query parameters upon date selection in the UI of servers in play mode [see `PR #1649 `_]
Infrastructure / Support
----------------------
* Automate release process to PyPI [see `PR #1657 `_]
v0.27.0 | July 20, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. note:: Preparatory warning: The following release will not support Python 3.8 anymore.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
New features
-------------
* New API endpoint `[POST] /assets/(id)/schedules/trigger `_ to schedule a site with multiple flexible devices [see `PR #1065 `_]
* Add form to upload sensor data to the database [see `PR #1481 `_, `PR #1573 `_, `PR #1583 `_, `PR #1585 `_, `PR #1588 `_ and `PR #1590 `_]
* Improved the UX for creating child-assets and sensors in the UI [see `PR #1605 `_]
* Added :abbr:`2FA (two-factor authentication)` support for email and one time recovery, and also added ``_macros.html`` for UI components [see `PR #1555 `_, `PR #1564 `_ and `PR #1562 `_]
* Give consultants more permissions, so they can edit their client's accounts, assets and sensors. Also add test cases to check if these permissions work as expected [see `PR #1539 `_ and `PR #1550 `_]
* Allow editing users in the UI [see `PR #1502 `_]
* Scheduling job descriptions on the tasks page (RQ Dashboard) shows the whole flex-model and flex-context, including any server-side configuration of e.g. capacities [see `PR #1579 `_ and `PR #1601 `_]
* Smarter date range navigation [see `PR #1531 `_]
* Smarter toast notifications [see `PR #1530 `_]
* Move various warnings to toast notifications [see `PR #1529 `_]
* Document how to set a parent asset when creating an asset through the API, and show parent assets in ``flexmeasures show account`` [see `PR #1533 `_ and `PR #974 `_]
* Add ``flexmeasures show assets`` CLI command for listing public assets and option ``--account `` to list assets owned by a specific account [see `PR #1536 `_]
* Add ``flexmeasures jobs run-job`` CLI command to run a single job [see `PR #1602 `_]
* Add toggle to show sensor statistics based on selected date range [see `PR #1535 `_, `PR #1543 `_ and `PR #1589 `_]
* Scale sensor data to the lowest unit on graphs with multiple sensors and same dimension. [see `PR #1534 `_ and `PR #1544 `_]
* Group statistics on the UI's sensor page by data source ID, and show the description and ID of each data source [see `PR #1548 `_]
Infrastructure / Support
----------------------
* Upgraded dependencies [see `PR #1450 `_, `PR #1527 `_, `PR #1532 `_, `PR #1567 `_, `PR #1611 `_ and `PR #1613 `_]
* Improved authorization checks for modifying roles [see `PR #1517 `_]
* In authorization, prevent accidental errors by not matching empty principals [see `PR #1556 `_]
* Tests: guarantee a clean db upon creating the test db [see `PR #1518 `_]
* Stopped testing Python3.8 in our GitHub Actions CI [see `PR #1541 `_]
* Stopped auto-deploying to Seita's staging server on commits to main. Kept scripts and documentation how to do it. Added short description of the two existing CI workflows [see `PR #1552 `_]
* Explain white-labeling in documentation [see `PR #1587 `_]
* Changed example ``docker-compose.yaml`` to persist database on local volume [see `PR #1584 `_]
Bugfixes
-----------
* Prevent redundant second call to fetch chart data on page load and start replay button [see `PR #1586 `_ and `PR #1596 `_]
* On the asset context page, send the highest ancestor as site_asset (then the asset context view uses this to look up sensors for the flex-context) [see `PR #1581 `_]
* Fix support for using 3-digit hex colors in account color scheme [see `PR #1569 `_]
* Fix deletion of sensors in the UI, also move the delete button for assets & sensors to the bottom of the page [see `PR #1597 `_]
v0.26.1 | June 09, 2025
============================
Bugfixes
-----------
* Fixed backwards compatibility for users still using deprecated flex-context fields [see `PR #1528 `_]
* Show job information again on the job page on rq-dashboard [see `PR #1526 `_]
v0.26.0 | June 03, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
New features
-------------
* Support saving the scheduled :abbr:`SoC (state of charge)` by referencing an appropriate sensor in the ``flex-model`` field ``state-of-charge`` [see `PR #1392 `_ and `PR #1406 `_]
* Allow relaxing :abbr:`SoC (state of charge)` minima and maxima, by setting penalties for not meeting these constraints, using two new ``flex-context`` fields [see `PR #1300 `_]
* Allow relaxing device-level power constraints, by setting penalties for not meeting these constraints, using two new ``flex-context`` fields [see `PR #1405 `_]
* Add flex-context fields to toggle on/off relaxation of various constraints [see `PR #1511 `_]
* Add sensor attribute (``frequency``) to align incoming measurements to a specified time interval [see `PR #1461 `_]
* Save changes in asset flex-context form right away [see `PR #1390 `_]
* Extending sensor CRUD functionality to the UI [see `PR #1394 `_ and `PR #1413 `_]
* Marker clusters on the dashboard map expand in a tree to show the hierarchical relationship of the assets they represent [see `PR #1410 `_]
* Load the sensors individually on the Sensors status page. Reload the jobs table using Ajax calls. Improve page performance and avoid timeouts. [see `PR #1425 `_ and `PR #1466 `_]
* New pages for `Properties`, `Graphs`, `Context`, `Status` and `Audit Log`. Simplified the main asset page. [see `PR #1416 `_, `PR #1387 `_, `PR #1442 `_, `PR #1470 `_, `PR #1473 `_, `PR #1478 `_, `PR #1480`_ and `PR #1482 `_]
* Only show important sensors statuses (flex-context and graph sensors) on the status page [see `PR #1439 `_]
* Let the user interact with the breadcrumbs on asset graphs page when the graphs are loading [see `PR #1472 `_]
* Added DB migrations to apply server defaults to ``generic_asset`` and ``data_sources`` tables [see `PR #1488 `_]
* Show visually distinct siblings and children in the assets dropdown [see `PR #1504 `_]
* Add resolution back to the CLI belief plotting [see `PR #1500 `_]
* Improved permission validation for user role updates. [see `PR #1465 `_]
* Statistics shown in the UI default to that of the freshest source [see `PR #1399 `_]
Infrastructure / Support
----------------------
* Move to using a ``pyproject.toml`` [see `PR #1419 `_]
* Upgraded dependencies [see `PR #1400 `_, `PR #1444 `_, `PR #1448 `_, `PR #1484 `_, `PR #1490 `_ and `PR #1497 `_]
* Save last N jobs from any queue and registry to a file, and support filtering by asset ID or sensor ID [see `PR #1411 `_]
* Prevent accidentally still logging a warning in case a reporter already stopped using the ``use_latest_version_only`` argument [see `PR #1510 `_]
* Describe four supported user roles explicitly (docs and code) [see `PR #1451 `_]
* Updated the directory structure for crud operations for assets, sensors, users and accounts [see `PR #1467 `_ and `PR #1471 `_]
* Docs: Add tutorial scripts [see `PR #1505 `_]
* Docs: fix graphs page for assets in toy tutorial, display plotted sensors when CLI shows asset info [see `PR #1501 `_]
Bugfixes
-----------
* Fixed two alternatives for expressing a variable quantity as a time series; specifically, those involving the ``duration`` field [see `PR #1433 `_]
* Fix the preference to delay curtailment of any device [see `PR #1498 `_ and `PR #1499 `_]
* The data dashboard now supports overlapping sensors with instantaneous and non-instantaneous resolutions [see `PR #1407 `_]
* Fix map not loading when editing an asset [see `PR #1414 `_]
* Fix ``flexmeasures add schedule for-storage`` after flex-context database migration [see `PR #1417 `_ and `PR #1449 `_]
* Fix overriding of flex-context when asset is edited on the UI [see `PR #1469 `_]
* Support entering audit log entries by detached user instances [see `PR #1483 `_]
* Make flex context usage safer against this field being `None` [see `PR #1503 `_]
v0.25.0 | April 01, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
New features
-------------
* Added a UI editor (form modal) to edit an asset's flex-context [see `PR #1320 `_, `PR #1365 `_ and `PR #1364 `_]
* Improve asset status page - distinguish better by data source type [see `PR #1022 `_]
* Better y-axis titles for charts that show multiple sensors with a shared unit [see `PR #1346 `_]
* Add CLI command ``flexmeasures jobs save-last-failed`` (since v0.26: ``flexmeasures jobs save-last``) for saving the last failed jobs [see `PR #1342 `_ and `PR #1359 `_]
* Add CLI command ``flexmeasures jobs delete-queue`` for deleting an obsolete queue [see `PR #1351 `_]
Infrastructure / Support
----------------------
* Support multi-asset scheduling in the ``StorageScheduler`` and job queueing - functionality for (plugin) developers (incl. prep work for future API endpoint for multi-asset scheduling) [see `PR #1313 `_]
* Support PV curtailment in the ``StorageScheduler`` [see `PR #1395 `_]
* Validate shared units are used in time series segments of flex-context prices [see `PR #1396 `_]
* Migrate data for the ``flex-context`` of an asset to a dedicated column in the database table for assets [see `PR #1293 `_, `PR #1354 `_ and `PR #1380 `_]
* Enhance reporting infrastructure by ensuring that all ``Sensor.search_beliefs`` filters can be used as report parameters [see `PR #1318 `_]
* Improve searching for multi-sourced data by returning data from only the latest version of a data generator (e.g. forecaster or scheduler) by default, when using ``Sensor.search_beliefs`` [see `PR #1306 `_]
* Extra reporter tests [see `PR #1317 `_]
* Catch invalid time windows passed to ``flexmeasures add report`` [see `PR #1324 `_]
* Test utility function for device scheduling in a multi-asset setting (sequential and simultaneous) [see `PR #1341 `_]
* Add utils doctests to our CI pipeline [see `PR #1347 `_]
* Clarify default limitations to concurrent connections [see `PR #1391 `_]
v0.24.1 | February 27, 2025
============================
Infrastructure / Support
----------------------
* Update cache and Ubuntu versions used for testing in GitHub Actions [see `PR #1329 `_]
Bugfixes
-----------
* Fix map not loading when editing an asset [see `PR #1310 `_]
* Add missing support for fallback attribute for the ``soc-usage`` and ``soc-gain`` fields of the ``flex-model`` [see `PR #1340 `_]
v0.24.0 | January 7, 2025
============================
.. note:: Read more on these features on `the FlexMeasures blog `_.
.. warning:: Upgrading to this version requires running ``flexmeasures db upgrade`` (you can create a backup first with ``flexmeasures db-ops dump``).
New features
-------------
* Allow scheduling against energy contracts, capacity contracts and peak contracts simultaneously, using various new ``flex-context`` fields [see `PR #1144 `_]
* Allow using numeric values for ``flex-model`` fields accepting dimensionless quantities [see `PR #1144 `_]
* The data chart on the asset page splits up its color-coded sensor legend when showing more than 7 sensors, becoming a legend per subplot [see `PR #1176 `_ and `PR #1193 `_]
* Speed up loading the users page, by making the pagination backend-based and adding support for that in the API [see `PR #1160 `_]
* X-axis labels in CLI plots show datetime values in a readable and informative format [see `PR #1172 `_]
* Enhanced API for listing sensors: Added filtering and pagination on sensor index endpoint and created new endpoint to get all sensors under an asset [see `PR #1191 `_ and `PR #1219 `_]
* Speed up loading the accounts page by making the pagination backend-based and adding support for that in the API [see `PR #1196 `_]
* Speed up loading the account detail page by by switching to server-side pagination for assets, replacing client-side pagination [see `PR #1202 `_]
* Added form to edit an asset's sensors_to_show data directly from the UI [see `PR #1212 `_]
* Speed up loading on audit log tables page by switching to server-side pagination, replacing client-side pagination [see `PR #1274 `_ and `PR #1272 `_]
* Simplify and globalize UI messages, using Toast [see `PR #1207 `_]
* Power sensors created through the CLI no longer require a capacity attribute to be set [see `PR #1234 `_]
Infrastructure / Support
----------------------
* The breadcrumbs on asset and sensor pages can now be customized [see `PR #1257 `_]
* The monitoring command to check for users who have been absent too long now can be used to keep data volume low and be more effective [see `PR #1268 `_]
* Speed up status page by choosing for a faster query (only latest belief needed) [see `PR #1142 `_]
* Speed up user page (for users with many assets) [see `PR #1286 `_]
* For MacOS developers, install HiGHS solver automatically [see `PR #1187 `_]
* Migrate data for the ``sensors_to_show`` asset attribute to a dedicated column in the database table for assets [see `PR #1200 `_ and `PR #1282 `_]
* Add support for installing FlexMeasures under Python 3.12 [see `PR #1233 `_]
* Better error handling in UI, for example, in case of a forgotten ``flexmeasures db upgrade`` [see `PR #1302 `_]
Bugfixes
-----------
* Fix table sorting on the assets, accounts and users page (regression from `PR #988