Version 1.3.0
This minor release includes significant changes to the underlying I/O implementation to access SIF files. In addition, func (*Descriptor).GetReadSeeker and several fields within struct FileImage have been deprecated.
Removal of Memory Mapped I/O
Previously, the SIF implementation used mmap to memory map the underlying SIF image in certain scenarios. This approach can cause occasional failures when accessing a SIF image that is backed by a non-local filesystem. See #11 for more detail.
Deprecation
func (*Descriptor).GetReadSeeker has been deprecated and will be removed in a future major release. Users should migrate to func (*Descriptor).GetReader. See #14 for more detail.
Several fields in struct FileImage have been deprecated in this release. These fields now have the following behaviour:
FileImage.Filedatawill always benil. Previously, this contained a non-nil[]bytein certain scenarios. Functions such as*FileImage.GetHeader,*Descriptor.GetData, and*Descriptor.GetReadSeekershould now be used to access data within aFileImage.FileImage.Amodebufwill always betrue, since the underlying file is never memory mapped. Previously, this wasfalseif the underlying file was memory mapped.FileImage.Readerwill always benil. Previously, this contained a non-nil*bytes.Readerin certain scenarios. Functions such as*FileImage.GetHeader,*Descriptor.GetData, and*Descriptor.GetReadSeekershould now be used to access data within aFileImage.