Skip to content

Releases: smly/RiichiEnv

v0.4.7

17 Mar 14:07
9d769e7

Choose a tag to compare

What's Changed

  • fix(3p): correct dead wall layout and rinshan draw logic (#183) by @smly in #186 (reported by @shinkuan)
  • fix: record events in mjai_log for apply_event/observe_event (#184) by @smly in #187 (reported by @Sevoii)
  • fix: prevent underflow in ukeire calculation by @smly in #189

Full Changelog: v0.4.6...v0.4.7

v0.4.6

14 Mar 22:28
37ed4b4

Choose a tag to compare

What's Changed

  • fix: avoid impossible ukeire draws in shanten efficiency by @hong0311 in #172
  • fix(shanten): correct ukeire over-counting by subtracting hand tile copies by @smly in #174
  • fix: Fix index out of bounds in shanten table when encoding 14-tile hands by @smly in #178
  • fix(3p): resolve North tile from hand in handle_kita to prevent hand corruption by @smly in #180
  • fix: Add MJAI round-trip validation and fjix mask consistency assertion by @smly in #181
  • feat(pyi): Export Observation3P and add docstrings by @smly in #177
  • refactor: reduce boilerplate, replace unwrap, and extract constants by @smly in #175
  • docs: add CONTRIBUTIONG.md by @smly in #176

Full Changelog: v0.4.5...v0.4.6

v0.4.5

12 Mar 08:20
f46f704

Choose a tag to compare

What's Changed

  • fix(core): Add pass observations for replay training, observe_event API, and fix stale legal_actions by @smly in #169
  • fix(core): Add missing Kita variant to ActionType and adopt SCREAMING_SNAKE_CASE by @smly in #170 (Reported by @shinkuan)

Full Changelog: v0.4.4...v0.4.5

v0.4.4

10 Mar 16:08
4f8addc

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.3...v0.4.4

v0.4.3

10 Mar 05:05
3c2a63f

Choose a tag to compare

What's Changed

  • fix(core): Fix orasu dealer end-game conditions for 4p and 3p by @smly in #160

Full Changelog: v0.4.2...v0.4.3

v0.4.2

09 Mar 05:35
4c27b31

Choose a tag to compare

What's Changed

  • fix(replay): Fix MJAI replay riichi deposit accounting to preserve start-of-round liqibang by @smly in #156
  • fix: keep nukidora count accurate and clear stale round deltas in MJAI logs by @smly in #157
  • fix(ui): highlight only opponents' waits as dangerous tiles in hands by @smly in #158

Full Changelog: v0.4.1...v0.4.2

v0.4.1

08 Mar 09:00
1f58405

Choose a tag to compare

What's Changed

  • fix(wasm): use 3-player hand evaluator for sanma score calculation in WASM by @smly in #153
  • fix(replay): preserve post-reach state for pending discard steps by @smly in #152
  • docs: align core/dev guides with current feature flags and wasm exports by @smly in #154

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

v0.4.0

07 Mar 12:41
9bb0f3a

Choose a tag to compare

What's Changed

  • feat: UI/UX improvements — player customization, 3D meld rendering, control panel, and game analysis API by @smly in #150
  • refactor: make riichienv-ui a reusable embeddable component by @smly in #146
  • fix: apply highlight overlay to side faces of 3D tiles (#133) by @smly in #147
  • fix(ui): fix kan tile display and improve 3D tile rendering for face-down tiles by @smly in #149
  • chore: bump version to 0.4.0 by @smly in #151

Full Changelog: v0.3.7...v0.4.0

v0.3.7

06 Mar 09:35
989c8d9

Choose a tag to compare

This release includes numerous bug fixes and improvements for 3-player mahjong (sanma) support.

Features

  • Add game visualizer with kita (pei) mechanics and 3-player mode support by @smly in #140
  • Add AgentEvaluator for hero model evaluation by @smly in #136
  • Update Rust edition to 2024 and upgrade dependencies by @smly in #138

Bug Fixes

  • Fix relative seat ordering in v2 encoder channels by @smly in #143
  • Correct han-comment positions and wind yaku English names by @smly in #144
  • Correctly handle babei (kita) actions in replay iterators by @smly in #141
  • Fix kita/kan edge cases in hand evaluation and state tracking
  • Clamp turn_progress in Python shanten wrappers
  • Clarify and enhance env.reset() method for hanchan initialization by @smly in #142
  • Ensure correct 3P conditions for hand evaluation

Other

  • Add Renovate for unified dependency updates
  • Centralize Rust toolchain version in rust-toolchain.toml
  • Clean up Python build config and linting settings by @smly in #139 (thanks @Apricot-S for many helpful suggestions!)

Full Changelog: v0.3.6...v0.3.7

v0.3.6

03 Mar 17:06
cabc454

Choose a tag to compare

Breaking Changes

  • Fix seat-dependent feature encoding by @smly in #134 — Per-player scalar channels (discard counts, scores, dora counts, melds count, tsumogiri flags) now use relative seat order instead of absolute player ID. Affects both 4P and 3P encoders. All trained models must be retrained.

Features

  • feat: Introduce Action3P for explicit 3-player action encoding by @smly in #128

Other

  • Remove "mortal" game rule preset and related aliases by @smly in #127

Full Changelog: v0.3.5...v0.3.6