feature(config) add onDiffChange