diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cfc7174 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog][keep-a-changelog-site], +and this project adheres to [Semantic Versioning][semver-site]. + +## [0.1.0] - 2026-08-24 +### Added +- Disc drive routines. + + Drive capabilities. + + Hardware identifiers. +- Exposure of libcdio C's logs via tracing. +- ISO 9660 routines including XA, Rock Ridge, Joliet. + + Read entry. + + Metadata such a file name, timestamp, etc. +- SCSI MMC routines. + + `GET CONFIG` + + `GET EVENT STATUS` + + `INQUIRY` + + `PREVENT ALLOW MEDIUM REMOVAL` + + `READ CD` + + `READ DISC INFO` + + `READ SUBCHANNEL` + + `READ TOC` + + `SET CD SPEED` + + `START STOP UNIT` + + `TEST UNIT READY` +- UDF filesystem routines. + + Read entry. + + Metadata such as file name timestamp, etc. + +[0.1.0]: https://github.com/libcdio/libcdio-rs/releases/tag/v0.1.0 +[keep-a-changelog-site]: https://keepachangelog.com/en/2.0.0/ +[semver-site]: https://semver.org/spec/v2.0.0.html diff --git a/Cargo.toml b/Cargo.toml index c0ba173..210fc80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,9 +6,10 @@ edition = "2024" description = "Safe wrapper and Rust port of GNU libcdio." repository = "https://github.com/libcdio/libcdio-rs" license = "GPL-3.0-or-later" -keywords = ["cd", "scsi", "iso9660", "udf"] +keywords = ["cd", "iso9660", "mmc", "scsi", "udf"] categories = ["api-bindings", "multimedia::audio", "filesystem", "hardware-support"] rust-version = "1.90.0" +exclude = ["/tests"] [features] iso9660 = ["libcdio-sys/iso9660", "dep:file-mode", "dep:time"] @@ -33,4 +34,4 @@ time = { version = "0.3.31", features = ["macros"] } [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] +rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition", "--cfg", "docsrs"] diff --git a/src/lib.rs b/src/lib.rs index 9eba35e..c83535d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,6 +15,21 @@ // You should have received a copy of the GNU General Public License // along with libcdio-rs. If not, see . +//! # libcdio-rs +//! Safe wrapper and Rust port of [GNU libcdio][libcdio-site]. +//! +//! ## SCSI MMC references +//! This library implements SCSI routines primarily based on +//! [MMC-6 rev.2g][mmc6r2g] and [SPC-3 rev.23][spc3r23]. +//! +//! ## Changelog +//! See [CHANGELOG.md][changelog] +//! +//! [libcdio-site]: https://libcdio.github.io +//! [mmc6r2g]: https://www.13thmonkey.org/documentation/SCSI/mmc6r02g.pdf +//! [spc3r23]: https://www.13thmonkey.org/documentation/SCSI/spc3r23.pdf +//! [changelog]: https://github.com/libcdio/libcdio-rs/tree/main/CHANGELOG.md + #![cfg_attr(docsrs, feature(doc_cfg))] mod cdio;