1. Refactored code base
2. Introduced _experimental_guest_login_ feature enabling users to login via OAuth2 with Google and Microsoft
3. Added _single_session_ parameter to _login_ and _experimental_guest_login_ widgets to limit each individual user to a one session
4. Removed _pre_authorized_ list from _Authenticate_ class and added it directly to _register_user_ widget
5. Added _merge_username_email_ parameter to _register_user_ widget to combine _username_ into _email_ field
6. Added _roles_ field to user credentials
7. Added _password hint_ parameter/field to _register_user_ widget and credentials
8. Added _password_instructions_ parameter to _Authenticat_ class to provide password requirements instructions to _register_user_ and _reset_password_ widgets
9. Added option to provide config file path to _Authenticate_ class as a single parameter instead of providing the _credentials_, _cookie name_, _cookie key_, _cookie expiry days_, and _pre_authorized_ as separate parameters to the _Authenticate_ class. This eliminates the need to read/update the config file separately, instead, Streamlit-Authenticator will automatically read/update the config file for all operations.
10. Fixed _Validator_ parameter bug in _Authenticate_ class
11. Addressed double login bug
12. Addressed _auto_hash_ parameter bug in _Authenticate_ class