Changes: * Python library throws exceptions rather than hard exiting where possible ([41](https://github.com/xcsf-dev/xcsf/pull/41), [#42](https://github.com/xcsf-dev/xcsf/pull/42)) * Fix minor memory leak when printing parameters.
1.2.3
Changes: * Fix numpy subnormal warning.
1.2.2
Changes: * Best action selection now breaks ties randomly ([39](https://github.com/xcsf-dev/xcsf/pull/39))
1.2.1
Changes: * Fix hyperrectangle_ubr json population seeding import/export asymmetry.
1.2.0
Changes: * Added extra JSON parsing input checks. * Cleaned up Python examples. * Added Jupyter notebook examples. * Renamed hyperrectangle conditions with hyperrectangle_csr ([35](https://github.com/xcsf-dev/xcsf/pull/35)) * Added unordered-bound hyperrectangle conditions with hyperrectangle_ubr ([35](https://github.com/xcsf-dev/xcsf/pull/35))
1.1.6
Changes: * Fixed cross-platform compiling and wheel building.