Skip to content

Releases: rysb-dev/agari

v0.8.0

30 Jan 03:54

Choose a tag to compare

Install agari 0.8.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ryblogs/agari/releases/download/v0.8.0/agari-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ryblogs/agari/releases/download/v0.8.0/agari-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install ryblogs/tap/agari

Download agari 0.8.0

File Platform Checksum
agari-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
agari-x86_64-apple-darwin.tar.xz Intel macOS checksum
agari-x86_64-pc-windows-msvc.zip x64 Windows checksum
agari-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
agari-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.7.0

30 Jan 02:35

Choose a tag to compare

🎉 New Features

  • Interactive Web Frontend - A complete browser-based Riichi Mahjong calculator at https://ryblogs.github.io/agari/
  • WebAssembly Bindings - Use Agari's scoring engine directly in JavaScript/TypeScript applications
  • Real-time Shanten Display - See shanten updates as you build your hand
  • Visual Tile Selection - Click-to-select tile palette with SVG-rendered tiles
  • Complete Scoring Breakdown - Full han, fu, yaku, and payment details

🏗️ Architecture Changes

  • Migrated to Cargo workspace with agari-core and agari-wasm crates
  • Added GitHub Actions workflow for automatic deployment to GitHub Pages

🛠️ Tech Stack

  • Svelte 5 with runes
  • Vite + TypeScript
  • Tailwind CSS 4
  • wasm-bindgen for Rust-JS interop

📱 Responsive Design

The web app is fully responsive and works on both desktop and mobile devices.

v0.6.2

30 Jan 01:45

Choose a tag to compare

Install agari 0.6.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ryblogs/agari/releases/download/v0.6.2/agari-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ryblogs/agari/releases/download/v0.6.2/agari-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install ryblogs/tap/agari

Download agari 0.6.2

File Platform Checksum
agari-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
agari-x86_64-apple-darwin.tar.xz Intel macOS checksum
agari-x86_64-pc-windows-msvc.zip x64 Windows checksum
agari-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
agari-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.6.1

30 Jan 01:29

Choose a tag to compare

Install agari 0.6.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ryblogs/agari/releases/download/v0.6.1/agari-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ryblogs/agari/releases/download/v0.6.1/agari-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install ryblogs/tap/agari

Download agari 0.6.1

File Platform Checksum
agari-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
agari-x86_64-apple-darwin.tar.xz Intel macOS checksum
agari-x86_64-pc-windows-msvc.zip x64 Windows checksum
agari-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
agari-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.6.0

29 Jan 23:54

Choose a tag to compare

Install agari 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ryblogs/agari/releases/download/v0.6.0/agari-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ryblogs/agari/releases/download/v0.6.0/agari-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install ryblogs/tap/agari

Download agari 0.6.0

File Platform Checksum
agari-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
agari-x86_64-apple-darwin.tar.xz Intel macOS checksum
agari-x86_64-pc-windows-msvc.zip x64 Windows checksum
agari-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
agari-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.5.0

29 Jan 23:44

Choose a tag to compare

Install agari 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ryblogs/agari/releases/download/v0.5.0/agari-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ryblogs/agari/releases/download/v0.5.0/agari-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install ryblogs/tap/agari

Download agari 0.5.0

File Platform Checksum
agari-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
agari-x86_64-apple-darwin.tar.xz Intel macOS checksum
agari-x86_64-pc-windows-msvc.zip x64 Windows checksum
agari-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
agari-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.4.1

29 Jan 03:45

Choose a tag to compare

Release Notes

What's Changed

Features

  • CLI: Renamed Kokushi 13-wait display to Kokushi Juusanmen (5848220)

    Updated the yaku display name from "Kokushi Musou 13-wait" to "Kokushi Juusanmen (Kokushi Musou 13-wait)" for consistency with Japanese naming conventions used by other yakuman.


Full Changelog: v0.4.0...v0.4.1

v0.4.0

29 Jan 03:21

Choose a tag to compare

Release Notes

New Features

Colorized Terminal Output

  • Added colorful terminal output to improve readability
  • Header/footer borders display in cyan
  • Section headers highlighted in yellow
  • Context-aware coloring: tsumo (green), ron (blue), closed hand (green), open hand (yellow)
  • Riichi and ippatsu highlighted in cyan
  • Score levels use color gradient (yellow → magenta) based on level
  • Yakuman yaku displayed in green with 🌟 marker
  • Payment box with green borders
  • Errors in red, warnings in yellow
  • New --no-color flag to disable colors
  • Automatically respects NO_COLOR environment variable

