define public symbols without build constraints
Merge remote-tracking branch 'upstream/master'
use `ErrUnsupported` found in doc.go