- Add the argument `cli` for `register_opt`. - Add `gunicorn` task worker based on `eventlet`. - Add `SimpleWSGIServer` and `EventletWSGIServer`. - Add the module `atexit`, which is copied from `kazoo`.
2.1.0
- Add the global logging instance `LOG`. - Add the attribute proxy `AttributeProxy` to get the attribute or key value by the name or key. - Add the function `execpyfile` and `load_py_file` to load the python file without importing. - Add the function `get_app_version` to acquire the version of the package by `pbr`. - Add the lock `EmptyLock` to allow the user to execute the empty lock when no lock. - Allow `find_config_file` to find the configuration file from the environment variable. - Update the implementation of `EMail` and add `EMailCache`. - Reimplement the configuration option in order to be more flexible. - `DB` supports the `with` context manager and change the default value of the argument `min_pool_size `. - `WSGIServer` supports the `with` context manager for Python 2.X.
2.0.4
- fix: use the absolute import to import `sqlalchemy`. - feat: support to appoint the json data for `Resource.load_json()`.
2.0.3
- fix: `subprocess_exception_to_str` return a `str` instead of an `Exception`.
2.0.2
- Fix: `json.loads` supports `str`, `bytes`, `bytearray` on Python 3.0 ~ 3.5. - Use the default date formatter to initialize the logging. - Extract the error information from subprocess exception.
2.0.1
- Fix: the default value will override the value in configuration file for `Configuration`. - Use `RotatingFileHandler` instead of `TimedRotatingFileHandler` and initialize the ROOT logging.