Osmium is a fast and flexible C++ toolkit and framework for working with OSM data. It is also a command line tool that uses the C++ library.
You can find more information about Osmium at http://osmcode.org/osmium/
With Osmium you can
- Get information about an OSM file
- convert OSM files from one format into another. This include all XML and PBF formats as well as the OPL format
- Merge and apply OsmChange files to an OSM file (with or without history)
- Extract data from OSM history files (Planet.osm/full) for a given point in time or a time range
- And many more things...
Note: An old, now deprecated version of Osmium was documented here on the wiki at Osmium/Old version.