Below you can find explanations of breaking and otherwise notable changes in this release. For a complete list of changes please refer to 📖 CHANGELOG.md and 📚 openapi.yaml in the repository.
For the planned release timeline and a full list of changes (including GUI features) please refer to the 📄 Release Notes article in the ❓Help / FAQ of Empire.
🚨 Breaking Changes
Finance Invoices
We’ve updated the Finance API with improved clarity and flexibility around invoice handling:
- The
getFinanceInvoicesendpoint (GET /v1/finance/invoices) has been renamed togetFinanceInvoiceGroups(GET /v1/finance/invoice-groups) for better alignment with the returned data - In the
InvoiceGroupobject, the fieldsnetAmount,grossAmount, andlastStatusChangeare now optional - A new required field,
type, has been added to theInvoiceDetailsobject (used in getFinanceInvoice)
Bid Document & Allocation Results XML
As per a participant's request, the Bid document XML and the Allocation results XML documents can be mapped together: Bid Document XML, BidTimeSeries.BidIdentification is mapped to Allocation Results XML, AllocationTimeSeries.BidIdentification.
Bid Document XML:
...
<BidTimeSeries>
<BidIdentification v="example bid tag1" />
<AuctionIdentification v="BDL-GB-NL-P-BASE---250725-01" />
...
Allocation Results XML:
...
<AllocationTimeSeries>
<TimeSeriesIdentification v="f1VyA6FGRkmHsPqM4gb8Tg"/>
<BidDocumentIdentification v="BDL-GB-NL-P-BASE---250725-01"/>
<BidDocumentVersion v="1"/>
<BidIdentification v="example bid tag1"/>
<AuctionIdentification v="BDL-GB-NL-P-BASE---250725-01"/>
...
Also, the Allocation results XML document AllocationTimeSeries.Period.Interval.BidPriceAmount has been modified. Before the changes, it contained the weighted average price of the allocated capacity.
For example, the participant had 3 bids: 17 MW, 27€; 15 MW, 25€; 12 MW, 22€. Before Empire 7.0 the weighted average for these would be ~24.95
After this release, the intervals and the amounts are listed per bids, not the weighted average is calculated in order to have an accurate value.
Feature Changes
Finance / Invoice sending
The Netting statement pdf header is going to be the generation period. Before the release, the header of the netting statement showed the Invoicing Period. Since the invoice covers more than just the previous month, we changed this to the month the invoice was generated in the system, in order to avoid confusion. For example, the Invoice generated on the 1st of November 2025, the header is November-25, instead of October-25.
A slight modification has been made to the exchange rate notation: whole numbers will now be explicitly written out. For instance, "0.54200" will be used instead of ".54200".
Finance / Credit Limit Calculation
We've fixed an edge case in the Credit limit calculation - Returns logic. The logic did not consider the return compensations of monthly auctions, with delivery periods more than one month ahead. This was due to a restriction in the credit limit check. The updated logic now includes all future delivery months, ensuring accurate Credit Limit calculations.
Email & Messages
We've fixed an issue where the “Show in Empire” button in participant emails linked to a page that the recipients couldn't access. It now correctly redirects to the right page for a better user experience.
We've fixed an issue where messages for expiring and expired API keys were swapped. Users were receiving misleading notifications. The correct messages are now sent based on the API key's actual status.
Reporting
We’ve fixed issues in the Bought and Sold Capacity report related to Long Term auction calculations and missing Day-Ahead (DA) buy data. The report now properly includes DA auctions in the Buy section and aligns all calculations with the expected logic.
Audit log report now contains the user name in the email column. Now, the email addresses are listed.
We’ve corrected a billing report issue in Empire, where Quarterly and Annual products displayed the incorrect number of allocated hours during planned outages. The report now correctly reflects the invoiced hours, aligning with the Monthly product calculation.
⬇️Minor fixes
We’ve fixed an issue where invited users could become suspended before completing activation, due to repeated failed login attempts. Invited users now remain in a pending state until activation, preventing unintended suspension.
In the Empire GUI, where the tables are too long, the headers are "Fixed" to ease readability.
The createSecondaryMarketReturnRequest should return a 201 code if the creation was successful. Previously, it returned 200.
We’ve fixed an issue where the system incorrectly accepted default bid requests for the createDayAheadOrIntraDayDefaultBid endpoint, with all MTUs bundled in a single object. The system now correctly validates the MTU structure and rejects improperly formatted requests.