Skip to content

lore(release): v0.7.21 — harden data and delivery integrity - #17

Merged
vriesd merged 3 commits into
mainfrom
release/v0.7.21
Jul 21, 2026
Merged

lore(release): v0.7.21 — harden data and delivery integrity#17
vriesd merged 3 commits into
mainfrom
release/v0.7.21

Conversation

@vriesd

@vriesd vriesd commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Release notes

  • Preserve authored Session work across recovered Summary completion, overlapping saves, blank-title validation, discard, navigation, active-Session reselection, and application close.
  • Clean up abandoned image imports, add safe attachment deletion, and recover managed attachment previews with deduplicated reads and bounded automatic retries.
  • Harden local AI execution with broadcast-first cancellation, private neutral working directories, bounded diagnostics, stricter structured-response parsing, and exact Evidence image identity.
  • Make validation and releases more deterministic with isolated E2E builds, pinned audit tooling, recoverable version transactions, and dependency-resolving final-package installation and launch smokes.
  • Split oversized persistence, controller, action, and regression-test modules along cohesive boundaries, backed by a traceable codebase audit and expanded race coverage.

Validation

  • bun install --cwd frontend --frozen-lockfile
  • bun run verify
  • node scripts/check-release-metadata.mjs --expected-tag v0.7.21

Preserve authored Session state, harden generation and cancellation, and make release validation interruption-safe.\n\nValidated with bun run verify and the v0.7.21 release metadata check.
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 152 files, which is 52 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2588cf41-6f8c-46cd-a8b9-4ea0c355acd7

📥 Commits

