v1.3.5
 - adjusted the mcmc_ll_wrapper() function to allow for data mutation within calls

v1.3.4
 - Updated lots of docstrings
 - DamourTaylorPotential model now actually updates if you pass a vlsr kwarg
 - Can now pass a distance error into the likelihood function for fitting potential models to data
 - Varying a distance by the distance uncertainty is now capped at a minimum value (1e-5) to avoid negative distances when propagating uncertainties
 - Overwrote several functions in the GalaPotential wrapper to allow for optimization of a GalaPotential model
 - Added a new example "/examples/optimize_example_gala.py", both as a test, and also because optimizing gala potentials can be slightly different
 - Added optimize.mcmc_ll_wrapper() function to provide correct signature for MCMC codes like emcee within existing peebee Fitter framework

v1.3.3
 - Reworked Hernquist potential implementation so it no longer uses galpy
 - changed 'convenience' submodule to 'utils'
 - added accels submodule, split off the orbital acceleration calculations that were previously in convenience -> utils
 - renamed 'alos_obs' function -> 'alos_orb_gal'
 - Added tutorial rst documents to the readthedocs
 - removed 'intr_over_gr' and 'pbdot_intr', I don't like the "intrinsic" terminology for that, I think it's misleading. There wasn't any serious calculation being done there, anyways. 
 - alos_orb_gal() no longer requires frame or coordinates, just distance
 - fixed frame kwarg in dm_over_bary_alos()
 - added spin acceleration functions: alos_spin_gal(), psdot_b()
 - Added LK bias correction and plotting in utils, in the "remove_lk_bias()" function

v1.3.2
 - Removed gala and galpy as required packages, because people were running into problems installing them due to their complicated C requirements
 - Models now tries to import these packages, and upon failure notifies the user
 - Models which require gala or galpy will now fail to initialize if those packages aren't installed, and will produce an error message stating the problem. 

v1.3.1
 - fixed noise models actually adding and grabbing the correct parameters to the optimizer now
 - reworked noise models, now class instances similar to models
 - changed how noise models are initialized and added to Fitters
 - changed examples to match new noise model rework
 - debugged optimizer with log params and noise models

v1.3.0
 - changed names of two modules: "fitter" -> "optimize", "sampler" -> "sampling"
 - revamped how optimization works; new procedure is streamlined for the user, and previous optimization code will no longer work. See /examples/optimize_example.py for a demonstration of the new framework
 - bugfix for fitter.fit_model where negative parameter values are now handled correctly
 - submodules are now imported immediately upon package import
 - fitter.fit_model now warns you if you are not constraining the result and returns null errors rather than crash or produce garbage
 - added some checks for data and hessian quality in error handling for fitter.fit_model
 - default sun position changed to left-handed coordinate system for consistency
 - fixed some imports around the package for consistency
 - added sampler.perturb_value() for noise generation in quantity arrays

v1.2.1
 - added density function to NFW model
 - fixed vertical acceleration of exponential disk
 - bug fix in models.atan() and models.a_gal_sph()

v1.2.0
 - model params set to None are now correctly disabled on init
 - fixed bug in distance calculation for convenience.pdot_shk()
 - model keyword args can now be passed into, for example, galpy potentials through model.alos([...], phi=my_phi) etc.
 - icrs to gal, cart conversion using frame kwarg now works correctly
 - added support for galpy potentials that cannot take arrays as inputs
 - added RadialDensityOscillation model
 - added noise models to the optimizer

v1.1.0
 - edited README.md
 - made changes to docstrings to improve readthedocs
 - added model.atan() and model.a_gal_sph() functions to calculate proper accelerations
 - added convenience.dot and convenience.mags helper functions
 - added CoxGomezSpiralArm potential to Models
 - changed UniformAccel Model to UniformAlos
 - added Uniform3DAccel Model
 - fixed bug in models.a_gal_sph() by changing np.put -> np.place, which can take conditions instead of indices
 - fixed bug in fit chi^2 statistic calculation, is now correct
 - fixed bug in fix_arrays() wrapper that caused things to break when not running the docs generator

v1.0.0
 - put out public repo release on Pypi
 - changed a bunch of readthedocs and documentation stuff
 - changed the way that default/disabled parameters work to fix fitter.fit_model()
 - added model.get_param_default() method for some 
 - fitter catches singular matrices in the hessian so you can debug
 - added UniformAccel model

v0.0.9
 - bug fix in convenience.alos_obs()

v0.0.8
 - Added Plummer profile to models
 - some bug fixes in models and convenience
 - added optional parameters in models, reworked some class stuff to make that work
 - QuillenVariableVcirc has now been absorbed into QuillenFlexible
 - QuillenFlexible has been renamed OortExpansion
 - added sun_pos kwarg to model.alos(), is also passed through anything that uses the convert_to_frame decorator
 - altered sphinx code and directory setup so everything is on RTD now, no local build to worry about or push to git

v0.0.7
 - Added sampler.py module
 - added radial power law and uniform samplers to sampler module
 - added write_to_csv() to convenience module
 - tweaked sphinx stuff
 - added readthedocs page
 - changed requirements in setup.py and docs/requirements.txt

v0.0.6
 - Added fitter.py module

v0.0.5
 - added alos_obs(), pbdot_intr(), and intr_over_gr() to convenience submodule

v0.0.4
 - had to rework how some decorators work to avoid circular imports
 - @fix_arrays is now in glob.py (new)
 - @convert_to_frame is now in transforms.py
 - some bug fixes so that the decorators also worked for methods (python3 fix your game)
 - added some useful constants to glob.py

v0.0.3
 - borrowed some coordinate transforms from mwahpy
 - added transforms module
 - added convenience.pdot_shk() and convenience.dm_over_bary_alos()
 - added decorators module
 - borrowed the fix_arrays decorator from mwahpy
 - added convert_to_frame decorator for generic frame transformations (currently supports 'gal' and 'cart')

v0.0.2 
 - added convenience module
 - added pbdot_gr() function
 - did some sphinx testing

v0.0.1 (initial commit)
 - added potential models, plus .accel() and .alos() capabilities
 - added generic gala and galpy potential wrappers
 - added sphinx documentation generator

