Releases: yt-project/yt
yt 4.0.5
Summary
This is the fifth bugfix release in the 4.0.x series.
This release fixes a critical bug with SPH particle selection in bounding boxes.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes
- BUG: Broadcast missing attribute #3973 by @brittonsmith
- BUG: Fix broken annotate_particles example #3982 by @chrishavlin (issue #3968 by @neutrinoceros)
- BUG: volume rendering: sigma_clip normalization #3984 by @chrishavlin (issue #3979 by @zingale)
- BUG: fix a ResourceWarning (file is never closed) #3997 by @neutrinoceros
- BUG: fix for composite volume rendering with octree sources #4011 by @chrishavlin
- BUG: fix a typo in warning message #4017 by @neutrinoceros
- BUG: setting GeoAxes extent #4040 by @chrishavlin (issue #4039)
- BUG: Fix flux calculation on surface when there is no fluxing_field #4042 by @jzuhone
- BUG: Fix intersections between SPH particles and regions when the boundary is periodic #4050 by @jzuhone (issue #3916 by @benopp99)
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
yt 4.0.4
Summary
This is the fourth bugfix release in the 4.0.x series.
This release fixes a critical incompatibility with the upcoming release of Matplotlib (3.6). This should have no immediate effect but allow yt to be installed alongside Matplotlib 3.6.
It is our first release to be distributed for Mac ARM (M1) on PyPI.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes
- BUG: fix compatibility with GADGET2 files using '.gad.' template #3899 by @neutrinoceros
- BUG: fix an UnboundLocalError #3898 by @neutrinoceros
- BUG: fix an upcoming incompatibility with matplotlib 3.6 #3912 by @neutrinoceros
- BLD: fix a build error on Windows #3925 by @neutrinoceros
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
yt 4.0.3
Summary
This is the third bugfix release in the 4.0.x series.
This release fixes a critical bug in particle indexing, as well as many small 2D visualisation bugs. It also contains a couple frontend specific bugfixes, most notably for RAMSES.
It is our first release to be distributed for Mac ARM (M1) on conda-forge.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes are categorised below.
Particle Indexing
Fix a bug in bitmap index for particle datasets #3788 by @langmm . This was the result of some checks of the number of refined zones in the bitmap index being set to higher than it should be.
This bug was responsible for some particle data files not being selected correctly, which manifested e.g. as "holes" in SlicePlots, and were first identified with AREPO data (see issue #3672 by @jzuhone)
2D Plotting
Symlog colorbars (used for plotting data with negative values)
We made some adjustments in how yt internally chooses to use symlog over log norms for 2D plots.
- BUG: add missing MPL version check to a temporary hack #3754 by @neutrinoceros (issue #3170 by @chrishavlin)
- BUG: fix heuristic to switch from log scale to symlog scale #3793 by @neutrinoceros (issue #3791)
- BUG: fix a bug where automatically computed symlog linear threshold would sometimes cause a crash in matplotlib #3859 by @neutrinoceros (issue #3858, original report by @BenWibking)
- BUG: fix a bug where setting zmin/zmax on a 2D plot with symlog norm would cause an undesired change in linthresh #3888 by @neutrinoceros (issue #3887 by @vdbma)
Plotting non-cartesian data
- BUG: fix pixelize_cylinder #3782 by @neutrinoceros (issue #3781)
- BUG: fix a bug in pixelize_cylinder where buffer shape was read backwards #3795 by @neutrinoceros (issue #3794)
- BUG: don't colorize pixels that are not completely within the data domain in pixelize_cylinder routine #3818 by @neutrinoceros
- BUG: fix plot bounds for slices in cylindrical coordinates #3820 by @neutrinoceros (issue #3819)
- BUG: fix a bug in aitoff-hammer pixelizer where some pixels were skipped on the central meridian and the equator #3824 by @neutrinoceros (issue #3823)
- BUG: fix a bug where PlotWindow origin parameter wasn't handled correctly in non-cartesian geometries #3863 by @neutrinoceros (issue #3862 , original report by @vdbma)
Misc
- Phase plots are now properly masked #2504 by @matthewturk
- Format error string #3780 by @Yash-10
- BUG: fix a bug in masking invalid values in line integral convolution callback #3739 by @neutrinoceros (issue #3738)
- BUG: fix an issue where missing files would be indexed without verification #3816 by @neutrinoceros (issue #2819 by @joostvan)
- BUG: fix a typesetting bug with fractionnal units in colorbar labels for volume rendering #3755 by @neutrinoceros
- BUG: fix buffer masking in cartesian geometry #3856 by @neutrinoceros (issue #3854)
- BUG: fix a regression where calling annotate_timestamp on a plot from a dataset with code units would crash #3870 by @neutrinoceros (issue #3869, original report by @vdbma)
Frontend specific patches
Flash
- BUG: Track blockless particles #3683 by @matthewturk
OWLS
RAMSES
- BUG: also validate unresolved symlinks (RAMSES) #3786 by @mtrebitsch (issue #3785)
- BUG: fix error messages in RAMSESDataset validation #3801 by @neutrinoceros (issue #3800)
- BUG: bring back support to group folder structure in RAMSES #3811 by @cphyc (issue #3785 by @mtrebitsch)
- Add missing ionized species #3841 by @cphyc
- Fix definition of particle age/times #3864 by @cphyc (issue #3861 by @lconaboy)
- BUG: Use cm_per_mpc instead of 3.08e24 #3868 by @Iconaboy (issue #3867)
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
Some small adjustments to yt's dependencies were done for this release, and listed here to the intention of downstream packagers
- The unmaintained
toml
package isn't required anymore, yt now requiretomli
andtomli_w
instead (issue #3830 by @henryiii) pyyaml
andIPython
were previously declared as hard requirements when they are in fact not strictly necessary.pyaml
is now used in tests instead ofpyyaml
, andIPython
is now considered an optional dependency.- jinja2 is now pinned in docs builds (#3860 by @Xarthisius)
yt 4.0.2
Summary
This is the second bugfix release in the 4.0.x series.
Most notably, this release fixes a number of compatibility issues with recent versions of Matplotlib (3.4 and 3.5). It is also the first release to officially support Python 3.10.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade via PyPI, run
python -m pip install --upgrade yt
or via conda-forge
conda update --channel conda-forge yt
Most impactful changes are categorised below. See the 4.0.2 milestone for a an comprehensive view of the release's content.
Matplotlib compatibility
typesetting issues
- BUG: Set the display name for new fields #3282 by @chummels (issue #3269)
- BUG: fix default math font in yt plots against matplotlib >= 3.4 #3520 by @neutrinoceros (issue #3514)
- BUG: fix LaTeX typesetting for fractional ylabels in LinePlot #3637 by @neutrinoceros (issue #3636)
colorbar layout in plots using (sym)log norms
- BUG: fix two bugs with symlog colorbar ticks for matplotlib 3.5 #3556 by @neutrinoceros (issues #3554 and #3560)
- BUG: fix for matplotlib 3.5 + symlog + linthresh value outside data range #3565 by @neutrinoceros (issue #3564)
- MNT: matplotlib 3.5 compat #3670 by @neutrinoceros (issue #3558)
2D Plotting
- BUG: Checking if extrema are all None in PhasePlot #3432 by @chummels (issue #3431)
- BUG: fix a bug where 2D plots in spherical geometries would always use code-units in plot axes #3618 by @neutrinoceros (issue #2913 by @n-claes)
- BUG: fixes for Hammer-Aitoff projection (r-normal) 2D viz in spherical geometries #3628 by @neutrinoceros (issue #3610)
- BUG: fix figure layout in case the long axis is vertical #3633 by @neutrinoceros
- BUG: fix a bug where PlotContainer.save would wrongfully ignore specified field extension #3687 by @neutrinoceros (issue #3632)
Documentation
- DOC: add an exhaustive list of deprecations to the yt4differences page #3665 by @neutrinoceros (issue #3451)
- DOC: fix an error in AMRVAC specific documentation #3716 by @neutrinoceros
Frontend specific patches
Gadget
- Make sure we add the Parameters group to hvals if it's present #3455 by @jzuhone
- BUG: Take into account endianness when reading Gadget binary files #3688 by @cphyc (issue #3676 by @olebole)
Athena
These changes should actually not affect Athena users, they are only meant to open the design space for new frontends supporting vtk files (issue #3001)
- BUG: implement AthenaDataset._is_valid #3424 by @neutrinoceros
- ENH: loosen header matching for Athena vtk files to allow compatibility with single variable 'vtk outputs' #3490 by @neutrinoceros
GDF
- dimensionality doesn't imply which dimension is reduced #3630 by @Xarthisius (issue #3629)
Misc
- BUG: add support for setting up derived fields from lambdas #3440 by @neutrinoceros (issue #3434 by @forrestglines)
- BUG: fix combining FITS images #3456 by @jzuhone
- BUG: fix two bugs in yt.visualization.eps_writer #3496 by @neutrinoceros
Python 3.10 support
yt 4.0.2 is the first release for which we provide wheels for Python 3.10
We note that part of our test suite has yet to be ported from nosetest to pytest. Because nosetest isn't compatible with Python 3.10 (and has been unmaintained for years), this means that we currently run only a (large) subset of our tests with Python 3.10
In the unlikely event of a regression, please fill in a bug report
Requirements
For posterity, it may be worth noting that some of yt's minimal requirements were adjusted for this release:
- IPython 2.0 or newer is now required (previously 1.0)
- Matplotlib 2.1 or newer is now required (previously 2.0.2)
- cmyt (ColorMaps from yt) is a new small dependency that was extracted from yt's main code base, this should have no impact on yt users.
Python 3.6 is still supported for this release. The next feature release, yt 4.1, will require Python 3.7 or newer.