I ran across this today. I am astonished that it is well documented and current.
I ran the demo for it and it looks pretty nice.
A* pathfinding
Square on Edge
Square on vertex
Hexagon on edge
Hexagon on vertex
Voroni regions
Has anyone tried this library?