Release Notes for 371


Notes for Release 371


Client Difference Log

API Changes

Added Class BrowserService : Instance [NotCreatable] [Service] [NotReplicated]
	Added Function void BrowserService:CloseBrowserWindow() {RobloxScriptSecurity}
	Added Function void BrowserService:EmitHybridEvent(string moduleName, string eventName, string params) {RobloxScriptSecurity}
	Added Function void BrowserService:OpenBrowserWindow(string url) {RobloxScriptSecurity}
	Added Function void BrowserService:OpenNativeOverlay(string title, string url) {RobloxScriptSecurity}
	Added Function void BrowserService:ReturnToJavaScript(string callbackId, bool success, string params) {RobloxScriptSecurity}
	Added Event BrowserService.BrowserWindowClosed() {RobloxScriptSecurity}
	Added Event BrowserService.BrowserWindowWillNavigate(string url) {RobloxScriptSecurity}
	Added Event BrowserService.JavaScriptCallback(string content) {RobloxScriptSecurity}

Added Property Enum<AlignType> AlignOrientation.AlignType
Added Property float Players.RespawnTime
Added Property bool Studio.Show Hidden Objects in Explorer

Added Enum AlignType
	Added EnumItem AlignType.Parallel : 0
	Added EnumItem AlignType.Perpendicular : 1

Added Tag [Deprecated] to Function GuiService:OpenBrowserWindow
Added Tag [Deprecated] to Function GuiService:OpenNativeOverlay
Added Tag [Deprecated] to Event GuiService.BrowserWindowClosed
Added Tag [Yields] to Function Plugin:ImportFbxAnimation

Changed the parameters of Function PluginToolbar:CreateButton 
	from: (string text, string tooltip, string iconname)
	  to: (string buttonId, string tooltip, string iconname, string text = "")

Changed the return-type of Function Plugin:ImportFbxAnimation from void to Instance

Removed Function PluginToolbar:CreateButtonWithId

(Click here for a syntax highlighted version!)


:heart_eyes: fun fun fun, I’ll love to get more power to the avatar context menu and respawn time management can be great to get players back in the action quicker, or punish them by making them wait longer to respawn to put more weight and importance to keeping their character alive.


Is it rude to ask why?


This is one of the most annoying bugs, thanks a lot for fixing this!


A while ago, SpawnLocations were changed so that characters will spawn randomly over the surface of the top face if it’s big enough in order to prevent character stacking when lots of players spawn at the same time. However, the old default size of 6x1x6 was not large enough to trigger this behavior.

The default size was likely increased so that this spreading behavior can be active by default, thus making it easier for developers to avoid having characters stacking through ceilings or getting stuck in their game.


> RespawnTime

My God. This plus BreakJointsOnDeath. Enough of that hacky garbage for creating your own death logic. Just modify a few properties and you’re all set. I really like what the engineers are doing nowadays.


Will RespawnTime cause a memory leak if I set it to math.huge to disable respawning or is it safe to do so?


I do wish this property was under Player objects instead of the Players service. It would be cool to apply different numbers for different players.


Why don’t you just use CharacterAutoLoads? RespawnTime doesn’t seem like it’s made for disabling respawning.


CharacterAutoLoads isn’t per-player, unfortunately.


Oh right. Similar problem as this then.


I saw TextBox.CursorPosition is a thing now, what are the potential use cases of this feature? I’ve tried to think of some uses but with no really good ideas.


Is there anyway to disable character stacking all together?

It kinda limits level design currently, unless you want to use :SetPrimaryPartCFrame() to handle spawns.


Well, you could just use PhysicsService collision groups to make it so player characters do not collide with each other.


Well yes, but I was referring to if you have a ceiling that’s 6- 12 studs high, your character will spawn on the roof.