Alpha release of v0.4.0. Some notable changes include:
- `RyverWS` realtime sessions can now auto-reconnect (see [`RyverWS.set_auto_reconnect()`](https://pyryver.readthedocs.io/en/latest/api_realtime.html?highlight=ryverwspyryver.ryver_ws.RyverWS.set_auto_reconnect) and [`Ryver.get_live_session()`](https://pyryver.readthedocs.io/en/latest/api_client.htmlpyryver.ryver.Ryver.get_live_session)'s new `auto_reconnect` parameter).
- New decorator [`RyverWS.on_reconnect`](https://pyryver.readthedocs.io/en/latest/api_realtime.htmlpyryver.ryver_ws.RyverWS.on_reconnect) for defining a callback to be called when auto-reconnect succeeds.
- All methods that deal with files (e.g. attaching to a message, a topic or a task) can now take `File` objects and not just `Storage` objects.
**Breaking changes include:**
- To allow for re-connecting, [`RyverWS.close()`](https://pyryver.readthedocs.io/en/latest/api_realtime.htmlpyryver.ryver_ws.RyverWS.close) will no longer cause [`RyverWS.run_forever()`](https://pyryver.readthedocs.io/en/latest/api_realtime.htmlpyryver.ryver_ws.RyverWS.run_forever) to return. Instead, [`RyverWS.terminate()`](https://pyryver.readthedocs.io/en/latest/api_realtime.htmlpyryver.ryver_ws.RyverWS.terminate) was introduced to make `run_forever()` return.
- Previously deprecated `RyverWS.on_error` decorator was removed.
Other changes:
- `setup.py install` should work now without having to install the dependencies first, as the version has been moved out of `__init__.py` and into its own separate file.