Reviewing files that changed from the base of the PR and between b959569 and 02822da.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • frontend/bun.lock is excluded by !**/*.lock
📒 Files selected for processing (152)
  • .github/actions/run-built-app-e2e/action.yml
  • .github/actions/setup-project/action.yml
  • .github/actions/validate-build/action.yml
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .gitignore
  • CHANGELOG.md
  • Cargo.toml
  • build/linux/io.github.ddv1982.qa-scribe.metainfo.xml
  • crates/qa-scribe-core/src/ai/executor.rs
  • crates/qa-scribe-core/src/ai/stream/codex.rs
  • crates/qa-scribe-core/src/attachments/mod.rs
  • crates/qa-scribe-core/src/generation/html.rs
  • crates/qa-scribe-core/src/generation/html/tests.rs
  • crates/qa-scribe-core/src/generation/html_projection.rs
  • crates/qa-scribe-core/src/generation/response.rs
  • crates/qa-scribe-core/src/generation/response/images.rs
  • crates/qa-scribe-core/src/generation/tests/images.rs
  • crates/qa-scribe-core/src/generation/tests/prompt_and_projection.rs
  • crates/qa-scribe-core/src/generation/tests/response_parser.rs
  • crates/qa-scribe-core/src/generation/workflow.rs
  • crates/qa-scribe-core/src/generation/workflow/tests.rs
  • crates/qa-scribe-core/src/generation/workflow/tests/completion.rs
  • crates/qa-scribe-core/src/generation/workflow/tests/summary.rs
  • crates/qa-scribe-core/src/services/session_service.rs
  • crates/qa-scribe-core/src/services/session_service/attachments.rs
  • crates/qa-scribe-core/src/services/session_service/drafts.rs
  • crates/qa-scribe-core/src/services/session_service/entries.rs
  • crates/qa-scribe-core/src/services/session_service/findings.rs
  • crates/qa-scribe-core/src/services/session_service/generation.rs
  • crates/qa-scribe-core/src/services/session_service/rich_body.rs
  • crates/qa-scribe-core/tests/session_storage.rs
  • crates/qa-scribe-core/tests/session_storage/attachments.rs
  • crates/qa-scribe-core/tests/session_storage/attachments/reconciliation_and_session_deletion.rs
  • crates/qa-scribe-core/tests/session_storage/attachments/validation_and_integrity.rs
  • crates/qa-scribe-core/tests/session_storage/generation_and_relationships/ai_and_drafts.rs
  • docs/ci.md
  • docs/code-size-guidelines.md
  • docs/codebase-audit-2026-07-20.json
  • docs/codebase-audit-2026-07-20.md
  • docs/codebase-audit-validation-2026-07-20.md
  • docs/codebase-remediation-plan-2026-07-20.md
  • docs/quality-scenarios.md
  • docs/releasing.md
  • docs/tauri-threat-model.md
  • e2e/fixtures/bin/codex
  • e2e/specs/critical-workflows.e2e.mjs
  • e2e/tauri.e2e.conf.json
  • e2e/wdio.conf.mjs
  • frontend/package.json
  • frontend/src/App.test.tsx
  • frontend/src/app/AppOverlays.tsx
  • frontend/src/app/AppShell.tsx
  • frontend/src/app/attachmentActions.test.ts
  • frontend/src/app/attachmentActions.ts
  • frontend/src/app/deleteConfirmationDialog.test.tsx
  • frontend/src/app/generationActions.ts
  • frontend/src/app/generationActions.types.ts
  • frontend/src/app/recordActions.coordination.ts
  • frontend/src/app/recordActions.drafts.ts
  • frontend/src/app/recordActions.findings.ts
  • frontend/src/app/recordActions.ts
  • frontend/src/app/sessionActions.saving.ts
  • frontend/src/app/sessionActions.ts
  • frontend/src/app/sessionActions.writes.ts
  • frontend/src/app/sessionNavigationActions.ts
  • frontend/src/app/types.ts
  • frontend/src/app/useAppController.autosave.note-writes.test.ts
  • frontend/src/app/useAppController.autosave.records.test.ts
  • frontend/src/app/useAppController.autosave.recovered-summary.test.ts
  • frontend/src/app/useAppController.autosave.test.ts
  • frontend/src/app/useAppController.closeProtection.summaryRecovery.test.ts
  • frontend/src/app/useAppController.closeProtection.test.ts
  • frontend/src/app/useAppController.derivedState.ts
  • frontend/src/app/useAppController.lifecycle.navigation-recovery.test.ts
  • frontend/src/app/useAppController.lifecycle.recovery-failures.test.ts
  • frontend/src/app/useAppController.lifecycle.summary-recovery.test.ts
  • frontend/src/app/useAppController.navigation.ts
  • frontend/src/app/useAppController.sessionIntegrity.compensation.test.ts
  • frontend/src/app/useAppController.sessionIntegrity.navigation.test.ts
  • frontend/src/app/useAppController.sessionIntegrity.test.ts
  • frontend/src/app/useAppController.testHarness.ts
  • frontend/src/app/useAppController.ts
  • frontend/src/app/useAppController.workflows.deletion.test.ts
  • frontend/src/app/useAppController.workflows.record-editing.test.ts
  • frontend/src/app/useAppController.workflows.settlement.test.ts
  • frontend/src/app/useAppController.workflows.test.ts
  • frontend/src/app/useAppStartup.ts
  • frontend/src/app/useOutputLibraries.ts
  • frontend/src/app/usePendingChangeProtection.ts
  • frontend/src/app/useRecordHydration.ts
  • frontend/src/bindings.ts
  • frontend/src/editor/RichTextEditor.test.tsx
  • frontend/src/editor/RichTextEditor.tsx
  • frontend/src/editor/editorHtml.test.ts
  • frontend/src/editor/editorHtml.ts
  • frontend/src/editor/richEditorRegistry.ts
  • frontend/src/hooks/useSettingsController.test.ts
  • frontend/src/hooks/useSettingsController.ts
  • frontend/src/tauriCommands.ts
  • frontend/src/views/FindingsView.tsx
  • frontend/src/views/RecordCollectionView.tsx
  • frontend/src/views/SessionEditorView.tsx
  • frontend/src/views/TestwareView.tsx
  • frontend/src/views/copySuccess.test.tsx
  • package.json
  • scripts/bump-version.mjs
  • scripts/bump-version.test.mjs
  • scripts/check-code-size.mjs
  • scripts/check-code-size.test.mjs
  • scripts/check-e2e-isolation.mjs
  • scripts/code-size-policy.json
  • scripts/install-cargo-audit.mjs
  • scripts/install-cargo-audit.test.mjs
  • scripts/run-e2e.mjs
  • scripts/run-e2e.test.mjs
  • scripts/run-startup-benchmark.mjs
  • scripts/smoke-release-artifacts.mjs
  • scripts/smoke-release-artifacts.test.mjs
  • scripts/tool-versions.json
  • scripts/version-transaction.mjs
  • scripts/version-transaction.test.mjs
  • src-tauri/build.rs
  • src-tauri/permissions/autogenerated/delete_attachment.toml
  • src-tauri/permissions/default.toml
  • src-tauri/src/commands/ai/job_events.rs
  • src-tauri/src/commands/ai/job_runner.rs
  • src-tauri/src/commands/ai/provider_execution.rs
  • src-tauri/src/commands/ai/streaming_exec.rs
  • src-tauri/src/commands/ai/streaming_exec/tests.rs
  • src-tauri/src/commands/error.rs
  • src-tauri/src/commands/files.rs
  • src-tauri/src/commands/providers.rs
  • src-tauri/src/commands/providers/detection.rs
  • src-tauri/src/commands/providers/models/tests.rs
  • src-tauri/src/commands/providers/probe.rs
  • src-tauri/src/commands/providers/probe/cancel.rs
  • src-tauri/src/commands/providers/probe/claude/mod.rs
  • src-tauri/src/commands/providers/probe/command.rs
  • src-tauri/src/commands/providers/probe/copilot/mod.rs
  • src-tauri/src/commands/providers/probe/copilot/protocol.rs
  • src-tauri/src/commands/providers/probe/lifecycle_tests.rs
  • src-tauri/src/commands/providers/probe/system.rs
  • src-tauri/src/commands/providers/tests/mod.rs
  • src-tauri/src/commands/providers/tests/support.rs
  • src-tauri/src/jobs.rs
  • src-tauri/src/jobs/control.rs
  • src-tauri/src/jobs/tests.rs
  • src-tauri/src/provider_command.rs
  • src-tauri/src/provider_command/tests.rs
  • src-tauri/src/specta_bindings.rs
  • src-tauri/tauri.conf.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.7.21

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c88736a994

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/run-e2e.mjs
@vriesd
vriesd merged commit 6e062ca into main Jul 21, 2026
7 checks passed
@vriesd
vriesd deleted the release/v0.7.21 branch July 21, 2026 21:05
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.

2 participants