What you can do now
- The profile switcher is in the header bar. The button at the top left shows the profile you are on; its menu switches profile, and holds New Profile… and Delete Profile…. The window itself is just the Roblox button. A line under it appears only when something is unusual: the profile does not exist yet, another window has it open, or it is pinned to a Roblox version.
- Plugins ask once, when it matters. Opening Settings no longer stacks a permission dialog per built-in plugin. The question is asked on the Plugins page, in one dialog that names every plugin waiting on an answer, and a plugin that ships switched off asks when you switch it on. Not now grants nothing; to allow only some, answer Not now and use each plugin’s switches. Nothing is granted just because it ships with Cordial.
- Shift lock on Hyprland holds the cursor, the camera turns and clicks reach the game, and a held mouse button is no longer dropped when the pointer changes hands. Thanks to eklofsivert-dot. Measured on Hyprland 0.56.2 by the contributor; repeated launches were not.
- For developers:
cordial-protocol0.1.0, a Rust crate for the protocol a launcher and a runtime speak to each other: message types, a bounded line codec, version negotiation, and a conformance suite either side can run. It is licensed MIT OR Apache-2.0 so other projects can depend on it; the rest of Cordial stays GPL-3.0-or-later. Cordial’s own launcher uses it for live settings, with the bytes on the wire unchanged. See the runtime spec. The protocol itself is a proposal (ADR-055) and nothing yet launches a third-party runtime.
Also
- When Roblox builds an error message for a system error, it no longer aborts.
Cordial handed it the GNU variant of
strerror_rwhere it expects the POSIX one. Pinned by tests; not reproduced against a running game.