Skip to content

release: v0.7.0 — scan QoL + fix Settings live-update bug - #116

Merged
RasputinKaiser merged 2 commits into
mainfrom
release-v0.7.0
Jul 1, 2026
Merged

release: v0.7.0 — scan QoL + fix Settings live-update bug#116
RasputinKaiser merged 2 commits into
mainfrom
release-v0.7.0

Conversation

@RasputinKaiser

Copy link
Copy Markdown
Owner

Summary

  • Bump VERSION to 0.7.0 and update changelog/docs for the exclusion list, streaming results, cancel-keeps-partial, pause/resume, and redaction toggle features from Add redaction toggle for file/folder names #113/Scan engine QoL: exclusions, streaming, cancel-keeps-partial, pause/resume, rate display #114.
  • Fixes a real, pre-existing bug: FilterStore's @Published changes never propagated into ScanStore's own objectWillChange (filters is a lazy var, not @Published, with nothing forwarding its changes). Since every view holds @ObservedObject var store: ScanStore, Settings toggles/steppers appeared stuck — the underlying value did change, but nothing forced a re-render of the control showing it until some unrelated action (e.g. switching sidebar views) happened to trigger ScanStore's own objectWillChange. This reproduces on the already-shipped v0.6.0 build (bisected), so it predates this release, but was only caught now during manual verification of the redaction toggle. Fixed by forwarding both filters.objectWillChange and onDemandVerification.objectWillChange into ScanStore's own objectWillChange.
  • Fixes two redaction-toggle path leaks found during manual testing: the sidebar's recent-scans list/status footer and the Overview header both still showed the real scan root path even with redaction enabled.

Test plan

  • swift build / swift build -c release clean
  • swift test — 190/190 passing
  • ./script/public_upload_audit.sh passing
  • Manual verification via --fixture-scan: exclusion list, redaction toggle (Settings, Largest Files, Overview header, sidebar footer, Recent Scans), and Settings toggle now live-updates without needing to reopen the window
  • ./script/export_dmg.sh produces a valid, checksum-verified StorageScope-0.7.0.dmg

Bump VERSION to 0.7.0 and update docs/changelog for the exclusion
list, streaming results, cancel-keeps-partial, pause/resume, and
redaction toggle features from PRs #113/#114.

While verifying the release build, found that FilterStore's
@published changes never propagated into ScanStore's own
objectWillChange (filters is a lazy var, not @published, and nothing
forwarded its changes). Every view holds @ObservedObject var store:
ScanStore, so Settings toggles/steppers appeared stuck — the
underlying value did change, but nothing forced SwiftUI to re-render
the control showing it, until some unrelated action (e.g. switching
sidebar views) happened to trigger ScanStore's own objectWillChange.
This predates this release (reproduces on the already-shipped v0.6.0
build) but was only now caught during manual verification. Fixed by
forwarding filters.objectWillChange and onDemandVerification.objectWillChange
into ScanStore's own objectWillChange.

Also fixed two redaction-toggle path leaks found during manual
testing: the sidebar's recent-scans list/status footer and the
Overview header both showed the real scan root path even with
redaction enabled.
@RasputinKaiser
RasputinKaiser merged commit d046c94 into main Jul 1, 2026
6 checks passed
@RasputinKaiser
RasputinKaiser deleted the release-v0.7.0 branch July 11, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant