# v0.9.0 ## Beta Release * Connected `[Start/Stop/Restart]` buttons to actual processes: - Current state (settings that may or may not be saved) are passed to the process when (re)starting - Uptime & Exit status display when process is stopped - Added colors for process state: ``` GREEN | Process is online and healthy YELLOW | Process is in the middle of (re)starting/stopping RED | Process is offline, and failed when exiting GRAY | Process is offline ``` * Added keyboard shortcuts: ``` *--------------------------------------* | Key shortcuts | |--------------------------------------| | F11 | Fullscreen | | Escape | Quit screen | | Left/Right | Switch Tabs | | Up | Start/Restart | | Down | Stop | | S | Save | | R | Reset | *--------------------------------------* ``` * Added `PTY` (actual terminals) for P2Pool/XMRig: - Scrollable logs up to 500k bytes (6000~ lines) before refresh - All STDOUT/STDERR relayed to GUI (buffered, lazily read) - `Advanced` tabs have input (STDIN) relayed to process (buffered, 1~sec delay) * Added `sudo` screen for XMRig (macOS/Linux): - Tests password for validity - Starts XMRig with `sudo` for MSR mod & hugepages - Wipes password memory with zeros after usage * Added `Status` tab: - Refreshes all stats once per second - Gupax/System stats - P2Pool stats via API file - XMRig stats via HTTP API * Added `Simple` XMRig tab: - Console - Thread slider - Pause on active slider (Windows/macOS only) * Added `Advanced` XMRig tab: - Includes all simple features - STDIN input - Manual pool database, select/add/edit/delete a custom `Name/IP/Port/RigID` (max 1000 pools), saved at: - Windows: `C:\Users\USER\AppData\Roaming\Gupax\pool.toml` - macOS: `/Users/USER/Library/Application Support/Gupax/pool.toml` - Linux: `/home/USER/.local/share/gupax/pool.toml` - Overriding command arguments - Manual Monero address option - HTTP API IP/Port option - TLS option - Keepalive option * Added `Simple` Gupax tab: - Package updater - `Auto-update` setting - `Update-via-Tor` setting - `Ask-before-quit` setting - `Save-before-quit` setting - `Auto-P2Pool` setting (starts P2Pool on Gupax startup) - `Auto-XMRig` setting (starts XMRig on Gupax startup) * Added `Advanced` Gupax tab: - Includes all simple features - P2Pool binary path selector - XMRig binary path selector - Gupax window width/height adjuster - Startup Tab selector * Added plowsof to community nodes: - Plowsof1: `IP: node.monerodevs.org, RPC: 18089, ZMQ: 18084` - Plowsof2: `IP: node2.monerodevs.org, RPC: 18089, ZMQ: 18084` * Default resolution change `1280x720, 16:9` -> `1280x960, 4:3` * Added fade-in/out of black when resizing resolution * Added more internal documentation (`src/README.md`) * Added many, many `info` & `debug` logs (accessible via env variable `RUST_LOG`) * Bunch of fixes, optimizations, etc. --- ## v0.5.0 ## Prototype Release * Added `Simple` P2Pool tab: - Monero address input with valid address check (base58 regex) - [Community Monero node selector](https://github.com/hinto-janaiyo/gupax/tree/main/README.md#community-monero-nodes) - Community node ping button (asynchronous `JSON-RPC` calls to all nodes) - Color coded list after ping: ``` <300ms = GREEN <1000ms = YELLOW <5000ms = RED >5000ms = BLACK ``` - `Auto-select` - Pick the fastest node after ping automatically - `Auto-ping` - Automatically ping nodes on Gupax startup * Added `Advanced` P2Pool tab: - Manual node database, select/add/edit/delete a custom `Name/IP/RPC/ZMQ` (max 1000 nodes), saved at: - Windows: `C:\Users\USER\AppData\Roaming\Gupax\node.toml` - macOS: `/Users/USER/Library/Application Support/Gupax/node.toml` - Linux: `/home/USER/.local/share/gupax/node.toml` - Overriding command arguments to P2Pool - P2Pool main/mini toggle - Out/In Peers slider - Log level slider * Added command arguments: ``` --help Print this help message --version Print version and build info --state Print Gupax state --nodes Print the manual node list --no-startup Disable all auto-startup settings for this instance --reset-state Reset all Gupax state (your settings) --reset-nodes Reset the manual node list in the [P2Pool] tab --reset-all Reset both the state and the manual node list --ferris Print an extremely cute crab ``` * Added fullscreen GUI error handler (Error message + UI buttons for response, Yes/No, Quit, etc) * Added a native `File Explorer/Finder/GTK` file selector for picking P2Pool/XMRig binary path in `Gupax` tab * Added detailed console log levels `RUST_LOG=(trace|debug|info|warn|error) ./gupax` * [Added new PGP key](https://github.com/hinto-janaiyo/gupax/blob/main/pgp/hinto-janaiyo.asc) * Created website (HTML/CSS only, no JavaScript): https://gupax.io --- ## v0.1.0 ## Prototype Release * Added package updater (by default, via Tor using [`Arti`](https://blog.torproject.org/arti_100_released/)) * Added [custom icons per OS](https://github.com/hinto-janaiyo/gupax/tree/main/images/icons) (File Explorer, Taskbar, Finder, App header, etc) * Added Monero node [`JSON-RPC ping`](https://github.com/hinto-janaiyo/gupax/blob/main/src/node.rs) system, not yet in GUI * Added `F11` fullscreen toggle * Implemented `Ask before quit` * Implemented `Auto-save` * Binaries for all platforms (Windows, macOS, Linux) * Added state file to save settings: - Windows: `C:\Users\USER\AppData\Roaming\Gupax\gupax.toml` - macOS: `/Users/USER/Library/Application Support/Gupax/gupax.toml` - Linux: `/home/USER/.local/share/gupax/gupax.toml` --- ## v0.0.1 ## Prototype Release * Functional (slightly buggy) GUI external * Elements have state (buttons, sliders, etc) * No internals, no connections, no processes * Only binaries for x86_64 Windows/Linux for now