Added
* [29](https://github.com/civisanalytics/python-glmnet/pull/29)
Provide understandable error messages for more glmnet solver errors.
* [31](https://github.com/civisanalytics/python-glmnet/pull/31)
Expose `max_features` parameter in `ElasticNet` and `LogitNet`.
* [34](https://github.com/civisanalytics/python-glmnet/pull/34)
Use sample weights in `LogitNet`.
* [41](https://github.com/civisanalytics/python-glmnet/pull/41)
Add `lower_limits` and `upper_limits` parameters to `ElasticNet`
and `LogitNet`, allowing users to restrict the range of fitted coefficients.
Changed
* [44](https://github.com/civisanalytics/python-glmnet/pull/44)
Change CircleCI configuration file from v1 to v2, switch to pytest,
and test in Python versions 3.4 - 3.7.
* [36](https://github.com/civisanalytics/python-glmnet/pull/36)
Convert README to .rst format for better display on PyPI (35).
* [54](https://github.com/civisanalytics/python-glmnet/pull/54)
Use `setuptools` in `setup.py` and update author in metadata.
Fixed
* [24](https://github.com/civisanalytics/python-glmnet/pull/24)
Use shuffled splits (controlled by input seed) for cross validation (23).
* [47](https://github.com/civisanalytics/python-glmnet/pull/47)
Remove inappropriate `__init__.py` from the root path (46).
* [51](https://github.com/civisanalytics/python-glmnet/pull/51)
Satisfy scikit-learn estimator checks. Includes:
Allow one-sample predictions; allow list inputs for sample weights;
Ensure scikit-learn Estimator compatibility.
* [53](https://github.com/civisanalytics/python-glmnet/pull/53)
Return correct dimensions for 1-row predictions, with or without lambda
path, in both `LogitNet` and `ElasticNet` (52, 30, 25).