# What’s new¶

## Heliopy 0.15.0 (2020-10-17)¶

### Features¶

• All SPICE kernels are now automatically furnished when they are loaded into a spice object. (#938)

• The classes in heliopy.data.spice have been updated, to allow for different types of SPICE files:

• All kernels are now derived from KernelBase.

• SPK kernels have their own class, SPKKernel.

• Calling Kernel will automatically detect and create the appropriate kernel class. (#941)

### Bug Fixes¶

• When a SPKKernel is created, the SPICE kernel is now validated and an error raised if the given file is not a valid SPK kernel. (#941)

• Updated link to the Solar Orbiter SPICE kernel (#942)

## Heliopy 0.14.0 (2020-09-30)¶

### Features¶

• Added the ability to download science quality data to heliopy.data.solo.download. (#934)

## Heliopy 0.13.0 (2020-08-21)¶

### Backwards Incompatible Changes¶

• Support for converting from the J2000 coordinate frame to astropy coordinates has been removed in heliopy.spice.Trajectory.coords. If you want to convert to astropy coordinates, generate the trajectory in the IAU_SUN coordinate system, get the coords, and then .transform_to() the desired astropy coordinate frame from there. (#913)

### Bug Fixes¶

• The coordinates returned by heliopy.spice.Trajectory.coords when the coordinate frame is "IAU_SUN" have been fixed to properly take into account light travel time. In order to ensure consistency, coordinates can only be created with sunpy versions > 2. (#911)

## Heliopy 0.12.0 (2020-06-22)¶

### Backwards Incompatible Changes¶

• The OMNI data download functions have been updated to use CDAWeb as their source. This means that the heliopy.data.omni.low function has been removed, and replaced by heliopy.data.omni.h0_mrg1hr. This is the same 1 hour data product, but some of the variable names will have changed. (#904)

## Heliopy 0.11.1 (2020-05-19)¶

### Improved Documentation¶

• Fixed the documentation build on readthedocs. (#894)

## Heliopy 0.11.0 (2020-05-11)¶

### Changes to heliopy.spice¶

This release contains several breaking changes to heliopy.spice and heliopy.data.spice, made to accommodate new high level objects to interact with SPICE. The following new objects have been added:

• SPKKernel, to hold a single SPICE SPK kernel. This comes with helper methods to find the bodies stored within a kernel, and the time coverage of a given body within a kernel.

• Body, to hold a single body (e.g. a planet, a spacecraft). This contains helper methods to easily convert between body names and body ids.

In addition, heliopy.spice no longer automatically loads commonly needed files on import. This means if you want to use heliopy.spice, it is highly recommended to run heliopy.spice.setup_spice() first.

The existing code has been changed to use the new classes, with the following breaking changes:

## Heliopy 0.10.1 (2020-04-03)¶

### Bug Fixes¶

• Avoid converting all CDF data to floating point data, to save significant memory when loading a CDF file. (#858)

## Heliopy 0.10.0 (2020-02-20)¶

### Improved Documentation¶

• Cleaned up the docstrings of heliopy.data. (#846)

## Heliopy 0.9.0 (2019-11-13)¶

### Bug Fixes¶

• Fixed a bug in loading .cdf data where either all files were either converted to .hdf files or at least one of the intervals of data is missing. (#768)

## Heliopy 0.8.2 (2019-10-21)¶

### Bug Fixes¶

• heliopy.data.spice can now be imported without internet access. If this is the case determining the names of STEREO kernels (which requires internet) will not be possible. (#782)

• Fixed loading Ulysses data when at least some of it isn’t available. (#795)

## HelioPy 0.7.1 (2019-06-10)¶

### Bug Fixes¶

• Fix bug that prevented MMS data from spacecraft 4 being downloaded. (#719)

• Correctly attach units to MMS data. (#726)

## Version 0.7.0¶

### New features¶

• Added a graph showing the available coordinate transformations to heliopy.coordinates

• Added STEREO-B kernels to heliopy.data.spice

• Added automatic spice kernel detection for the STEREO spacecraft to heliopy.data.spice

• Switched the download progress bar from wget based to tqdm based, which should work better in notebooks.

## Version 0.6.7¶

### Deprecations¶

• heliopy.data.wind.swe_h3 and heliopy.data.wind.threedp_sfpd are deprecated and will be removed in version 0.7.0. This is because they currently use pandas MultiIndex structures, which are not the recommended way to store 2-or-more dimensional data. In the future they are likely to be re-written to use xarray.

## Version 0.6.6¶

### Bug fixes¶

• Data downloaded through CDAS is now moved from a temporary folder using shutil, fixing it when the temp folder and destination folder are on different filesystems.

## Version 0.6.4¶

### Backwards incompatible changes¶

The following IMP download functions, which only ever worked for IMP8 have been renamed:

## Version 0.6.3¶

### Bug fixes¶

• Updated links to the STEREO-A spice kernels.

### Backwards incompatible changes¶

• heliopy.data.mms.fgm_survey has been removed in favour of the more general heliopy.data.mms.fgm. To download survey mode FGM data use the new method and set the mode keyword argument to srvy.

## Version 0.6.2¶

### Bug fixes¶

• Fixed heliopy.data.mms.fgm_survey data loading. #601

## Version 0.6.0¶

HelioPy now only supports Python versions 3.6 and higher.

### New features¶

• HelioPy has been integrated with SunPy TimeSeries and AstroPy Units. All of the HelioPy modules now return physical units with data.

• Added a new data.util.cdf_units function that can extract the UNIT attribute from CDF files.

• Low resolution OMNI data import has been added in data.omni.low function.

• Magnetic Field data from DSCOVR Spacecraft can now be imported using the data.dscovr.mag_h0 function.

### Backwards incompatible changes¶

• Methods in heliopy.data no longer returns a Pandas DataFrame, but now return a SunPy timeseries object. To get the underlying data, you can still do:

dataframe = timeseries.data


For an example of how to use the new object, see TimeSeries Plotting Example.

• Data import has had a major overhaul, so that every column in CDF files now gets automatically imported and retains its name without being changed by HelioPy. This means column names in several data products are now different, to reflect their original name in the CDF files instead of a custom name that was previously assigned by HelioPy.

• data.helios.merged, data.helios.mag_4hz, data.helios.corefit and data.helios.mag_ness no longer take a verbose keyword argument. #467

## Version 0.5.3¶

### New features¶

• Lots of small documentation updates.

• data.helios.distparams now has an extra 'data_rate' column, which determines whether a given distribution function was transmitted in high or low data mode. #529

## Version 0.5.2¶

### New features¶

• The new HelioPy logo has been added to the documentation. #448, #447

## Version 0.5.1¶

### New features¶

• HelioPy can now be installed using conda.

## Version 0.3¶

### New features¶

HelioPy now contiains code for working with SPICE kernels. See the following modules for more information:

### Removed features¶

• The heliopy.plasma module has been removed (see http://www.plasmapy.org/ for the recommended alternative)

• heliopy.plot code removed

## Version 0.2¶

### New features¶

• Convert examples gallery to automatically generate plots

• Added heliopy.data.helper.listdata method for easily viewing the amount of data HelioPy is storing locally.

• Added heliopy.data.wind.threedp_sfpd method for importing WIND 3DP sfpd data.