Repository navigation
Releases: StudioLE/mount-luks
Releases · StudioLE/mount-luks
Release list
v0.8.1
Changes
Code Style
Resolve latest nightly clippy warnings cfa4c46
- Remove redundant
#[must_use]onCli::runas nightlystdnow marksExitCodeas#[must_use]- Remove redundant borrow of
POLICYinformat!
Refactor
cli: Replace `clap` with `usage-rs` for CLI parsing 36276da
- Swap the
ParserandSubcommandderives forusage-rsCliandSubcommands- Bump
studiole-loggingtov0.5.0with theusagefeature so--log-levelrejects invalid values and lists the accepted values in help- Add
unknown_flags = "error"to retainclap's rejection of unrecognized flags- Gain
-V/--version- Keep the fallback to
mountwhen no subcommand is given- Derive
aboutfrom a newCargo.tomldescription, worded per the nixpkgsmeta.descriptionrules- Rename
CliOptionstoCliArgsandSubCommandtoSubcommandto matchexample-rs- Drop "simple" from the
README.mdoverview- Cover CLI parsing and the root help page with tests
v0.8.0
Changes
New Features
unseal: Retry `tpm2_unseal` when a PCR changes during unseal 7031d4e
- Add
Retry<T>withAttempttrait andRetryOptions(5 attempts, 50ms initial delay, 2.0 multiplier)- Attach
attemptsandis_retryableto the final error- Split
UnsealErrorintoPcrChangedandFailed; onlyPcrChangedis 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>inGetKeyAdaptervia DICloses: #12
Bug Fixes
unseal: Attach error code and PCR retry hint to errors f867cb3
- Parse the
Esys_Unsealreturn code from stderr and attach it ascode- 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/homeequivalency- Drop
BREW_PREFIX_REAL;readlink -fproduced the form a later policy update aliased away, leaving rules that matched nothing whilerestoreconstampeddefault_tback on every service start- Drop the
-a … 2>/dev/null || -mfallback sosemanageerrors surface;semanagealready falls back to modify and exits 0- Correct
user_home_tto the observeddefault_t
Dependencies
Upgrade dependencies and remove unused
serial_test086a75c
Tests
Attach path to `TempDirectory::create` errors 042fd82
- Return
Report<TempDirectoryError>NOTio::Errorso failures name the directoryOs { code: 13, kind: PermissionDenied, message: "Permission denied" }gave the cause but never the path
v0.7.2
Changes
Dependencies
Bump `studiole-di` to `v0.6.0`, `studiole-logging` to `v0.4.0` f162d2d
- Adopt chainable
initandexpectconvenience methods- Move service initialization from
Cli::run()toCli::new()
Refactor
logging: Extract to `studiole-logging` crate 1a3f368
- Bump
studiole-div0.4.0→v0.5.1forInittrait support- Implement
Init for Uito print header during service initialization- Replace manual
init_ui()+init_logging()withServiceProvider::init()- Remove direct
tracing-subscriberdependency
Use `#[derive(FromServices)]` for trait-object DI resolution 9bfba81
studiole-div0.4.0supports derivingFromServiceson structs withArc<dyn Trait>fields- Remove 5 manual
FromServicesimpls:GetKeyAdapter,MountHandler,SetLuksHandler,SetTpmHandler,ValidateHandler- Bump
clapv4.6.0→v4.6.1,rpasswordv7.4.0→v7.5.2
v0.7.1
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-resolvedClistruct- Split monolithic
cli.rsintocli/module:cli_options,sub_command,service_builder_ext- Move
utils/ui.rstoui/logger.rsas DI-resolvedLoggerstruct- Implement
FromServicesforOptionsandCliOptions- Add
missing_docs,broken_intra_doc_links,bare_urls,invalid_html_tagslints
Introduce `Progress` struct a003d4b
- Introduce
Progressstruct for step management in handlers- Replace
print_step_startandprint_step_completedwithstepandokmethods- Add
TOTAL_STEPSconstants to relevant handlers- Remove
Mutexusage for step counters- Modularize UI components under
ui/(addiconsandprogressmodules)
v0.7.0
Changes
New Features
Warning
Breaking Change: Replace `partition_path` with PARTUUID-based resolution 591e5c6
- Config field
partition_pathrenamed topartuuid(GPT PARTUUID) - Add
ResolvePartitionadapter usingblkidto resolve PARTUUID to device path at runtime - Delete
CheckPartitionExistsin favour of runtime resolution - Handlers receive resolved
PathBufinstead of reading path fromOptions SetLuksHandlerandValidateHandlerno longer depend onArc<Options>
Bug Fixes
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, removaldocs/scripts/install-service.sh: automatessemanage/restorecon/systemd setupREADME.md: link to SERVICE.md
v0.6.2
Changes
Refactor
Introduce dependency injection with trait-based adapters f27c1b9
- Replace
luks/andtpm/modules withadapters/(one trait per operation) andhandlers/(one per subcommand)- Add
studiole-difor service resolution andmockallfor test mocks- Replace custom
AnyReportwithStructuredErrorfromstudiole-report- Move
PersistentHandleand TPM constants toutils/- Add comprehensive handler tests using mock adapters
- Remove all
clippy::absolute_pathssuppressions via import aliases- Convert
#[allow]attributes to#[expect]with reasons- Add doc comments to all public items
v0.6.1
Changes
Refactor
Migrate from `error-stack` to `studiole-report` f495cf9
- Replace
error-stackdependency withstudiole-report0.3.0- Delete custom
AttachKeyValueToReportandAttachPathextension traits now built intostudiole-report- Replace
bail!()withreturn Err(Report::new(...))- Convert single-arg
.attach()calls to key-value pairs- Replace
downcast_refin tests withcurrent_context()- Use
report.render()for diagnostic output inAnyReport