libosmium
Fast C++ library for working with OpenStreetMap data
libosmium is a stable OSM parsing library whose main work now is shedding old dependencies
◆Recent moves
- 4mo ago
libosmium 2.23.1 reverts an object-ordering change that broke extracts
The notable item is a revert: ordering deleted objects after visible ones, introduced in 2.21.0 to fix diff merging, turned out to break updating of extracts. Alongside it, a UTF-8 validity helper and optional history-file support in CheckOrder — small additions aimed at the tools built on top of this library.
View source ↗ - 6mo ago
libosmium 2.23.0 fixes PBF and bzip2 edge cases, raises CMake floor
The largest fix list in recent memory, covering concatenated bzip2 streams, single-varint tag encoding in PBFs, memory corruption in ChangesetDiscussionBuilder, and binary-mode PBF reads from stdin. Two small additions — a spare bit in Location and TagList comparison — are the kind of narrow affordance downstream tools ask for.
View source ↗ - 1y ago
libosmium 2.22.0 handles 64-bit relation IDs, drops regex filters
RelationsMapIndex now handles 64-bit IDs, which the notes are careful to say changes nothing for real OSM data and exists for users injecting their own relations. The deprecated regex filter header is removed, continuing the dependency-and-deadwood trimming that defines this era of the library.
View source ↗ - 1y ago
libosmium 2.21.0 requires C++14, drops Sparsehash and Proj
The clearest consolidation release in the window: C++14 becomes the minimum, and both Google Sparsehash and the long-broken Proj projection support are removed. The deleted-object ordering change shipped here to fix diff merging across extracts, and was reverted in 2.23.1 once it proved to break extract updates.
View source ↗ - 2y ago
libosmium 2.20.0 accepts fractional-second timestamps
A small release: optional fractional seconds in OSM timestamps, posix_fadvise on FreeBSD, and slightly more forgiving PBF parsing. Nothing here changes how the library is used.
View source ↗ - 3y ago
libosmium 2.19.0 removes BoolVector and NWRIdSet, deprecates RapidJSON
Three deprecated pieces of API come out and RapidJSON support is marked for eventual removal — the start of the trimming pattern that 2.21.0 and 2.22.0 continue. Downstream users of the removed classes need to act; everyone else sees a smaller library.
View source ↗