---
layout: post
title: 'Rio 0.0.7'
date: 2023-07-07 12:34
description: 'Configuration reload, x11 and wayland stabilization, sugarloaf ported to WebAssembly, addition to NIX OS packages and other updates.'
categories: release macos linux webassembly
---

import { Tweet } from 'react-tweet';

## v0.0.7: Highlights

- Support to custom fonts
- Configuration reload
- x11 and wayland stabilization
- Sugarloaf ported to WebAssembly
- Addition to NIX OS packages (kudos to [@otavio](https://github.com/otavio), PR: [NixOS/nixpkgs/pull/237664](https://github.com/NixOS/nixpkgs/pull/237664))
- Styles properties have been moved to root level

## Overview

Rio release 0.0.7 is finally here, there's a lot of updates to cover so let's get started. I also would like to remind you that Rio is still unstable. This release adds a lot of bug fixes and feature additions in order to make Rio terminal stable.

## Breaking change: Styles properties have been moved to root level

The only breaking change of v0.0.7 is that styles properties such as "font", "theme" and "font-size" moved to the root level.

Before:

```toml
cursor = '|'
[style]
font-size = 18
theme = "lucario"
```

After:

```toml
cursor = '|'
theme = "lucario"
font-size = 18
```

## Reload automatically when the configuration file has changed.

Any file update in the configuration file will trigger a render operation in Rio terminal with the new configuration.

If you have any suggestion of configuration ideas to Rio, please feel free to [open an issue](https://github.com/raphamorim/rio/issues/new).

## width and height is not longer available in the configuration file.

The property width and height doesn't work anymore after the 0.0.7 release.

Before you could set the initial width and height of the screen, this configuration is not longer possible. It was removed due to compatibility with different targets.

## Stabilization of Linux x11 and Wayland

In older versions of Rio terminal it was possible to actually use Rio but it was slow and buggy for many users. Many fixes has been done in the v0.0.7 to bring the experience of Linux users close to what MacOS have right now.

The tweet below have a video demo that shows Rio running with X11:

<Tweet id="1670404595246419968" />

## Custom font rendering

Now you can actually use different installed fonts by changing the property "font".

The example below considers that you have "Fira code" font installed in your machine.

```toml
font = "Fira code"
```

A quick look of how font updates looks like in v0.0.7:

<Tweet id="1670808836213547009" />

## Sugarloaf ported to WebAssembly

The Rio support to WASM has moved one step ahead by introduction of Sugarloaf (Rio renderer) to WebAssembly.

In the image below you can see it in action:

## Changelog of v0.0.7

- Breaking changes for configuration file regarding "Style" property.
- Fix Background color not entirely set on vim [#88](https://github.com/raphamorim/rio/issues/88)
- Scroll now works for x11 and wayland.
- No longer renders to macos and x11 windows that are fully occluded / not directly visible.
- Introduced "window-opacity" config property for WebAssembly and Wayland builds.
- Add permissions instructions to Rio macos builds (Fix [#99](https://github.com/raphamorim/rio/issues/99)).
- Fixes for x11 and wayland rendering (Related: [#98](https://github.com/raphamorim/rio/issues/98) and [#100](https://github.com/raphamorim/rio/issues/100)).
- Performance fixes (Related: [#101](https://github.com/raphamorim/rio/issues/101)).
- Sugarloaf WebAssembly support.
- Fixed resize for all contexts: removed the glitch when resizing and switching between tabs.
- Fixed cursor inconsistencies [#95](https://github.com/raphamorim/rio/issues/95).
- Added command line interface support ("--help", "--version", "-e" and "--command").
- Added a fallback for WPGU request device operation: downlevel limits, which will allow the code to run on all possible hardware.
- Added "padding-x" to configuration.
- Reload automatically when the configuration file is changed ([#69](https://github.com/raphamorim/rio/issues/69)).
- Fix "Ctrl+D" and "exit" command not closing the app ([#87](https://github.com/raphamorim/rio/issues/87)).
- Changed default "light-black" color.
