Skip to content

Free ForAll and Self Modifying Code: Variables#3044

Open
gregli-msft wants to merge 10 commits intogregli/free-self-basefrom
gregli/free-self-var
Open

Free ForAll and Self Modifying Code: Variables#3044
gregli-msft wants to merge 10 commits intogregli/free-self-basefrom
gregli/free-self-var

Conversation

@gregli-msft
Copy link
Contributor

@gregli-msft gregli-msft commented Mar 20, 2026

There is code in the binder to prevent writing ForAll( DS, Remove( DS, ThisRecord.Id ) ). However, it only works for data sources, not global variables that hold tables. Which is particularly problematic because collections in Canvas apps have moved from data sources to variables and no longer have this protection.

To fix this introduces a breaking change to Power Fx V1. A new feature EnhancedIterationChecks has been added with the Base version of the PR sequence to control this behavior. Existing Power Fx V1 hosts will see no change. New hosts should include this new feature which is bundled with Power Fx V2.

@gregli-msft gregli-msft changed the title Gregli/free self var Gregli/free self varFree ForAll and Self Modifying Code: Var Mar 20, 2026
@gregli-msft gregli-msft changed the title Gregli/free self varFree ForAll and Self Modifying Code: Var Gregli/free self varFree ForAll and Self Modifying Code: Variables Mar 20, 2026
@gregli-msft gregli-msft changed the title Gregli/free self varFree ForAll and Self Modifying Code: Variables Free ForAll and Self Modifying Code: Variables Mar 20, 2026
@gregli-msft gregli-msft marked this pull request as ready for review March 20, 2026 05:21
@gregli-msft gregli-msft requested a review from a team as a code owner March 20, 2026 05:21
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