Client Difference Log
API Changes
Added Class DeviceIdService : Instance [NotCreatable] [Service] [NotReplicated]
Added Function string DeviceIdService:GetDeviceId() {RobloxScriptSecurity}
Added Class ScreenshotHud : Instance [NotCreatable] [NotReplicated]
Added Property Content ScreenshotHud.CameraButtonIcon
Added Property UDim2 ScreenshotHud.CameraButtonPosition
Added Property UDim2 ScreenshotHud.CloseButtonPosition
Added Property bool ScreenshotHud.ExperienceNameOverlayEnabled
Added Property Enum.Font ScreenshotHud.OverlayFont
Added Property bool ScreenshotHud.UsernameOverlayEnabled
Added Property bool ScreenshotHud.CloseWhenScreenshotTaken
Added Property bool ScreenshotHud.Visible
Added Property string BasePart.CollisionGroup {RobloxScriptSecurity} [<đ> LoadOnly] [Hidden] [NotReplicated]
Added Property Content PackageLink.Package Id [ReadOnly] [NotScriptable]
Added Property int64 PackageLink.Version Number [NotReplicated] [NotScriptable]
Added Property QDir Studio.IconOverrideDir {RobloxScriptSecurity}
Added Function string ScriptDocument:GetLine(int lineIndex = -1234567) {PluginSecurity}
Added Function int ScriptDocument:GetLineCount() {PluginSecurity}
Added Callback Objects Plugin.ProcessAssetInsertionDrag(string assetId, int assetTypeId, Objects instances) {RobloxScriptSecurity} [NoYield]
Added Callback void Plugin.ProcessAssetInsertionDrop() {RobloxScriptSecurity} [NoYield]
Added Tag [Hidden] to Property PackageLink.PackageId
Added Tag [Hidden] to Property PackageLink.VersionNumber
Changed the serialization of Property PackageLink.VersionNumber
from: [<đ> LoadOnly]
to: [<đ> RuntimeOnly]
Changed the security of Function ScriptDocument:EditTextAsync
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security of Function ScriptDocument:GetScript
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security of Function ScriptDocument:IsCommandBar
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security of Function ScriptEditorService:FindScriptDocument
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security and parameters of Function ScriptDocument:GetText
from: {RobloxScriptSecurity} ()
to: {PluginSecurity} (int startLine = -1234567, int startCharacter = -1234567, int endLine = -1234567, int endCharacter = -1234567)
Changed the security of Event ScriptEditorService.TextDocumentDidChange
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security of Event ScriptEditorService.TextDocumentDidClose
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Changed the security of Event ScriptEditorService.TextDocumentDidOpen
from: {RobloxScriptSecurity}
to: {PluginSecurity}
Removed Function ScriptDocument:GetNumLines
(Click here for a syntax highlighted version!)
Some context on whatâs going on with PackageLink.PackageId / VersionNumber. We plan to remove these two properties because we donât think anyone is using them and we would rather expose packages API wise with a wholistic API that really lets you make use of them.
We need to make sure that weâre not breaking any important existing usage, but to do that we need to split them into a Properties pane half and a scripting half so that we can get usage analytics.
Just going to repost this.
Still no way of getting the cursor position in a script.
The chunked reading with GetLine and GetText will be insanely useful for getting around the 200k char limit.
This will break my experience Enchanted realms entirely
I use the version number at runtime to version a playerâs data, since I use packages to sync code/assets used in multiple places in the experience.
The game has a feature using MessagingService that automatically shuts down servers entirely if any server encounters a newer string of package versions in order to prevent data loss via a player joining an old server that canât handle the new data schema.
Could you not have identical behavior with game.PlaceVersion
? You would need to store the version for each place seperately to check for updates, but you could still achieve the same behavior (since publishing a package across all places will publish all places as well).
The only use case I can see is to check for a single, specific, package having a new version. If that was needed, you could always use a plugin to bump a IntValue
inside the package.
Am I missing something?
I was previously using PackageId
to do hot-reloads of server code in-game (by loading the package by its version ID). This is the main appeal of PackageId
for me (and something that pairs very well with packages and donât want the possibility for to go away even if PackageId
does).
However since thereâs no way for me to actually work with VersionNumber
in game I never used that, I donât think it actually can be used aside for debug information and metadata purposes, unless people are using Roblox proxies and making web requests using it which I find unlikely.
Just noticed this release came with some new beta app UI. It looks great!
Great job to all that did it!
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.