Releases
v4.16.0
Compare
Sorry, something went wrong.
No results found
chore(demo): point the admin gazetteer at 2026-06-27a (GeoNames fold + FTS) (a670a50 )
feat(gazetteer): durable GeoNames-alias upstream fold + from-scratch candidate build (d6cc78f )
feat(nominatim,photon): wire the candidate gazetteer for worldwide resolution (#824 ) (3da5f92 )
fix(resolver): gate candidate fuzzy fallback on unfiltered name existence (f7b7846 )
feat(resolver): unify the candidate gazetteer with FTS5-trigram typo tolerance (43d0b67 )
blog(research): "We made Mailwoman speak Nominatim, and it put Warsaw in Indiana" (55ba8d7 )
docs(postmortem): add the drop-in robustness hardening + #824 , refresh numbers (a628b24 )
test(nominatim): gate malformed-input robustness in the parity harness (44634cb )
fix(nominatim,photon,libpostal): harden the drop-ins against malformed input (500 → graceful) (fd402f7 )
docs(frontier-gap): note the MAILWOMAN_CANDIDATE_DB config dependence (#824 ) (52cd051 )
docs(postmortem): caveat the frontier numbers + record the config-confound lesson (7812b61 )
eval(#822 ): correct the frontier report — numbers are config-dependent (no candidate DB) (5f6f7fb )
eval(#822 /#823 ): split the residual into name-not-found vs wrong-place (f121f27 )
docs(postmortem): add the #822 /#823 frontier-diagnostic thread (1250323 )
eval(#822 ): measure bare-vs-country-hint — split the placer lever from exonym/coverage (56aee10 )
eval(#822 ): country-by-country placer-frontier diagnostic + measured report (b1d5142 )
docs(AGENTS): add the 7 drop-in/annotation workspaces + fix the stale counts (7c7a943 )
docs(postmortem): 2026-06-26 night shift — drop-in API + annotations vertical (0686e08 )
feat(nominatim): honor countrycodes on /search — restriction + manual frontier override (c0ead21 )
docs(switching-from-nominatim): reflect shipped street-level + global resolution (495b20f )
test(nominatim): cover /reverse in the parity harness + README reflects street-level details (094eb0c )
feat(nominatim): street-level addressdetails + country backfill on /search (79bbb8d )
fix(nominatim,photon): stop forcing US — non-US queries resolved to US namesakes (24b88ac )
docs: nominatim + photon READMEs reflect the shipped, enriched reality (f4fbd1b )
fix(nominatim): full country annotations on /search (not just /reverse) (63ed0bc )
test(smoke): cover the 7 new drop-in + annotation packages in the clean-install guard (706ac6d )
docs(nominatim): the annotations block is full now — refresh the CLI docblock (c1eca60 )
feat(nominatim): compose the NUTS annotator — completes OpenCage parity (b96ab2d )
feat(pkg): @mailwoman/nuts-lookup — EU coordinate → NUTS codes (#817 ) (891be90 )
docs(spatial): MGRS shipped — refresh the coordinate-formats docblock (83f77e6 )
feat(spatial): MGRS coordinate format — completes the coordinate-format set (#813 ) (ab5bcff )
feat(codex): calling code + currency in the country-reference annotator (#814 complete) (13b0e94 )
feat(spatial): sun times annotator — sunrise / solar-noon / sunset (#813 follow-up) (ac953ec )
feat(nominatim): compose the UN/LOCODE annotator (Phase 4 wiring) (61a09fc )
feat(pkg): @mailwoman/un-locode-lookup — place → UN/LOCODE (#816 ) (fb651c4 )
build(release): add the 5 new drop-in packages to the publishable workspace set (9a0080b )
docs: de-slop the Pelias guide header ("shape of" → "Mapping the move") (afcfc54 )
docs: "Switching from OpenCage" + "Switching from Pelias" — completes the series (#820 ) (3e4eca9 )
docs: "Switching from Photon" + "Switching from libpostal" guides (#820 ) (bd70c6d )
docs: correct the annotations list in the Nominatim guide (MGRS not yet shipped) (77c112a )
docs: "Switching from Nominatim" guide (#820 , first of the series) (ddfafbe )
fix(deps): @mailwoman/annotations is a devDependency of codex + spatial (ci:smoke E404) (b8d974c )
docs: competitor comparison matrix (#819 ) — no API key, no monthly fee (79ce6ed )
feat(nominatim): compose the timezone annotator into responses (Phase 3 wiring) (88510c3 )
feat(pkg): @mailwoman/timezone-lookup — server-side coordinate → IANA timezone (#815 ) (850c4c4 )
feat(codex): country-reference annotator — flag + ISO (#814 , data-free part) (b2d8f93 )
feat(nominatim): enrich results with the annotations block (Phase 2 wiring) (040f358 )
feat(spatial): coordinate-format annotators — DMS/geohash/Maidenhead/Mercator/qibla (#813 ) (e56644d )
feat(photon): wire the real engine — /api + /reverse (#810 ); declare drop-in deps (cfff217 )
feat(nominatim): wire the real engine — /search + /reverse (#802 /#803 ) (da2cb81 )
feat(nominatim): the result formatter (#804 ) + export mailwoman/resolver-backend (16d3b34 )
feat(pkg): @mailwoman/libpostal — working parse/expand drop-in (Phase 1, #821 ) (7ff1bce )
feat(pkg): @mailwoman/annotations — the enrichment composer (Phase 0, #812 ) (f5a78a1 )
test(cartographer): park the terrain/DEM Composer tests to match the disabled code (e8e7b26 )
Remove outdated refs. (f6106bd )
Format. Tidy. Prep. (10b9c07 )
Use feature. (46af9a3 )
Clean up build. (8a711cc )
Fix path. (e283282 )
Consistent node versions. (3636b93 )
Update shape. (7ceae75 )
feat(pkg): scaffold @mailwoman/nominatim + @mailwoman/photon drop-in packages (3beb2dc )
docs: stop rendering internal reviews + night-shift postmortems on the public site (b29d98c )
docs: harden CORPUS_V0_4_0_GENERATION MDX — collapse the multi-line {…} code span (3f752f7 )
docs: scrub /mnt/playpen → $MAILWOMAN_DATA_ROOT in CORPUS_V0_4_0_GENERATION (b3145d2 )
docs: scrub the /mnt/playpen lab path from published prose → $MAILWOMAN_DATA_ROOT (e5b67d4 )
docs(agents): note the data-root path convention (never re-hardcode /mnt/playpen) (bf79016 )
refactor(paths): centralize /mnt/playpen data-root literals across the dev scripts (f7a53c9 )
refactor(paths): route tiger SDK + ResolveRouter through the central data-root helper (57542c0 )
refactor(paths): centralize the /mnt/playpen data-root literal into one path-ts helper (541c35f )
fix(tsconfig): exclude test files from the spatial + cartographer builds (1f8fdc8 )
fix(cartographer): LayerSpecificationList shared mutable link-state (dee97d7 )
test(core): cover WOF placetype-spec parsing (placetypes/admin.ts) (78f1ea2 )
fix(resolver-web): bump web FST MAX_VERSION 2→4 + tests; fix test-file types (84517b9 )
test(spatial): cover polygon predicates + OSM helpers (polygon.ts) (de208d5 )
test(neural): cover the codex span-proposer lexicon (#370 , span-proposer-lexicon.ts) (f1db198 )
test: cover WKT, server metrics, placetype-depth, WOF-JSON (38 tests) (9953679 )
test(mailwoman): cover the resolver-backend path helpers (A.2 follow-up) (f18f67d )
test(spatial/cartographer): cover GeoPoint.from, place-id, tile coords (38 tests) (39e2fea )
fix(core): smartSnakeCase dropped its own period-normalization for all-caps (7c6eaf3 )
test(resolver): cover the point-in-polygon helpers (geo.ts) (88e57c4 )
test(neural): cover #690 input case-normalization (case-normalize.ts) (01e49bc )
test(pipeline): cover locale-gate + phrase-grouper rules (47 tests) (dccc62c )
test(registry): cover the GeoJSON entity export (geojson.ts) (db4c24a )
test(kind-classifier): cover the 9 Stage-2.5 query-shape routing rules (899e101 )
docs(review): mark the P1/P2 items cleared this night shift (6d45f70 )
test(normalize): cover NFC composition + offset estimate (nfc.ts) (a82bd3b )
test(normalize): cover punctuation folding + offset tracking (punctuation.ts) (8d169ef )
test(policy): cover the default policy table (policy/defaults.ts) (69210f1 )
test(codex): cover the remaining postal-reference lookups (28 tests) (0853412 )
test(normalize): cover offset-map composition (offset-map.ts) (0668804 )
test(codex): cover country resolution (country/country.ts) (7c663af )
test(codex): cover US PO-box detection (us/po-box.ts) (ecc356f )
test(codex): cover USPS street directionals (us/street-directional.ts) (8da0a35 )
fix(spatial): is2DBBox checked length 6 (3D) — never matched a 2D bbox (13e5ed6 )
test(spatial): cover haversineKm — the load-bearing distance formula (b3e80c2 )
test(classification): cover ClassificationsMatchMap + isVisibleClassification (271811c )
test(solvers): cover the 7 untested refinement solvers (review P2) (308ced3 )
test(solver): cover HashMapSolver.generateHashMap (review P2) (3399174 )
chore: public-release P1 — CHANGELOG, SPDX normalization, gitignore, ledger note (9cc5518 )
docs(status): bring the status page current — 4.11.0 → 4.15.0 (66cee8f )
docs(agents): refresh the orientation table — 28 workspaces, not six (6ba4d46 )
docs: add community-health files (SECURITY, CONTRIBUTING, CODE_OF_CONDUCT) (309fc66 )
fix: public-release correctness — real --version + Node engines (review P2) (e111431 )
refactor(scripts): one home for the argv arg() helper (PRIMARY A.1) (ef8df5d )
fix(scripts): don't statically resolve the git-excluded geocode.earth diag (b836e81 )
refactor(server): one home for the data root + WOF shard list (PRIMARY A.2) (5155eb0 )
chore(scripts): put the toolshed under the type checker (PRIMARY C) (fbe66d6 )
docs(review): fix MDX build — strikethrough breaks Docs CI (604f385 )
Format. (2af4a21 )
Format. (97816fb )
Add handoff. (8758441 )
docs(readme/notices): fix the public-facing front door (P0) (f609dea )
docs(reviews): 2026-06-25 project-wide mile-marker review (0e7c1eb )
feat(coverage): global "work to do" map — civilization-holes layer + coverage-v5 (#800 ) (9ba45f0 )
Format. (7855afb )
Update action helpers. (7f619d7 )
feat(resolver/#370 ): promote span-rescore to default-ON (#799 ) (0ddf7dc )
docs(eval/#219 ): same-harness EU+AU competitive standing (v4.15.0 + -20j) (#798 ) (33f4a8e )
docs(releasing): fast-path cheat sheet for model promotion (v4.15.0 lessons) (#797 ) (9149333 )
You can’t perform that action at this time.