# Changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] ### Added - Persistent-world station game with singleplayer, hosting (`--host`) and joining (`--connect`), plus a dedicated `game-server`. - Data-driven items, recipes, buildings and skills in `assets/data/*.rsn`. - Rune scripting for item use, building interaction and crafting hooks. - Tiled map support (solid tiles/layers; `spawn`, `building` and `item` objects). - Saving of the world and characters (autosave, and on exit, Ctrl-C or SIGTERM). - Crafting, construction/deconstruction, skills, hunger, health and respawning. - Windows client builds for GitHub and Gitea CI; release builds run without a console window. - `cargo xtask pack` builds the client and server and packs them with their assets into a distributable archive; CI publishes these archives. - Machines (`machines` in data files): buildings with input/output slots that process their own timed recipes, with optional custom window layouts and background images. The furnace is now a machine (ore + log fuel), and a new assembler makes tools. - GitHub `Package` workflow builds archives for Windows (zip), Linux and macOS (tar.gz). - Worlds are stored with sqlx in SQLite (default) or PostgreSQL, keyed by a world UUID so many worlds can share one database. Singleplayer saves are SQLite files in the platform data directory. Autosaves run in the background. The server has new `--database URL` and `--world NAME|UUID` options. - The dedicated server is configured by `server.toml` plus command-line overrides, and it accepts terminal commands for save, shutdown and live config changes. - Start menu with new game (optionally hosted), load/delete saved games and join server screens. Running the client without options shows it. - Menus and HUD are defined by layout files in `assets/ui/` (rsn) with a shared theme, `{binding}` placeholders, conditional visibility and tooltips. - Machine windows: insert and take items from machine slots, using the machine's slot positions and background image, with a progress bar. - Chat (Enter/T) with `/` commands, a pause menu (Esc) and clickable inventory, crafting and build menus. - Server passwords, admins, a whitelist, bans, kicks and admin commands in the server terminal and in-game chat. Changes are written to the config file. The player hosting a world is always admin. - The client profile (`client.toml`) stores a player id; characters belong to it instead of to a name. ### Changed - **Breaking:** network protocol version 3. Logins carry a player id and password, so older clients and servers can't connect. Characters saved by name in existing worlds are not carried over to player ids. ### Removed - The rsn save file format and the `--save FILE` server option. Existing rsn saves are not migrated.