Skip to content

Releases: rojo-rbx/rojo

v7.4.4

22 Aug 18:39
5bd3c74
Compare
Choose a tag to compare

This release fixes a crash caused by a recent Roblox change and an edge case caused by setting Archivable to false for one Instance but not setting it for anything else.

Changes since Rojo 7.4.3

Fixes

  • Fixed an issue with reading recently generated Lighting files
  • Archivable is now set to true by default when building to binary (rbxm/rbxl) files, which fixes an edge case where it was set to false for one Instance but not set for anything else

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.4

v7.4.3

06 Aug 20:57
f4e2f5a
Compare
Choose a tag to compare

This release contains a bug fix for a breaking issue introduced in Rojo 7.4.2 when building binary (rbxm and rbxl) files. It also corrects some warnings that were emitted by the plugin on initial sync.

Changes since Rojo 7.4.2

Fixes

  • Fixed issue with building binary files introduced in 7.4.2
  • Fixed value of type nil cannot be converted to number warning spam in output. (#955)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.3

v7.4.2

23 Jul 20:51
844f51d
Compare
Choose a tag to compare

This release contains a handful of bugfixes and a minor UX improvement to the property's patch confirmation.

Changes since Rojo 7.4.1

Fixes

  • Fixed removing trailing newlines in scripts (#903)
  • As always, the internal property database has been updated. This fixes an issue with SurfaceAppearance.Color among other things. (#948)

Changes

  • Added option to select 'Never' for plugin patch confirmation (#893)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.1

v7.4.1

22 Feb 01:25
af9629c
Compare
Choose a tag to compare

This release contains a handful of bugfixes and small improvements.

Changes since Rojo 7.4.0

Fixes

  • Fixed incorrect results when building model pivots (#865)
  • Fixed incorrect results when serving model pivots (#868)
  • Fixed Rojo plugin failing to connect when project contains certain unreadable properties (#848)
  • Fixed various cases where patch visualizer would not display sync failures (#845, #844)
  • Fixed Rojo plugin erroring out after attempting to destroy services (#845)
  • Fixed http error handling so Rojo can be used in Github Codespaces (#847)

Changes

  • Made the name field optional on project files (#870)

    Files named default.project.json inherit the name of the folder they're in and all other projects
    are named as expect (e.g. foo.project.json becomes an Instance named foo)

    There is no change in behavior if name is set.

  • Rojo now converts any line endings to LF, preventing spurious diffs when syncing Lua files on Windows (#854)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

[WARNING: this method will not work because we've had some trouble publishing Rojo 7.4.1 to crates.io. We should have it resolved in a future patch, sorry!]

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.1

v7.4.0

16 Jan 20:33
c0a96e3
Compare
Choose a tag to compare

This release is a long time coming and carries with it the changes of the last 9 months. It is the first full release handled by Rojo's new maintainers.

Important Notice: There is a new place to install Rojo's plugin from Roblox's website. If you are using the version on the website, it now lives here.

Changes since Rojo 7.3.0

Additions

Project format

  • Added support for .toml files to $path (#633)

  • Added support for Font and CFrame attributes (rbx-dom#299, rbx-dom#296)

  • Added the emitLegacyScripts field to the project format (#765). The behavior is outlined below:

    emitLegacyScripts Value Action Taken by Rojo
    false Rojo emits Scripts with the appropriate RunContext for *.client.lua and *.server.lua files in the project.
    true (default) Rojo emits LocalScripts and Scripts with legacy RunContext (same behavior as previously).

    It can be used like this:

     {
     	"emitLegacyScripts": false,
     	"name": "MyCoolRunContextProject",
     	"tree": {
     		"$path": "src"
     	}
     }
  • Added Terrain classname inference, similar to services (#771)

    Terrain may now be defined in projects without using $className:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     	}
     }
  • Added support for Terrain.MaterialColors (#770)

    Terrain.MaterialColors is now represented in projects in a human readable format:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     		"$properties": {
     			"MaterialColors": {
     				"Grass": [10, 20, 30],
     				"Asphalt": [40, 50, 60],
     				"LeafyGrass": [255, 155, 55]
     			}
     		}
     	}
     }
  • Added better support for Font properties (#731)

    FontFace properties may now be defined using implicit property syntax:

     "TextBox": {
     	"$className": "TextBox",
     	"$properties": {
     		"FontFace": {
     			"family": "rbxasset://fonts/families/RobotoMono.json",
     			"weight": "Thin",
     			"style": "Normal"
     		}
     	}
     }

Patch visualizer and notifications

  • Added a setting to control patch confirmation behavior (#774)

    This is a new setting for controlling when the Rojo plugin prompts for confirmation before syncing. It has four options:

    • Initial (default): prompts only once for a project in a given Studio session
    • Always: always prompts for confirmation
    • Large Changes: only prompts when there are more than X changed instances. The number of instances is configurable - an additional setting for the number of instances becomes available when this option is chosen
    • Unlisted PlaceId: only prompts if the place ID is not present in servePlaceIds
  • Added the ability to select Instances in patch visualizer (#709)

    Double-clicking an instance in the patch visualizer sets Roblox Studio's selection to the instance.

  • Added a sync reminder notification. (#689)

    Rojo detects if you have previously synced to a place, and displays a notification reminding you to sync again:

    Rojo reminds you to sync a place that you've synced previously

  • Added rich Source diffs in patch visualizer (#748)

    A "View Diff" button for script sources is now present in the patch visualizer. Clicking it displays a side-by-side diff of the script changes:

    The patch visualizer contains a "view diff" button

    The "View Diff" button opens a widget that displays a diff

  • Patch visualizer now indicates what changes failed to apply. (#717)

    A clickable warning label is displayed when the Rojo plugin is unable to apply changes. Clicking the label displays precise information about which changes failed:

    Patch visualizer displays a clickable warning label when changes fail to apply

Miscellaneous

  • Added plugin flag to the build command that outputs to the local plugins folder (#735)

    This is a flag that builds a Rojo project into Roblox Studio's plugins directory. This allows you to build a Rojo project and load it into Studio as a plugin without having to type the full path to the plugins directory. It can be used like this: rojo build <PATH-TO-PROJECT> --plugin <FILE-NAME>

  • Added new plugin template to the init command (#738)

    This is a new template geared towards plugins. It is similar to the model template, but creates a Script instead of a ModuleScript in the src directory. It can be used like this: rojo init --kind plugin

  • Added protection against syncing non-place projects as a place. (#691)

  • Add buttons for navigation on the Connected page (#722)

Fixes

  • Significantly improved performance of rojo serve and rojo build on macOS. #830
  • Significantly improved performance of rojo sourcemap (#668)
  • Fixed the diff visualizer of connected sessions. (#674)
  • Fixed disconnected session activity. (#675)
  • Skip confirming patches that contain only a datamodel name change. (#688)
  • Fix Rojo breaking when users undo/redo in Studio (#708)
  • Improve tooltip behavior (#723)
  • Better settings controls (#725)
  • Rework patch visualizer with many fixes and improvements (#713, #726, #755)

Changes

  • rojo init now generates scripts with .luau as the file extension rather than .lua (#831)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.0

New Contributors

Other Contributors

A very big thank you to @Barocena, @boatbomber, @Boegie19, @chriscerie, @Dekkonot, @filiptibell, @kennethloeffler, and @nezuo for their work in this release!

v7.4.0-rc3

26 Oct 00:19
41994ec
Compare
Choose a tag to compare
v7.4.0-rc3 Pre-release
Pre-release

This release has been superseded by the full release of v7.4.0. Please use that instead!

See original release notes

This is a release candidate for Rojo 7.4.0 and carries with it the changes of the last 6 months. As a result of being a release candidate, you must manage your own plugin. The version on the Roblox website will not be updated until a full release is made. The plugin for this release may be installed automatically by running rojo plugin install or it may be manually installed by placing the Rojo.rbxm file from this release into your local plugins folder.

There may be bugs in this release! Notably, the internals of the plugin have undergone a significant revision and a backend change was made on MacOS. While those are the most significant potential sources for bugs, please report anything else you encounter as well.

Changes since Rojo 7.4.0-rc2

  • Changed sourcemap --watch to only generate the sourcemap when it's necessary (#800)

  • Switched script source property getter and setter to ScriptEditorService methods (#801)

    This ensures that the script editor reflects any changes Rojo makes to a script while it is open in the script editor.

  • Fixed issues when handling SecurityCapabilities values (#803, #807)

  • Fixed Rojo plugin erroring out when attempting to sync attributes with invalid names (#809)

Changes since Rojo 7.3.0

Additions

Project format

  • Added support for .toml files to $path (#633)

  • Added support for Font and CFrame attributes (rbx-dom#299, rbx-dom#296)

  • Added the emitLegacyScripts field to the project format (#765). The behavior is outlined below:

    emitLegacyScripts Value Action Taken by Rojo
    false Rojo emits Scripts with the appropriate RunContext for *.client.lua and *.server.lua files in the project.
    true (default) Rojo emits LocalScripts and Scripts with legacy RunContext (same behavior as previously).

    It can be used like this:

     {
     	"emitLegacyScripts": false,
     	"name": "MyCoolRunContextProject",
     	"tree": {
     		"$path": "src"
     	}
     }
  • Added Terrain classname inference, similar to services (#771)

    Terrain may now be defined in projects without using $className:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     	}
     }
  • Added support for Terrain.MaterialColors (#770)

    Terrain.MaterialColors is now represented in projects in a human readable format:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     		"$properties": {
     			"MaterialColors": {
     				"Grass": [10, 20, 30],
     				"Asphalt": [40, 50, 60],
     				"LeafyGrass": [255, 155, 55]
     			}
     		}
     	}
     }
  • Added better support for Font properties (#731)

    FontFace properties may now be defined using implicit property syntax:

     "TextBox": {
     	"$className": "TextBox",
     	"$properties": {
     		"FontFace": {
     			"family": "rbxasset://fonts/families/RobotoMono.json",
     			"weight": "Thin",
     			"style": "Normal"
     		}
     	}
     }

Patch visualizer and notifications

  • Added a setting to control patch confirmation behavior (#774)

    This is a new setting for controlling when the Rojo plugin prompts for confirmation before syncing. It has four options:

    • Initial (default): prompts only once for a project in a given Studio session
    • Always: always prompts for confirmation
    • Large Changes: only prompts when there are more than X changed instances. The number of instances is configurable - an additional setting for the number of instances becomes available when this option is chosen
    • Unlisted PlaceId: only prompts if the place ID is not present in servePlaceIds
  • Added the ability to select Instances in patch visualizer (#709)

    Double-clicking an instance in the patch visualizer sets Roblox Studio's selection to the instance.

  • Added a sync reminder notification. (#689)

    Rojo detects if you have previously synced to a place, and displays a notification reminding you to sync again:

    Rojo reminds you to sync a place that you've synced previously

  • Added rich Source diffs in patch visualizer (#748)

    A "View Diff" button for script sources is now present in the patch visualizer. Clicking it displays a side-by-side diff of the script changes:

    The patch visualizer contains a "view diff" button

    The "View Diff" button opens a widget that displays a diff

  • Patch visualizer now indicates what changes failed to apply. (#717)

    A clickable warning label is displayed when the Rojo plugin is unable to apply changes. Clicking the label displays precise information about which changes failed:

    Patch visualizer displays a clickable warning label when changes fail to apply

Miscellaneous

  • Added plugin flag to the build command that outputs to the local plugins folder (#735)

    This is a flag that builds a Rojo project into Roblox Studio's plugins directory. This allows you to build a Rojo project and load it into Studio as a plugin without having to type the full path to the plugins directory. It can be used like this: rojo build <PATH-TO-PROJECT> --plugin <FILE-NAME>

  • Added new plugin template to the init command (#738)

    This is a new template geared towards plugins. It is similar to the model template, but creates a Script instead of a ModuleScript in the src directory. It can be used like this: rojo init --kind plugin

  • Added protection against syncing non-place projects as a place. (#691)

  • Add buttons for navigation on the Connected page (#722)

Fixes

  • Significantly improved performance of rojo serve and rojo build on macOS. #783
  • Significantly improved performance of rojo sourcemap (#668)
  • Fixed the diff visualizer of connected sessions. (#674)
  • Fixed disconnected session activity. (#675)
  • Skip confirming patches that contain only a datamodel name change. (#688)
  • Fix Rojo breaking when users undo/redo in Studio (#708)
  • Improve tooltip behavior (#723)
  • Better settings controls (#725)
  • Rework patch visualizer with many fixes and improvements (#713, #726, #755)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into your Roblox Studio plugins folder

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.0-rc3

v7.4.0-rc2

04 Oct 06:07
1caf944
Compare
Choose a tag to compare
v7.4.0-rc2 Pre-release
Pre-release

This release has been superseded by v7.4.0-rc3. Please use that instead!

See original release notes This is a **release candidate** for Rojo 7.4.0 and carries with it the changes of the last 6 months. As a result of being a release candidate, **you must manage your own plugin**. The version on the Roblox website will not be updated until a full release is made. The plugin for this release may be installed automatically by running `rojo plugin install` or it may be manually installed by placing the `Rojo.rbxm` file from this release into your local plugins folder.

There may be bugs in this release! Notably, the internals of the plugin have undergone a significant revision and a backend change was made on MacOS. While those are the most significant potential sources for bugs, please report anything else you encounter as well.

Changes since Rojo 7.4.0-rc1

  • Fixed a bug with parsing the version of the plugin (#797)

Changes since Rojo 7.3.0

Additions

Project format

  • Added support for .toml files to $path (#633)

  • Added support for Font and CFrame attributes (rbx-dom#299, rbx-dom#296)

  • Added the emitLegacyScripts field to the project format (#765). The behavior is outlined below:

    emitLegacyScripts Value Action Taken by Rojo
    false Rojo emits Scripts with the appropriate RunContext for *.client.lua and *.server.lua files in the project.
    true (default) Rojo emits LocalScripts and Scripts with legacy RunContext (same behavior as previously).

    It can be used like this:

     {
     	"emitLegacyScripts": false,
     	"name": "MyCoolRunContextProject",
     	"tree": {
     		"$path": "src"
     	}
     }
  • Added Terrain classname inference, similar to services (#771)

    Terrain may now be defined in projects without using $className:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     	}
     }
  • Added support for Terrain.MaterialColors (#770)

    Terrain.MaterialColors is now represented in projects in a human readable format:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     		"$properties": {
     			"MaterialColors": {
     				"Grass": [10, 20, 30],
     				"Asphalt": [40, 50, 60],
     				"LeafyGrass": [255, 155, 55]
     			}
     		}
     	}
     }
  • Added better support for Font properties (#731)

    FontFace properties may now be defined using implicit property syntax:

     "TextBox": {
     	"$className": "TextBox",
     	"$properties": {
     		"FontFace": {
     			"family": "rbxasset://fonts/families/RobotoMono.json",
     			"weight": "Thin",
     			"style": "Normal"
     		}
     	}
     }

Patch visualizer and notifications

  • Added a setting to control patch confirmation behavior (#774)

    This is a new setting for controlling when the Rojo plugin prompts for confirmation before syncing. It has four options:

    • Initial (default): prompts only once for a project in a given Studio session
    • Always: always prompts for confirmation
    • Large Changes: only prompts when there are more than X changed instances. The number of instances is configurable - an additional setting for the number of instances becomes available when this option is chosen
    • Unlisted PlaceId: only prompts if the place ID is not present in servePlaceIds
  • Added the ability to select Instances in patch visualizer (#709)

    Double-clicking an instance in the patch visualizer sets Roblox Studio's selection to the instance.

  • Added a sync reminder notification. (#689)

    Rojo detects if you have previously synced to a place, and displays a notification reminding you to sync again:

    Rojo reminds you to sync a place that you've synced previously

  • Added rich Source diffs in patch visualizer (#748)

    A "View Diff" button for script sources is now present in the patch visualizer. Clicking it displays a side-by-side diff of the script changes:

    The patch visualizer contains a "view diff" button

    The "View Diff" button opens a widget that displays a diff

  • Patch visualizer now indicates what changes failed to apply. (#717)

    A clickable warning label is displayed when the Rojo plugin is unable to apply changes. Clicking the label displays precise information about which changes failed:

    Patch visualizer displays a clickable warning label when changes fail to apply

Miscellaneous

  • Added plugin flag to the build command that outputs to the local plugins folder (#735)

    This is a flag that builds a Rojo project into Roblox Studio's plugins directory. This allows you to build a Rojo project and load it into Studio as a plugin without having to type the full path to the plugins directory. It can be used like this: rojo build <PATH-TO-PROJECT> --plugin <FILE-NAME>

  • Added new plugin template to the init command (#738)

    This is a new template geared towards plugins. It is similar to the model template, but creates a Script instead of a ModuleScript in the src directory. It can be used like this: rojo init --kind plugin

  • Added protection against syncing non-place projects as a place. (#691)

  • Add buttons for navigation on the Connected page (#722)

Fixes

  • Significantly improved performance of rojo serve and rojo build on macOS. #783
  • Significantly improved performance of rojo sourcemap (#668)
  • Fixed the diff visualizer of connected sessions. (#674)
  • Fixed disconnected session activity. (#675)
  • Skip confirming patches that contain only a datamodel name change. (#688)
  • Fix Rojo breaking when users undo/redo in Studio (#708)
  • Improve tooltip behavior (#723)
  • Better settings controls (#725)
  • Rework patch visualizer with many fixes and improvements (#713, #726, #755)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into you Roblox Studio plugins folder

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.0-rc2

v7.4.0-rc1

04 Oct 04:54
Compare
Choose a tag to compare
v7.4.0-rc1 Pre-release
Pre-release

This release had a bug that rendered the plugin unusable! Please see the second release candidate.

See original release notes

This is a release candidate for Rojo 7.4.0 and carries with it the changes of the last 6 months. As a result of being a release candidate, you must manage your own plugin. The version on the Roblox website will not be updated until a full release is made. The plugin for this release may be installed automatically by running rojo plugin install or it may be manually installed by placing the Rojo.rbxm file from this release into your local plugins folder.

There may be bugs in this release! Notably, the internals of the plugin have undergone a significant revision and a backend change was made on MacOS. While those are the most significant potential sources for bugs, please report anything else you encounter as well.

Changes since Rojo 7.3.0

Additions

Project format

  • Added support for .toml files to $path (#633)

  • Added support for Font and CFrame attributes (rbx-dom#299, rbx-dom#296)

  • Added the emitLegacyScripts field to the project format (#765). The behavior is outlined below:

    emitLegacyScripts Value Action Taken by Rojo
    false Rojo emits Scripts with the appropriate RunContext for *.client.lua and *.server.lua files in the project.
    true (default) Rojo emits LocalScripts and Scripts with legacy RunContext (same behavior as previously).

    It can be used like this:

     {
     	"emitLegacyScripts": false,
     	"name": "MyCoolRunContextProject",
     	"tree": {
     		"$path": "src"
     	}
     }
  • Added Terrain classname inference, similar to services (#771)

    Terrain may now be defined in projects without using $className:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     	}
     }
  • Added support for Terrain.MaterialColors (#770)

    Terrain.MaterialColors is now represented in projects in a human readable format:

     "Workspace": {
     	"Terrain": {
     		"$path": "path/to/terrain.rbxm"
     		"$properties": {
     			"MaterialColors": {
     				"Grass": [10, 20, 30],
     				"Asphalt": [40, 50, 60],
     				"LeafyGrass": [255, 155, 55]
     			}
     		}
     	}
     }
  • Added better support for Font properties (#731)

    FontFace properties may now be defined using implicit property syntax:

     "TextBox": {
     	"$className": "TextBox",
     	"$properties": {
     		"FontFace": {
     			"family": "rbxasset://fonts/families/RobotoMono.json",
     			"weight": "Thin",
     			"style": "Normal"
     		}
     	}
     }

Patch visualizer and notifications

  • Added a setting to control patch confirmation behavior (#774)

    This is a new setting for controlling when the Rojo plugin prompts for confirmation before syncing. It has four options:

    • Initial (default): prompts only once for a project in a given Studio session
    • Always: always prompts for confirmation
    • Large Changes: only prompts when there are more than X changed instances. The number of instances is configurable - an additional setting for the number of instances becomes available when this option is chosen
    • Unlisted PlaceId: only prompts if the place ID is not present in servePlaceIds
  • Added the ability to select Instances in patch visualizer (#709)

    Double-clicking an instance in the patch visualizer sets Roblox Studio's selection to the instance.

  • Added a sync reminder notification. (#689)

    Rojo detects if you have previously synced to a place, and displays a notification reminding you to sync again:

    Rojo reminds you to sync a place that you've synced previously

  • Added rich Source diffs in patch visualizer (#748)

    A "View Diff" button for script sources is now present in the patch visualizer. Clicking it displays a side-by-side diff of the script changes:

    The patch visualizer contains a "view diff" button

    The "View Diff" button opens a widget that displays a diff

  • Patch visualizer now indicates what changes failed to apply. (#717)

    A clickable warning label is displayed when the Rojo plugin is unable to apply changes. Clicking the label displays precise information about which changes failed:

    Patch visualizer displays a clickable warning label when changes fail to apply

Miscellaneous

  • Added plugin flag to the build command that outputs to the local plugins folder (#735)

    This is a flag that builds a Rojo project into Roblox Studio's plugins directory. This allows you to build a Rojo project and load it into Studio as a plugin without having to type the full path to the plugins directory. It can be used like this: rojo build <PATH-TO-PROJECT> --plugin <FILE-NAME>

  • Added new plugin template to the init command (#738)

    This is a new template geared towards plugins. It is similar to the model template, but creates a Script instead of a ModuleScript in the src directory. It can be used like this: rojo init --kind plugin

  • Added protection against syncing non-place projects as a place. (#691)

  • Add buttons for navigation on the Connected page (#722)

Fixes

  • Significantly improved performance of rojo serve and rojo build on macOS. #783
  • Significantly improved performance of rojo sourcemap (#668)
  • Fixed the diff visualizer of connected sessions. (#674)
  • Fixed disconnected session activity. (#675)
  • Skip confirming patches that contain only a datamodel name change. (#688)
  • Fix Rojo breaking when users undo/redo in Studio (#708)
  • Improve tooltip behavior (#723)
  • Better settings controls (#725)
  • Rework patch visualizer with many fixes and improvements (#713, #726, #755)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into you Roblox Studio plugins folder

There are also multiple ways to install the Rojo CLI:

With Aftman

Add a line to the [tools] section in aftman.toml:

rojo ="rojo-rbx/[email protected]"

From GitHub Release

Download one of the attached binaries on this release page!

From Crates.io

You can use Cargo (1.70.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.4.0-rc1

v7.3.0

22 Apr 20:19
Compare
Choose a tag to compare

This release brings along tons of changes from the past year along with several compatibility fixes. It is the final release that I will be handling for Rojo.

Changes Since Rojo 7.2.1

  • Added $attributes to project format. (#574)
  • Added --watch flag to rojo sourcemap. (#602)
  • Added support for init.csv files. (#594)
  • Added real-time sync status to the Studio plugin. (#569)
  • Added support for copying error messages to the clipboard. (#614)
  • Added sync locking for Team Create. (#590)
  • Added support for specifying HTTP or HTTPS protocol in plugin. (#642)
  • Added tooltips to buttons in the Studio plugin. (#637)
  • Added visual diffs when connecting from the Studio plugin. (#603)
  • Host and port are now saved in the Studio plugin. (#613)
  • Improved padding on notifications in Studio plugin. (#589)
  • Renamed Common to Shared in the default Rojo project. (#611)
  • Reduced the minimum size of the Studio plugin widget. (#606)
  • Fixed current directory in rojo fmt-project. (#581)
  • Fixed errors after a session has already ended. (#587)
  • Fixed an uncommon security permission error (#619)

Upgrading

To install the Roblox Studio plugin, there are a few options:

  • Run rojo plugin install from the Rojo CLI
  • Download the attached Rojo.rbxm and place it into you Roblox Studio plugins folder
  • Install from the Roblox plugin page

There are also multiple to install the Rojo CLI.

With Foreman

Add a line to the [tools] section in foreman.toml:

rojo = { source = "rojo-rbx/rojo", version = "=7.3.0" }

From GitHub Release

Download one of the attached binaries on this release page!

From the VS Code Extension

Change your release channel in the extension's setting page to 7.x:

Switching version dropdown to select Rojo 7

From Crates.io

You can use Cargo (1.68.0+) to build the release yourself from crates.io:

cargo install rojo --version 7.3.0

v7.2.1-static-openssl

21 Aug 01:53
Compare
Choose a tag to compare
v7.2.1-static-openssl Pre-release
Pre-release

This is a Rojo prerelease with OpenSSL statically linked. It supports Ubuntu 20.04 and newer; Ubuntu 18.04 support has been dropped.