Input Validation Warnings

  • Warning when --riichi is specified with open melds (e.g., using (...) notation instead of [...] for kans)
  • Warning when both --riichi and --open flags are specified together
  • Guides users to correct notation: [...] for closed kans vs (...) for open kans

Bug Fixes

ASCII Mode Consistency

  • Fixed --ascii flag to properly display ASCII tiles in game context section
  • Dora indicators, ura dora, and winning tile now display as ASCII (e.g., "E W 6s Gr") when --ascii is used

Full Changelog: v0.3.0...v0.4.0

v0.3.0

29 Jan 01:44

Choose a tag to compare

Agari Release Notes

Highlights

This release brings significant improvements to CLI ergonomics, scoring accuracy, and output options. Major additions include intuitive honor tile notation, automatic winning tile inference, JSON output support, and better alignment with Tenhou's scoring rules.

New Features

Ergonomic Honor Tile Notation

You can now use intuitive letter-based notation for honor tiles instead of the numeric z notation:

  • Winds: e (East), s (South), w (West), n (North)
  • Dragons: wh (White), g (Green), r (Red)
  • Verbose names: east, south, haku, hatsu, chun, etc.

Works everywhere—hand strings, called melds, winning tile, dora, and ura dora:

# Before
agari "123m456p789s11144z" -w 1z -d 35z

# After  
agari "123m456p789seeenn" -w e -d wwh

The parser handles ambiguous sequences like wwhwwwh correctly (West, White, West, West, White).

Automatic Winning Tile Inference

When -w/--win is omitted, Agari now automatically infers the winning tile that maximizes your score. This fixes scoring mismatches where hands with Ryanpeikou weren't receiving Pinfu because the wait type was unknown.

# Agari now correctly awards Pinfu by inferring the optimal winning tile
agari "440566m334405p66s" --tsumo -r
# Result: 11 han / 20 fu / Sanbaiman (matches MahjongSoul)

JSON Output

New --json flag for machine-readable output, useful for integrating Agari into other tools:

agari "123m456p789s11122z" -r --json

Includes hand structure, yaku list with han values, dora breakdown, fu calculation, payment details, and full game context.

Grouped Dora Notation

Specify multiple dora indicators using standard mahjong notation:

agari "..." -d 58m --ura 29pg    # 5m, 8m as dora; 2p, 9p, green as ura
agari "..." -d 19mr              # 1m, 9m, red dragon as dora

Counted Yakuman Distinction

Hands reaching yakuman-level points (13+ han) through accumulated yaku are now labeled as "Counted Yakuman" (数え役満), distinguishing them from true yakuman patterns like Kokushi or Suuankou.

Input Validation Warnings

Helpful warnings when using riichi-dependent options without riichi:

⚠️  Warning: Ura dora (--ura) specified without riichi. Ura dora only apply when winning with riichi.
⚠️  Warning: Ippatsu (--ippatsu) specified without riichi. Ippatsu only applies when winning within one turn of riichi.

Bug Fixes

  • Interpretation selection: When multiple interpretations have equal payment, prefer higher han (e.g., Ryanpeikou over Chiitoitsu)
  • Suuankou scoring: All forms now scored as single yakuman to match Tenhou
  • Dora display: Ura dora and akadora now shown separately in yaku output
  • Kokushi display: Now shows all 14 tiles instead of just the pair
  • Winning tile validation: Rejects multi-tile input like 1m2m with helpful error
  • Validator: Ignores akadora markings when game has akadora disabled

Documentation

  • Added comprehensive "Using as a Library" guide to README
  • Added validator README with dataset source and usage instructions
  • Updated CLI help text with new notation examples

Test Coverage

Added 59 new tests covering:

  • Honor letter notation parsing (35 tests)
  • Winning tile inference scenarios (19 tests)
  • Riichi dependency validation (4 tests)
  • Edge cases for interpretation preference, sanankou, and nobetan fu

Total test count: 254

Full Changelog: v0.2.0...v0.3.0

v0.2.0

27 Jan 23:25

Choose a tag to compare

  • fix(yaku): treat all Suuankou as single yakuman to match Tenhou
  • feat(cli): include game context in JSON output
  • feat(cli): add JSON output and grouped dora notation
  • feat(cli): support grouped tile notation for dora indicators
  • fix(display): show ura dora and akadora separately in yaku output
  • fix(validator): ignore akadora markings when aka_flag is false

Full Changelog: v0.1.0...v0.2.0