Merge branch 'master' into headless-api

This commit is contained in:
boatbomber 2025-11-26 19:58:16 -08:00 • committed by GitHub
commit 17270817c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
319 changed files with 8841 additions and 1614 deletions

View file

@ -32,8 +32,53 @@ Making a new release? Simply add the new header with the version and date undern
## Unreleased
* Added headless API for Studio companion plugins. ([#639])
* Fixed a bug where passing `--skip-git` to `rojo init` would still create a file named `gitignore.txt` ([#1172])
* A new command `rojo syncback` has been added. It can be used as `rojo syncback [path to project] --input [path to file]`. ([#937])
This command takes a Roblox file and pulls Instances out of it and places them in the correct position in the provided project.
Syncback is primarily controlled by the project file. Any Instances who are either referenced in the project file or a descendant
of one that is will be placed in an appropriate location.
In addition, a new field has been added to project files, `syncbackRules` to control how it behaves:
```json
{
"syncbackRules": {
"ignoreTrees": [
"ServerStorage/ImportantSecrets",
],
"ignorePaths": [
"src/ServerStorage/Secrets/*"
],
"ignoreProperties": {
"BasePart": ["Color"]
},
"syncCurrentCamera": false,
"syncUnscriptable": true,
}
}
```
A brief explanation of each field:
- `ignoreTrees` is a list of paths in the **roblox file** that should be ignored
- `ignorePaths` is a list of paths in the **file system** that should be ignored
- `ignoreProperties` is a list of properties that won't be synced back
- `syncCurrentCamera` is a toggle for whether to sync back the Workspace's CurrentCamera. Defaults to `false`.
- `syncUnscriptable` is a toggle for whether to sync back properties that cannot be set by the Roblox Studio plugin. Defaults to `true`.
If you are used to the `UpliftGames` version of this feature, there are a few notable differences:
- `syncUnscriptable` defaults to `true` instead of `false`
- `ignoreTrees` doesn't require the root of the project's name in it.
* Fixed bugs and improved performance & UX for the script diff viewer ([#994])
* Rebuilt the internal communication between the server and plugin to use [websockets](https://devforum.roblox.com/t/websockets-support-in-studio-is-now-available/4021932/1) instead of [long polling](https://en.wikipedia.org/wiki/Push_technology#Long_polling) ([#1142])
* Added support for `.jsonc` files for all JSON-related files (e.g. `.project.jsonc` and `.meta.jsonc`) to accompany JSONC support ([#1159])
[#639]: https://github.com/rojo-rbx/rojo/pull/639
[#937]: https://github.com/rojo-rbx/rojo/pull/937
[#994]: https://github.com/rojo-rbx/rojo/pull/994
[#1142]: https://github.com/rojo-rbx/rojo/pull/1142
[#1159]: https://github.com/rojo-rbx/rojo/pull/1159
[#1172]: https://github.com/rojo-rbx/rojo/pull/1172
## [7.6.1] (November 6th, 2025)