v3.2 — France data corrections + state leveling + postcodes batch
Major data-correction release. Behaviour changes for FR/IT consumers — see CHANGELOG callouts.
Highlights
France — mainland city remap (region → department)
- 8,727 cities re-parented from 13 ISO-3166-2:FR regions to their correct INSEE department (#1352 PR-E, #1484). The FR equivalent of the IT region→province remap shipped earlier this month.
- +455 missing metropolitan communes added from data.gouv.fr (Cherbourg-en-Cotentin, Évry-Courcouronnes, Saint-Ouen-sur-Seine, Oullins-Pierre-Bénite, Herblay-sur-Seine, …) automatically remapped to the correct department (#1352 PR-A, #1394).
- FR state metadata polish: corrupted
nativefield values restored (Ain,Aude,Eure, …) (#1352 PR-B, #1393).
Consumer-visible behaviour change: querying cities by region state_code (ARA, IDF, NOR, PDL, NAQ, BRE, OCC, GES, CVL, BFC, HDF, PAC, 20R) now returns []. Use the department state_code (03, 13, 2A, 2B, 75C, …) instead, or traverse the parent_id hierarchy.
France — overseas territories
- 9 new state records + 31 city files for GF (Guyane), BL (Saint-Barthélemy), MF (Saint-Martin), PM (Saint-Pierre-et-Miquelon), TF (TAAF) (#1352 PR-D, #1400).
- Documented dual-representation policy in
MULTI_LEVEL_TERRITORIES.md(#1352 PR-C, #1392).
Italy — completes the #1349 cleanup
- Dropped 88 placeholder "Provincia di X" pseudo-cities (#1349, #1482).
- Merged the 2 ISTAT-canonical comune dedup pairs that were intentionally deferred from #1399: Sermide e Felonica (MN), Corteolona e Genzone (PV) (#1349, #1481).
State leveling normalised (FR + IT)
- All FR + IT state rows now carry consistent
levelvalues:level=1= region,level=2= department / province / metropolitan city / equivalent (#1489). Downstream consumers can now filter bylevelreliably.
Postcodes infrastructure (#1039)
- Bulk imports for KH (1,640), VE (1,187), MG (111), MZ (161), MU (1,874), MT (26,593), BN (547), HU (3,569), CN (22,656), MM (17,331), LU (4,491) — completing roughly 50 country postcode datasets total.
- Export pipeline updated to gzip postcode export files and route them to GitHub Releases instead of git commits (#1490).
Data statistics (post-release)
To be populated by the export pipeline running off this tag.
Migration notes for downstream tools
- csc-export-tool / countrystatecity SDKs: nothing to change. APIs use
state_codeandstate_id; both remain valid. Consumers who hardcoded region codes for FR or IT will get empty arrays and should migrate to department / province codes. Hierarchical traversal viaparent_idcontinues to work. - Direct DB consumers: see CHANGELOG callouts for FR and IT region→department/province remaps.
Full changelog
See CHANGELOG.md.