Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rojo 7.4.0 #160153

Merged
merged 2 commits into from
Jan 17, 2024
Merged

rojo 7.4.0 #160153

merged 2 commits into from
Jan 17, 2024

Conversation

chenrui333
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
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!

@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jan 17, 2024
@chenrui333
Copy link
Member Author

@chenrui333 chenrui333 force-pushed the bump-rojo-7.4.0 branch 3 times, most recently from 1feb704 to 0021e84 Compare January 17, 2024 15:07
@chenrui333 chenrui333 added the ready to merge PR can be merged once CI is green label Jan 17, 2024
Formula/r/rojo.rb Outdated Show resolved Hide resolved
@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Jan 17, 2024
rojo: switch to submodules

Signed-off-by: Rui Chen <[email protected]>

rojo: needs openssl

Signed-off-by: Rui Chen <[email protected]>

rojo: update comment

Co-authored-by: Patrick Linnane <[email protected]>
@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Jan 17, 2024
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 17, 2024
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 17, 2024
Merged via the queue into Homebrew:master with commit e643875 Jan 17, 2024
12 checks passed
@chenrui333 chenrui333 deleted the bump-rojo-7.4.0 branch January 22, 2024 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. ready to merge PR can be merged once CI is green rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants