Skip to content

Releases: Seagate/openSeaChest

v26.03.1-Beta4

15 Apr 20:01

Choose a tag to compare

v26.03.1-Beta4 Pre-release
Pre-release

Attempting to change SLSA generator back to tag as their documentation requires

v26.03.1-Beta3

15 Apr 19:10

Choose a tag to compare

v26.03.1-Beta3 Pre-release
Pre-release
  • More attempts to fix release CI steps by moving them outside of docker containers.
  • Fixing uploading provenance on release by providing the tag correctly to that action
  • Pulled in zizmor CI/CD security scanning and all related changes it suggests from PR #315

v26.03.1-Beta2

15 Apr 04:03
0a5c5a4

Choose a tag to compare

v26.03.1-Beta2 Pre-release
Pre-release

Merging missing option to build using system json-c for #299

More little fixes in opensea-common library

v26.03.1-Beta1

08 Apr 21:38

Choose a tag to compare

v26.03.1-Beta1 Pre-release
Pre-release

Patches so far for v26.03.x series

  • Added build option to support using system json-c library per #299
  • Fix out of bounds read while reading Linux OS information for --version option (1 byte overread)
  • Fix possible out of bounds issue reading SCSI defect list if the list is extremely large. Unconfirmed for v26.03.0, but additional checks added to mitigate the issue. Issue could happen in v25.05.x and earlier builds
  • Fix for NVMe deallocate out of bounds write. The code was sometimes writing one extra descriptor past the end of the allocated stack array
  • Ensured out of bounds write based on number of NVMe formats supported cannot happen. Should not have affected v26.03.0 builds, but additional checks were made to make sure this value is within range before writing the "current format" boolean in the internal strucuture. A maliciously crafted NVMe device could trigger an out of bounds write in v25.05.3 and earlier builds
  • Added support to disable SATA power consumption feature
  • Moved power consumption feature help text out of SAS only section.
  • Improved temperature unit conversion to include better rounding handling for conversions to Fahrenheit (not widely used within openSeaChest since most is in Celsius or Kelvin).
  • Fixed possible bugs while trimming whitespace around model number, serial number, or firmware revisions for all drives. No known issues, but some edge cases were found and resolved.

v26.03.0

06 Mar 22:23

Choose a tag to compare

openSeaChest v26.03.0 Release Notes

Major New Features

Calendar Versioning (CalVer)

Utilities now use calendar versioning synchronized with library releases and unified package versioning. This aligns the utility version with the released package containing all tools, simplifying version tracking and release coordination for both developers and users.

JSON Output Support

Added JSON output support for device information (-i), diagnostics reporting (--scan, --showDSTLog, --smartAttributes, --deviceStatistics, --showSCSIDefects, --showFARM), and CDL settings. More options coming in future releases.

Bug Fixes & Improvements

  • Fixed possible bug opening drive handle in Linux when scanning /sys for low-level file information like PCI/USB vendor ID, driver information, etc
  • Fixed issue with NVMe set features command in Windows that could affect some feature configuration operations
  • Improved USB device compatibility, particularly with older USB adapter chipsets
  • Fixed CISS RAID scanning and device handling
  • Fixed potential crash when displaying ATA SMART error logs with unclassifiable error codes
  • Fixed possible memory reading issue in certain diagnostic output where string parsing could read beyond the intended string boundary
  • Improved SCSI defect list reporting accuracy
  • Improved text output speed (convert from printf() for everything to a print_str() which is similar to puts() in std C)
  • More changes to --setSectorSize to add more possible recovery methods when interrupted by hard-coding Seagate's descriptor codes on SATA drives.
  • Moved MBR erase in --setSectorSize to after the change to try and further reduce the chance of the OS, HBA, driver, or anything below the software layer introducing a reset on the bus during this operation to minimize the chance the drive may become unusable.
  • MBR erase in --setSectorSize is now attempted with the ATA Write Zeros command or the SCT Write same feature before a "normal" write command to see if this can bypass whatever seems to monitor the disk for changes to the boot table (MBR/GPT).

Expanded Platform Support

New OS Support (Via CI builds)

DragonFlyBSD, FreeBSD (15.0, 14.3, 13.5), NetBSD, OpenBSD, OmniOS, and Solaris/Illumos now fully supported with automated testing.

Quality & Reliability

Reproducible Builds Certified: Full compliance with reproducible-builds.org standards and setting the build timestamp

Documentation & Resources

Enhanced project wiki with expanded guides, detailed usage examples, and comprehensive feature documentation. We encourage users to check out the wiki for in-depth information on all utilities and their capabilities.

Testing Release publication from VMActions v1

07 Nov 19:24

Choose a tag to compare

This is a test of integrating the VMActions for OmniOS, Solaris, FreeBSD, OpenBSD, NetBSD, and DragonFly BSD into one CI build script.
The old vmactions script is removed in this tag to simplify everything.

If this works correctly, then builds from all of these OS's and supported CPU architectures will be uploaded and SLSA verifiable.
Some of these VMActions builds are slow, so it may take some time to complete and upload.

Consider the builds in this tag an alpha and untested.

A discussion has been created for this release. Please leave any feedback you would like on things that work, don't work, are missing, etc. This would be especially helpful on the VMActions builds being added, but feedback on any build is always appreciated!

