February 12, 2018
GooFit has received a few bugfixes that needed to be made available before the 2.2 merge. These include:
* More complete Python examples ([2437af9], [131])
* DalitzPlotter helpers ([131])
* Regression fix: FeatureDetector now respects current compilation options ([131])
[131]: https://github.com/GooFit/GooFit/pull/131
[2437af9]: https://github.com/GooFit/GooFit/commit/2437af9958e8534aa299b754a4e4361ae18d5301
v2.1.0: Python bindings
December 7, 2017
GooFit now has working, fully supported Python bindings using pybind11. All PDFs have been bound ([92]). Python bindings now build by default if Python development files are found ([93]). Pythonization additions, such as supporting the same shortcuts for Variables as C++, from/to NumPy converters, and more, was added in ([99], [109]). Pip install is now supported using SciKit-Build, and source releases are being made on PyPI ([107]). The build will use CUDA if found, and OpenMP otherwise.
Many examples converted ([118], [120], [126])
Other Python additions:
* Live printout in Python Notebooks ([114])
* Minuit2 wrapper started ([115], [128])
* `print_goofit_info` (and `print_splash`) added to Python ([126])
* `pyexamples/RunAll.sh` added to run all examples, run by Travis ([126])
Major changes:
* `Observable`s are now their own class, and `CountingVariable` is now `EventNumber` ([123])
* Variables are now passed by copy everywhere, handling smart pointers internally ([124])
* DecayInfo renamed and split ([124])
* FitControl is now explicitly a `std::shared_ptr` ([126])
* Resonances and Lineshapes are now classes instead of using enums or ordering ([119])
* OpenMP now supported on macOS Apple Clang on High Sierra with Homebrew, using `brew install cliutils/apple/libomp` ([126])
Other changes include:
* New `ResonancePDF` types ([114])
* Spline, KMatrix, FOCUS Lineshapes added, untested ([119])
* TravisCI now uses Trusty ([98]), performs style checks ([117]), and runs all examples ([114]).
* Minuit2 now can be missing from ROOT and GooFit will use its own copy ([102], [113]).
* Eigen is now included ([104]), helper functions added ([119])
* Large updates to CMake, including CUDA as a language ([122]), CMake 3.9 FindCUDA backport, fully target-based build ([119])
* Initial CMake IPO support ([114])
* Better folder structure for PDF source files ([114])
* `fpcomplex` shortcut ([114])
* IDE support improvements ([114]))
* Splash screen ([114])
* Macros to help setup PDFs ([119])
* CCache support
* `argc, argv` no longer required in `GOOFIT_PARSE` ([126])
* The include order is now checked by the clang-format run ([126])
* The ModernizeGooFit script supports 2.1 and more ([126])
* `.cpp` is used everywhere, instead of `.cc` and `.cpp` mix
* CLI11 has been updated to 1.3 ([130])
[92]: https://github.com/GooFit/GooFit/pull/92
[93]: https://github.com/GooFit/GooFit/pull/93
[98]: https://github.com/GooFit/GooFit/pull/98
[99]: https://github.com/GooFit/GooFit/pull/99
[102]: https://github.com/GooFit/GooFit/pull/102
[104]: https://github.com/GooFit/GooFit/pull/104
[109]: https://github.com/GooFit/GooFit/pull/106
[107]: https://github.com/GooFit/GooFit/pull/107
[113]: https://github.com/GooFit/GooFit/pull/113
[114]: https://github.com/GooFit/GooFit/pull/114
[115]: https://github.com/GooFit/GooFit/pull/115
[117]: https://github.com/GooFit/GooFit/pull/117
[118]: https://github.com/GooFit/GooFit/pull/118
[119]: https://github.com/GooFit/GooFit/pull/119
[120]: https://github.com/GooFit/GooFit/pull/120
[122]: https://github.com/GooFit/GooFit/pull/122
[123]: https://github.com/GooFit/GooFit/pull/123
[124]: https://github.com/GooFit/GooFit/pull/124
[126]: https://github.com/GooFit/GooFit/pull/126
[128]: https://github.com/GooFit/GooFit/pull/128
[130]: https://github.com/GooFit/GooFit/pull/130