ChangeLog

This is a log of changes to ytree over its release history.

Contributors

The CREDITS file contains the most up-to-date list of everyone who has contributed to the ytree source code.

Version 3.3.0

Release date: August 21, 2025

New Features

  • Add save_in_place option to save_arbor (PR #139)

  • Add TreeContainer convenience class (PR #140)

  • Add support for generic csv data (PR #160)

Minor Enhancements

  • Add ability to customize file naming conventions for AHF (PR #172)

  • Add documentation for helpful attributes and make cosmology calculator a cached_property (PR #175)

  • Add preprocess and handoff_attrs options to AnalysisPipeline (PR #178)

  • Add automatic vector field detection (PR #179)

  • Minor speedup for get_node (PR #180)

  • Add nodes keyword to parallel_tree_nodes (PR #181)

  • Parallelize get_nodes_from_selection (PR #183)

Bugfixes

  • Get correct file numbers when doing an update save (PR #184)

Infrastructure Updates

  • Replace deprecated unyt.uconcatenate function (PR #165)

  • Updating python versions and fixing deprecations (PR #167)

  • Update version support (PR #169)

  • Replace setup.py with pyproject.toml (PR #170)

  • Add resource_class for testing and remove daily tests (PR #171)

  • Change deprecated numpy.in1d to isin (PR #173)

  • Replace deprecated functions (PR #174)

  • Generalize package description in docs (PR #176)

  • Split frontend tests into separate files (PR #177)

Version 3.2.1

Release date: September 15, 2023

Bugfixes

  • Parallel bug fix for progress bar in select_halos (PR #158)

  • Fix doc syntax (PR #161)

  • Remove validate_index_order call (PR #162)

Version 3.2.0

Release date: November 18, 2022

New Features

  • Add Gadget4 frontend. (PR #138)

  • Update AHF frontend for new format (PR #154)

Minor Enhancements

  • Add plotting examples and improve examples documentation. (PR #142)

  • Update installation instructions to include conda option. (PR #135)

Bugfixes

  • Fix two AHF frontend issues. (PR #149)

Infrastructure Updates

  • Drop python 3.7 support and update circle images. (PR #150)

  • Add script to fix filename in junit output. (PR #152)

  • Fix flake8 errors. (PR #144)

Version 3.1.2

Release date: March 11, 2022

Minor Enhancements

  • Add always_do option to AnalysisPipeline operations. (PR #129)

Bugfixes

  • Make sure to refresh vector analysis fields after setting values. (PR #127)

  • Fix analysis pipeline operation filtering. (PR #129)

  • Get filename from correct part of line in consistent-trees format. (PR #131)

Infrastructure Updates

  • Officially support and start testing Python 3.10. (PR #128)

Version 3.1.1

Release date: February 3, 2022

Bugfixes

  • Allow parallel_trees to work with non-root trees. (PR #123)

  • Use smarter regexes to get AHF naming scheme. (PR #118)

  • Add return value to comply with yt. (PR #121)

Infrastructure Updates

  • Implement _apply_units method. (PR #122)

  • Enable parallelism on circleci. (PR #120)

  • Create pypi upload action. (PR #124)

Version 3.1

Release date: August 30, 2021

New Featues

Version 3.0

Release date: August 3, 2021

New Featues

  • Halo selection and generation with yt data objects (PR #82)

  • Add frontends for consistent-trees hlist and locations.dat files (PR #48)

  • Add consistent-trees HDF5 frontend (PR #53)

  • Add LHaloTree_hdf5 frontend (PR #81)

  • Add TreeFrog frontend (PR #103, #95, #88)

  • Add Moria frontend (PR #84)

  • Add get_node and get_leaf_nodes functions (PR #80)

  • Add get_root_nodes function (PR #91)

  • Add add_vector_field function (PR #71)

  • Add plot customization (PR #49)

Enhancements

  • All functions returning TreeNodes now return generators for a significant speed and memory usage improvement. (PR #104, #64, #61)

  • Speed and usability improvements to select_halos function (PR #83, #72)

  • Add parallel analysis docs (PR #106)

  • Make field_data an public facing attribute. (PR #105)

  • Improved sorting for node_io_loop in ctrees_group and ctrees_hdf5 (PR #87)

  • Relax requirements on cosmological parameters and add load options for AHF frontend (PR #76)

  • Speed and usability updates to save_arbor function (PR #68, #58)

  • Various infrastructure updates for newer versions of Python and dependencies (PR #92, #78, #75, #60, #54, #45)

  • Update frontend development docs (PR #69)

  • CI updates (PR #101, #96, #94, #93, #86, #79, #74, #73) #63, #55, #51, #50, #43, #42)

  • Remove support for ytree-1.x outputs (PR #62)

  • Drop support for python 3.5 (PR #59)

  • Drop support for Python 2 (PR #41)

Bugfixes

  • Use file sizes of loaded arbor when only saving analysis fields. (PR #100)

  • Use regex for more robust filename check. (PR #77, #47)

  • Fix issue with saving full arbor (PR #70)

  • Check if attr is bytes or string. (PR #57)

  • Fix arg in error message. (PR #56)

  • Account for empty ctrees files in data files list (PR #52)

Version 2.3

Release date: December 17, 2019

This release marks the acceptance of the ytree paper in JOSS.

This is the last release to support Python 2.

New Features

  • Add TreePlot for plotting and examples docs (PR #39)

Enhancements

  • Add time field (PR #25)

  • Move treefarm module to separate package (PR #28)

Version 2.2.1

Release date: October 24, 2018

Enhancements

  • Refactor of CatalogDataFile class (PR #21)

  • Simplify requirements file for docs build on readthedocs.io (PR #22)

Bugfixes

  • Restore access to analysis fields for tree roots (PR #23)

  • fix field access on non-root nodes when tree is not setup (PR #20)

  • fix issue of uid and desc_uid fields being clobbered during initial field access (PR #19)

Version 2.2

Release date: August 28, 2018

New Features

  • add vector fields.

  • add select_halos function.

Enhancements

  • significant refactor of field and i/o systems.

  • upgrades to testing infrastructure.

Version 2.1.1

Release date: April 23, 2018

Bugfixes

  • update environment.yml to fix broken readthedocs build.

Version 2.1

Release date: April 20, 2018

New Features

  • add support for LHaloTree format.

  • add support for Amiga Halo Finder format.

Version 2.0.2

Release date: February 16, 2018

Enhancements

  • significantly improved i/o for ytree frontend.

Version 2.0

Release date: August 07, 2017

This is significant overhaul of the ytree machinery.

New Features

  • tree building and field i/o now occur on-demand.

  • support for yt-like derived fields that can be defined with simple functions.

  • support for yt-like alias fields allowing for universal field naming conventions to simplify writing scripts for multiple data formats.

  • support for analysis fields which allow users to save the results of expensive halo analysis to fields associated with each halo.

  • all fields in consistent-trees and Rockstar now fully supported with units.

  • an optimized format for saving and reloading trees for fast field access.

Enhancements

  • significantly improved documentation including a guide to adding support for new file formats.

Version 1.1

Release date: January 12, 2017

New Features

  • New, more yt-like field querying syntax for both arbors and tree nodes.

Enhancements

  • Python3 now supported.

  • More robust unit system with restoring of unit registries from stored json.

  • Added minimum radius to halo sphere selector.

  • Replaced import of yt for specific imports of all required functions.

  • Added ytree logger.

  • Docs updated and API reference docs added.

Bugfixes

  • Allow non-root trees to be saved and reloaded.

  • Fix bug allowing trees that end before the final output.

Version 1.0

Release date: Sep 26, 2016

The inaugural release of ytree!