# Changelog of EU EV Charging Graph - DE + FR + ES charge points by EVSE ID (`rastriq/eu-ev-charging-graph`) Actor

- **URL**: https://apify.com/rastriq/eu-ev-charging-graph/changelog.md
- **Full Actor documentation**: https://apify.com/rastriq/eu-ev-charging-graph.md

## CHANGELOG

### 0.1 (2026-10-12) — primera versión (G1 local)

- Inventario homogéneo de puntos de recarga DE (BNetzA CSV ancho → largo), FR (IRVE consolidado, streaming) y ES (NAP DATEX II, iterparse) por EVSE ID, con estado y delta (`new/changed/unchanged/removed`).
- Modos `snapshot`, `delta` y `preloaded`; eventos PPE `evse-record`, `evse-change`, `evse-record-preloaded`; filtros `countries`, `operators`, `minPowerKw`, `postalCodes`, `excludeFlags`, `includeConnectors`, `maxItems`, `stateKey`.
- Normalización de EVSE ID (eMI3), operador (diccionario determinista), conectores, horarios y coordenadas; flags de calidad que marcan y dejan pasar.
- Guardarraíl por país (caída > 10 %), `source_unchanged` por metadatos (ES: una sola petición, aborta al ver la misma versión), aviso y fallo claro ante la retirada anunciada del IRVE (31-dic-2026).
- Sin datos personales de contacto. Operadores que parecen personas físicas: REDACCIÓN SIEMPRE ACTIVA (nombre, nombre de estación y dirección si lo contiene = null; flags `operator_possibly_natural_person` y `operator_name_redacted`; el punto se emite igual; nada en estado ni logs).
- Guardarraíles: `source_format_changed`, `mass_change` (+ `allowMassChange`), filas malformadas sin `removed` falso, `stateKey` explícito con filtros en el namespace y comprobación de countries/nivel contra el META, `preloaded` con fallback a live si el puntero no cubre los países.

### 0.2 (2026-10-12) — revisión G2 (H1-H8)

- Privacidad: e-mails y teléfonos pegados a operadores eliminados (red de seguridad en el universo); heurística de personas ampliada (ß, iniciales, parejas, e.Kfm., nombres de pila DE/FR/ES); filas redactadas: sin dirección, coordenadas a ~100 m y flag `location_coarsened`.
- `opening_hours` determinista y canónico (también FR); lo no interpretable en `opening_hours_raw`.
- `duplicate_evse_secondary` (solo copias extra); `excludeFlags` lo sugiere.
- Varios EVSE por celda -> una fila cada uno; `payment_methods` en vocabulario común + `payment_methods_raw`; `region` FR derivada del departamento.
- Alias ALDI separados, `spbr1` fuera; formas jurídicas solo al final del nombre.
- key_value_store_schema con `mass_change` y `source_format_changed`; README: costes de baseline, sin enlace a actor no publicado.
