Beta — Data under validation. Values may contain errors.
Back to docs

Changelog

Add-in versions and notable platform updates. Older fixes live in the git log.

8.0.0.0

2026-05-05Latest

Added

  • ED.CAPTURE / ED.CAPTURE.RANGE unit parameter: "" (default, EUR/MWh) | "pct" (capture rate %, gen-weighted, the AFRY/EMBER number).
  • ED.CURTAIL.RANGE — renewable curtailment time series. type=economic (forecast vs Σ PBF, VRE only) or type=technical (PBF vs P48, default). unit=mwh|pct.
  • ED.PCT.AT.PRICE — share of a volume metric (gen_*, demand_*, xborder_*, program_pbf_*, program_p48_*) whose hours fall on one side of a price threshold. Use program_pbf_* for the ex-ante OMIE-schedule view (matches ED.CAPTURE method=1) or gen_* for the realized post-curtailment view.

Changed

  • BREAKING: ED.CAPTURE signature reorders to ED.CAPTURE(tech, [date], [zone], [unit], [method], [tz]) — `unit` inserted between `zone` and `method`. Calls that passed `method` or `tz` positionally need an empty slot for the new param. v7 `=ED.CAPTURE(1, date, "ES", 1)` becomes v8 `=ED.CAPTURE(1, date, "ES", , 1)`.
  • BREAKING: ED.CAPTURE.RANGE signature reorders to ED.CAPTURE.RANGE(tech, [start], [end], [agg], [unit], [zone], [headers], [noDate], [method], [tz]) — `unit` inserted between `agg` and `zone`. v7 `=ED.CAPTURE.RANGE(1, A1, A2, 3, "ES", 1, 0, 1)` becomes v8 `=ED.CAPTURE.RANGE(1, A1, A2, 3, , "ES", 1, 0, 1)`.

The bump is BREAKING for users who passed method/tz positionally on capture functions. Manifest version goes to 8.0.0.0 to force Excel to refresh the function definitions. Calls that only used the first three args of ED.CAPTURE (or first four of ED.CAPTURE.RANGE) are unaffected.

7.1.1.0

2026-04-25

Added

  • BE and NL day-ahead spot prices wired into the daily cron via ENTSO-E A44.
  • PT intraday prices recovered via geo_id=1 fallback (sessions s1/s2/s3).
  • unit_generation table migrated to ts_utc PK; per-unit fall-DST 02:XX rows no longer collide.

Fixed

  • DST handling overhaul: every hourly metric now reports the full 8760/8784 CET-fixed buckets per year. Previously the fall-DST 02:XX hour collided with the second 02:XX (CET) and got dropped on insert.
  • Server-side primary key migrated to (ts_utc, metric, zone) so duplicate civil times can coexist; readers using tz=cet/utc see exactly one row per UTC hour.
  • Spanish DST archive recovered: ~5,700 mis-labelled rows patched + 24 fall/spring DST days re-ingested from OMIE, ESIOS and ENTSO-E with DST-aware parsers.

Cosmetic manifest bump; bundle byte-identical to 7.1.0.0 — safe to re-load without breaking sheets.

7.1.0.0

2026-04-24

Added

  • Optional tz parameter on every time-series function: 0/madrid (default, DST-aware) | 1/cet (fixed UTC+1) | 2/utc.

Changed

  • Web /api/data and /api/prices accept the same tz=… query string for parity with the Excel layer.

7.0.x

2026-04-21

Added

  • ED.CAPTURE / ED.CAPTURE.RANGE method parameter: 0=realized (default, matches publications) | 1=PBF (ex-ante, ES only).
  • 5 metals commodities via Yahoo Finance: gold (GC=F), silver (SI=F), copper (HG=F), platinum (PL=F), palladium (PA=F).
  • Slack alerting on daily-ingest sanity-check failures.

Fixed

  • Capture price now uses PBF for current-day fallback when realized data hasn't published yet.
  • 60 ESIOS scheduled-program metrics (PBF/PVP/P48 × 20 techs) seeded back to 2014.

6.5.x

2026-04-15

Added

  • noDate parameter on every *.RANGE function (1 = omit the date column from the spill array).
  • 5-min in-memory cache for repeated cell evaluations (avoids re-fetch when inserting Excel columns).
  • /docs/install: full sideloading guide for Excel Web, Windows Desktop, and Mac.

Fixed

  • Admin Data panel OK/Stale/Missing counters now match the filter-button counts (both compute via getEffectiveStatus client-side).
  • ED.RANGE for monthly aggregates now correctly aggregates by Madrid civil month boundary instead of UTC.

6.0.x

2026-04-12

Added

  • Stripe checkout, webhook, and customer portal (test mode) — 5 plan tiers (free/standard/pro/premium/dev).
  • OilPrice API for Dubai Crude (replaces FRED, discontinued Feb 2026).
  • Yahoo Finance TTF=F for EU gas (replaces FRED).
  • Per-API-key rate limiting (3 windows: rpm/rpd/rpMonth) on public data API.

Fixed

  • Admin license listing collapsed N+1 queries into single listUsers() + Set lookup.
  • API error responses no longer leak raw error.message; logged server-side instead.

5.0.x

2026-04-05

Added

  • Refactored to 9 unified function families (was 20+ scattered).
  • ED.METRICS() spill array listing every available metric with unit and description.
  • Auth (Supabase) + plan-based metric access control via DB.

Earlier

2026-03

Initial milestone: =ED.OMIE() returning real OMIE day-ahead prices in Excel. Capture price (PV/Wind), generation by tech, basic commodities. See git log for the full list.