Skip to content

v0.5.0 Alpha 12

Pre-release
Pre-release
Compare
Choose a tag to compare
@LPGhatguy LPGhatguy released this 03 Jul 00:01
· 835 commits to master since this release

This is a large release with some new features, bug fixes, quality of life improvements, and new branding.

Along with this release, we've launched the new rojo-rbx GitHub organization! It's the home for all official Rojo projects, now including the VS Code Extension and rbxlx-to-rojo, an experimental project for converting existing games to Rojo.

Rojo now also has its own website with fancy branding: https://rojo.space

Rojo website

Upgrading

This release requires Rust 1.32 or newer!

To install the Rojo CLI, either download rojo.exe attached here or run:

cargo install rojo --version 0.5.0-alpha.12 --force

To install the plugin, either install it from Roblox (https://www.roblox.com/catalog/1997686364) or download Rojo.rbxm and put it into your Roblox Studio plugins folder.

Changes Since 0.5.0 Alpha 11

  • Added .meta.json files
    • init.meta.json files replace init.model.json files from Rojo 0.4.x (#183)
    • Other .meta.json files allow attaching extra data to other files (#189)
  • Added support for live-syncing CollectionService tags.
  • Added support for infinite and NaN values in types like Vector2 when building models and places.
    • These types aren't supported for live-syncing yet due to limitations around JSON encoding.
  • Added support for using SharedString values when building XML models and places.
  • Added a warning when building binary place files, since they're still experimental and have bugs.
  • Added a warning when trying to use Rojo 0.5.x with a Rojo 0.4.x-only project.
  • Added a warning when a Rojo project contains keys that start with $, which are reserved names. (#191)
  • Rojo now throws an error if unknown keys are found in most files.
  • Added an icon to the plugin's toolbar button
  • Changed the plugin to use a docking widget for all UI.
  • Changed the plugin to ignore unknown properties when live-syncing.
    • Rojo's approach to this problem might change later, like with a strict model mode (#190) or another approach.
  • Upgraded to reflection database from client release 388.
  • Updated Rojo's branding to shift the color palette to make it work better on dark backgrounds.

Meta Files

Meta files replace the functionality of init.model.json files in Rojo 0.4.x and do a lot more!

You can make tools with an init.meta.json:

{
    "className": "Tool"
}

You can create scripts with Disabled set by creating a meta file with the same base name, like foo.meta.json for foo.server.lua:

{
    "properties": {
        "Disabled": true
    }
}

Check out the new Meta Files section of the Sync Details page of the docs for more information on how you can take advantage of them.

Dock Widget Plugin UI!

A fairly long-requested feature, Rojo now sits in a dockable widget that is toggled by the toolbar button.

image

An update in the near future will add proper support for dark theme. Stay tuned!

CollectionService live-syncing

CollectionService tags can now be live-synced! This is part of improved support for lots of property types. If you had trouble live-syncing something before, it might work now in alpha 12!

New branding

There's a new branding repository, https://github.com/rojo-rbx/brand which contains all of the new assets we'll be using going forward.