Release Notes for 526

Improvements

NoteStatus

The new curve editor now supports triggering events on marker curves.

Live

Optimized physics broadphase for up to 5x faster raycasts.

Live

Fix a bug with table.unpack that, under rare circumstances, would allow unpacking arrays of size 8000 or larger.

Pending

Disable microprofiler scopes corresponding to property indexing on mobile to avoid the high timer overhead distorting overall script execution timings.

Pending

Implement support for generalized iteration RFC in Luau:

  1. When iterating through dictionaries, there's no longer a need to use pairs(). You can simply iterate through dictionary tables using for loop syntax:

for k, v in { a = 1, b = 2 } do
...
end
  1. When iterating through arrays, there's no longer a need to use pairs()/ipairs() in most cases. You can simply iterate through array-like tables using for loop syntax:

for _, child in workspace:GetChildren() do
...
end

Note that unlike ipairs(), this traversal will not stop at the nil elements; it however guarantees that the iteration order through keys 1..#t is sequential. As such for most uses of ipairs() this traversal is a good replacement as well.

  1. The object that is being iterated through, whether a table or a userdata, now supports __iter metamethod - when defined, __iter is called before the loop starts and must return the loop iterator function and state, for example assuming Node is a class-like table:

Node.__iter = function(node)
return next, node.children
end

This feature currently is only enabled in Studio and requires opting into the corresponding beta feature; once we gather enough feedback to make sure the implementation is solid, it will be enabled in live experiences.

Pending

Scripts will not be able to set reference properties to restricted instances, like those in CoreGui.

Pending

Fixes

NoteStatus

fix AnimationTrack.Priority replication.

Live

Renamed Show Navigation Areas to Show Navigation Labels

Live

Introduces fix to replicate deletions from the subtree of a part instance being re-streamed-in.

Live

Fix Issue with switching controller types reenabling player movement

Live