09.08.2026
Today’s release includes the following updates:
sdk
- In the SDK data module, a
Note’sbodyis now computed on access rather than stored in a column. Reading it is unchanged, and it still returns the same array of text and command objects, but Canvas now assembles it from more than one column, so fewer query operations can name it.- Breaking change:
bodycan no longer be named through a relation. A queryset on another model that saysdefer("note__body"),filter(note__body=...)or similar now raises an error rather than resolving. Query Note directly instead. - Breaking change:
values("body")andvalues_list("body")now raise aFieldErrorthat points you atonly("body"), because no single column holds the value they would return. Sorting onbodyis no longer resolved either. filter(),exclude()andget()onbodystill work when you queryNoteitself, including lookups nested in aQobject, and so doonly("body")anddefer("body").
- Breaking change: