Releases: hdmf-dev/hdmf
Releases · hdmf-dev/hdmf
2.5.8
Minor improvements
Bug fix
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
New features
DynamicTable
can be automatically generated usingget_class
. Now the HDMF API can read files with extensions
that contain aDynamicTable
without needing to import the extension first. @rly and @bendichter (#536)- Add
HDF5IO.get_namespaces(path=path, file=file)
method which returns a dict of namespace name mapped to the
namespace version (the largest one if there are multiple) for each namespace cached in the given HDF5 file.
@rly (#527) - Use HDMF common schema 1.5.0.
- Add experimental namespace to HDMF common schema. New data types should go in the experimental namespace
(hdmf-experimental) prior to being added to the core (hdmf-common) namespace. The purpose of this is to provide
a place to test new data types that may break backward compatibility as they are refined. @ajtritt (#545) ExternalResources
was changed to support storing both names and URIs for resources. @mavaylon (#517, #548)- The
VocabData
data type was replaced byEnumData
to provide more flexible support for data from a set of
fixed values. - Added
AlignedDynamicTable
, which defines aDynamicTable
that supports storing a collection of sub-tables.
Each sub-table is itself aDynamicTable
that is aligned with the main table by row index. Each sub-table
defines a sub-category in the main table effectively creating a table with sub-headings to organize columns. - See https://hdmf-common-schema.readthedocs.io/en/latest/format_release_notes.html#april-19-2021 for more
details.
- Add experimental namespace to HDMF common schema. New data types should go in the experimental namespace
- Add
EnumData
type for storing data that comes from a fixed set of values. This replacesVocabData
i.e.
VocabData
has been removed.VocabData
stored vocabulary elements in an attribute, which has a size limit.
EnumData
now stores elements in a separate dataset, referenced by an attribute stored on theEnumData
dataset.
@ajtritt (#537) - Add
AlignedDynamicTable
type which defines a DynamicTable that supports storing a collection of subtables.
Each sub-table is itself a DynamicTable that is aligned with the main table by row index. Each subtable
defines a sub-category in the main table effectively creating a table with sub-headings to organize columns.
@oruebel (#551) - Add tutoral for new
AlignedDynamicTable
type. @oruebel (#571) - Equality check for
DynamicTable
now also checks that the name and description of the table are the same. @rly (#566)
Internal improvements
- Update CI and copyright year. @rly (#523, #524)
- Refactor class generation code. @rly (#533, #535)
- Equality check for
DynamicTable
returns False if the other object is aDynamicTable
instead of raising an error.
@rly (#566) - Update ruamel.yaml usage to new API. @rly (#587)
- Remove use of ColoredTestRunner for more readable verbose test output. @rly (#588)
Bug fixes
- Fix CI testing on Python 3.9. @rly (#523)
- Fix certain edge cases where
GroupValidator
would not validate all of the child groups or datasets
attached to aGroupBuilder
. @dsleiter (#526) - Fix bug for generating classes from link specs and ignored 'help' fields. @rly (#535)
- Various fixes for dynamic class generation. @rly (#561)
- Fix generation of classes that extends both
MultiContainerInterface
and another class that extends
MultiContainerInterface
. @rly (#567) - Fix
make clean
command for docs to clean up sphinx-gallery tutorial files. @oruebel (#571) - Make sure we cannot set
AlignedDynamicTable
as a category on anAlignedDynamicTable
. @oruebel (#571) - Fix included data type resolution between HDMF and custom classes that customize the data_type_inc key. @rly (#503)
- Fix classification of attributes as new/overridden. @rly (#503)
2.4.0
HDMF 2.4.0 (February 23, 2021)
New features
GroupValidator
now checks if child groups, datasets, and links have the correct quantity of elements and returns
anIncorrectQuantityError
for each mismatch. @dsleiter (#500)
Internal improvements
- Update CI. @rly (#432)
- Added driver option for ros3. @bendichter (#506)
Bug fixes
- Allow
np.bool_
as a validbool
dtype when validating. @dsleiter (#505) - Fix building of Data objects where the spec has no dtype and the Data object value is a DataIO wrapping an
AbstractDataChunkIterator. @rly (#512) - Fix TypeError when validating a group with an illegally-linked child.
@dsleiter (#515) - Fix
DynamicTable.get
for compound type columns. @rly (#518) - Fix and removed error "Field 'x' cannot be defined in y." when opening files with some extensions. @rly
(#519)