All Versions
93
Latest Version
5.1
Avg Release Cycle
52 days
Latest Release
697 days ago

Changelog History
Page 7

  • v1.1.1 Changes

    January 08, 2016

    ๐Ÿ†• New Features

    astropy.io.registry

    • ๐Ÿ‘ Allow pathlib.Path objects (available in Python 3.4 and later) for specifying the file name in registry read / write functions. [#4405]

    astropy.utils ^

    • console.human_file_size now accepts quantities with byte-equivalent units [#4373]

    ๐Ÿ› Bug Fixes

    astropy.analytic_functions

    • ๐Ÿ›  Fixed the blackbody functions' handling of overflows on some platforms (Windows with MSVC, older Linux versions) with a buggy expm1 function. [#4393]

    astropy.io.fits ^

    • ๐Ÿ›  Fixed an bug where updates to string columns in FITS tables were not saved on Python 3. [#4452]

    Other Changes and Additions

    • โšก๏ธ Updated bundled astropy-helpers to v1.1.1. [#4413]
  • v1.1 Changes

    December 11, 2015

    ๐Ÿ†• New Features

    astropy.config ^

    • Added new tools set_temp_config and set_temp_cache which can be used either as function decorators or context managers to temporarily use alternative directories in which to read/write the Astropy config files and download caches respectively. This is especially useful for testing, though set_temp_cache may also be used as a way to provide an alternative (application specific) download cache for large data files, rather than relying on the default cache location in users' home directories. [#3975]

    astropy.constants

    • โž• Added the Thomson scattering cross-section. [#3839]

    astropy.convolution

    • โž• Added Moffat2DKernel. [#3965]

    astropy.coordinates

    • Added get_constellation function and SkyCoord.get_constellation convenience method to determine the constellation that a coordinate is in. [#3758]

    • โž• Added PrecessedGeocentric frame, which is based on GCRS, but precessed to a specific requested mean equinox. [#3758]

    • โž• Added Supergalactic frame to support de Vaucouleurs supergalactic coordinates. [#3892]

    • SphericalRepresentation now has a ._unit_representation class attribute to specify an equivalent UnitSphericalRepresentation. This allows subclasses of representations to pair up correctly. [#3757]

    • โž• Added functionality to support getting the locations of observatories by name. See astropy.coordinates.EarthLocation.of_site. [#4042]

    • โž• Added ecliptic coordinates, including GeocentricTrueEcliptic, BarycentricTrueEcliptic, and HeliocentricTrueEcliptic. [#3749]

    astropy.cosmology

    • โž• Add Planck 2015 cosmology [#3476]

    • Distance calculations now > 20-40x faster for the supplied cosmologies due to implementing Cython scalar versions of FLRW.inv_efunc.[#4127]

    astropy.io.ascii ^

    • Automatically use guess=False when reading if the file format is provided and the format parameters are uniquely specified. This update also removes duplicate format guesses to improve performance. [#3418]

    • ๐Ÿ›  Calls to ascii.read() for fixed-width tables may now omit one of the keyword arguments col_starts or col_ends. Columns will be assumed to begin and end immediately adjacent to each other. [#3657]

    • Add a function get_read_trace() that returns a traceback of the attempted read formats for the last call to astropy.io.ascii.read. [#3688]

    • Supports LZMA decompression via get_readable_fileobj [#3667]

    • ๐Ÿ‘ Allow - character is Sextractor format column names. [#4168]

    • ๐Ÿ‘Œ Improve DAOphot reader to read multi-aperture files [#3535, #4207]

    astropy.io.fits ^

    • ๐Ÿ‘Œ Support reading and writing from bzip2 compressed files. i.e. .fits.bz2 files. [#3789]

    • Included a new command-line script called fitsinfo to display a summary of the HDUs in one or more FITS files. [#3677]

    astropy.io.misc ^

    • ๐Ÿ‘Œ Support saving all meta information, description and units of tables and columns in HDF5 files [#4103]

    astropy.io.votable

    • A new method was added to astropy.io.votable.VOTable, get_info_by_id to conveniently find an INFO element by its ID attribute. [#3633]

    • Instances in the votable tree now have better __repr__ methods. [#3639]

    astropy.logger.py

    • โž• Added log levels (e.g., DEBUG, INFO, CRITICAL) to astropy.log [#3947]

    astropy.modeling ^

    • โž• Added a new Parameter.validator interface for setting a validation method on individual model parameters. See the Parameter documentation for more details. [#3910]

    • The projection classes that are named based on the 3-letter FITS WCS projections (e.g. Pix2Sky_TAN) now have aliases using longer, more descriptive names (e.g. Pix2Sky_Gnomonic). [#3583]

    • All of the standard FITS WCS projection types have been implemented in astropy.modeling.projections (by wrapping WCSLIB). [#3906]

    • โž• Added Sersic1D and Sersic2D model classes. [#3889]

    • โž• Added the Voigt profile to existing models. [#3901]

    • Added bounding_box property and render_model function [#3909]

    astropy.nddata ^

    • โฌ‡๏ธ Added block_reduce and block_replicate functions. [#3453]

    • extract_array now offers different options to deal with array boundaries [#3727]

    • โž• Added a new Cutout2D class to create postage stamp image cutouts with optional WCS propagation. [#3823]

    astropy.stats ^

    • Added sigma_lower and sigma_upper keywords to sigma_clip to allow for non-symmetric clipping. [#3595]

    • โž• Added cenfunc, stdfunc, and axis keywords to sigma_clipped_stats. [#3792]

    • sigma_clip automatically masks invalid input values (NaNs, Infs) before performing the clipping [#4051]

    • โž• Added the histogram routine, which is similar to np.histogram but includes several additional options for automatic determination of optimal histogram bins. Associated helper routines include bayesian_blocks, friedman_bin_width, scott_bin_width, and knuth_bin_width. This functionality was ported from the astroML library. [#3756]

    • โž• Added the bayesian_blocks routine, which implements a dynamic algorithm for locating change-points in various time series. [#3756]

    • A new function poisson_conf_interval() was added to allow easy calculation of several standard formulae for the error bars on the mean of a Poisson variable estimated from a single sample.

    astropy.table ^

    • add_column() and add_columns() now have rename_duplicate option to rename new column(s) rather than raise exception when its name already exists. [#3592]

    • Added Table.to_pandas and Table.from_pandas for converting to/from pandas dataframes. [#3504]

    • ๐ŸŽ‰ Initializing a Table with Column objects no longer requires that the column name attribute be defined. [#3781]

    • โž• Added an info property to Table objects which provides configurable summary information about the table and its columns. [#3731]

    • โž• Added an info property to column classes (Column or mixins). This serves a dual function of providing configurable summary information about the column, and acting as a manager of column attributes such as name, format, or description. [#3731]

    • Updated table and column representation to use the dtype_info_name function for the dtype value. Removed the default "masked=False" from the table representation. [#3868, #3869]

    • โšก๏ธ Updated row representation to be consistent with the corresponding table representation for that row. Added HTML representation so a row displays nicely in IPython notebook.

    • โž• Added a new table indexing engine allowing for the creation of indices on one or more columns of a table using add_index. These indices enable new functionality such as searching for rows by value using loc and iloc, as well as increased performance for certain operations. [#3915, #4202]

    • โž• Added capability to include a structured array or recarray in a table as a mixin column. This allows for an approximation of nested tables. [#3925]

    • Added keep_byteorder option to Table.as_array(). See the "API Changes" section below. [#4080]

    • โž• Added a new method Table.replace_column() to replace an existing column with a new data column. [#4090]

    • โž• Added a tableclass option to Table.pformat() to allow specifying a list of CSS classes added to the HTML table. [#4131]

    • ๐Ÿ†• New CSS for jsviewer table [#2917, #2982, #4174]

    • Added a new Table.show_in_notebook method that shows an interactive view of a Table (similar to Table.show_in_browser(jsviewer=True)) in an Python/Jupyter notebook. [#4197]

    • โž• Added column alignment formatting for better pprint viewing experience. [#3644]

    โœ… astropy.tests ^

    • Added new test config options, config_dir and cache_dir (these can be edited in setup.cfg or as extra command-line options to py.test) for setting the locations to use for the Astropy config files and download caches (see also the related set_temp_config/cache features added in astropy.config). [#3975]

    astropy.time ^

    • โž• Add support for FITS standard time strings. [#3547]

    • ๐Ÿ‘ Allow the format attribute to be updated in place to change the default representation of a Time object. [#3673]

    • โž• Add support for shape manipulation (reshape, ravel, etc.). [#3224]

    • โž• Add argmin, argmax, argsort, min, max, ptp, sort methods. [#3681]

    • โž• Add Time.to_datetime method for converting Time objects to timezone-aware datetimes. [#4119, #4124]

    astropy.units ^

    • โž• Added furlong to imperial units. [#3529]

    • โž• Added mil to imperial units. [#3716]

    • โž• Added stone to imperial units. [#4192]

    • Added Earth Mass (M_earth) and Jupiter mass (M_jup) to units [#3907]

    • โž• Added support for functional units, in particular the logarithmic ones Magnitude, Decibel, and Dex. [#1894]

    • ๐Ÿ‘€ Quantities now work with the unit support in matplotlib. See :ref:plotting-quantities. [#3981]

    • Clarified imperial mass measurements and added pound force (lbf), kilopound (kip), and pound per square inch (psi). [#3409]

    astropy.utils ^

    • โž• Added new OrderedDescriptor and OrderedDescriptorContainer utility classes that make it easier to implement classes with declarative APIs, wherein class-level attributes have an inherit "ordering" to them that is specified by the order in which those attributes are defined in the class declaration (by defining them using special descriptors that have OrderedDescriptor as a base class). See the API documentation for these classes for more details. Coordinate frames and models now use this interface. [#3679]

    • The get_pkg_data_* functions now take an optional package argument which allows specifying any package to read package data filenames or content out of, as opposed to only being able to use data from the package that the function is called from. [#4079]

    • Added function dtype_info_name to the data_info module to provide the name of a dtype for human-readable informational purposes. [#3868]

    • โž• Added classproperty decorator--this is to property as classmethod is to normal instance methods. [#3982]

    • iers.open now handles network URLs, as well as local paths. [#3850]

    • The astropy.utils.wraps decorator now takes an optional exclude_args argument not shared by the standard library wraps decorator (as it is unique to the Astropy version's ability of copying the wrapped function's argument signature). exclude_args allows certain arguments on the wrapped function to be excluded from the signature of the wrapper function. This is particularly useful when wrapping an instance method as a function (to exclude the self argument). [#4017]

    • get_readable_fileobj can automatically decompress LZMA ('.xz') files using the lzma module of Python 3.3+ or, when available, the backports.lzma package on earlier versions. [#3667]

    • The resolve_name utility now accepts any number of additional positional arguments that are automatically dotted together with the first name argument. [#4083]

    • Added is_url_in_cache for resolving paths to cached files via URLS and checking if files exist. [#4095]

    • โž• Added a step argument to the ProgressBar.map method to give users control over the update frequency of the progress bar. [#4191]

    astropy.visualization

    • โž• Added a function / context manager quantity_support for enabling seamless plotting of Quantity instances in matplotlib. [#3981]

    • โž• Added the hist function, which is similar to plt.hist but includes several additional options for automatic determination of optimal histogram bins. This functionality was ported from the astroML library. [#3756]

    astropy.wcs ^

    • โฌ†๏ธ The included version of wcslib has been upgraded to 5.10. [#3992, #4239]

    The minimum required version of wcslib in the 4.x series remains 4.24.

    The minimum required version of wcslib in the 5.x series is 5.8. Building astropy against a wcslib 5.x prior to 5.8 will raise an ImportError when astropy.wcs is imported.

    The wcslib changes relevant to astropy are:

    • The FITS headers returned by astropy.wcs.WCS.to_header and astropy.wcs.WCS.to_header_string now include values with more precision. This will result in numerical differences in your results if you convert astropy.wcs.WCS objects to FITS headers and use the results.

    • astropy.wcs.WCS now recognises the TPV, TPD, TPU, DSS, TNX and ZPX polynomial distortions.

    • Added relaxation flags to allow PC0i_0ja, PV0j_0ma, and PS0j_0ma (i.e. with leading zeroes on the index).

    • Tidied up error reporting, particularly relating to translating status returns from lower-level functions.

    • ๐Ÿ”„ Changed output formatting of floating point values in to_header.

    • โœจ Enhanced text representation of WCS objects. [#3604]

    • โœ… The astropy.tests.helper module is now part of the public API (and has a documentation page). This module was in previous releases of astropy, but was not considered part of the public API until now. [#3890]

    • There is a new function astropy.online_help to search the astropy documentation and display the result in a web browser. [#3642]

    API changes

    astropy.cosmology

    • FLRW._tfunc and FLRW._xfunc are marked as deprecated. Users should use the new public interfaces FLRW.lookback_time_integrand and FLRW.abs_distance_integrand instead. [#3767]

    astropy.io.ascii ^

    • 0๏ธโƒฃ The default header line processing was made to be consistent with data line processing in that it now ignores blank lines that may have whitespace characters. Any code that explicitly specifies a header_start value for parsing a file with blank lines in the header containing whitespace will need to be updated. [#2654]

    astropy.io.fits ^

    • 0๏ธโƒฃ The uint argument to fits.open is now True by default; that is, arrays using the FITS unsigned integer convention will be detected, and read as unsigned integers by default. A new config option for io.fits, enable_uint, can be changed to False to revert to the original behavior of ignoring the uint convention unless it is explicitly requested with uint=True. [#3916]

    • The ImageHDU.NumCode and ImageHDU.ImgCode attributes (and same for other classes derived from _ImageBaseHDU) are deprecated. Instead, the astropy.io.fits module-level constants BITPIX2DTYPE and DTYPE2BITPIX can be used. [#3916]

    astropy.modeling ^

    • Note: Comparisons of model parameters with array-like values now yields a Numpy boolean array as one would get with normal Numpy array comparison. Previously this returned a scalar True or False, with True only if the comparison was true for all elements compared, which could lead to confusing circumstances. [#3912]

    • Using model.inverse = None to reset a model's inverse to its default is deprecated. In the future this syntax will explicitly make a model not have an inverse (even if it has a default). Instead, use del model.inverse to reset a model's inverse to its default (if it has a default, otherwise this just deletes any custom inverse that has been assigned to the model and is still equivalent to setting model.inverse = None). [#4236]

    • ๐Ÿ‘‰ Adds a model.has_user_inverse attribute which indicates whether or not a user has assigned a custom inverse to model.inverse. This is just for informational purposes, for example, for software that introspects model objects. [#4236]

    • ๐Ÿ“‡ Renamed the parameters of RotateNative2Celestial and RotateCelestial2Native from phi, theta, psi to lon, lat and lon_pole. [#3578]

    • Deprecated the Pix2Sky_AZP.check_mu and Sky2Pix_AZP.check_mu methods (these were obscure "accidentally public" methods that were probably not used by anyone). [#3910]

    • โž• Added a phase parameter to the Sine1D model. [#3807]

    astropy.stats ^

    • ๐Ÿ“‡ Renamed the sigma_clip sig keyword as sigma. [#3595]

    • ๐Ÿ”„ Changed the sigma_clip varfunc keyword to stdfunc. [#3595]

    • Renamed the sigma_clipped_stats mask_val keyword to mask_value. [#3595]

    • ๐Ÿ”„ Changed the default iters keyword value to 5 in both the sigma_clip and sigma_clipped_stats functions. [#4067]

    astropy.table ^

    • Table.as_array() always returns a structured array with each column in the system's native byte order. The optional keep_byteorder=True option will keep each column's data in its original byteorder. [#4080]

    • Table.simple_table() now creates tables with int64 and float64 types instead of int32 and float64. [#4114]

    • An empty table can now be initialized without a names argument as long as a valid dtype argument (with names embedded) is supplied. [#3977]

    astropy.time ^

    • ๐Ÿšš The astropy_time attribute and time format has been removed from the public interface. Existing code that instantiates a new time object using format='astropy_time' can simply omit the format specification. [#3857]

    astropy.units ^

    • Single-item Quantity instances with record dtype will now have their isscalar property return True, consistent with behaviour for numpy arrays, where np.void records are considered scalar. [#3899]

    • Three changes relating to the FITS unit format [#3993]:

    • ๐Ÿ“œ The FITS unit format will no longer parse an arbitrary number as a scale value. It must be a power of 10 of the form 10^^k, 10^k, 10+k, 10-k and 10(k). [#3993]

    • Scales that are powers of 10 can be written out. Previously, any non-1.0 scale was rejected.

    • The * character is accepted as a separator between the scale and the units.

    • ๐Ÿ“œ Unit formatter classes now require the parse and to_string methods are now required to be classmethods (and the formatter classes themselves are assumed to be singletons that are not instantiated). As unit formatters are mostly an internal implementation detail this is not likely to affect any users. [#4001]

    • CGS E&M units are now defined separately from SI E&M units, and have distinct physical types. [#4255, #4355]

    astropy.utils ^

    • All of the get_pkg_data_* functions take an optional package argument as their second positional argument. So any code that previously passed other arguments to these functions as positional arguments might break. Use keyword argument passing instead to mitigate this. [#4079]

    • astropy.utils.iers now uses a QTable internally, which means that the numerical columns are stored as Quantity, with full support for units. Furthermore, the ut1_utc method now returns a Quantity instead of a float or an array (as did pm_xy already). [#3223]

    • astropy.utils.iers now throws an IERSRangeError, a subclass of IndexError, rather than a raw IndexError. This allows more fine-grained catching of situations where a Time is beyond the range of the loaded IERS tables. [#4302]

    astropy.wcs ^

    • When compiled with wcslib 5.9 or later, the FITS headers returned by astropy.wcs.WCS.to_header and astropy.wcs.WCS.to_header_string now include values with more precision. This will result in numerical differences in your results if you convert astropy.wcs.WCS objects to FITS headers and use the results.

    • If NAXIS1 or NAXIS2 is not passed with the header object to WCS.calc_footprint, a ValueError is raised. [#3557]

    ๐Ÿ› Bug fixes

    astropy.constants

    • The constants Ry and u are now properly used inside the corresponding units. The latter have changed slightly as a result. [#4229]

    astropy.coordinates

    • Internally, coordinates now consistently uses the appropriate time scales for using ERFA functions. [#4302]

    astropy.io.ascii ^

    • ๐Ÿ›  Fix a segfault in the fast C parser when one of the column headers is empty [#3545].

    • ๐Ÿ›  Fix several bugs that prevented the fast readers from being used when guessing the file format. Also improved the read trace information to better understand format guessing. [#4115]

    • ๐Ÿ›  Fix an underlying problem that resulted in an uncaught TypeError exception when reading a CDS-format file with guessing enabled. [#4120]

    astropy.modeling ^

    • Simplex fitter now correctly passes additional keywords arguments to the scipy solver. [#3966]

    • The keyword acc (for accuracy) is now correctly accepted by Simplex. [#3966]

    astropy.units ^

    • The units Ryd and u are no longer hard-coded numbers, but depend on the appropriate values in the constants module. As a result, these units now imply slightly different conversions. [#4229]

    Other Changes and Additions

    • โœ… The ./setup.py test command is now implemented in the astropy.tests module again (previously its implementation had been moved into astropy-helpers). However, that made it difficult to synchronize changes to the Astropy test runner with changes to the ./setup.py test UI. astropy-helpers v1.1 and above will detect this implementation of the test command, when present, and use it instead of the old version that was included in astropy-helpers (most users will not notice any difference as a result of this change). [#4020]

    • The repr for Table no longer displays masked=False since tables are not masked by default anyway. [#3869]

    • โšก๏ธ The version of PLY that ships with astropy has been updated to 3.6.

    • ๐Ÿ— WCSAxes is now required for doc builds. [#4074]

    • ๐Ÿšš The migration guide from pre-v0.4 coordinates has been removed to avoid cluttering the astropy.coordinates documentation with increasingly irrelevant material. To see the migration guide, we recommend you simply look to the archived documentation for previous versions, e.g. https://docs.astropy.org/en/v1.0/coordinates/index.html#migrating-from-pre-v0-4-coordinates [#4203]

    • In astropy.coordinates, the transformations between GCRS, CIRS, and ITRS have been adjusted to more logically reflect the order in which they actually apply. This should not affect most coordinate transformations, but may affect code that is especially sensitive to machine precision effects that change when the order in which transformations occur is changed. [#4255]

    • ๐Ÿš€ Astropy v1.1.0 will be the last release series to officially support Python 2.6. A deprecation warning will now be issued when using Astropy in Python 2.6 (this warning can be disabled through the usual Python warning filtering mechanisms). [#3779]

  • v1.0.13 Changes

    May 29, 2017

    ๐Ÿ› Bug Fixes

    astropy.io.fits ^

    • ๐Ÿ›  Fix use of quantize level parameter for CompImageHDU. [#6029]

    • Prevent crash when a header contains non-ASCII (e.g. UTF-8) characters, to allow fixing the problematic cards. [#6084]

  • v1.0.12 Changes

    March 05, 2017

    ๐Ÿ› Bug Fixes

    astropy.convolution

    • โ†” Fixed bug in discretize_integrate_2D in which x and y coordinates where swapped. [#5634]

    astropy.coordinates

    • ๐Ÿ›  Fixed a bug where get_transform could sometimes produce confusing errors because of a typo in the input validation. [#5645]

    astropy.io.fits ^

    • Guard against extremely unlikely problems in compressed images, which could lead to memory unmapping errors. [#5775]

    astropy.io.votable

    • ๐Ÿ›  Fixed a bug where stdlib realloc() was used instead of PyMem_Realloc() [#5696, #4739, #2100]

    astropy.utils ^

    • ๐Ÿ›  Fixed ImportError with NumPy < 1.7 and Python 3.x in _register_patched_dtype_reduce. [#5848]
  • v1.0.11 Changes

    December 22, 2016

    ๐Ÿ› Bug Fixes

    astropy.coordinates

    • ๐ŸŽ‰ Initialising a SkyCoord from a list containing a single SkyCoord no longer removes the distance from the coordinate. [#5270]

    • ๐Ÿ›  Fix errors in the implementation of the conversion to and from FK4 frames without e-terms, which will have affected coordinates not on the unit sphere (i.e., with distances). [#4293]

    • ๐Ÿ›  Fix bug where with cds units enabled it was no longer possible to initialize an Angle. [#5483]

    • Ensure that search_around_sky and search_around_3d return integer type index arrays for empty (non) matches. [#4877, #5083]

    • Return an empty set of matches for search_around_sky and search_around_3d when one or both of the input coordinate arrays is empty. [#4875, #5083]

    astropy.io.ascii ^

    • ๐Ÿ›  Fix a bug with empty value at end of tab-delimited table on Windows. [#5370]

    • ๐Ÿ›  Fix reading of big ASCII tables (more than 2Gb) with the fast reader. [#5319]

    • ๐Ÿ›  Fix segfault with FastCsv and row with too many columns. [#5534]

    • ๐Ÿ›  Fix problem reading an AASTex format table that does not have \\ at the end of the last table row. [#5427]

    astropy.io.fits ^

    • โœ‚ Removed raising of AssertionError that could occur after closing or deleting compressed image data. [#4690, #4694, #4948]

    • ๐Ÿ›  Fixed bug that caused an ignored exception to be displayed under certain conditions when terminating a script after using fits.getdata(). [#4977]

    • ๐Ÿ›  Fixed usage of inplace operations that were raising an exception with recent versions of Numpy due to implicit casting. [#5250]

    astropy.io.votable

    • Fixed bug of Resource.__repr__() having undefined attributes and variables. [#5382]

    astropy.modeling ^

    • CompoundModel now correctly inherits _n_models, allowing the use of model sets [#5358]

    astropy.units ^

    • ๐Ÿ›  Fixed bug in Ci definition. [#5106]

    • Non-ascii cds unit strings are now correctly represented using str also on python2. This solves bugs in parsing coordinates involving strings too. [#5355]

    • ๐Ÿ‘ Ensure Quantity supports np.float_power, which is new in numpy 1.12. [#5480]

    astropy.utils ^

    • Fixed AttributeError when calling utils.misc.signal_number_to_name with Python3 [#5430].

    astropy.wcs ^

    • โšก๏ธ Update the _naxis{x} attributes when calling WCS.slice. [#5411]

    Other Changes and Additions

    • โšก๏ธ The bundled ERFA was updated to version 1.3.0. This includes the leap second planned for 2016 Dec 31. [#5418]
  • v1.0.10 Changes

    June 09, 2016

    ๐Ÿ› Bug Fixes

    astropy.coordinates

    • SkyCoord objects created before a new frame which has frame attributes is created no longer raise AttributeError when the new attributes are accessed [#5021]

    • ๐Ÿ›  Fix some errors in the implementation of aberration for get_sun. [#4979]

    astropy.io.ascii ^

    • ๐Ÿ›  Fix problem reading a zero-length ECSV table with a bool type column. [#5010]

    astropy.io.fits ^

    • ๐Ÿ›  Fix convenience functions (getdata, getheader, append, update) to close files. [#4786]

    astropy.io.votable

    • โšก๏ธ The astropy.io.votable.validator.html module is updated to handle division by zero when generating validation report. [#4699]

    astropy.table ^

    • ๐Ÿ›  Fixed a bug where pprint() sometimes raises UnicodeDecodeError in Python 2. [#4946]

    • ๐Ÿ›  Fix bug when doing outer join on multi-dimensional columns. [#4060]

    • ๐Ÿ›  Fixed bug where Tables created from existing Table objects were not inheriting the primary_key attribute. [#4672]

    โœ… astropy.tests ^

    • ๐Ÿ›  Fix coverage reporting in Python 3. [#4822]

    astropy.units ^

    • ๐Ÿšš Duplicates between long and short names are now removed in the names and aliases properties of units. [#5036]

    astropy.utils ^

    • The astropy.utils.xml.unescaper module now also unescapes '%2F' to '/' and '&&' to '&' in a given URL. [#4699]

    • Fix two problems related to the download cache: clear_download_cache() does not work in Python 2.7 and downloading in Python 2.7 and then Python 3 can result in an exception. [#4810]

    astropy.vo ^

    • Cache option now properly caches both downloaded JSON database and XML VO tables. [#4699]

    • โšก๏ธ The astropy.vo.validator.conf.conesearch_urls listing is updated to reflect external changes to some VizieR Cone Search services. [#4699]

    • VOSDatabase decodes byte-string to UTF-8 instead of ASCII to avoid UnicodeDecodeError for some rare cases. Fixed a Cone Search test that is failing as a side-effect of #4699. [#4757]

    Other Changes and Additions

    • โšก๏ธ Updated astropy.tests test runner code to work with Coverage v4.0 when generating test coverage reports. [#4176]
  • v1.0.9 Changes

    March 10, 2016

    ๐Ÿ†• New Features

    astropy.nddata ^

    • NDArithmeticMixin check for matching WCS now works with astropy.wcs.WCS objects [#4499, #4503]

    ๐Ÿ› Bug Fixes

    astropy.convolution

    • Correct a bug in which psf_pad and fft_pad would be ignored [#4366]

    astropy.io.ascii ^

    • ๐Ÿ›  Fixed addition of new line characters after last row of data in ascii.latex.AASTex. [#4561]

    • ๐Ÿ›  Fixed reading of Latex tables where the \tabular tag is in the first line. [#4595]

    • ๐Ÿ›  Fix use of plain format strings with the fast writer. [#4517]

    • ๐Ÿ›  Fix bug writing space-delimited file when table has empty fields. [#4417]

    astropy.io.fits ^

    • ๐Ÿ›  Fixed possible segfault during error handling in FITS tile compression. [#4489]

    • ๐Ÿ›  Fixed crash on pickling of binary table columns with the 'X', 'P', or 'Q' format. [#4514]

    • ๐Ÿ›  Fixed memory / reference leak that could occur when copying a FITS_rec object (the .data for table HDUs). [#520]

    • ๐Ÿ›  Fixed a memory / reference leak in FITS_rec that occurred in a wide range of cases, especially after writing FITS tables to a file, but in other cases as well. [#4539]

    astropy.modeling ^

    • ๐Ÿ›  Fixed display of compound model expressions and components when printing compound model instances. [#4414, #4482]

    astropy.stats ^

    • the input for median_absolute_deviation will not be cast to plain numpy arrays when given subclasses of numpy arrays (like Quantity, numpy.ma.MaskedArray, etc.) [#4658]

    • Fixed incorrect results when using median_absolute_deviation with masked arrays. [#4658]

    astropy.utils ^

    • ๐Ÿš€ The zest.releaser hooks included in Astropy are now injected locally to Astropy, rather than being global. [#4650]

    astropy.visualization

    • ๐Ÿ›  Fixed fits2bitmap script to allow ext flag to contain extension names or numbers. [#4468]

    • ๐Ÿ›  Fixed fits2bitmap default output filename generation for compressed FITS files. [#4468]

  • v1.0.8 Changes

    January 08, 2016

    ๐Ÿ› Bug Fixes

    astropy.io.fits ^

    • ๐Ÿ›  Fixed an bug where updates to string columns in FITS tables were not saved on Python 3. [#4452]

    astropy.units ^

    • In-place peak-to-peak calculations now work on Quantity. [#4442]

    astropy.utils ^

    • Fixed find_api_page to work correctly on python 3.x [#4378, #4379]
  • v1.0.7 Changes

    December 04, 2015

    ๐Ÿ› Bug Fixes

    astropy.coordinates

    • Pickling of EarthLocation instances now also works on Python 2. [#4304]

    astropy.io.ascii ^

    • ๐Ÿ›  Fix fast writer so bytestring column output is not prefixed by 'b' in Python 3. [#4350]

    astropy.io.fits ^

    • ๐Ÿ›  Fixed a regression that could cause writes of large FITS files to be truncated. [#4307]

    • Astropy v1.0.6 included a fix (#4228) for an obscure case where the TDIM of a table column is smaller than the repeat count of its data format. This updates that fix in such a way that it works with Numpy 1.10 as well. [#4266]

    astropy.table ^

    • ๐Ÿ›  Fix a bug when pickling a Table with mixin columns (e.g. Time). [#4098]

    astropy.time ^

    • ๐Ÿ›  Fix incorrect value attribute for epoch formats like "unix" when scale is different from the class epoch_scale. [#4312]

    astropy.utils ^

    • ๐Ÿ›  Fixed an issue where if ipython is installed but ipykernel is not installed then importing astropy from the ipython console gave an IPython.kernel deprecation warning. [#4279]

    • ๐Ÿ›  Fixed crash that could occur in ProgressBar when astropy is imported in an IPython startup script. [#4274]

    Other Changes and Additions

    • โšก๏ธ Updated bundled astropy-helpers to v1.0.6. [#4372]
  • v1.0.6 Changes

    October 22, 2015

    ๐Ÿ› Bug Fixes

    astropy.analytic_functions

    • ๐Ÿ›  Fixed blackbody analytic functions to properly support arrays of temperatures. [#4251]

    astropy.coordinates

    • ๐Ÿ›  Fixed errors in transformations for objects within a few AU of the Earth. Included substantive changes to transformation machinery that may change distances at levels ~machine precision for other objects. [#4254]

    astropy.io.fits ^

    • ๐Ÿ‘ท fitsdiff and related functions now do a better job reporting differences between values that are different types but have the same representation (ex: the string '0' versus the number 0). [#4122]

    • ๐Ÿ›  Miscellaneous fixes for supporting Numpy 1.10. [#4228]

    • ๐Ÿ›  Fixed an issue where writing a column of unicode strings to a FITS table resulted in a quadrupling of size of the column (i.e. the format of the FITS column was 4 characters for every one in the original strings). [#4228]

    • โž• Added support for an obscure case (but nonetheless allowed by the FITS standard) where a column has some TDIMn keyword, but a repeat count in the TFORMn column greater than the number of elements implied by the TDIMn. For example TFORMn = 100I, but TDIMn = '(5,5)'. In this case the TDIMn implies 5x5 arrays in the column, but the TFORMn implies a 100 element 1-D array in the column. In this case the TDIM takes precedence, and the remaining bytes in the column are ignored. [#4228]

    astropy.io.votable

    • ๐Ÿ›  Fixed crash with Python compiler optimization level = 2. [#4231]

    astropy.vo ^

    • Fixed check_conesearch_sites with parallel=True on Python >= 3.3 and on Windows (it was broken in both those cases for separate reasons). [#2970]

    Other Changes and Additions

    • โœ… All tests now pass against Numpy v1.10.x. This implies nominal support for Numpy 1.10.x moving forward (but there may still be unknown issues). For example, there is already a known performance issue with tables containing large multi-dimensional columns--for example, tables that contain entire images in one or more of their columns. This is a known upstream issue in Numpy. [#4259]