Skip to content

Releases: StudioLE/mount-luks

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 12:44
36276da

Changes

Code Style

Resolve latest nightly clippy warnings cfa4c46
  • Remove redundant #[must_use] on Cli::run as nightly std now marks ExitCode as #[must_use]
  • Remove redundant borrow of POLICY in format!

Refactor

cli: Replace `clap` with `usage-rs` for CLI parsing 36276da
  • Swap the Parser and Subcommand derives for usage-rs Cli and Subcommands
  • Bump studiole-logging to v0.5.0 with the usage feature so --log-level rejects invalid values and lists the accepted values in help
  • Add unknown_flags = "error" to retain clap's rejection of unrecognized flags
  • Gain -V/--version
  • Keep the fallback to mount when no subcommand is given
  • Derive about from a new Cargo.toml description, worded per the nixpkgs meta.description rules
  • Rename CliOptions to CliArgs and SubCommand to Subcommand to match example-rs
  • Drop "simple" from the README.md overview
  • Cover CLI parsing and the root help page with tests

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:41
7031d4e

Changes

New Features

unseal: Retry `tpm2_unseal` when a PCR changes during unseal 7031d4e
  • Add Retry<T> with Attempt trait and RetryOptions (5 attempts, 50ms initial delay, 2.0 multiplier)
  • Attach attempts and is_retryable to the final error
  • Split UnsealError into PcrChanged and Failed; only PcrChanged is retryable
  • Fix code parsing matching Esys_Unseal() on an earlier stderr line and returning an empty code
  • Remove the retry hint now that the retry is automatic
  • Resolve Retry<dyn Unseal> in GetKeyAdapter via DI
Closes: #12

Bug Fixes

unseal: Attach error code and PCR retry hint to errors f867cb3
  • Parse the Esys_Unseal return code from stderr and attach it as code
  • Attach a retry hint when the code is TPM_RC_PCR_CHANGED (0x128)
service: Match SELinux rules under both `/home` and `/var/home` a8594a9
  • Write file specs as /(var/)?home/… so one rule survives either direction of the Fedora Atomic /var/home equivalency
  • Drop BREW_PREFIX_REAL; readlink -f produced the form a later policy update aliased away, leaving rules that matched nothing while restorecon stamped default_t back on every service start
  • Drop the -a … 2>/dev/null || -m fallback so semanage errors surface; semanage already falls back to modify and exits 0
  • Correct user_home_t to the observed default_t

Dependencies

Upgrade dependencies and remove unused serial_test 086a75c

Tests

Attach path to `TempDirectory::create` errors 042fd82
  • Return Report<TempDirectoryError> NOT io::Error so failures name the directory
  • Os { code: 13, kind: PermissionDenied, message: "Permission denied" } gave the cause but never the path

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 16 May 13:27
f162d2d

Changes

Dependencies

Bump `studiole-di` to `v0.6.0`, `studiole-logging` to `v0.4.0` f162d2d
  • Adopt chainable init and expect convenience methods
  • Move service initialization from Cli::run() to Cli::new()
Bump `studiole-logging` to `v0.2.0` 2aa1fff
  • studiole-logging v0.1.0 → v0.2.0

Refactor

logging: Extract to `studiole-logging` crate 1a3f368
  • Bump studiole-di v0.4.0 → v0.5.1 for Init trait support
  • Implement Init for Ui to print header during service initialization
  • Replace manual init_ui() + init_logging() with ServiceProvider::init()
  • Remove direct tracing-subscriber dependency
Use `#[derive(FromServices)]` for trait-object DI resolution 9bfba81
  • studiole-di v0.4.0 supports deriving FromServices on structs with Arc<dyn Trait> fields
  • Remove 5 manual FromServices impls: GetKeyAdapter, MountHandler, SetLuksHandler, SetTpmHandler, ValidateHandler
  • Bump clap v4.6.0 → v4.6.1, rpassword v7.4.0 → v7.5.2

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 09 May 14:11
492ce18

Changes

Bug Fixes

Apply dim styling per-line in header to prevent ANSI bleed 492ce18
  • Italic "None" values emitted a reset that cancelled the outer dim

Refactor

Bootstrap CLI through dependency injection ad496d8
  • Replace standalone cli() fn with DI-resolved Cli struct
  • Split monolithic cli.rs into cli/ module: cli_options, sub_command, service_builder_ext
  • Move utils/ui.rs to ui/logger.rs as DI-resolved Logger struct
  • Implement FromServices for Options and CliOptions
  • Add missing_docs, broken_intra_doc_links, bare_urls, invalid_html_tags lints
Introduce `Progress` struct a003d4b
  • Introduce Progress struct for step management in handlers
  • Replace print_step_start and print_step_completed with step and ok methods
  • Add TOTAL_STEPS constants to relevant handlers
  • Remove Mutex usage for step counters
  • Modularize UI components under ui/ (add icons and progress modules)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 08 May 21:28
6d2eb0d

Changes

New Features

Warning

Breaking Change: Replace `partition_path` with PARTUUID-based resolution 591e5c6
  • Config field partition_path renamed to partuuid (GPT PARTUUID)
  • Add ResolvePartition adapter using blkid to resolve PARTUUID to device path at runtime
  • Delete CheckPartitionExists in favour of runtime resolution
  • Handlers receive resolved PathBuf instead of reading path from Options
  • SetLuksHandler and ValidateHandler no longer depend on Arc<Options>

Bug Fixes

Print rendered errors #7 6af0484

Documentation

Update Secure boot changes error example to studiole-report 6d2eb0d

Add systemd service install script and documentation 70260b8
  • docs/SERVICE.md: explains SELinux context, brew upgrades, removal
  • docs/scripts/install-service.sh: automates semanage/restorecon/systemd setup
  • README.md: link to SERVICE.md

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 28 Mar 11:17
f27c1b9

Changes

Refactor

Introduce dependency injection with trait-based adapters f27c1b9
  • Replace luks/ and tpm/ modules with adapters/ (one trait per operation) and handlers/ (one per subcommand)
  • Add studiole-di for service resolution and mockall for test mocks
  • Replace custom AnyReport with StructuredError from studiole-report
  • Move PersistentHandle and TPM constants to utils/
  • Add comprehensive handler tests using mock adapters
  • Remove all clippy::absolute_paths suppressions via import aliases
  • Convert #[allow] attributes to #[expect] with reasons
  • Add doc comments to all public items

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 21 Mar 17:31
f495cf9

Changes

Refactor

Migrate from `error-stack` to `studiole-report` f495cf9
  • Replace error-stack dependency with studiole-report 0.3.0
  • Delete custom AttachKeyValueToReport and AttachPath extension traits now built into studiole-report
  • Replace bail!() with return Err(Report::new(...))
  • Convert single-arg .attach() calls to key-value pairs
  • Replace downcast_ref in tests with current_context()
  • Use report.render() for diagnostic output in AnyReport

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 19 Jan 22:48
490554e

Changes

New Features

Add --log-level CLI argument with INFO default 490554e

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 10 Jan 09:33
7d7a135

Changes

New Features

Add support for custom config file paths 77e6596

Documentation

Add steps for secure boot changes 7d7a135

Refactor

Return an error if multiple config files. Use fields for tracing. 9d48c8c

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 03 Jan 19:07
87c35db

Changes

Documentation

Add Homebrew installation instructions to README.md 934ab45

CI

Create a brew formula for the release 87c35db