Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.9.2] - 2026-04-17
Fixed
- Skip degenerate rings with fewer than 4 points in
Shape#polygon_from_wayandShape#build_ringsto prevent RGeoLinearRingcrashes from incomplete ways ErrorParsernow scans<p>tags before<strong>so Overpass error bodies that use<strong>as an inline label (e.g.<p><strong>Error</strong>: line 3: parse error: bbox requires four arguments</p>) surface the real message instead of just"Error". Syntax errors now also reportdetails[:line]when the line number precedesparse error:, and extracted text is HTML-entity-decoded (so messages contain"nod"rather than"nod")
[0.9.1] - 2026-02-07
Added
Query.perform_rawfor executing pre-built queries with inline bounding boxes- Configurable
max_retriesfor retry attempts on rate limiting and timeout errors - Structured error data: errors now include
code,error_message,details, andhttp_statusattributes - New
ErrorParserclass to parse HTML error responses from Overpass API to_handto_jsonmethods on error classes for easy serialization
[0.9.0] - 2026-02-04
Added
- Configurable API endpoint and timeout via
Underpass.configure - Error handling with
RateLimitError,TimeoutError, andApiErrorclasses - Automatic retries with exponential backoff for 429/504 responses
- In-memory response caching with TTL expiration
- Configurable Overpass QL recurse operators
- Multipolygon assembly from OSM relations
- Route relation support (assembles way members into MultiLineString)
Featureclass wrapping geometries with OSM metadata (tags, id, type)- GeoJSON export via
Underpass::GeoJSON.encode - Query Builder DSL with chainable
node,way,relation,nwrmethods - Area/named region queries via
Query.perform_in_area - Proximity queries with
aroundfilter in Builder DSL - Post-query tag filtering via
Underpass::Filter - Lazy enumeration via
Matcher#lazy_matches - YARD documentation
Changed
- BREAKING:
Query.performnow returnsUnderpass::Featureobjects instead of bare RGeo geometries - Upgraded to Ruby 3.4
- Modernized CI and build tooling
Dependencies
- Added
rgeo-geojson~> 2.2
[0.0.7] - 2019-07-31
- Previous release