You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -200,6 +200,25 @@
200
200
201
201
🛠️ Bug fixes:
202
202
203
+
* Fixed HDF5 serialization and deserialization for datetime and date objects:
204
+
* Previously, datetime and date objects were serialized as numerical values (timestamp for datetime, ordinal for date) but were not properly restored as the original object types upon deserialization.
205
+
* This caused `datetime.datetime` objects to be restored as`float` values and`datetime.date` objects to be restored as`int` values.
206
+
* The fix ensures that these temporal objects are now correctly restored as their original types, maintaining data integrity across save/load cycles.
207
+
* Updated the HDF5Reader to detect and convert numerical values back to datetime/date objects when appropriate.
208
+
* This affects all DataSet instances containing `DateItem`or`DateTimeItem` objects that are saved to and loaded fromHDF5 files.
* Previously, when serializing file paths in`FilesOpenItem`, the paths were encoded to UTF-8bytes but not properly decoded during deserialization.
212
+
* This caused file paths to be incorrectly restored as lists of individual characters instead of complete path strings.
213
+
* The fix ensures that file paths are properly decoded frombytes to strings during HDF5 deserialization.
214
+
* This resolves data corruption issues when saving and loading datasets containing multiple file selections.
215
+
216
+
* Enhanced HDF5 serialization test to prevent regressions:
217
+
* The automatic unit test forHDF5 serialization (`test_loadsave_hdf5.py`) now properly validates dataset integrity after serialization/deserialization cycles.
218
+
* Previously, the test could pass even when values were corrupted during the save/load process due to improper initialization.
219
+
* The test now explicitly sets all items to `None` after creating the target dataset, ensuring that deserialized values truly come from the HDF5file rather than from default initialization.
220
+
* This improvement helps catch serialization bugs early and prevents future regressions inHDF5 I/O functionality.
221
+
203
222
* Fixed font hinting preference in`RotatedLabel` initialization for improved text rendering
204
223
205
224
* Fixed dataset corruption in`DataSetShowGroupBox.get()` when updating widgets with dependencies:
0 commit comments