Release Notes for 492

Notes for Release 492


Client Difference Log

API Changes

Added Class ChannelSelectorSoundEffect : SoundEffect [NotBrowsable]
	Added Property int ChannelSelectorSoundEffect.Channel

Added Function void AppUpdateService:DisableDUARAndOpenSurvey(string surveyUrl) {RobloxScriptSecurity}
Added Function bool AvatarEditorService:NoPromptDeleteOutfit(int64 outfitId) {RobloxScriptSecurity}
Added Function void AvatarEditorService:PerformDeleteOutfit() {RobloxScriptSecurity}
Added Function void AvatarEditorService:PromptDeleteOutfit(int64 outfitId)
Added Function void AvatarEditorService:SignalDeleteOutfitFailed() {RobloxScriptSecurity}
Added Function void AvatarEditorService:SignalDeleteOutfitPermissionDenied() {RobloxScriptSecurity}

Added Event AvatarEditorService.OpenPromptDeleteOutfit(int64 outfitId) {RobloxScriptSecurity}
Added Event AvatarEditorService.PromptDeleteOutfitCompleted(Enum.AvatarPromptResult result)

Changed the parameters of Function CommandService:RegisterCommand 
	from: (Plugin pluginname, string description, string )
	  to: (Plugin plugin, string name, string description)

Changed the parameters of Function PhysicsService:CollisionGroupContainsPart 
	from: (string name, Instance part)
	  to: (string name, BasePart part)

Changed the parameters of Function PhysicsService:SetPartCollisionGroup 
	from: (Instance part, string name)
	  to: (BasePart part, string name)

Changed the parameters of Function Plugin:OpenScript 
	from: (Instance script, int lineNumber = 1)
	  to: (LuaSourceContainer script, int lineNumber = 1)

Changed the parameters of Function WorldRoot:GetPartsInPart 
	from: (Instance part, OverlapParams overlapParams =
	  to: (BasePart part, OverlapParams overlapParams =

Changed the value of EnumItem StudioDataModelType.PlayClient from 2 to 1
Changed the value of EnumItem StudioDataModelType.PlayServer from 3 to 2
Changed the value of EnumItem StudioDataModelType.RobloxPlugin from 4 to 3
Changed the value of EnumItem StudioDataModelType.UserPlugin from 5 to 4
Changed the value of EnumItem StudioDataModelType.None from 6 to 5

Removed Property File.FileName
Removed Property File.FileSize
Removed Property Studio.DEPRECATED_DisableAccuratePlaySolo

Removed Function File:GetFileContentsBinary
Removed Function StudioService:PromptImportLocalAsset
Removed Function StudioService:PromptImportLocalAssets

(Click here for a syntax highlighted version!)


AAAAAA so happy the cache is now overridden when a purchase is completed.

This is also interesting, wonder if this is what I think it is.


Does this include purchases made from the website (i.e. the “Store” page on an experience)? This seems like the most problematic one for user experience, and the reason why people have sometimes opted to use non-standard APIs to detect gamepass ownership.


There was a feature request made around this at some point iirc, it doesn’t sound like this is the case. Based on what I recall from the conversation I read, I don’t think the technology exists on Roblox’s end to do this easily.

Personally I wish that it weren’t so easy to purchase gamepasses on site, ironically. For example, removing the buy button:

Or, at least some kind of warning, e.g. under the Passes text that says something like “Passes may not be available until rejoining”



ChannelSelectorSoundEffect? What will the purpose of this be?


I’m assuming this is for plugin commands, and if so, this is phenomenal. As a plugin developer myself, I would love to stray away from shared and _G in the command bar.

CommandService currently doesn’t do anything, I used an unpatched CoreScript execution method to test it, and nothing happens currently.

It’s very likely a preliminary feature that isn’t implemented yet. Surprised why it’s RobloxScriptSecurity. (then again, SetItem and Invoke are RobloxScriptSecurity even though they weren’t for a few versions).

Roblox internally allocates sounds on a channel number, currently it cant be controlled. This appears to be implemented to allow developers to override it. If this IS being implemented, it would be nice if the security from this method was removed.