mirror of
https://github.com/penpot/penpot.git
synced 2026-09-30 15:56:17 +00:00
Before background blur got its own shape attribute, the `:blur` attribute accepted both `:layer-blur` and `:background-blur` types, so the editor and the plugin API could save a background blur under `:blur`. The shape schema was later tightened to only allow `:layer-blur` on `:blur`, but no migration moved the existing values, so those files fail server schema validation. Add migration 0029: when a shape has a `:blur` map with `:type :background-blur`, move it to the `:background-blur` attribute. When the shape already has a `:background-blur`, keep it and drop the mis-typed `:blur`. The migration walks both pages and components. Closes #11904 AI-assisted-by: deepseek-v4.1-flash