> ## Documentation Index
> Fetch the complete documentation index at: https://cordial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cordial 0.26.0: the profile switcher moves up, and the runtime protocol ships

## 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-protocol` 0.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](https://cordial.mintlify.app/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_r` where it expects the POSIX
  one. Pinned by tests; not reproduced against a running game.

## What is still broken

**The signed-in startup freeze.** Roblox can stop drawing on the loading screen
after sign-in. The launcher restarts a client stuck that way, up to twice
(0.24.1); a client started any other way stays stuck.

**Movement keys can be dead after joining a game.** W/A/S/D do nothing until
the character respawns. It happens when no input reaches the game while the
place loads; moving the mouse while it loads avoided it in every test so far. A
fix that does this automatically is written and has not yet passed its test.
[#29](https://github.com/luohoa97/cordial/issues/29)

The touchscreen crash and the rest of the list in the
[0.24.0 notes](https://github.com/luohoa97/cordial/releases/tag/v0.24.0) still
apply.

Not tried: importing a split APK through the Flatpak's file chooser, which may
hand Cordial only the file you picked and not the split beside it. Copy Sober's
build instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.