Change Log¶
GSD releases follow semantic versioning.
3.x¶
3.4.2 (2024-11-13)¶
Fixed:
Make NumPy 2.0 requirement optional (#405).
3.4.1 (2024-10-21)¶
Fixed:
Prevent downgrading file versions when opening in write mode.
3.4.0 (2024-10-18)¶
Added:
GSD_TYPE_CHARACTER
chunk type for string data - valid in file layer versions 2.1 and later (#391).
Changed:
3.3.2 (2024-09-06)¶
Added:
Support Python 3.13 (#388).
Removed:
Support for Python 3.9 (#388).
3.3.1 (2024-08-19)¶
Changed:
Improved build instructions (#376).
3.3.0 (2024-05-29)¶
Added:
Support numpy 2.0 (#367).
Changed:
Navigate the documentation with arrow keys (#365).
Add button to copy code snippets from the documentation (#365).
Remove singularity reference from the documentation (#365).
Removed:
Support for Python 3.8 (#367).
3.2.1 (2024-01-22)¶
Fixed:
Write all pending index entries to the file when
gsd_flush()
is called aftergsd_write_chunk()
and beforegsd_end_frame()
(#319).Readthedocs builds with pandas 2.2.0 (#322).
Import without seg fault when built with CMake on macOS (#323).
Internal cached data remains valid when users modify frames obtained by indexing trajectories (#324).
Changed:
3.2.0 (2023-09-27)¶
Added:
Support Python 3.12 (#283).
3.1.1 (2023-08-03)¶
Fixed:
Raise a
FileExistsError
when opening a file that already exists withmode = 'x'
(#270).
3.1.0 (2023-07-28)¶
Fixed:
hoomd.read_log
no longer triggers a numpy deprecation warning (#267).
Added:
HOOMDTrajectory.flush
- flush buffered writes on an openHOOMDTrajectory
(#266).
3.0.1 (2023-06-20)¶
Fixed:
Prevent
ValueError: signal only works in main thread of the main interpreter
when importing gsd in a non-main thread (#257).
3.0.0 (2023-06-16)¶
Added:
gsd.version.version
- version string identifier. PEP8 compliant name replaces__version__
.GSDFile.flush
- flush write buffers (C APIgsd_flush
) (#237).GSDFile.maximum_write_buffer_size
- get/set the write buffer size (C APIgsd_get_maximum_write_buffer_size
/gsd_set_maximum_write_buffer_size
) (#237).GSDFile.index_entries_to_buffer
- get/set the write buffer size (C APIindex_entries_to_buffer
/index_entries_to_buffer
) (#237).On importing
gsd
, install aSIGTERM
handler that callssys.exit(1)
(#237).
Changed:
write_chunk
buffers writes across frames to increase performance (#237).Use Doxygen and breathe to generate C API documentation in Sphinx (#237).
Removed:
2.x¶
2.9.0 (2023-05-19)¶
Added:
File modes
'r'
,'r+'
,'w'
,'x'
, and'a'
(#238).
Changed:
Test on gcc9, clang10, and newer (#235).
Test and provide binary wheels on Python 3.8 and newer (#235).
Deprecated:
v2.8.1 (2023-03-13)¶
Fixed:
Reduce memory usage in most use cases.
Reduce likelihood of data corruption when writing GSD files.
v2.8.0 (2023-02-24)¶
Added:
gsd.hoomd.read_log
- Read log quantities from a GSD file.gsd.hoomd.Frame
class to replacegsd.hoomd.Snapshot
.
Changed:
Improved documentation.
Deprecated:
gsd.hoomd.Snapshot
.
v2.7.0 (2022-11-30)¶
Added
Support Python 3.11.
v2.6.1 (2022-11-04)¶
Fixed:
Default values are now written to frame N (N != 0) when non-default values exist in frame 0.
Data chunks can now be read from files opened in ‘wb’, ‘xb’, and ‘ab’ modes.
v2.6.0 (2022-08-19)¶
Changed:
Raise an error when writing a frame with duplicate types.
v2.5.3 (2022-06-22)¶
Fixed
Support Python >=3.6.
v2.5.2 (2022-04-15)¶
Fixed
Correctly handle non-ASCII characters on Windows.
Document that the
fname
argument togsd_
C API functions is UTF-8 encoded.
v2.5.1 (2021-11-17)¶
Added
Support for Python 3.10.
Support for clang 13.
v2.5.0 (2021-10-13)¶
Changed
Improved documentation.
Deprecated
HOOMDTrajectory.read_frame
- use indexing (trajectory[index]
) to access frames from a trajectory.
v2.4.2 (2021-04-14)¶
Added
MacOS and Windows wheels on PyPI.
Fixed
Documented array shapes for angles, dihedrals, and impropers.
v2.4.1 (2021-03-11)¶
Added
Support macos-arm64.
Changed
Stop testing with clang 4-5, gcc 4.8-6.
v2.4.0 (2020-11-11)¶
Changed
Set
gsd.hoomd.ConfigurationData.dimensions
default based onbox
’s \(L_z\) value.
Fixed
Failure in
test_fl.py
when run by a user and GSD was installed by root.
v2.3.0 (2020-10-30)¶
Added
Support clang 11.
Support Python 3.9.
Changed
Install unit tests with the Python package.
Fixed
Compile error on macOS 10.15.
v2.2.0 (2020-08-05)¶
Added
Command line convenience interface for opening a GSD file.
v2.1.2 (2020-06-26)¶
Fixed
Adding missing
close
method toHOOMDTrajectory
.Documentation improvements.
v2.1.1 (2020-04-20)¶
Fixed
List defaults in
gsd.fl.open
documentation.
v2.1.0 (2020-02-27)¶
Added
Shape specification for sphere unions.
v2.0.0 (2020-02-03)¶
Note
This release introduces a new file storage format.
GSD >= 2.0 can read and write to files created by GSD 1.x.
Files created or upgraded by GSD >= 2.0 can not be opened by GSD < 1.x.
Added
The
upgrade
method converts a GSD 1.0 file to a GSD 2.0 file in place.Support arbitrarily long chunk names (only in GSD 2.0 files).
Changed
gsd.fl.open
acceptsNone
forapplication
,schema
, andschema_version
when opening files for reading.Improve read latency when accessing files with thousands of chunk names in a frame (only for GSD 2.0 files).
Buffer small writes to improve write performance.
Improve performance and reduce memory usage in read/write modes (‘rb+’, ‘wb+’ and (‘xb+’).
C API: functions return error codes from the
gsd_error
enum. v2.x integer error codes differ from v1.x, use the enum to check. For example:if (retval == GSD_ERROR_IO)
.Python, Cython, and C code must follow strict style guidelines.
Removed
gsd.fl.create
- usegsd.fl.open
.gsd.hoomd.create
- usegsd.hoomd.open
.GSDFile
v1.0 compatibility mode - usegsd.fl.open
.hoomdxml2gsd.py
.
Fixed
Allow more than 127 data chunk names in a single GSD file.
v1.x¶
v1.10.0 (2019-11-26)¶
Improve performance of first frame write.
Allow pickling of GSD file handles opened in read only mode.
Removed Cython-generated code from repository.
fl.pyx
will be cythonized during installation.
v1.9.3 (2019-10-04)¶
Fixed preprocessor directive affecting Windows builds using setup.py.
Documentation updates
v1.9.2 (2019-10-01)¶
Support chunk sizes larger than 2GiB
v1.9.1 (2019-09-23)¶
Support writing chunks wider than 255 from Python.
v1.9.0 (2019-09-18)¶
File API: Add
find_matching_chunk_names()
HOOMD
schema 1.4: Add user defined logged data.HOOMD
schema 1.4: Addtype_shapes
specification.pytest >= 3.9.0 is required to run unit tests.
gsd.fl.open
andgsd.hoomd.open
accept objects implementingos.PathLike
.Report an error when attempting to write a chunk that fails to allocate a name.
Reduce virtual memory usage in
rb
andwb
open modes.Additional checks for corrupt GSD files on open.
Synchronize after expanding file index.
v1.8.1 (2019-08-19)¶
Correctly raise
IndexError
when attempting to read frames before the first frame.Raise
RuntimeError
when importinggsd
in unsupported Python versions.
v1.8.0 (2019-08-05)¶
Slicing a HOOMDTrajectory object returns a view that can be used to directly select frames from a subset or sliced again.
raise
IndexError
when attempting to read frames before the first frame.Dropped support for Python 2.
v1.7.0 (2019-04-30)¶
Add
hpmc/sphere/orientable
to HOOMD schema.HOOMD schema 1.3
v1.6.2 (2019-04-16)¶
PyPI binary wheels now support numpy>=1.9.3,<2
v1.6.1 (2019-03-05)¶
Documentation updates
v1.6.0 (2018-12-20)¶
The length of sliced HOOMDTrajectory objects can be determined with the built-in
len()
function.
v1.5.5 (2018-11-28)¶
Silence numpy deprecation warnings
v1.5.4 (2018-10-04)¶
Add
pyproject.toml
file that definesnumpy
as a proper build dependency (requires pip >= 10)Reorganize documentation
v1.5.3 (2018-05-22)¶
Revert
setup.py
changes in v1.5.2 - these do not work in most circumstances.Include
sys/stat.h
on all architectures.
v1.5.2 (2018-04-04)¶
Close file handle on errors in
gsd_open
.Always close file handle in
gsd_close
.setup.py
now correctly pulls in the numpy dependency.
v1.5.1 (2018-02-26)¶
Documentation fixes.
v1.5.0 (2018-01-18)¶
Read and write HPMC shape state data.
v1.4.0 (2017-12-04)¶
Support reading and writing chunks with 0 length. No schema changes are necessary to support this.
v1.3.0 (2017-11-17)¶
Document
state
entries in the HOOMD schema.No changes to the gsd format or reader code in v1.3.
v1.2.0 (2017-02-21)¶
Add
gsd.hoomd.open()
method which can create and open hoomd gsd files.Add
gsd.fl.open()
method which can create and open gsd files.The previous create/class
GSDFile
instantiation is still supported for backward compatibility.
v1.1.0 (2016-10-04)¶
Add special pairs section pairs/ to HOOMD schema.
HOOMD schema version is now 1.1.
v1.0.1 (2016-06-15)¶
Fix compile error on more strict POSIX systems.
v1.0.0 (2016-05-24)¶
Initial release.