add linking exception; mark the boundary of th API
Merge branch 'develop' into feature/buffered-io