Releases: asdf-format/asdf
3.5.0
Bugfix
- Allow
asdf.util.load_yamlto 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
AsdfSerializationErrorto indicate when an object in the
tree fails to be serialized by asdf (and by yaml). This exception currently inherits
fromyaml.representer.RepresenterErrorto provide backwards compatibility. However
this inheritance may be dropped in a future asdf version. Please migrate to the new
AsdfSerializationError. [#1809] - Drop
importlib_metadataas a dependency on Python 3.12 and newer [#1810] - Bumped minimal requirement on
attrsfrom20.1.0to22.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_urlusepathlib.Path.to_uri[#1735] - Record package providing manifest for extensions used to write
a file andAsdfPackageVersionWarningwhen installed extension/manifest
package does not match that used to write the file [#1758] - Fix bug where a dictionary containing a key
idcaused
any contained references to fail to resolve [#1716] - Issue a
AsdfManifestURIMismatchWarningduring 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_baseand
SerializationContext.set_array_save_base[#1753] - Deprecate
ignore_implicit_conversionand "implicit conversion" [#1724] - Add
lazy_treeoption toasdf.openandasdf.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.utilincluding deprecating:human_list
resolve_nameminversionanditer_subclasses[#1688] -
Deprecate validation on
AsdfFile.treeassignment. Please
useAsdfFile.validateto validate the tree [#1691] -
Deprecate validation during
AsdfFile.resolve_references. Please
useAsdfFile.validateto validate the tree [#1691] -
Deprecate
asdf.asdfandAsdfFile.resolve_and_inline[#1690] -
Deprecate automatic calling of
AsdfFile.find_referencesduring
AsdfFile.__init__andasdf.open[#1708] -
Allow views of memmapped arrays to keep the backing mmap
open to avoid segfaults [#1668] -
Introduce
memmapargument toasdf.openthat
overridescopy_arrayswith documentation that describes
that the default formemmapwhencopy_arrays
is removed in an upcoming asdf release will beFalseand
asdf will no longer by-default memory map arrays. [#1667] -
Introduce
asdf.util.load_yamlto load just the YAML contents
of an ASDF file (with the optiontaggedto load the contents
as a tree ofasdf.tagged.Taggedinstances 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
tmpdirfixture in favor of
the newtmp_pathfixture 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
strrepresentation duringinfoandsearch
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_compressionand
all_array_compression_kwargstoasdf.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 returningNoneinConverter.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.infoloading 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.Streamto
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 diffcomparisons [#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, andpyyamlto
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]