Releases: hdmf-dev/hdmf
3.12.0
HDMF 3.12.0 (January 17, 2024)
Enhancements
- Add Data.set_data_io(), which allows for setting a
DataIO
to a data object after-the-fact. @bendichter and @CodyCBakerPhD #1013 - Added
add_ref_termset
, updated helper methods forHERD
, revisedadd_ref
to support validations prior to populating the tables
and addedadd_ref_container
. @mavaylon1 #968 - Use
stacklevel
in most warnings. @rly #1027
Minor Improvements
- Updated
__gather_columns
to ignore the order of bases when generating columns from the super class. @mavaylon1 #991 - Update
get_key
to return all the keys if there are multiple within aHERD
instance. @mavaylon1 #999 - Improve HTML rendering of tables. @bendichter #998
- Improved issue and PR templates. @rly #1004
- Added check during validation for if a variable length dataset is empty. @bendichter, @oruebel #789
Bug fixes
- Fixed issue with custom class generation when a spec has a
name
. @rly #1006 - Fixed issue with usage of deprecated
ruamel.yaml.safe_load
insrc/hdmf/testing/validate_spec.py
. @rly #1008 - Fixed issue where
ElementIdentifiers
data could be set to non-integer values. @rly #1009 - Fixed issue where string datasets/attributes with isodatetime-formatted values failed validation against a text spec. @rly #1026
3.11.0
HDMF 3.11.0 (October 30, 2023)
Enhancements
- Added
target_tables
attribute toDynamicTable
to allow users to specify the target table of any predefined
DynamicTableRegion
columns of aDynamicTable
subclass. @rly #971 - Updated
TermSet
to include_repr_html_
for easy to read notebook representation. @mavaylon1 #967
Minor improvements
- Set up GitHub dependabot to check for updates to GitHub Actions. @rly #977
- Simplify tox configuration. @rly #988
- Add testing for Python 3.12. @rly #988
Bug fixes
- Updated custom class generation to handle specs with fixed values and required names. @rly #800
- Fixed custom class generation of
DynamicTable
subtypes to set attributes corresponding to column names for correct write. @rly #800 - Added a
.mailmap
file to correct mapping of names/emails in git logs. @oruebel #976
3.10.0
HDMF 3.10.0 (October 3, 2023)
Since version 3.9.1 should have been released as 3.10.0 but failed to release on PyPI and conda-forge, this release
will increase the minor version number to 3.10.0. See the 3.9.1 release notes below for new features.
Bug fixes
HDMF 3.9.1 (September 29, 2023)
Enhancements
- Updated
TermSet
to be used withTermSetWrapper
, allowing for general use of validation for datasets and attributes. This also brings updates toHERD
integration and updates onwrite
to easily add references for wrapped datasets/attributes. @mavaylon1 #950
Minor improvements
- Removed warning when namespaces are loaded and the attribute marking where the specs are cached is missing. @bendichter #926
Bug fixes
3.9.0
HDMF 3.9.0 (August 25, 2023)
New features and minor improvements
- Increased raw data chunk cache size for reading HDF5 files from 1 MiB to 32 MiB. @bendichter, @rly #925
- Increased default chunk size for
GenericDataChunkIterator
from 1 MB to 10 MB. @bendichter, @rly #925 - Added the magic
__reduce__
method as well as two private semi-abstract helper methods to enable pickling of theGenericDataChunkIterator
. @CodyCBakerPhD #924 - Updated
add_ref_termset
to add all instances ofTermSet
within a given root container. @mavaylon1 #935 - Added Dynamic Enumerations and Schemasheets support to
TermSet
. @mavaylon1 #923 - Updated
HERD
to support user defined file name for theHERD
zip file. @mavaylon1 #941 - Added method
Container.set_data_io
, which wraps an existing data field in aDataIO
. @bendichter #938
3.8.1
3.8.0
HDMF 3.8.0 (July 21,2023)
New features and minor improvements
- Added the ability to write ExternalResources if the path is provided and the container has a linked instance of ExternalResources. @mavaylon1 #910
Bug fixes
- Fixed bug on
add_ref_term_set
in which attributes that were not subscribtable returned an error. @mavaylon1 #909
3.7.0
HDMF 3.7.0 (July 10, 2023)
New features and minor improvements
Updated ExternalResources to have EntityKeyTable with updated tests/documentation and minor bug fix to ObjectKeyTable. @mavaylon1 #872
Added abstract static method HDMFIO.can_read() and concrete static method HDF5IO.can_read(). @bendichter #875
Added warning for DynamicTableRegion links that are not added to the same parent as the original container object. @mavaylon1 #891
Added the TermSet class along with integrated validation methods for any child of AbstractContainer, e.g., VectorData, Data, DynamicTable. @mavaylon1 #880
Added AbstractContainer.read_io property to be able to retrieve the HDMFIO object used for reading from the container and to ensure the I/O object used for reading is not garbage collected before the container is being deleted. @bendichter @oruebel #882
Allow for datetime.date to be used instead of datetime.datetime. @bendichter #874
Updated HDMFIO and HDF5IO to support ExternalResources. @mavaylon1 #895
Dropped Python 3.7 support. @rly #897
Added HTML repr to Container objects which displays an interactive tree of a container's values and children in a Jupyter notebook and other HTML representations. @edeno #883
Update software_process.rst with the correct external links. @mavaylon1 #900
3.6.1
3.6.0
HDMF 3.6.0 (May 12, 2023)
New features and minor improvements
- Updated
ExternalResources
to haveFileTable
and new methods to query data. theResourceTable
has been removed along with methods relating toResource
. @mavaylon #850 - Updated hdmf-common-schema version to 1.6.0. @mavaylon #850
- Added testing of HDMF-Zarr on PR and nightly. @rly #859
- Replaced
setup.py
withpyproject.toml
. @rly #844 - Use
ruff
instead offlake8
. @rly #844 - Replaced
versioneer
withsetuptools_scm
for versioning. @rly #844 - Now recommending developers use
pre-commit
. @rly #844
Bug fixes
- Export cached specs that are loaded in source IO manager but not in export IO manager. @rly
#855 - Fixed issue with passing an S3 URL for source in the constructor of
HDMFIO
@rly
#853
Documentation and tutorial enhancements:
- Updated
ExternalResources
how to tutorial to include the new features. @mavaylon #850