Breaking changes:
- Updated ``TimeIntervals`` to use the new ``TimeSeriesReferenceVectorData`` type. This does not alter the overall
structure of ``TimeIntervals`` in a major way aside from changing the value of the ``neurodata_type`` attribute of the
``TimeIntervals.timeseries`` column from ``VectorData`` to ``TimeSeriesReferenceVectorData``. This change facilitates
creating common functionality around ``TimeSeriesReferenceVectorData``. For NWB files with version 2.4.0 and earlier,
the ``TimeIntervals.timeseries`` column is automatically migrated on read in the ``TimeIntervalsMap``
object mapper class to use the ``TimeSeriesReferenceVectorData`` container class, so that users are presented a
consistent API for existing and new files. This change affects all existing ``TimeIntervals`` tables
e.g., ``NBWFile.epochs``, ``NWBFile.trials``, and ``NWBFile.invalid_times``. While this is technically a breaking
change, the impact user codes should be minimal as this change primarily adds functionality while the overall
behavior of the API is largely consistent with existing behavior. oruebel, rly (1390)
Enhancements and minor changes
- A warning is now raised if `SpatialSeries.data` has more than 3 columns. bendichter, rly (1455, 1480)
- The arguments x, y, z, imp, location, filtering are no longer required in the electrodes table.
h-mayorquin, rly (1448)
- Added `cell_id` attribute to `IntracellularElectrode`. bendichter (1459)
- Added `offset` field to `TimeSeries` and its subtypes. codycbakerphd (1424)
- Added support for NWB 2.5.0.
- Added support for updated ``IndexSeries`` type, new ``order_of_images`` field in ``Images``, and new neurodata_type
``ImageReferences``. rly (1483)
- Added support for HDMF 3.3.1. This is now the minimum version of HDMF supported. Importantly, HDMF 3.3 introduces
warnings when the constructor of a class mapped to an HDMF-common data type or an autogenerated data type class
is passed positional arguments instead of all keyword arguments. rly (1484)
- Moved logic that checks the 0th dimension of TimeSeries data equals the length of timestamps to a private method in the
``TimeSeries`` class. This is to avoid raising a warning when an ImageSeries is used with external file.
weiglszonja (1486)
- Improved warning text when dimensions are not matched in `TimeSeries`, `ElectricalSeries`, and `RoiResponseSeries`.
rly (1491)
Documentation and tutorial enhancements:
- Added tutorial on annotating data via ``TimeIntervals``. oruebel (1390)
- Added copy button to code blocks. weiglszonja (1460)
- Created behavioral tutorial. weiglszonja (1464)
- Enhanced display of icephys pandas tutorial by using ``dataframe_image`` to render and display large tables
as images. oruebel (1469)
- Created tutorial about reading and exploring an existing `NWBFile`. weiglszonja (1453)
- Added new logo for PyNWB. oruebel (1461)
- Minor text fixes. oruebel bendichter (1443, 1462, 1463, 1466, 1472, 1473)
Bug fixes:
- Fixed input data types to allow only `float` for fields `conversion` and `offset` in definition of
``TimeSeries``. codycbakerphd (1424)
- Fixed incorrect warning in `RoiResponseSeries.__init__` about mismatch between the second dimension of data and
the length of rois. rly (1491)