v25.05.3

09 Oct 21:51

Choose a tag to compare

This is another patch release for v25.05 builds to fix some issues we found and had reported internally.

Fixes:

  • Fixed incorrect null pointer check in TRIM function that caused the operation to exit with an error despite valid inputs
  • Fixed incorrect SCSI operation code lookup for pulling SCSI Defect lists
  • Fixed out of bounds access for FARM combined log pull. This wrote a null terminator one byte outside of the allocated memory. This can cause memory corruption, but no known impact otherwise.
  • Changed when the filesystem rescan or reread of the partition table happens to minimize cases where a drive may be disconnected from the OS due to being in an unreadable state. Examples: Sanitize failed state & ATA security locked & sector size change will put the drive into a different state that blocks media access or with different attributes that the OS does not know have changed. Attempting this rescan in this cases causes the drive to disconnect from the system and may have other side affects as well. All cases where this occurs not make sure the drive is in a state that it can complete this operation successfully.
  • Fixed logic in read/write testing (openSeaChest_Generic) for some USB devices that report an ATA passthrough maxlba of 0. Previous versions will always fail on these devices even if they are otherwise working properly.
  • Added tracking of when file locks/unlocks are requested on the device handle to keep things better synchronized between operations.
  • Fixed a crash that occurs in Windows for NVMe devices using an openfabrics NVMe compatible driver.
  • Rewrote logic to select SCSI media access commands with retries for reads, writes, verify, and synchronize cache (10byte vs 16byte versions)
  • Added detecting and selecting a compatible firmware update transfer length to improve compatibility with various devices that have limitations they can report. Default behavior was previously to download in 32k segments, but now it checks if this is compatible and selects a compatible size if limitations are reported. Users can still override this and select a segment size as needed.
  • Removed implied --disableImmediateResponse option when --fastformat x passed during --formatUnit y. This behavior can be selected as needed still, but it is no longer the default. This improves compatibility with some systems.
  • Fixed copyright date in the banner being dynamically set at compile time. This should be constant to when code was written/modified, not when it was compiled.

Compile time changes:

  • Fixed usage for GNU access attributes which were sometimes applied incorrectly. This can cause warnings or incorrect optimizations, however no known issues have been reported for this.
  • Increased usage of const for tDevice structures to be more clear about when modifications are being done or not. This did find a couple minor code bugs, but no known case of causing incorrect runtime issues.
  • Fixed compatibility with some newer C23 capable compilers
  • Fixed compatibility with msys2 mingw and clang environments. cygwin environment is not currently supported.

v25.05.2

30 Jul 20:32

Choose a tag to compare

This release patches the following issues:

  • Win11 NVMe firmware update failing (Seagate/ToolBin#39, #198)
  • Incorrect protocol for SATA PIO download in passthrough SAT command which may cause failures for devices that do not support the DMA version of the download command (#196)
  • Write overrun when passing certain patterns with the --pattern:repeat option in openSeaChest_Erase and openSeaChest_Format.
  • Disabling some CSMI lookup in Windows that hangs some systems
  • Adding more USB Adapters to list for legacy passthrough types
  • Bug looking up supported SCSI Sanitize support on some drives that only support specific erases without AUSE support.
  • Fix crash when reading SCSI supported sector sizes
  • Added new exit code and more verbose message for insecure file paths. (#161)
  • Fixing a crash that could occur when using the --farmCombined option to pull the combined farm log to a binary file
  • Fixed when to rescan for partition changes after sanitize completion so that this only runs after successful completion
  • Initial support for LaCie Rugged SSD4 drive
  • Updated exclusive access API to be separate from locking/unlocking API on the file handles. This reduced the chance of weird behavior during something like sanitize overwrite
  • Made Seagate external drive SN cleanup available on all interfaces, not only USB
  • Fixed scan not outputting anything in certain scenarios where the number of successfully scanned drives is equivalent to the number that failed to scan.
  • Fixing not setting flags in internal SCSI structure on firmware update for beginning/ending segment info when translating from ATA passthrough command.
  • Fixed missing CPU name in certain cross-compiled builds not being set
  • Added option to run zoned device version of depopulate to openSeaChest_Format: --removeElementModifyZones

v25.05.2-beta1

08 Jul 17:30

Choose a tag to compare

v25.05.2-beta1 Pre-release
Pre-release

This beta release patches the following issues:

  • Win11 NVMe firmware update failing (Seagate/ToolBin#39, #198)
  • Incorrect protocol for SATA PIO download in passthrough SAT command which may cause failures for devices that do not support the DMA version of the download command (#196)
  • Write overrun when passing certain patterns with the --pattern:repeat option in openSeaChest_Erase and openSeaChest_Format.
  • Disabling some CSMI lookup in Windows that hangs some systems
  • Adding more USB Adapters to list for legacy passthrough types
  • Bug looking up supported SCSI Sanitize support on some drives that only support specific erases without AUSE support.
  • Fix crash when reading SCSI supported sector sizes
  • Added new exit code and more verbose message for insecure file paths. (#161)

v25.05.1

05 Jun 18:42

Choose a tag to compare

rel: Finish v25.05.1

Fixes a debug print from secure file API in opensea-common by removing this print.