- HMCode bug fix and speed up (thanks Alex Mead)
- Refactoring in equations.f90 so all scalar source outputs now computed in derivs function; support for custom source functions (as used by python camb.symbolic module)
- [Python CAMB](https://camb.readthedocs.org/en/latest):
- Added [camb.symbolic](http://camb.readthedocs.io/en/latest/symbolic.html) module using sympy, to get equations, convert between gauges, and produce and compile CAMB code from analytic results in different gauges. See the [demo notebook](http://nbviewer.jupyter.org/github/cmbant/CAMB/blob/master/pycamb/docs/ScalEqs.ipynb) demonstrating how to use this, set custom sources, plot perturbation evolution and calculate angular power spectra of different things.
- Add [camb.emission_angle](http://camb.readthedocs.io/en/latest/emission_angle.html) module to get BB power from emission angle and time delay ([1706.02673](http://arxiv.org/abs/1706.02673))
- Added [camb.postborn](http://camb.readthedocs.io/en/latest/postborn.html) module to get the field rotation power spectrum and associated BB power ([1605.05662](http://arxiv.org/abs/1605.05662))
- Support for BBN-consistency values of Y_He by interpolation from table; new tables from Parthenope supplied (thanks Ofelia Pisanti)
- H_of_z functions now support arrays of redshifts
- Add nonlinear parameter to model.set_matter_power
- AccurateReionization is now switched on by default
- *CMB_outputscale* and *raw_cl* options to python CMB power spectra output functions to get CL or DL, and use different units
- Added get_fsigma8() function
- Python 3.6 compatibility
- "pip install camb" now working cleanly
- Makefile improvements to build pycamb using gfortran even if ifort present (can use "make COMPILER=gfortran" to force gfortran)
- Bug fixes
Jan2017
- Python CAMB wrapper [correlations module](http://camb.readthedocs.io/en/latest/correlations.html):
- Transform between CL and CMB correlation functions
- Lensed power spectra and correlation functions from unlensed spectra and lensing power spectrum (useful for delensing)
- Matrix of derivatives of lensed power spectra with respect to lensing power and unlensed CL
- Added halofit_casarini=7 for PKequal dark energy fitting (thanks Luciano Casarini; [arXiv:0810.0190](http://arxiv.org/abs/0810.0190), [arXiv:1601.07230](http://arxiv.org/abs/1601.07230))
- Fixed compilation issue with gfortran 6.3
Nov2016
- CAMB_SetNeutrinoHierarchy function and python wrapper neutrino_hierarchy option for set_cosmology function (to configure to use two eigenstate approximation to normal or inverted hierarchies)
- Various misc small bug fixes, improvements and compiler compatibility changes
May2016
- Added support for [HMCODE](http://arxiv.org/abs/1505.07833) Halofit version (halofit_version=5; thanks Alex Mead); Takahashi remains the default as before
- [Python CAMB](https://camb.readthedocs.org/en/latest)
- [camb.get_matter_power_interpolator](http://camb.readthedocs.io/en/latest/camb.html#camb.get_matter_power_interpolator) function to get 2D spline object for evaluating P(k,z);
See the [sample notebook](http://camb.readthedocs.io/en/latest/CAMBdemo.html) for an example of how to use this to calculate a lensing spectrum
- Result object functions to get unsplined matter power ([get_linear_matter_power_spectrum](http://camb.readthedocs.io/en/latest/camb.html#camb.CAMBdata.get_linear_matter_power_spectrum),[get_nonlinear_matter_power_spectrum](http://camb.readthedocs.io/en/latest/camb.html#camb.CAMBdata.get_nonlinear_matter_power_spectrum))
- Result object function to get redshift from conformal time (redshift_at_comoving_radial_distance)
- [camb.set_halofit_version](http://camb.readthedocs.io/en/latest/camb.html#camb.set_halofit_version) to set halofit version;
- Option to set cosmomc_theta rather than H_0 (thanks Marius Millea)
- Wigner 3j function for convenience (camb.bispectrum.threej).