<div dir="ltr">Hi lists,<div><br></div><div>Following up the recent formalisation of a process for removal of deprecated API mid-release cycle (see <a href="https://github.com/qgis/QGIS-Enhancement-Proposals/pull/384">https://github.com/qgis/QGIS-Enhancement-Proposals/pull/384</a>), <span style="background-color:transparent">I've just submitted a proposal to remove the deprecated Python Processing "WidgetWrapper" API.</span></div><div><span style="background-color:transparent"><br></span></div><div>As per clause 1.4.4 of the Stable API policy, this API should be removed on the grounds that maintaining backward compatibility both introduces an insurmountable maintenance burden and fundamentally blocks critical bug fixes (condition 1.4.4.1).<span style="background-color:transparent"></span></div><div><br></div><div>This pure Python API is an ongoing source of unsolvable issues in the Processing framework, such as <a href="https://github.com/qgis/QGIS/issues/66282">https://github.com/qgis/QGIS/issues/66282</a>. It relies on a fragile memory management model, where the lifetime of objects created in C++ vs Python results in unpredictable object deletion or memory leakage. Over time the conclusion from QGIS developers familiar with this code is that this approach just cannot be fixed, and we need to move solely to the approach used elsewhere in QGIS, where Python is used solely to subclass C++ base classes, with all memory management living at the C++ level (either through direct C++ memory management or via C++ Qt parent/child associations).</div><div><br></div><div>In addition, the old API predated major overhauls of Processing GUI components such as the model designer, and the assumptions used in that API no longer apply (such as existence of Python dialog classes). Working around these old assumptions is a considerable drain on QGIS developers, and is blocking further desirable revamps and modernisation of the QGIS model designer interface.<br><br></div><div>This API has been marked as deprecated since QGIS 3.4, with developer-facing warnings being shown for over 7 years.</div><div><br></div><div>See <a href="https://github.com/qgis/QGIS-Enhancement-Proposals/pull/384" target="_blank">https://github.com/qgis/QGIS-Enhancement-Proposals/pull/386</a> for the proposed changes and a detailed write up on the plan for removal.</div><div><br></div><div>Please give all feedback on this proposed change as comments on the PR itself (not direct email replies) to keep the discussion centralized.</div><div><br></div><div>Kind regards,</div><div>Nyall</div><div class="gmail-yj6qo"></div><div class="gmail-adL"><br></div></div>