Releases: asdf-format/asdf
4.0.0
This is a major release for asdf that includes removal of deprecated features and changes to some defaults.
Please see the "what's new" documentation:
https://asdf.readthedocs.io/en/4.0.0/asdf/whats_new.html#whats-new-4-0-0
for a description of the included changes.
Changes include:
Feature
- Switch default ASDF standard to 1.6.0. (
#1744 <https://github.com/asdf-format/asdf/pull/1744>
_) - Raise RuntimeError if a Convert subclass supports multiple tags but doesn't
implement select_tag. (#1853 <https://github.com/asdf-format/asdf/pull/1853>
_)
General
- Set
memmap=False
to default forasdf.open
andAsdfFile.__init__
.
(#1801 <https://github.com/asdf-format/asdf/pull/1801>
_)
Removal
- remove
copy_arrays
(replaced bymemmap
) (#1800 <https://github.com/asdf-format/asdf/pull/1800>
_) - Remove deprecated API. See docs for full details. (
#1852 <https://github.com/asdf-format/asdf/pull/1852>
_) - Switch default convert_unknown_ndarray_subclasses to False and issue
deprecation warning if it is enabled. (#1858 <https://github.com/asdf-format/asdf/pull/1858>
_)
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