Releases: sunpy/sunpy
Releases Β· sunpy/sunpy
v5.1.4
What's Changed
- Backport PR #7627 on branch 5.1 (Fix bug when converting results from the HEKClient ) by @meeseeksmachine in #7630
- Backport PR #7633 on branch 5.1 (Fix failing link breaking our doc build) by @meeseeksmachine in #7635
- Backport PR #7662 on branch 5.1 (Update ANA for GCC 14) by @meeseeksmachine in #7670
Full Changelog: v5.1.3...v5.1.4
v5.0.6
What's Changed
- Backport PR #7627 on branch 5.0 (Fix bug when converting results from the HEKClient ) by @meeseeksmachine in #7629
- Backport PR #7633 on branch 5.0 (Fix failing link breaking our doc build) by @meeseeksmachine in #7634
- Backport PR #7662 on branch 5.0 (Update ANA for GCC 14) by @meeseeksmachine in #7669
Full Changelog: v5.0.5...v5.0.6
v5.1.3
What's Changed
- [5.1] Backports by @nabobalis in #7553
- Backport PR #7551 on branch 5.1 (Fixed an unnecessary division computation for an unsupported division by a Map) by @meeseeksmachine in #7557
- Backport PR #7562 on branch 5.1 (update license year 2024) by @meeseeksmachine in #7564
- [5.1] numpy 2.0 by @nabobalis in #7570
- Backport PR #7594 on branch 5.1 (Enable use of SunPyBaseCoordinateFrame outside sunpy) by @meeseeksmachine in #7598
- [5.1] CI + Release prep for 5.1.3 by @nabobalis in #7620
Full Changelog: v5.1.2...v5.1.3
v5.0.5
What's Changed
- [5.0] Backports by @nabobalis in #7552
- Backport PR #7562 on branch 5.0 (update license year 2024) by @meeseeksmachine in #7563
- [5.0] numpy 2.0 by @nabobalis in #7569
- Backport PR #7594 on branch 5.0 (Enable use of SunPyBaseCoordinateFrame outside sunpy) by @meeseeksmachine in #7597
- [5.0] CI + Release prep for 5.0.5 by @nabobalis in #7621
Full Changelog: v5.0.4...v5.0.5
v5.1.2
Bug Fixes
- Fixed the appearance of a double "Notes" heading in ~sunpy.map.Map subclasses. (#7376)
- Fix a bug which caused
Fido.search
to crash due to SSL certificate verification error for the ~sunpy.net.helio.HECClient now returns no results and logs a warning in this case. (#7446) - The creation of the series string for a JSOC query was not adding the correct escape characters for comparison values for keywords. This was causing the JSOC to error. (#7467)
- JPEG2000 files are now saved with the correct orientation. Previously they would be vertically flipped when saved. (#7486)
- Fixed a very minor inaccuracy in three sunpy.map utility functions (
~sunpy.map.contains_full_disk
,~sunpy.map.coordinate_is_on_solar_disk
, and~sunpy.map.is_all_off_disk
) resulting from the accidental use of the small-angle approximation. (#7512) - The
~sunpy.map.GenericMap.rotate
function now correctly updates the NAXISi. (#7522) - Fixed an inaccuracy in the implementation of ~sunpy.coordinates.HeliocentricEarthEcliptic and ~sunpy.coordinates.GeocentricSolarEcliptic such that the Earth was not exactly in the XY plane, but rather had an error of up ~10 meters. (#7530)
- Fixed a bug with any coordinate transformation starting in ~sunpy.coordinates.GeocentricEarthEquatorial (GEI) returning output with AU as the length unit, rather than preserving the length unit of the initial coordinate. (#7545)
Documentation
- Created a how to guide on fixing metadata that is either missing or incorrect before passing the header into the ~sunpy.map.Map class. (#7262)
Internal Changes
pyerfa
is now a new direct dependency. It has been an indirect dependency from sunpy 3.1, over two years ago. (#7397)
v5.0.4
Bug Fixes
- Fix a bug which caused
Fido.search
to crash due to SSL certificate verification error for the ~sunpy.net.helio.HECClient now returns no results and logs a warning in this case. (#7446) - The creation of the series string for a JSOC query was not adding the correct escape characters for comparison values for keywords. This was causing the JSOC to error. (#7467)
- Fixed a very minor inaccuracy in three sunpy.map utility functions (
~sunpy.map.contains_full_disk
,~sunpy.map.coordinate_is_on_solar_disk
, and~sunpy.map.is_all_off_disk
) resulting from the accidental use of the small-angle approximation. (#7512) - The
~sunpy.map.GenericMap.rotate
function now correctly updates the NAXISi. (#7522) - Fixed an inaccuracy in the implementation of ~sunpy.coordinates.HeliocentricEarthEcliptic and ~sunpy.coordinates.GeocentricSolarEcliptic such that the Earth was not exactly in the XY plane, but rather had an error of up ~10 meters. (#7530)
- Fixed a bug with any coordinate transformation starting in ~sunpy.coordinates.GeocentricEarthEquatorial (GEI) returning output with AU as the length unit, rather than preserving the length unit of the initial coordinate. (#7545)
Documentation
- Created a how to guide on fixing metadata that is either missing or incorrect before passing the header into the ~sunpy.map.Map class. (#7262)
Internal Changes
pyerfa
is now a new direct dependency. It has been an indirect dependency from sunpy 3.1, over two years ago. (#7397)
5.1.1
What's Changed
- Backport PR #7316 on branch 5.1 (Fixed the superpixel sample) by @meeseeksmachine in #7322
- Backport PR #7330 on branch 5.1 (Fix devdeps figure tests and getting the wrong filename) by @meeseeksmachine in #7332
- Backport PR #7329 on branch 5.1 (Add Clarification on setting Environment Variable for JSOC Email) by @meeseeksmachine in #7336
- Backport PR #7344 on branch 5.1 (Raise our own error when trying to rotate a map of integer data while using a
missing
value of NaN) by @meeseeksmachine in #7347 - Backport PR #7348 on branch 5.1 (Added an example of plotting a rectangle on a map with a rotation angle relative to the axes) by @meeseeksmachine in #7358
- Backport PR #7356 on branch 5.1 (Bail out of a unit test for
Helioprojective.is_visible()
if it won't be a meaningful test of tolerance) by @meeseeksmachine in #7359 - Backport PR #7350 on branch 5.1 (The 'delim_whitespace' keyword in pd.read_csv is deprecated) by @meeseeksmachine in #7361
- Backport PR #7325 on branch 5.1 (Address review comments from the pyopensci reviewers) by @meeseeksmachine in #7365
- Backport PR #7352 on branch 5.1 (Add text from an email from Albert - Lazy edition) by @meeseeksmachine in #7368
- Backport PR #7372 on branch 5.1 (remove filter on warnings for release docs) by @meeseeksmachine in #7373
- Backport PR #7351 on branch 5.1 (Add python 3.12 tests) by @meeseeksmachine in #7374
- Backport PR #7343 on branch 5.1 (Ran the autopep8 linter for pyopensci review) by @meeseeksmachine in #7375
- Backport PR #7378 on branch 5.1 (add replacement to mapbase for unit: counts / pixel -> ct/pix) by @meeseeksmachine in #7380
Full Changelog: v5.1.0...v5.1.1
5.0.3
What's Changed
- Backport PR #7316 on branch 5.0 (Fixed the superpixel sample) by @meeseeksmachine in #7321
- Backport PR #7330 on branch 5.0 (Fix devdeps figure tests and getting the wrong filename) by @meeseeksmachine in #7331
- Backport PR #7329 on branch 5.0 (Add Clarification on setting Environment Variable for JSOC Email) by @meeseeksmachine in #7335
- Backport PR #7344 on branch 5.0 (Raise our own error when trying to rotate a map of integer data while using a
missing
value of NaN) by @meeseeksmachine in #7346 - Backport PR #7348 on branch 5.0 (Added an example of plotting a rectangle on a map with a rotation angle relative to the axes) by @meeseeksmachine in #7357
- Backport PR #7350 on branch 5.0 (The 'delim_whitespace' keyword in pd.read_csv is deprecated) by @meeseeksmachine in #7360
- [5.0] Readme changes by @nabobalis in #7366
- Backport PR #7352 on branch 5.0 (Add text from an email from Albert - Lazy edition) by @meeseeksmachine in #7367
- Backport PR #7378 on branch 5.0 (add replacement to mapbase for unit: counts / pixel -> ct/pix) by @meeseeksmachine in #7379
- [5.0] Manual backports by @nabobalis in #7381
Full Changelog: v5.0.2...v5.0.3
sunpy 5.1.0
5.1.0 (2023-11-20)
New Features
- Added the ability to skip over errors raised for invalid fits files when passing a list of files to map using the existing keyword argument
silence_errors
. (#7018) - Added a
sunpy.coordinates.Helioprojective.is_visible
method to return whether the coordinate is visible (i.e., not obscured from the observer assuming that the Sun is an opaque sphere). (#7118) - Added a keyword option (
quiet
) for~sunpy.coordinates.get_body_heliographic_stonyhurst
to silence the normal reporting of the light-travel-time correction whenobserver
is specified. (#7142) - Added the function
sunpy.coordinates.sun.eclipse_amount
to calculate the solar-eclipse amount for an observer. (#7142) - Add a keyword (
map_center_longitude
) to~sunpy.map.header_helper.make_heliographic_header
for centering the heliographic map at a longitude other than zero longitude. (#7143) - The minimum required version of
Glymur
(an optional dependency for reading JPEG2000 files) has been increase to 0.9.1. (#7164) - Added new default colormap scalings for WISPR Maps. Plots are now clipped at zero, and ~astropy.visualization.AsinhStretch is used for the scaling to ensure coronal details are visible despite the much-brighter stars. Parsing of the
detector
andlevel
fields of the FITS headers is also improved. (#7180) - When creating a coordinate or coordinate frame without specifying
obstime
, theobstime
value from theobserver
frame attribute will be used if present. (#7186) - Added a GONG synoptic map class which fixes non-compliant FITS metadata (#7220)
- Added the module sunpy.coordinates.spice to enable the use of the ~astropy.coordinates.SkyCoord API to perform computations using SPICE kernels. (#7237)
- Added three coordinate frames that depend on the orientation of Earth's magnetic dipole: ~sunpy.coordinates.Geomagnetic (MAG), ~sunpy.coordinates.SolarMagnetic (SM), and ~sunpy.coordinates.GeocentricSolarMagnetospheric (GSM). (#7239)
Bug Fixes
- Fix RHESSI (~sunpy.net.dataretriever.RHESSIClient) fallback server detection. (#7092)
- Fix bug in
~sunpy.coordinates.get_horizons_coord
when specifying a time range via a dictionary that could cause the returned times to be slightly different from the supplied times. (#7106) - Updated the url of the ~sunpy.net.dataretriever.GBMClient to match on files other than those that end with version 0 (i.e., V0.pha). (#7148)
- When directly instantiating a ~astropy.wcs.WCS from a FITS header that contains both Stonyhurst and Carrington heliographic coordinates for the observer location, the Stonyhurst coordinates will now be prioritized. This behavior is now consistent with the ~sunpy.map.Map class, which has always prioritized Stonyhurst coordinates over Carrington coordinates. (#7188)
- Fixed a bug with
~sunpy.map.sample_at_coords()
where sampling outside the bounds of the map would sometimes not error and instead return strange pixel values. (#7206) - Improved code when loading CDF files to improve performance and avoid raising of pandas performance warnings. (#7247)
- Fixed a bug with
sunpy.map.GenericMap.plot
where settingnorm
toNone
would result in an error. (#7261)
Documentation
- Removed the specification of a non-identity rotation matrix in two reprojection examples. (#7114)
- Added an example (
sphx_glr_generated_gallery_showcase_stereoscopic_3d.py
) for how to make an anaglyph 3D (i.e., red-cyan) image from a stereoscopic observation. (#7123) - Added an example (
sphx_glr_generated_gallery_showcase_eclipse_amount.py
) to show how to obtain information about a solar eclipse usingsunpy.coordinates.sun.eclipse_amount
. (#7142) - Changed the
sphx_glr_generated_gallery_map_masking_hmi.py
to reproject AIA to HMI instead of the other way around. This is to avoid interpolating the HMI LOS magnetic field data. (#7160) - Fixed the timeseries peak finding example. Previously there was a bug when plotting the data with pandas. (#7199)
- Added an example (
sphx_glr_generated_gallery_units_and_coordinates_spice.py
) for how to perform SPICE computations using the ~astropy.coordinates.SkyCoord API. (#7237)
Deprecations
- Deprecated
silence_errors
in Map and Timeseries. This has been replaced withallow_errors
keyword. (#7021) - The
sunpy.coordinates.transformations
module is now slated for removal from the public API as it consists of internal functions used by coordinate transformations. The context managerssunpy.coordinates.transform_with_sun_center
andsunpy.coordinates.propagate_with_solar_surface
should be accessed under sunpy.coordinates. (#7113)
Removals
sunpy.map.extract_along_coord()
has been removed. Instead, use~sunpy.map.pixelate_coord_path
, and then pass its output to~sunpy.map.sample_at_coords
.pixelate_coord_path
uses a different line algorithm by default, but you can specifybresenham=True
as an argument to use the same line algorithm asextract_along_coord
. (#7200)sunpy.visualisation.limb.draw_limb()
has been removed. Usesunpy.visualization.drawing.limb
instead. (#7202)- Removed
GenericTimeSeries.index
. UseGenericTimeseries.time
instead as a direct replacement. (#7203) - Removed the deprecated
sunpy.io.cdf
submodule, which is not intended to be user facing. (#7240) - Removed the deprecated
sunpy.io.jp2
, which is not intended to be user facing. (#7241) - Removed the deprecated
sunpy.io.file_tools
, which is not intended to be user facing. (#7242) - The deprecated
sunpy.data.download_sample_data()
has been removed Usesunpy.data.sample.download_all
instead. (#7250)
Internal Changes
- Removed the Binder configuration and link in README. This is because the configuration was untested, and does not currently work. (#7062)
- Add a Dependabot config file to auto-update GitHub action versions. (#7068)
- Add tests to check whether various ~sunpy.map.Map methods preserve laziness when operating on Maps backed by a dask.array.Array. (#7100)
- Added missing support to find GOES-18 XRS data in ~sunpy.net.dataretriever.XRSClient. (#7108)
- Raise an error with a helpful message when
sunpy.map.GenericMap.plot
is called with a non-boolean value for theannotate
keyword, because the user is probably trying to specify the axes. (#7163) - Fixed our ASDF manifest having the incorrect ID. (#7282)
- Fix example formatting in a few asdf schemas. (#7292)
- Pinned the
drms
requirement to< 0.7
to avoid breaking changes indrms
version 0.7. (#7308)
sunpy 5.0.2
What's Changed
- Backport PR #7188 on branch 5.0 (Prioritize hgln_obs over crln_obs when extracting observer information from FITS headers) by @meeseeksmachine in #7194
- Backport PR #7192 on branch 5.0 (Fix agg warning filter w/ Matplotlib 3.8) by @meeseeksmachine in #7196
- Backport PR #7062 on branch 5.0 (Remove binder config) by @meeseeksmachine in #7195
- Backport PR #7198 on branch 5.0 (Fix helioveiwer doctest) by @meeseeksmachine in #7201
- Backport PR #7199 on branch 5.0 (Fix timseries peak finding example) by @meeseeksmachine in #7208
- Backport PR #7211 on branch 5.0 (Fix statement about orientation of HMI images) by @meeseeksmachine in #7212
- Backport PR #7197 on branch 5.0 (Fix colormap name in map tutorial) by @meeseeksmachine in #7213
- Backport PR #7219 on branch 5.0 (Fix inappropriate x limits in "Flare times on a GOES XRS plot" example) by @meeseeksmachine in #7222
- Backport PR #7206 on branch 5.0 (Add a check for out-of-bounds sampling by
sunpy.map.sample_at_coords()
) by @meeseeksmachine in #7225 - Backport PR #7226 on branch 5.0 (Update GOES tests for new files) by @meeseeksmachine in #7230
- Backport PR #7160 on branch 5.0 (Reproject AIA instead of HMI in masking example) by @meeseeksmachine in #7231
- Backport PR #7233 on branch 5.0 (add asdf-astropy dev to devdeps tests) by @meeseeksmachine in #7234
- Backport PR #7257 on branch 5.0 (Fix docs build for
ruamel.yaml
>= 0.18.0) by @meeseeksmachine in #7260 - Backport PR #7261 on branch 5.0 (Map: protect against
norm
being set toNone
forplot()
method) by @meeseeksmachine in #7263 - Backport PR #7273 on branch 5.0 (Use Python 3.10 for source build) by @meeseeksmachine in #7274
- Backport PR #7282 on branch 5.0 (Fixed a copy-and-paste error in the ASDF manifest) by @meeseeksmachine in #7284
- Backport PR #7247 on branch 5.0 (Edit sunpy.io._cdf.read_cdf to avoid Pandas PerformanceWarning: DataFrame is highly fragmented (fix #7246)) by @meeseeksmachine in #7287
- Backport PR #7277 on branch 5.0 (Added install page from DKIST) by @meeseeksmachine in #7289
- Backport PR #7302 on branch 5.0 (Tweak to example because of order of operations) by @meeseeksmachine in #7304
- Backport PR #7308 on branch 5.0 (Pin drms to < 0.7) by @meeseeksmachine in #7309
Full Changelog: v5.0.1...v5.0.2