Releases: asdf-format/asdf
3.5.0
Bugfix
- Allow
asdf.util.load_yaml
to handle recursive objects (#1825 <https://github.com/asdf-format/asdf/pull/1825>
_)
Doc
- added issue links to changelog entries #1827
- Change asdf standard changelog entries to notes to ease transition to
towncrier #1830
General
- fix changelog checker to remove brackets #1828
Removal
- Deprecate
ignore_version_mismatch
. This option has done nothing since
asdf 3.0.0 and will be removed in an upcoming asdf version #1819
3.4.0
- Fix issue where roundtripping a masked array with no masked values removes the mask [#1803]
- Use a custom exception
AsdfSerializationError
to indicate when an object in the
tree fails to be serialized by asdf (and by yaml). This exception currently inherits
fromyaml.representer.RepresenterError
to provide backwards compatibility. However
this inheritance may be dropped in a future asdf version. Please migrate to the new
AsdfSerializationError
. [#1809] - Drop
importlib_metadata
as a dependency on Python 3.12 and newer [#1810] - Bumped minimal requirement on
attrs
from20.1.0
to22.2.0
[#1815]
3.3.0
- Fix
__asdf_traverse__
for non-tagged objects [#1739] - Deprecate
asdf.testing.helpers.format_tag
[#1774] - Deprecate
asdf.versioning.AsdfSpec
[#1774] - Deprecate
asdf.util.filepath_to_url
usepathlib.Path.to_uri
[#1735] - Record package providing manifest for extensions used to write
a file andAsdfPackageVersionWarning
when installed extension/manifest
package does not match that used to write the file [#1758] - Fix bug where a dictionary containing a key
id
caused
any contained references to fail to resolve [#1716] - Issue a
AsdfManifestURIMismatchWarning
during write if a used
extension was created from a manifest registered with a uri that
does not match the id in the manifest [#1785] - Allow converters to provide types as strings that can
resolve to public classes (even if the class is implemented
in a private module). [#1654] - Add options to control saving the base array when saving array views
controlled viaAsdfConfig.default_array_save_base
,
AsdfFile.set_array_save_base
and
SerializationContext.set_array_save_base
[#1753] - Deprecate
ignore_implicit_conversion
and "implicit conversion" [#1724] - Add
lazy_tree
option toasdf.open
andasdf.config
to allow lazy deserialization of ASDF tagged tree nodes to
custom objects. [#1733]
3.2.0
3.1.0
3.1.0 (2024-02-27)
The ASDF Standard is at v1.6.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
Cleanup
asdf.util
including deprecating:human_list
resolve_name
minversion
anditer_subclasses
[#1688] -
Deprecate validation on
AsdfFile.tree
assignment. Please
useAsdfFile.validate
to validate the tree [#1691] -
Deprecate validation during
AsdfFile.resolve_references
. Please
useAsdfFile.validate
to validate the tree [#1691] -
Deprecate
asdf.asdf
andAsdfFile.resolve_and_inline
[#1690] -
Deprecate automatic calling of
AsdfFile.find_references
during
AsdfFile.__init__
andasdf.open
[#1708] -
Allow views of memmapped arrays to keep the backing mmap
open to avoid segfaults [#1668] -
Introduce
memmap
argument toasdf.open
that
overridescopy_arrays
with documentation that describes
that the default formemmap
whencopy_arrays
is removed in an upcoming asdf release will beFalse
and
asdf will no longer by-default memory map arrays. [#1667] -
Introduce
asdf.util.load_yaml
to load just the YAML contents
of an ASDF file (with the optiontagged
to load the contents
as a tree ofasdf.tagged.Tagged
instances to preserve tags) [#1700] -
Require pytest 7+ and update asdf pytest plugin to be compatible
with the current development version of pytest (8.1) [#1731] -
Eliminate the use of the legacy
tmpdir
fixture in favor of
the newtmp_path
fixture for temporary directory creation. [#1759] -
Remove conversion of warnings to errors in asdf pytest plugin. This
prevented other warning filters (like those provided with-W
)
from working. If you want these warnings to produce errors you can
now add your own warning filter [#1757] -
Only show
str
representation duringinfo
andsearch
if it contains a single line (and does not fail) [#1748]
3.0.1
3.0.0
Asdf 3.0.0 is the first major asdf release since 2018.
Thank you to all the contributors!
There are many large and small changes in asdf 3.0.
Please see the updated docs and the What's New page for more details.
The ASDF Standard is at v1.6.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Drop support for ASDF-in-FITS. [#1288]
- Add
all_array_storage
,all_array_compression
and
all_array_compression_kwargs
toasdf.config.AsdfConfig
[#1468] - Move built-in tags to converters (except ndarray and integer). [#1474]
- Add block storage support to Converter [#1508]
- Remove deprecated legacy extension API [#1464]
- Fix issue opening files that don't support
fileno
[#1557] - Allow Converters to defer conversion to other Converters
by returningNone
inConverter.select_tag
[#1561] - Remove deprecated tests.helpers [#1597]
- Remove deprecated load_custom_schema [#1596]
- Remove deprecated TagDefinition.schema_uri [#1595]
- Removed deprecated AsdfFile.open and deprecated asdf.open
AsdfFile.write_to and AsdfFile.update kwargs [#1592] - Fix
AsdfFile.info
loading all array data [#1572] - Blank out AsdfFile.tree on close [#1575]
- Move ndarray to a converter, add
convert_unknown_ndarray_subclasses
toasdf.config.AsdfConfig
, moveasdf.Stream
to
asdf.tags.core.Stream
, update block storage support for
Converter and update internal block API [#1537] - Remove deprecated resolve_local_refs argument to load_schema [#1623]
- Move IntegerType to converter and drop cache of converted values. [#1527]
- Remove legacy extension API [#1637]
- Fix bug that left out the name of the arrays that differed
forasdftool diff
comparisons [#1652]
2.15.2
2.15.1
The ASDF Standard is at v1.6.0
- Drop Python 3.8 support [#1556]
- Drop NumPy 1.20, 1.21 support [#1568]
- Convert numpy scalars to python types during yaml encoding to handle NEP51 changes for numpy 2.0 [#1605]
- Vendorize jsonschema 4.17.3 [#1591]
jsonschema vendorization
Asdf 2.15.1 includes internally a version of jsonschema 4.17.3. This inclusion was done to deal with incompatible changes in jsonschema 4.18.
Many libraries that use asdf import jsonschema to allow catching of ValidationError instances that might be raised during schema validation. Prior to asdf 2.15 this error type was not part of the public asdf API. For 2.15 and later users are expected to import ValidationError from asdf.exceptions (instead of jsonschema directly).
To further ease the transition, asdf will, when possible, use exceptions imported from any installed version of jsonschema. This means that when the asdf internal jsonschema raises a ValidationError on a system where jsonschema was separately installed, the internal jsonschema will attempt to use ValidationError from the installed version. This should allow code that catches exceptions imported from jsonschema to continue to work with no changes. However, asdf cannot guarantee compatibility with future installed jsonschema versions and users are encouraged to update their code to import ValidationError from asdf.exceptions.
Finally, asdf is temporarily keeping jsonschema as a dependency as many libraries expected this to be installed by asdf. We expect to drop this requirement soon (likely in 3.0.0) and this change might occur in a minor or even patch version.
The above text is also available in the updated docs under What's New.
Full Changelog: 2.15.0...2.15.1
2.15.0
The ASDF Standard is at v1.6.0
- Require numpy<1.25 for python 3.8 [#1327]
- Add AsdfProvisionalAPIWarning to warn developers of new features that
may undergo breaking changes but are likely to be included as stable
features (without this warning) in a future version of ASDF [#1295] - Add AsdfDeprecationWarning to AsdfFile.blocks [#1336]
- Document policy for ASDF release cycle including when support for ASDF versions
end. Also document dependency support policy. [#1323] - Update lower pins on
numpy
(per release policy),packaging
, andpyyaml
to
ones that we can successfully build and test against. [#1360] - Provide more informative filename when failing to open a file [#1357]
- Add new plugin type for custom schema validators. [#1328]
- Add AsdfDeprecationWarning to
asdf.types.CustomType
[#1359] - Throw more useful error when provided with a path containing an
extra leading slash [#1356] - Add AsdfDeprecationWarning to AsdfInFits. Support for reading and
writing ASDF in fits files is being moved to stdatamodels. [#1337] - Add AsdfDeprecationWarning to asdf.resolver [#1362]
- Add AsdfDeprecationWarning to asdf.tests.helpers.assert_extension_correctness [#1388]
- Add AsdfDeprecationWarning to asdf.type_index [#1403]
- Add warning to use of asdftool extract and remove-hdu about deprecation
and impending removal [#1411] - Deprecate AsdfFile attributes that use the legacy extension api [#1417]
- Add AsdfDeprecationWarning to asdf.types [#1401]
- deprecate default_extensions, get_default_resolver and
get_cached_asdf_extension_list in asdf.extension [#1409] - move asdf.types.format_tag to asdf.testing.helpers.format_tag [#1433]
- Deprecate AsdfExtenion, AsdfExtensionList, BuiltinExtension [#1429]
- Add AsdfDeprecationWarning to asdf_extensions entry point [#1361]
- Deprecate asdf.tests.helpers [#1440]
- respect umask when determining file permissions for written files [#1451]
- rename master branch to main [#1479]