Asdf Format Asdf Versions Save

ASDF (Advanced Scientific Data Format) is a next generation interchange format for scientific data

3.2.0

1 month ago
  • Deprecate AsdfFile.version_map [#1745]
  • Fix numpy.ma.MaskedArray saving for numpy 2.x [#1769]
  • Add float16 support [#1692]
  • Removed unused asdf-unit-schemas dependency [#1767]

3.1.0

2 months ago

3.1.0 (2024-02-27)

The ASDF Standard is at v1.6.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Cleanup asdf.util including deprecating: human_list resolve_name minversion and iter_subclasses [#1688]

  • Deprecate validation on AsdfFile.tree assignment. Please use AsdfFile.validate to validate the tree [#1691]

  • Deprecate validation during AsdfFile.resolve_references. Please use AsdfFile.validate to validate the tree [#1691]

  • Deprecate asdf.asdf and AsdfFile.resolve_and_inline [#1690]

  • Deprecate automatic calling of AsdfFile.find_references during AsdfFile.__init__ and asdf.open [#1708]

  • Allow views of memmapped arrays to keep the backing mmap open to avoid segfaults [#1668]

  • Introduce memmap argument to asdf.open that overrides copy_arrays with documentation that describes that the default for memmap when copy_arrays is removed in an upcoming asdf release will be False 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 option tagged to load the contents as a tree of asdf.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 new tmp_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 during info and search if it contains a single line (and does not fail) [#1748]

3.0.1

6 months ago

The ASDF Standard is at v1.6.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Fix bug in asdftool diff for arrays within a list [#1672]

3.0.0

7 months ago

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 to asdf.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 returning None in Converter.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 to asdf.config.AsdfConfig, move asdf.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 for asdftool diff comparisons [#1652]

2.15.2

7 months ago

The ASDF Standard is at v1.6.0

  • Add support for python 3.12 [#1641]

2.15.1

9 months ago

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: https://github.com/asdf-format/asdf/compare/2.15.0...2.15.1

2.15.0

1 year ago

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, and pyyaml 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]

2.14.4

1 year ago

Changes include:

  • require jsonschema<4.18 [#1487]

2.14.3

1 year ago

Changes include:

  • Use importlib_metadata for all python versions [#1260]
  • Fix issue #1268, where update could fail to clear memmaps for some files [#1269]
  • Bump asdf-transform-schemas version [#1278]

2.14.2

1 year ago

Changes include:

  • Fix issue #1256, where enum could not be used on tagged objects. [#1257]