Repository navigation
Releases: kkoishichan/Rustris
Releases · kkoishichan/Rustris
Release list
v0.6.4
v0.6.3
Changes
- Strip symbols from release binary (1.4MB → 1.1MB)
Binary
rustris-v0.6.3-linux-x86_64— Linux x86_64
v0.6.2
Changes
Refactoring
- Deduplicate repeated code patterns across codebase (shared helpers for formatting, board borders, time display, audio toggles, handshake logic, records insertion, settings rendering)
- Rename
srstosrs_enabled, mergeVersusSettingsintoSettings - Clean up module structure across codebase
- Misc code quality improvements
UI
- Reorder versus forfeit menu: Continue/Forfeit first, BGM/SFX below
Docs
- Add tree-drawing characters to project structure in README
- Update project structure documentation
Binary
rustris-v0.6.2-linux-x86_64— Linux x86_64
v0.6.1
Patch
- Deduplicated BGM score data: store one 128-beat cycle instead of 512 beats of repeated data (2124 → 260 lines)
Binary
rustris-v0.6.1-linux-x86_64— Linux x86_64
v0.6.0
What's New
Buffer Zone & Garbage Out
- Board expanded to 40 rows internally (20 visible + 20 buffer) per Tetris guideline
- Implemented garbage out detection: game over when blocks remain above the visible area after garbage rise
- Garbage bar now animates smoothly during garbage rise instead of dropping instantly
Cross-Platform Fixes
- Fixed double key input on Windows (filter
KeyEventKind::Press) - Added gateway/IP detection for macOS and Windows (previously Linux-only)
- Show error kind (e.g.
ConnectionRefused) on connection failure instead of generic message
Versus Mode Improvements
- Forfeit menu is now non-blocking — gravity, network, and animations continue while the overlay is shown
- BGM/SFX toggles directly in the forfeit menu
- Versus mode forces default settings (no custom settings carry over)
Menu Navigation Overhaul
- Split IP and Port into separate input fields (fits 20-char board width)
- Added Back (previous page) and Menu (main menu) distinction across all screens
- Left/Right arrows switch game mode from any item on the main menu
- Removed Quit from all sub-pages (only main menu has Quit)
- Renamed Cancel → Menu / Back for clarity
Robustness
- Removed potential crash points: replaced
unwrap()calls with safe alternatives - Fixed
wrapping_sub→saturating_subto prevent overflow - Added bounds check for piece color lookup
- Fixed clippy warnings
Docs
- Added demo GIFs (solo & versus) to README via Git LFS
- Added full menu navigation tree to README
Binary
rustris-v0.6.0-linux-x86_64— Linux x86_64
v0.5.2
What's New
Cross-platform
- Gate Unix-only stderr suppression behind
#[cfg(unix)]for cross-platform audio compilation
Refactoring
- Split
game/mod.rsinto movement, scoring, animation submodules - Move
BoardSnapshotconstruction intofrom_game()method - Remove CLI
--host/--joinargs (use menu instead)
Binary
rustris-v0.5.2-linux-x86_64— Linux x86_64
v0.5.1
What's New
Network Hardening
- Protocol version handshake — mismatched clients show a clear error instead of crashing
- 5s connect timeout and 10s recv timeout prevent indefinite hangs
- 64KB message length guard rejects malformed packets
Non-blocking Garbage Animation
- Garbage rise animation (40ms/line) no longer freezes the game loop
- Network messages and input (including Ctrl+C) are processed during animation
Cross-platform
- LAN IP detection gated behind
#[cfg(target_os = "linux")]; other platforms fall back gracefully
Tests
- 39 unit tests covering garbage queue, attack calculation, piece spawning, 7-bag randomizer, board fitting, garbage receive, and scoring (T-spin, B2B, combo, all clear)
Binary
rustris-v0.5.1-linux-x86_64— Linux x86_64
v0.5.0
What's New
Versus Mode
- Lobby UI redesign — Host/Join/input screens now use consistent TUI with selectable menu items and cursor indicators
- LAN IP display on host lobby screen for easy sharing
- LAN IP detection fix — read default gateway from
/proc/net/routeto avoid Docker bridge addresses - Garbage lines now rise one by one with per-line SFX instead of appearing all at once
Controls
- Ctrl+C force quit from any screen with clean terminal restore
- Input field alignment — port input centered, address input left-aligned, both fixed position during typing
Refactoring
- All modules moved into proper directory hierarchy (
audio/,game/,ui/menus/) - Extracted shared
menu_nav/play_menu_sfxhelpers, unified text input, resolved all clippy warnings
Binary
rustris-v0.5.0-linux-x86_64— Linux x86_64
v0.4.0
What's New
LAN Versus Mode
- 1v1 multiplayer over TCP (
--host <port>/--join <addr:port>) - Guideline garbage system with attack tables, combo bonus, B2B, and Perfect Clear
- Cancel-before-send mechanic: clearing lines absorbs pending garbage
- Dual-board rendering with garbage indicator bar
- Lobby, countdown, result, forfeit, and rematch screens
- Also accessible from the in-game menu (Versus mode)
Binary
rustris-v0.4.0-linux-x86_64— Linux x86_64
v0.3.0
What's New
Game Modes
- Endless mode — play with no goal until game over, with level progression same as Marathon
Leaderboard
- Persistent top-10 records per mode, stored as JSON via serde
- Records are only saved under default settings (Marathon goal=150, Sprint goal=40, Ultra time=120, Endless always records)
- New Records menu accessible from mode select screen
Changes
- Mode cycle: Marathon → Sprint → Ultra → Endless → Marathon
- Marathon goal changed from optional to fixed range (10–300), Endless takes over the unlimited role
- Added
serde,serde_json,dirsdependencies
Metadata
- Added
repository,readme,keywords,categories,rust-versionto Cargo.toml - CI now installs
libasound2-devfor ALSA support
Binary
rustris-v0.3.0-linux-x86_64— Linux x86_64