update changelog
add plugin authoring guide, close #399