# Full Changelog¶

## 0.8.2 (2023-06-30)¶

Add non-Poissonian occupation statistics for satellites (https://github.com/astropy/halotools/pull/1053)

Fix bug in little h convention in Leauthaud+11 HOD model (https://github.com/astropy/halotools/pull/1063)

Fix bug in PBC handling of return_xyz_formatted_array convenience function (https://github.com/astropy/halotools/pull/1066)

## 0.8.1 (2022-09-28)¶

Include command-line scripts for halo catalog downloads that were omitted from v0.8 release

## 0.8 (2022-09-25)¶

Change packaging tools to pyproject.toml

Drop dependency on astropy-helpers

Add new calculator for uber_hostid quantity

Bug fix for cross-correlations with the Hamilton and Landy-Szalay estimators. See https://github.com/astropy/halotools/pull/1032

Bug fix for tpcf jackknife. See https://github.com/astropy/halotools/pull/1020

Bug fix for the central occupation function of the Zu & Mandelbaum 2016 HOD. See https://github.com/astropy/halotools/pull/1028.

Add support for non-Poissonian satellite occupation statistics. See https://github.com/astropy/halotools/pull/996

Add vector rotation utilities to halotools.utils

Add support for Conditional counts in cylinders. See https://github.com/astropy/halotools/pull/987

## 0.7 (2020-1-29)¶

Added new

`matrix_operations_3d`

module in the`utils`

subpackage that contains Numpy functions related to three-dimensional rotations.Added new

`inertia_tensor_per_object`

function in`mock_observables`

that calculates the inertia tensor for a set of points and masses in a periodic box.Added new option for the marked correlation functions to accommodate counting pairs of points passing a variable merger ratio criteria

Added

`fuzzy_digitize`

function to`utils`

sub-package.Added

`sliding_conditional_percentile`

function to`utils`

sub-package.Added new

`resample_x_to_match_y`

function to`halotools.utils`

.Renamed old implementation of

`conditional_abunmatch`

to`conditional_abunmatch_bin_based`

Added new bin-free implementation of

`conditional_abunmatch`

.Added new utils function

`bijective_distribution_matching`

Added new

`load_um_binary_sfr_catalog`

function to load SFR catalogs from UniverseMachine into memoryAdded new

`return_indexes`

feature to conditional_abunmatch function. See https://github.com/astropy/halotools/pull/913.New function

`mean_delta_sigma`

replaces old`delta_sigma`

function. See #955.

## 0.6 (2017-12-15)¶

Changed the API for mock_observables.pair_counters.npairs_s_mu which now requires

`mu_bins`

to be in the conventional mu=cos(theta_LOS) format instead of mu=sin(theta_LOS). See https://github.com/astropy/halotools/pull/768Added new

`mock_observables`

functions`radial_distance`

and`radial_distance_and_velocity`

functions. See https://github.com/astropy/halotools/pull/782Added new

`distribution_matching_indices`

function. See https://github.com/astropy/halotools/pull/795.Removed

`max_sample_size`

keyword argument from all`mock_observables`

functions.Added new

`weighted_npairs_s_mu`

function to`mock_observables`

sub-package. See Issue #810Added standalone function to apply redshift-space distortions. See Issue #806.

Added

`num_lines_header`

optional keyword argument to TabularAsciiReaderAdded

`wp_jackknife`

function. See https://github.com/astropy/halotools/pull/814.Fixed bug in the normalization of the covariance matrices in the

`tpcf_jackknife`

function. See https://github.com/astropy/halotools/issues/815.Added

`rp_pi_tpcf_jackknife`

function - See #822Fixed bug in estimate_ngals method for case of assembly-biased occupation models. See https://github.com/astropy/halotools/issues/801

Removed obsolete bounds_enforcing_decorator_factory function - see https://github.com/astropy/halotools/issues/756

Fixed bug impacting ability of python 3.6 users to access downsampled particle data - See Issues #821, #826, and #831.

Fixed bug in isolation criteria for calculations without PBCs. See Issue #776.

Fixed bug in

`weighted_npairs_s_mu`

when called in parallel. See https://github.com/astropy/halotools/issues/837.Fixed bug in

`radial_profile_3d`

when called in parallel. See https://github.com/astropy/halotools/issues/854.Fixed bug in

`radial_profile_3d`

when called without periodic boundary conditions. See https://github.com/astropy/halotools/issues/862Fixed bug in

`velocity_marked_npairs_3d`

and`velocity_marked_npairs_xy_z`

when called with default arguments. See https://github.com/astropy/halotools/issues/836.Changed the

`weight_func_id`

numbers associated with weighting functions for`velocity_marked_npairs_3d`

and`velocity_marked_npairs_xy_z`

where e.g. 11 is now 1, etc.Added new

`test_installation`

feature that dramatically shortens the length of time users need to spend verifying their installation

## 0.5 (2017-05-31)¶

Added SubhaloPhaseSpace class for modeling HOD-style satellite velocities with subhalos.

The

`Lbox`

attribute of all Halotools halo catalogs is now stored as an array of length 3 instead of a scalar.Fixed bug in multi-threaded calculations using npairs_per_object_3d function.

Added

`empirical_models.abunmatch`

sub-package providing conditional abundance matching functionalityFixed bug in mock population when using the seed keyword, resolving Issue #672, https://github.com/astropy/halotools/issues/672.

Added

`mock_observables.hod_from_mock`

convenience function to calculate the HOD from a mock galaxy samplePerformance enhancements to marked correlation functions

Fixed bug in

`mock_observables.pair_counters.npairs_s_mu`

that impacted`mock_observables.s_mu_tpcf`

Added Zu & Mandelbaum 2015 and Zu & Mandelbaum 2016 HOD models

Modified internals of

`mock_observables.delta_sigma`

function, including an API change by removing the`pi_max`

argument. Additionally included new`mock_observables.delta_sigma_from_precomputed`

function to compute the results from a set of pre-computed pairs. See https://github.com/astropy/halotools/pull/696.Fixed factor of 2 error in tpcf_multipole, resolving https://github.com/astropy/halotools/issues/651

Complete refactoring of the halotools/empirical_models/phase_space_models. No changes to either the API or behavior of any associated classes or functions.

Addition of two new classes

`halotools.empirical_models.BiasedNFWPhaseSpace`

and`halotools.empirical_models.SFRBiasedNFWPhaseSpace`

for NFW satellites with biased concentrations and Jeans solutions.The

`gal_types`

attribute of HODModelFactory-produced models is now sorted so that`centrals`

always appears before`satellites`

. This new default behavior is more common for interdependent occupation models, where satellite abundance depends upon central galaxy characteristics, rather than the other way around. See https://github.com/astropy/halotools/pull/729Added new keyword arguments to

`return_xyz_formatted_array`

function enabling application of redshift-space distortions for galaxy samples at higher redshift. Previously, the user needed to do this manually). Default behavior of this function is unchanged, provided users had not locally modified the`sim_defaults`

module to have set`default_redshift`

greater than zero.

## 0.4 (2016-08-11)¶

All models now support an optional

`seed`

keyword argument, allowing for deterministic Monte Carlo realizations of models. As a result of this feature, it is now mandatory that all user-defined models obey a new constraint. Any function appearing in the`mock_generation_calling_sequence`

must now use the kwargs Python syntax to catch any additional inputs passed to these functions by the MockFactory.Added relative_positions_and_velocities function to mock_observables

Fixed little h bug in the Behroozi10SmHm class. This impacts the Leauthaud11Cens and Leauthaud11Sats classes, as well as the

`leauthaud11`

composite model.Fixed bug in mock_observables.pair_counters.npairs_per_object_3d. See https://github.com/astropy/halotools/issues/606.

New counts_in_cells sub-package in mock_observables

HodMockFactory has new estimate_ngals feature

Fixed buggy behavior for two-point functions called for logical branch

`do_auto=True, do_cross=False`

Performance enhancement of isolation_functions by 50% - 300%, depending on numerical regime.

Updated all catalogs to version_name=``halotools_v0p4``, resolving the bug pointed out in https://github.com/astropy/halotools/issues/598.

Performance enhancement of npairs_s_mu function by 10-100x after cleaning cython engine of python objects.

## 0.3 (2016-06-28)¶

Removed distant_observer_redshift function from mock_survey module

Removed -march=native compiler flag to resolve installation problems on some architectures

## 0.2 (2016-06-09)¶

Halotools is now Python 3.x compatible

Halotools mock_observables package has been given a complete overhaul, adding many new cythonized engines and pair counters (listed below). Functions are 30% - 50x faster, depending on numerical regime. Overhauled engines include velocity_marked_npairs_3d, velocity_marked_npairs_xy_z, npairs_per_object_3d, npairs_s_mu, npairs_jackknife_3d, npairs_projected, npairs_xy_z, npairs_3d, marked_npairs_3d and marked_npairs_xy_z

Added new utils.crossmatch function

Added new mock_observables.radial_profile_3d function

All isolation_functions now return boolean

`is_isolated`

rather than its inverse`has_neighbor`

Fixed a bug in mock_observables.delta_sigma. See https://github.com/astropy/halotools/issues/523

Fixed bug in mock_observables.tpcf_jackknife. See https://github.com/astropy/halotools/issues/513

Deleted mock_observables.nearest_neighbor function

## 0.1 (2016-03-13)¶

Initial release