Release Notes for 485

Notes for Release 485


Client Difference Log

API Changes

Added Class AssetImportItemSettings : Instance [NotCreatable] [NotReplicated]
	Added Property bool AssetImportItemSettings.ShouldImport

Added Class AssetImportSettings : Instance [NotCreatable] [NotReplicated]
	Added Property AssetImportItemSettings AssetImportSettings.Hierarchy [ReadOnly]
	Added Function Instance AssetImportSettings:Import() {RobloxScriptSecurity}

Added Class Breakpoint : Instance [NotCreatable] [NotReplicated]
	Added Property Expression Breakpoint.Condition {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property int Breakpoint.Line {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property ScriptRef Breakpoint.Script {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property bool Breakpoint.Enabled {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property bool Breakpoint.Valid {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Function int Breakpoint:Remove(Function status) {RobloxScriptSecurity}
	Added Function int Breakpoint:SetCondition(Instance condition, Function status) {RobloxScriptSecurity}
	Added Function int Breakpoint:SetEnabled(bool enabled, Function status) {RobloxScriptSecurity}
	Added Function int Breakpoint:SetLine(int line, Function status) {RobloxScriptSecurity}

Added Class DebuggerConnection : Instance [NotCreatable] [NotReplicated]
	Added Property int DebuggerConnection.Id {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property bool DebuggerConnection.IsPaused {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Function int DebuggerConnection:AddBreakpoint(Instance script, int line, Instance conditon, Function status) {RobloxScriptSecurity}
	Added Function int DebuggerConnection:Pause(Function status) {RobloxScriptSecurity}
	Added Function int DebuggerConnection:Resume(Function status) {RobloxScriptSecurity}
	Added Function int DebuggerConnection:Terminate(Function status) {RobloxScriptSecurity}
	Added Event DebuggerConnection.BreakpointAdded(Instance breakpoint) {RobloxScriptSecurity}
	Added Event DebuggerConnection.BreakpointChanged(Instance breakpoint) {RobloxScriptSecurity}
	Added Event DebuggerConnection.BreakpointRemoved(Instance breakpoint, Enum.BreakpointRemoveReason reason) {RobloxScriptSecurity}
	Added Event DebuggerConnection.Paused(Instance pausedState, Enum.DebuggerPauseReason reason) {RobloxScriptSecurity}
	Added Event DebuggerConnection.Resumed(Instance pausedState) {RobloxScriptSecurity}

Added Class DebuggerConnectionManager : Instance [NotCreatable] [Service] [NotReplicated]
	Added Property double DebuggerConnectionManager.Timeout {RobloxScriptSecurity} [Hidden] [NotReplicated]
	Added Function int DebuggerConnectionManager:ConnectLocal(Instance dataModel) {RobloxScriptSecurity}
	Added Function int DebuggerConnectionManager:ConnectRemote(string host, int port) {RobloxScriptSecurity}
	Added Function void DebuggerConnectionManager:FocusConnection(Instance connection) {RobloxScriptSecurity}
	Added Event DebuggerConnectionManager.ConnectionEnded(Instance connection, Enum.DebuggerEndReason reason) {RobloxScriptSecurity}
	Added Event DebuggerConnectionManager.ConnectionStarted(Instance connection) {RobloxScriptSecurity}
	Added Event DebuggerConnectionManager.FocusChanged(Instance connection) {RobloxScriptSecurity}

Added Class Expression : Instance [NotReplicated]
	Added Property string Expression.Expression {RobloxScriptSecurity} [Hidden] [NotReplicated]
	Added Function int Expression:Evaluate(Instance frame, Function status) {RobloxScriptSecurity}

Added Class PausedState : Instance [NotCreatable] [NotReplicated]
	Added Property bool PausedState.IsValid {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property Enum.DebuggerPauseReason PausedState.Reason {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property int PausedState.ThreadCount {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Function Instance PausedState:GetThread(int index) {RobloxScriptSecurity}

Added Class RemoteDebuggerServer : Instance [NotCreatable] [Service] [NotReplicated]

Added Class ScriptRef : Instance [NotCreatable] [NotReplicated]
	Added Function Instance ScriptRef:Find(Instance dataModel) {RobloxScriptSecurity}
	Added Function Objects ScriptRef:FindAll(Instance dataModel) {RobloxScriptSecurity}

Added Class ThreadState : Instance [NotCreatable] [NotReplicated]
	Added Property int ThreadState.ThreadId {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Function Objects ThreadState:GetCallstack() {RobloxScriptSecurity}
	Added Function int ThreadState:RequestCallstack(Function status) {RobloxScriptSecurity}

Added Class AssetImportMeshSettings : AssetImportItemSettings [NotCreatable] [NotReplicated]
Added Class AssetImportTextureSettings : AssetImportItemSettings [NotCreatable] [NotReplicated]

Added Class PausedStateBreakpoint : PausedState [NotCreatable] [NotReplicated]
	Added Property Breakpoint PausedStateBreakpoint.Breakpoint {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property ThreadState PausedStateBreakpoint.BreakpointThread {RobloxScriptSecurity} [Hidden] [ReadOnly]

Added Class PausedStateException : PausedState [NotCreatable] [NotReplicated]
	Added Property string PausedStateException.ExceptionText {RobloxScriptSecurity} [Hidden] [ReadOnly]
	Added Property ThreadState PausedStateException.ExceptionThread {RobloxScriptSecurity} [Hidden] [ReadOnly]

Added Property Color3 Clouds.Color
Added Property bool Clouds.Enabled
Added Property Enum.CommandPermission CommandInstance.Permission {RobloxScriptSecurity} [ReadOnly]
Added Property bool Lighting.TempUseNewSkyRemovalBehaviour {RobloxScriptSecurity} [Hidden] [NotReplicated]
Added Property Enum.HumanoidOnlySetCollisionsOnStateChange Workspace.HumanoidOnlySetCollisionsOnStateChange [NotScriptable]

Added Event Humanoid.ClusterCompositionFinished() {RobloxScriptSecurity}

Added Enum BreakpointRemoveReason
	Added EnumItem BreakpointRemoveReason.Requested : 0
	Added EnumItem BreakpointRemoveReason.ScriptChanged : 1
	Added EnumItem BreakpointRemoveReason.ScriptRemoved : 2

Added Enum CommandPermission
	Added EnumItem CommandPermission.Plugin : 0
	Added EnumItem CommandPermission.LocalUser : 1

Added Enum DebuggerEndReason
	Added EnumItem DebuggerEndReason.ClientRequest : 0
	Added EnumItem DebuggerEndReason.Timeout : 1
	Added EnumItem DebuggerEndReason.InvalidHost : 2
	Added EnumItem DebuggerEndReason.Disconnected : 3
	Added EnumItem DebuggerEndReason.ServerShutdown : 4
	Added EnumItem DebuggerEndReason.ServerProtocolMismatch : 5
	Added EnumItem DebuggerEndReason.ConfigurationFailed : 6
	Added EnumItem DebuggerEndReason.RpcError : 7

Added Enum DebuggerFrameType
	Added EnumItem DebuggerFrameType.C : 0
	Added EnumItem DebuggerFrameType.Lua : 1

Added Enum DebuggerPauseReason
	Added EnumItem DebuggerPauseReason.Unknown : 0
	Added EnumItem DebuggerPauseReason.Requested : 1
	Added EnumItem DebuggerPauseReason.Breakpoint : 2
	Added EnumItem DebuggerPauseReason.Exception : 3
	Added EnumItem DebuggerPauseReason.SingleStep : 4
	Added EnumItem DebuggerPauseReason.Entrypoint : 5

Added Enum DebuggerStatus
	Added EnumItem DebuggerStatus.Success : 0
	Added EnumItem DebuggerStatus.Timeout : 1
	Added EnumItem DebuggerStatus.ConnectionLost : 2
	Added EnumItem DebuggerStatus.InvalidResponse : 3
	Added EnumItem DebuggerStatus.InternalError : 4
	Added EnumItem DebuggerStatus.InvalidState : 5
	Added EnumItem DebuggerStatus.RpcError : 6

Added Enum HumanoidOnlySetCollisionsOnStateChange
	Added EnumItem HumanoidOnlySetCollisionsOnStateChange.Default : 0
	Added EnumItem HumanoidOnlySetCollisionsOnStateChange.Disabled : 1
	Added EnumItem HumanoidOnlySetCollisionsOnStateChange.Enabled : 2

Added EnumItem AccessoryType.TShirt : 8
Added EnumItem AssetType.TShirt : 2
Added EnumItem AssetType.TShirtAccessory : 64
Added EnumItem AvatarAssetType.TShirtAccessory : 64

Changed the parameters of Function BasePart:SetNetworkOwner 
	from: (Instance playerInstance = nil)
	  to: (Player playerInstance = nil)

Changed the return-type of Function AssetImportService:ImportMesh 
	from: Dictionary
	  to: AssetImportSettings

Changed the return-type of Function AssetImportService:ImportMeshWithPrompt 
	from: Dictionary
	  to: AssetImportSettings

Removed Enum AvatarJointPositionType
	Removed EnumItem AvatarJointPositionType.Fixed
	Removed EnumItem AvatarJointPositionType.ArtistIntent

Removed EnumItem AccessoryType.TeeShirt
Removed EnumItem AssetType.TeeShirt
Removed EnumItem AssetType.TeeShirtAccessory
Removed EnumItem AvatarAssetType.TeeShirtAccessory

(Click here for a syntax highlighted version!)


Is there any specific engineering reason that Clouds has to be under Terrain rather than Lighting?

It makes a lot more sense under Lighting as when I think of clouds I think of various other lighting-related objects like atmosphere, fog, skyboxes, and whatnot. Clouds have more to do with the sky than the ground, correct?


Pretty neat, although, what’s with the debugging classes and enums, any… specific usecases for developers, or is it for engineers only? Seems interesting.

@M_caw best guess is probably that clouds are from terrain features like water, logically - lighting should be used for atmospheric changes like effects or skybox, aka environment.


”Added a new Velocity Stretch property for particle emitters that have the VelocityParallel orientation that elongates the particle shape in the direction of their velocity based on the velocity magnitude.”

Love to see the attention that particles have been getting lately. Correct me if i am wrong, but I dont think there have been much updates for particle emitters at all since they were released back in 2016. I also hope we can get collidable particles in the future too!


A bit of a shame that all those debugger features are locked; we could really use those out in the Rojo world…

Ah well.


There may be a public API in the long term. Given how complicated an API it is, we just want to work with it internally first on the built in debugger so that if/when we make a public version we can make sure that the API is as clean as possible.


Will T-Shirts be retired on Roblox or will they stay?


They renamed the enums to use TShirt instead of TeeShirt.