v0.2.0: Chipset architecture, platform-agnostic SCSI, no gatekeeping

Breaking changes from v0.1.2:
- PlatformType enum removed, replaced by Chipset (MediaTek, Renesas)
- DriveProfile.platform removed, replaced by .chipset + .unlock_mode + .unlock_buf_id
- DriveProfile.supported field removed — no gatekeeping
- ReadinessStatus enum removed
- DriveMatch enum removed
- SgIoTransport::open() replaced by scsi::open() (platform-agnostic)
- profiles.json: "program" field replaced by "chipset" + "unlock_mode" + "unlock_buf_id"

New:
- scsi::open() with cfg gates for Linux/macOS/Windows
- Compiles on macOS (stub returns platform-not-supported)
- libc dependency conditional on Linux only
This commit is contained in:
MattJackson
2026-04-06 11:41:26 -07:00
parent e094fc66ba
commit 3a0ea29cf7
+4 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "libfreemkv"
version = "0.1.2"
version = "0.2.0"
edition = "2021"
license = "AGPL-3.0-only"
description = "Open source raw disc access library for optical drives"
@@ -9,7 +9,6 @@ keywords = ["bluray", "uhd", "optical", "scsi", "disc"]
categories = ["hardware-support", "multimedia"]
[dependencies]
libc = "0.2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha1 = "0.10"
@@ -17,6 +16,9 @@ aes = "0.8"
cbc = "0.1"
flate2 = "1"
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
[[bin]]
name = "freemkv-info"
path = "src/bin/freemkv_info.rs"