[{"slug":"ZV-2026-0601","server_name":"mcp.mapmap.ai","severity":"breaking","title":"mcp.mapmap.ai: Type of query on geocode changed string → string|null.","summary":"[safe] Tool cheapest_charging_along_route was added. [safe] Tool get_usage was added. [safe] Tool list_place_categories was added. [safe] Tool match_trace was added. [safe] Tool plan_ev_route was added. [risky] Description of geocode changed (65% word delta). [risky] Optional field city was added to geocode; may shift model behaviour. [risky] Optional field country was added to geocode; may shift model behaviour. [risky] Optional field housenumber was added to geocode; may shift model behaviour. [risky] Optional field postcode was added to geocode; may shift model behaviour. [risky] Optional field street was added to geocode; may shift model behaviour. [safe] Field query on geocode is no longer required. [breaking] Type of query on geocode changed string → string|null.","changes":[{"kind":"tool_added","tool":"cheapest_charging_along_route","detail":"Tool `cheapest_charging_along_route` was added.","severity":"safe"},{"kind":"tool_added","tool":"get_usage","detail":"Tool `get_usage` was added.","severity":"safe"},{"kind":"tool_added","tool":"list_place_categories","detail":"Tool `list_place_categories` was added.","severity":"safe"},{"kind":"tool_added","tool":"match_trace","detail":"Tool `match_trace` was added.","severity":"safe"},{"kind":"tool_added","tool":"plan_ev_route","detail":"Tool `plan_ev_route` was added.","severity":"safe"},{"kind":"description_changed","tool":"geocode","after":"Turn a place (address, POI, town) into coordinates. Ask two ways, and they combine: `query` is free text — one run-together string, the way a person types into a search box — and `street`, `housenumber`, `city`, `postcode` and `country` name the parts of an address separately. At least one of the two is required. Pass the parts whenever you already hold the address in parts (a form, a CRM row, a manifest): components are REQUIREMENTS, not hints, so `city: \"London\"` means a result outside London cannot come back at all, where \"London\" inside `query` only reorders. `country` takes an ISO 3166-1 alpha-2 code or a country name (\"GB\", \"United Kingdom\"); a value naming no country is refused rather than silently matching nothing. Returns up to `limit` (default 10) candidates with name, one-line label, lat/lon, type and address parts. Pass `focus` {lat, lon} to rank results near a location higher. Each hit also carries `match`: a per-component matched/inferred/unmatched verdict, the `score_gap` to the runner-up, and which backend answered. READ IT before acting on an address — an unmatched or inferred postcode on the top hit means the answer does not carry the address you asked for, and a small `score_gap` means the ranking barely chose, so show the alternatives instead of picking one. Use `verify_places` when the address came from a model or a user and needs checking rather than using. Results are matched in `lang` (default \"en\"), so English exonyms — \"Munich\", \"Cologne\", \"Geneva\" — resolve to the place meant; pass `lang` when querying in another language, or \"default\" for each place's local name.","before":"Turn a free-text place query (address, POI, town) into coordinates. Returns up to `limit` (default 10) candidates with name, one-line label, lat/lon, type and address parts. Pass `focus` {lat, lon} to rank results near a location higher. Results are matched in `lang` (default \"en\"), so English exonyms — \"Munich\", \"Cologne\", \"Geneva\" — resolve to the place meant; pass `lang` when querying in another language, or \"default\" for each place's local name.","detail":"Description of `geocode` changed (65% word delta).","severity":"risky","descriptionDelta":0.652694610778443},{"kind":"input_property_added","path":"inputSchema.properties.city","tool":"geocode","after":{"type":["string","null"],"description":"Structured component: town or city, e.g. \"London\". Matches the\ncontaining city as well as the immediate locality, so a suburb name\nworks here too."},"detail":"Optional field `city` was added to `geocode`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.country","tool":"geocode","after":{"type":["string","null"],"description":"Structured component: ISO 3166-1 alpha-2 code or country name —\n\"GB\", \"gb\", \"United Kingdom\" and \"UK\" all mean the same country.\nA value naming no country is refused rather than quietly applied as\na filter that matches nothing."},"detail":"Optional field `country` was added to `geocode`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.housenumber","tool":"geocode","after":{"type":["string","null"],"description":"Structured component: house number, e.g. \"10\" or \"221B\". Only\nmeaningful alongside `street` — a house number on its own excludes\nnearly everything and identifies nothing."},"detail":"Optional field `housenumber` was added to `geocode`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.postcode","tool":"geocode","after":{"type":["string","null"],"description":"Structured component: postcode in any spacing or case — \"SW1A 2AA\"\nand \"sw1a2aa\" are one query. A bare UK outward code (\"SW1A\")\nselects the whole district."},"detail":"Optional field `postcode` was added to `geocode`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.street","tool":"geocode","after":{"type":["string","null"],"description":"Structured component: street name, e.g. \"Downing Street\". Matches\nthe street of addresses and POIs (transliterated street names\nincluded) as well as the street itself."},"detail":"Optional field `street` was added to `geocode`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_removed","path":"inputSchema.required.query","tool":"geocode","detail":"Field `query` on `geocode` is no longer required.","severity":"safe"},{"kind":"input_type_changed","path":"inputSchema.properties.query","tool":"geocode","after":"string|null","before":"string","detail":"Type of `query` on `geocode` changed string → string|null.","severity":"breaking"}],"published_at":"2026-09-01T16:52:23.751Z"}]