[{"slug":"ZV-2026-1424","server_name":"wsdot.caseyjhand.com","severity":"breaking","title":"wsdot.caseyjhand.com: Type of arrivingTerminalId on wsdot_get_ferry_schedule changed number → integer.","summary":"[breaking] Type of arrivingTerminalId on wsdot_get_ferry_schedule changed number → integer. [breaking] Type of departingTerminalId on wsdot_get_ferry_schedule changed number → integer. [breaking] Type of departingTerminalId on wsdot_get_terminal_space changed number → integer. [risky] Description of wsdot_get_toll_rates changed (30% word delta). [risky] Optional field stateRoute was added to wsdot_get_toll_rates; may shift model behaviour. [risky] Field appliedFilters was added to wsdot_get_toll_rates output. [safe] Description of wsdot_get_travel_times changed (14% word delta). [safe] Description of wsdot_search_alerts changed (16% word delta). [safe] Description of wsdot_search_cameras changed (24% word delta). [risky] Optional field titleContains was added to wsdot_search_cameras; may shift model behaviour.","changes":[{"kind":"input_type_changed","path":"inputSchema.properties.arrivingTerminalId","tool":"wsdot_get_ferry_schedule","after":"integer","before":"number","detail":"Type of `arrivingTerminalId` on `wsdot_get_ferry_schedule` changed number → integer.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.departingTerminalId","tool":"wsdot_get_ferry_schedule","after":"integer","before":"number","detail":"Type of `departingTerminalId` on `wsdot_get_ferry_schedule` changed number → integer.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.departingTerminalId","tool":"wsdot_get_terminal_space","after":"integer","before":"number","detail":"Type of `departingTerminalId` on `wsdot_get_terminal_space` changed number → integer.","severity":"breaking"},{"kind":"description_changed","tool":"wsdot_get_toll_rates","after":"Returns current dynamic toll rates for WA express lanes and tolled facilities: SR 99 (WSDOT Tunnel), SR 167 HOT Lanes, I-405 Express Lanes, SR 509 tolled segment, and the SR 520 Bridge. Rates are time-banded and change dynamically based on traffic conditions. Filter to one facility with stateRoute (\"SR 520\", \"520\", \"I-405\", or \"405\" all work). Each row reports stateRoute as the bare, zero-padded number the feed carries (\"099\", \"405\") — the posted designation is in the rendered text. Results are paged — pass offset/limit to page through the matching set. A page ends at limit or at a 24,000-byte response budget, whichever comes first; the notice reports the next offset.","before":"Returns current dynamic toll rates for WA express lanes and tolled facilities: SR 99 (WSDOT Tunnel), SR 167 HOT Lanes, I-405 Express Lanes, SR 509 tolled segment, and the SR 520 Bridge. Rates are time-banded and change dynamically based on traffic conditions. stateRoute is a bare, zero-padded route number (\"099\", \"405\") — the posted designation is in the rendered text. Results are paged — pass offset/limit to page through the full set (the notice reports the next offset).","detail":"Description of `wsdot_get_toll_rates` changed (30% word delta).","severity":"risky","descriptionDelta":0.29761904761904767},{"kind":"input_property_added","path":"inputSchema.properties.stateRoute","tool":"wsdot_get_toll_rates","after":{"type":"string","maxLength":200,"description":"Tolled route to filter by. Accepts natural forms — \"SR 520\", \"520\", \"0520\", \"I-405\", \"405\" — matched case- and space-insensitively against each row's posted designation, so a route-type prefix must agree: \"SR 405\" matches nothing because the I-405 Express Lanes are an Interstate. A route with no tolled facility returns an empty page whose notice names the tolled routes. Omit to include every facility."},"detail":"Optional field `stateRoute` was added to `wsdot_get_toll_rates`; may shift model behaviour.","severity":"risky"},{"kind":"output_property_added","path":"outputSchema.properties.appliedFilters","tool":"wsdot_get_toll_rates","after":{"type":"object","properties":{"stateRoute":{"type":"string","description":"State route filter applied."}},"description":"Active filters applied to the toll rates. Absent when no filter was applied.","additionalProperties":false},"detail":"Field `appliedFilters` was added to `wsdot_get_toll_rates` output.","severity":"risky"},{"kind":"description_changed","tool":"wsdot_get_travel_times","after":"Returns current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, SR 99, I-405, SR 167, etc.). Use for \"how congested is I-5?\" or commute time estimates. The route filter matches two ways: a route designation (\"I-5\", \"5\", \"SR 520\") returns every corridor measured on that route, and any text also matches corridor names (\"Everett\"). When current time exceeds average, the corridor is congested. Results are paged — pass offset/limit to page through the full set. A page ends at limit or at a 24,000-byte response budget, whichever comes first; the notice reports the next offset.","before":"Returns current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, SR 99, I-405, SR 167, etc.). Use for \"how congested is I-5?\" or commute time estimates. The route filter matches two ways: a route designation (\"I-5\", \"5\", \"SR 520\") returns every corridor measured on that route, and any text also matches corridor names (\"Everett\"). When current time exceeds average, the corridor is congested. Results are paged — pass offset/limit to page through the full set (the notice reports the next offset).","detail":"Description of `wsdot_get_travel_times` changed (14% word delta).","severity":"safe","descriptionDelta":0.136986301369863},{"kind":"description_changed","tool":"wsdot_search_alerts","after":"Returns active WA highway alerts: incidents, construction, closures, and restrictions. Filter by state route (\"I-90\", \"90\", \"SR 520\", or \"520\" all work), WSDOT region (Northwest, Olympic, Southwest, South Central, North Central, Eastern), or milepost range, matched against the alert's full extent. Omit all filters to return all current statewide alerts. Results are ordered by alertId and paged — pass offset/limit to page through the full set. A page ends at limit or at a 24,000-byte response budget, whichever comes first; the notice reports the next offset.","before":"Returns active WA highway alerts: incidents, construction, closures, and restrictions. Filter by state route (\"I-90\", \"90\", \"SR 520\", or \"520\" all work), WSDOT region (Northwest, Olympic, Southwest, South Central, North Central, Eastern), or milepost range, matched against the alert's full extent. Omit all filters to return all current statewide alerts. Results are ordered by alertId and paged — pass offset/limit to page through the full set (the notice reports the next offset).","detail":"Description of `wsdot_search_alerts` changed (16% word delta).","severity":"safe","descriptionDelta":0.15714285714285714},{"kind":"description_changed","tool":"wsdot_search_cameras","after":"Returns WSDOT highway camera locations, descriptions, and image URLs. Camera images are copyright WSDOT — only metadata and image URLs are returned, not image bytes. Filter by state route (\"I-90\", \"90\", \"SR 520\", or \"520\" all work), WSDOT region, milepost range, or words in the camera title (\"Snoqualmie\"). Results are ordered by cameraId and paged — pass offset/limit to page through the full set. A page ends at limit or at a 24,000-byte response budget, whichever comes first; the notice reports the next offset.","before":"Returns WSDOT highway camera locations, descriptions, and image URLs. Camera images are copyright WSDOT — only metadata and image URLs are returned, not image bytes. Filter by state route (\"I-90\", \"90\", \"SR 520\", or \"520\" all work), WSDOT region, or milepost range. Results are ordered by cameraId and paged — pass offset/limit to page through the full set (the notice reports the next offset).","detail":"Description of `wsdot_search_cameras` changed (24% word delta).","severity":"safe","descriptionDelta":0.24193548387096775},{"kind":"input_property_added","path":"inputSchema.properties.titleContains","tool":"wsdot_search_cameras","after":{"type":"string","maxLength":200,"description":"Words to find in the camera title, as WSDOT wrote it. Case-insensitive; every whitespace-separated word must appear, in any order — \"Snoqualmie\" returns \"Snoqualmie Summit\" and \"East Snoqualmie Summit\" but not a nearby camera titled \"Hyak\". Most titles lead with route and milepost (\"I-90 at MP 52: …\"), so filter a route with stateRoute rather than here. Combines with the other filters. Omit to include every title."},"detail":"Optional field `titleContains` was added to `wsdot_search_cameras`; may shift model behaviour.","severity":"risky"}],"published_at":"2026-09-24T21:53:13.561Z"},{"slug":"ZV-2026-1240","server_name":"wsdot.caseyjhand.com","severity":"breaking","title":"wsdot.caseyjhand.com: Type of nextOffset on wsdot_get_terminal_space changed unset → number|null.","summary":"[breaking] Type of nextOffset on wsdot_get_terminal_space changed unset → number|null. [breaking] Type of nextOffset on wsdot_get_toll_rates changed unset → number|null. [breaking] Type of nextOffset on wsdot_get_travel_times changed unset → number|null. [breaking] Type of nextOffset on wsdot_search_alerts changed unset → number|null. [breaking] Type of nextOffset on wsdot_search_cameras changed unset → number|null.","changes":[{"kind":"output_type_changed","path":"outputSchema.properties.nextOffset","tool":"wsdot_get_terminal_space","after":"number|null","before":"unset","detail":"Type of `nextOffset` on `wsdot_get_terminal_space` changed unset → number|null.","severity":"breaking"},{"kind":"output_type_changed","path":"outputSchema.properties.nextOffset","tool":"wsdot_get_toll_rates","after":"number|null","before":"unset","detail":"Type of `nextOffset` on `wsdot_get_toll_rates` changed unset → number|null.","severity":"breaking"},{"kind":"output_type_changed","path":"outputSchema.properties.nextOffset","tool":"wsdot_get_travel_times","after":"number|null","before":"unset","detail":"Type of `nextOffset` on `wsdot_get_travel_times` changed unset → number|null.","severity":"breaking"},{"kind":"output_type_changed","path":"outputSchema.properties.nextOffset","tool":"wsdot_search_alerts","after":"number|null","before":"unset","detail":"Type of `nextOffset` on `wsdot_search_alerts` changed unset → number|null.","severity":"breaking"},{"kind":"output_type_changed","path":"outputSchema.properties.nextOffset","tool":"wsdot_search_cameras","after":"number|null","before":"unset","detail":"Type of `nextOffset` on `wsdot_search_cameras` changed unset → number|null.","severity":"breaking"}],"published_at":"2026-09-20T20:08:12.794Z"}]