======
New Features
------------
- Solar differential rotation for maps and submaps included.
- Solar rotation calculation and mapcube derotation now use sunpy coordinates.
- Sample data now downloads automatically on import if not available
and is now pluggable so can be used by affiliated packages. Shortcut
names have been normalized and all LIGHTCURVE shortcuts have changed
to TIMESERIES.
- Calculation of points on an arc of a great circle connecting two
points on the Sun.
- Removed ``extract_time`` function from ``sunpy.time`` and also tests
related to the function from ``sunpy.time.tests``
- User can now pass a custom time format as an argument inside
``sunpy.database.add_from_dir()`` in case the ``date-obs`` metadata
cannot be read automatically from the files.
- Add time format used by some SDO HMI FITS keywords
- Now the ``sunpy.database.tables.display_entries()`` prints an astropy
table.
- Additional methods added inside the ``sunpy.database`` class to make
it easier to display the database contents.
- Remove unused ``sunpy.visualization.plotting`` module
- Port the pyana wrapper to Python 3
- ``Map.peek(basic_plot-True)`` no longer issues warnings
- Remove the ``sunpy.map.nddata_compat`` module, this makes
``Map.data`` and ``Map.meta`` read only.
- Add a ``NorthOffsetFrame`` class for generating HGS-like coordinate
systems with a shifted north pole.
- Remove deprecated ``VSOClient.show`` method.
- Deprecate ``sunpy.wcs``: ``sunpy.coordinates`` and ``sunpy.map`` now
provide all that functionality in a more robust manner.
- Added hdu index in ``sunpy.database.tables.DatabaseEntry`` as a
column in the table.
- Removed ``HelioviewerClient`` from the ``sunpy.net`` namespace. It
should now be imported with
``from sunpy.net.helioviewer import HelioviewerClient``.
- Removed compatibility with standalone ``wcsaxes`` and instead depend
on the version in astropy 1.3. SunPy now therefore depends on
astropy>-1.3.
- Update to ``TimeRange.__repr__``; now includes the qualified name and
``id`` of the object.
- A new ``sunpy.visualization.imageanimator.LineAnimator`` class has
been added to animate 1D data. This has resulted in API change for
the ``sunpy.visualization.imageanimator.ImageAnimator`` class. The
updateimage method has been renamed to update\_plot.
- Drop support for Python 3.4.
- SunPy now requires WCSAxes and Map.draw\_grid only works with
WCSAxes.
- ``Helioprojective`` and ``HelioCentric`` frames now have an
``observer`` attribute which itself is a coordinate object
(``SkyCoord``) instead of ``B0``, ``L0`` and ``D0`` to describe the
position of the observer.
- ``GenericMap.draw_grid`` now uses ``WCSAxes``, it will only work on a
``WCSAxes`` plot, this may be less performant than the previous
implementation.
- ``GenericMap.world_to_pixel`` and ``GenericMap.pixel_to_world`` now
accept and return ``SkyCoord`` objects only.
- ``GenericMap`` has a new property ``observer_coordinate`` which
returns a ``SkyCoord`` describing the position of the observer.
- ``GenericMap.submap`` now takes arguments of the form ``bottom_left``
and ``top_right`` rather than ``range_a`` and ``range_b``. This
change enables submap to properly handle rotated maps and take input
in the form of ``SkyCoord`` objects.
- When referring to physical coordinates ``Pair.x`` has been replaced
with ``SpatialPair.axis1``. This means values returned by
``GenericMap`` now differentiate between physical and pixel
coordinates.
- The physical radius of the Sun (length units) is now passed from Map
into the coordinate frame so a consistent value is used when
calculating distance to the solar surface in the
``HelioprojectiveFrame`` coordinate frame.
- A new ``sunpy.visualization.imageanimator.ImageAnimatorWCS`` class
has been added to animate N-Dimensional data with the associated WCS
object.
- Moved Docs to docs/ to follow the astropy style
- Added SunPy specific warnings under util.
- SunPy coordinate frames can now be transformed to and from Astropy
coordinate frames
- The time attribute for SunPy coordinate frames has been renamed from
``dateobs`` to ``obstime``
- Ephemeris calculations with higher accuracy are now available under
``sunpy.coordinates.ephemeris``
- Add support for SunPy coordinates to specify observer as a string of
a major solar-system body, with the default being Earth. To make
transformations using an observer specified as a string, ``obstime``
must be set.
- Added VSO query result block level caching in the database module.
This prevents re-downloading of files which have already been
downloaded. Especially helpful in case of overlapping queries.
- Change the default representation for the Heliographic Carrington
frame so Longitude follows the convention of going from 0-360
degrees.
- All Clients that are able to search and download data now have a
uniform API that is ``search`` and ``fetch``. The older functions are
still there but are deprecated for 0.8.
Bug fixes
---------
- Add tests for RHESSI instrument
- Maps from Helioviewer JPEG2000 files now have correct image scaling.
- Get and set methods for composite maps now use Map plot\_settings.
- Simplified map names when plotting.
- Fix bug in ``wcs.convert_data_to_pixel`` where crpix[1] was used for
both axes.
- Fix some leftover instances of ``GenericMap.units``
- Fixed bugs in ``sun`` equations
- ``sunpy.io.fits.read`` will now return any parse-able HDUs even if
some raise an error.
- ``VSOClient`` no longer prints a lot of XML junk if the query fails.
- Fix Map parsing of some header values to allow valid float strings
like 'nan' and 'inf'.
- Fix Map parsing of some header values to allow valid float strings
like 'nan' and 'inf'.