Version 3.0 initial commit, for changelog, please refer to the v3.0 changelog in the readme file