publish: add leaner API for publish updates