# v0.105.3: DVM corrections and release publication safety > **Status:** Released > **Scope:** Patch > **User promise:** "Known wrong-result cases are fixed, and every release channel waits for qualification." > **Blocked by:** [v0.105.2](v0.105.2.md) > **Series:** [v0.105.x](v0.105.x.md) > **Source:** [Post-v0.105.2 assessment](../pg-trickle-v0.105.2-assessment.md), sections 3 and 4.1 ## Outcome Ship the DVM corrections already merged in PR #1011 with compact regressions and guidance for affected existing results. Close the Docker publication path that can bypass qualification. These known defects justify a maintenance patch under the v0.105 series policy. ## Work - Establish the affected release range with minimized reproductions. Preserve the aggregate predicate correction and the unchanged-left relation used by semi-join and anti-join maintenance. - Extend the existing exact-result tests with simultaneous changes to both sources of `EXISTS` and `NOT EXISTS`. Cover deleted left rows, first and last right matches, duplicates, nullable keys, and a downstream aggregate. - Add a regression for a filter above a projected subquery whose reconstructed SQL contains an inner `WHERE`. Assert both valid SQL and the expected result. - Show that each reproducer fails on the affected implementation and passes on the candidate. Assert bag equality and the intended effective strategy after each mutation cycle. Check output-delta multiplicity when publication is enabled. A whole-query `FULL` refresh cannot satisfy a differential test. - Document how to identify potentially affected stream tables, compare their results with the defining query at a consistent boundary, and repair or recreate affected state using supported procedures. Include downstream consumer invalidation and resnapshot where needed. Installing the fix alone does not prove that existing materialized results are correct. - Make every official publication path depend on successful qualification, including per-architecture containers, manifests, version tags, and mutable release aliases. Test the workflow dependency graph and a deliberately failing qualification without promoting public artifacts. - Requalify the exact packaged candidate and retain the regression and publication-gate results. State which checks actually ran for each artifact. ## Exit criteria - [ ] Reproductions identify the affected versions and demonstrate failure before the correction and success after it. - [ ] Exact rows, duplicate counts, strategy, and applicable output deltas pass on the packaged candidate across the named mutation cases. - [ ] A tested recovery procedure repairs affected state without requiring every stream table to be rebuilt or losing committed source changes. - [ ] Failed, skipped, or cancelled required qualification prevents all official release promotions, including container aliases. - [ ] The patch publishes candidate-specific qualification evidence and affected-query guidance. Unexecuted checks remain explicitly unqualified. ## Existing implementation points Use [aggregate SQL generation](../src/dvm/operators/aggregate.rs), [semi-join maintenance](../src/dvm/operators/semi_join.rs), [anti-join maintenance](../src/dvm/operators/anti_join.rs), and the [differential equivalence suite](../tests/e2e_diff_full_equivalence_tests.rs). Update the existing [release workflow](../.github/workflows/release.yml) and [upgrade guidance](../docs/UPGRADING.md). ## Scope control No new query families, public contracts, capture modes, or controller actions. Keep Graph V1 and Delta V1 unchanged. The broader evidence and performance work in [v0.106.0](v0.106.0.md) does not delay this corrective patch. The 72-hour soak, longevity environment, and v1.0 qualification remain deferred.