2026-06-26 - 2026-07-26
Overview
17 Releases published by 1 user
Published
v0.49.0
v0.49.0
Published
v0.48.1
v0.48.1
Published
v0.48.0
v0.48.0
Published
v0.47.0
v0.47.0
Published
v0.46.0
v0.46.0
Published
v0.45.0
v0.45.0
Published
v0.44.0
v0.44.0
Published
v0.43.3
v0.43.3
Published
v0.43.2
v0.43.2
Published
v0.43.1
v0.43.1
Published
v0.43.0
v0.43.0
Published
v0.42.1
v0.42.1
Published
v0.42.0
v0.42.0
Published
v0.41.1
v0.41.1
Published
v0.41.0
v0.41.0
Published
v0.40.3
v0.40.3
Published
v0.40.2
v0.40.2
64 Pull requests merged by 1 user
Merged
#189 feat(engine): Phase M — sync transparency + local data backup
Merged
#188 refactor(engine): ambiguity gate covers the full cluster — batches 1-3
Merged
#173 feat(engine): surface upstream move-type counters and replay seek
Merged
#187 feat(engine): glass bar accessibility + drag duck-away
Merged
#186 feat(engine): floating liquid-glass touch tab bar
Merged
#185 fix(engine): swallow game-mutating hotkeys during pointer drags
Merged
#184 polish(engine): standard empty/loading/error states (Phase L)
Merged
#183 feat(engine): hold-/ hotkey cheat sheet + unified binding table (Phase J)
Merged
#182 feat(engine): UI scale setting — 90/100/115/130% (Phase K)
Merged
#181 feat(engine): contextual one-time tips — stall hint + radial teach (Phase I complete)
Merged
#180 feat(engine): one-shot What's-new card after updates (Phase I)
Merged
#179 feat(engine): theme-store preview thumbnails (Phase H part 2)
Merged
#178 polish(engine): Phase H part 1 — unified toast stack, onboarding fixes
Merged
#177 feat(engine): Phase F touch action bar — thumb-reach Undo/Draw/Hint + hold-to-repeat undo
Merged
#176 ci(test): host-persistent target dir; fast fmt gate; drop dead rust-cache
Merged
#175 feat(engine): Phase B home hierarchy — Continue card, hero New Game, deal-options disclosure
Merged
#174 test(e2e): read v4 recording.instructions in cycle regression gate
Merged
#172 test(e2e): update replay payload specs to schema v4
Merged
#171 fix(core): save files store the deal via upstream serializers (schema v6)
Merged
#170 fix(replay): store the deal via upstream card_game serializers (schema v4)
Merged
#169 chore: delete dead code approved from the PR #166 sweep
Merged
#167 fix(engine): double-click moves exactly the clicked run (#158)
Merged
#168 ci(web): build wasm in the deploy pipeline instead of committing it (#156)
Merged
#166 fix(engine): restore 60 fps Android card animations + dead-code sweep
Merged
#162 refactor(core): align Spider with upstream card_game idioms
Merged
#165 feat(engine): group HUD menu into Play/You/Community/System + Esc dismissal audit
Merged
#164 feat(engine): win-summary action hierarchy — Play Again, Watch, Share
Merged
#161 feat(engine): You hub — Profile/Stats/Achievements/Replays in one tabbed modal (Phase E)
Merged
#160 feat(engine): tabbed Settings panel — Phase A of the menu redesign
Merged
#159 feat: Show solution — winning_line core API + auto-playback (card_game bucket 4)
Merged
#157 feat(core): Spider rules as a second card_game::Game implementation
Merged
#155 fix(engine): force full board repaint when the decor-view poller fires (#130)
Merged
#154 feat: in-game theme store — server catalog + verified downloads + install UI
Merged
#153 fix: July 7 code-review remediation (M1–M3, L1–L3)
Merged
#152 fix(engine): poll decor-view size to catch fold resizes winit misses (#130)
Merged
#151 docs(changelog): cut v0.42.0 section
Merged
#150 docs(changelog): record the July 6 evening arc
Merged
#149 refactor(engine): ambiguity burn-down batch 4 — ZERO ambiguities, gate enforced
Merged
#148 refactor(engine): ambiguity burn-down batch 3 — board paint chain (171 → 47)
Merged
#147 refactor(engine): ambiguity burn-down batch 2 — SettingsResource cleared (198 → 171)
Merged
#146 refactor(engine): first ambiguity burn-down batch — 302 → 198 pairs
Merged
#145 test(engine): ratchet on Bevy system-order ambiguities
Merged
#144 fix(server): login timing pad, 409 on register race, avatar magic-byte check
Merged
#138 fix(engine): bounded blocking sync push on exit
Merged
#137 refactor(core,engine,wasm): canonical FOUNDATIONS/TABLEAUS consts; adopt upstream SUITS/RANKS
Merged
#136 fix(server): transactional sync push; single-use refresh rotation
Merged
#135 ci: add workspace clippy + test gate workflow
Merged
#134 perf(web): size-focused wasm-release profile for the canvas build (36.2 → 23.2 MB)
Merged
#133 docs(architecture): bring source-of-truth docs to post-migration reality
Merged
#132 docs: add v0.41.1 changelog section and refresh session handoff
Merged
#131 fix(engine): resize pile-marker outline and watermark children on relayout
Merged
#129 refactor(engine): split card_plugin runtime code into submodules
Merged
#128 refactor(engine): split hud_plugin runtime code into submodules
Merged
#127 refactor(engine): split settings_plugin runtime code into submodules
Merged
#126 docs(changelog): cut v0.41.0 section
Merged
#125 refactor(engine): move hud/settings/game/input plugin tests into tests.rs files
Merged
#124 refactor(engine): move card_plugin tests into card_plugin/tests.rs
Merged
#123 chore(scripts): add Gitea deploy watcher
Merged
#122 docs(core): record unlimited stock recycling as an intentional rules decision
Merged
#121 fix(engine): re-poll safe-area insets after app resume
Merged
#115 fix(engine): raise dynamic tableau fan cap to fill tall viewports
Merged
#114 docs(changelog): note foldable tableau fill and card-move jank fixes
Merged
#113 fix(engine): fill tableau fan to viewport on all aspect ratios
Merged
#112 perf(engine): rebuild card children only on appearance change
13 Issues closed from 2 users
Closed
#158 Only Consider Complete Stack in Double-Click Move
Closed
#156 Deploy Wasm in CI
Closed
#130 fix(engine): tableau clipped off-screen after fold cycle — layout computed for stale window width
Closed
#143 test(engine): enable Bevy system-order ambiguity detection in a headless test
Closed
#142 fix(server): delete analytics_events rows on account deletion
Closed
#139 fix(server): login timing oracle — verify a dummy hash for unknown usernames
Closed
#140 fix(server): map unique-violation on register to 409 UsernameTaken
Closed
#141 fix(server): sniff avatar magic bytes instead of trusting Content-Type
Closed
#118 refactor(engine): split oversized plugin modules (card_plugin 4.1k lines, hud/settings 3.5k+)
Closed
#120 chore(scripts): cratemap.go should distinguish dev-dependencies from runtime deps
Closed
#119 chore(scripts): commit or remove untracked watch_deploy.sh
Closed
#117 feat(core): decide and enforce Draw-1 stock recycle limit (or document unlimited as intentional)
Closed
#116 fix(engine): safe-area insets never re-polled after app resume (stale on fold/unfold)
14 Issues created by 1 user
Opened
#116 fix(engine): safe-area insets never re-polled after app resume (stale on fold/unfold)
Opened
#117 feat(core): decide and enforce Draw-1 stock recycle limit (or document unlimited as intentional)
Opened
#118 refactor(engine): split oversized plugin modules (card_plugin 4.1k lines, hud/settings 3.5k+)
Opened
#119 chore(scripts): commit or remove untracked watch_deploy.sh
Opened
#120 chore(scripts): cratemap.go should distinguish dev-dependencies from runtime deps
Opened
#130 fix(engine): tableau clipped off-screen after fold cycle — layout computed for stale window width
Opened
#139 fix(server): login timing oracle — verify a dummy hash for unknown usernames
Opened
#140 fix(server): map unique-violation on register to 409 UsernameTaken
Opened
#141 fix(server): sniff avatar magic bytes instead of trusting Content-Type
Opened
#142 fix(server): delete analytics_events rows on account deletion
Opened
#143 test(engine): enable Bevy system-order ambiguity detection in a headless test
Opened
#156 Deploy Wasm in CI
Opened
#158 Only Consider Complete Stack in Double-Click Move
Opened
#190 cards in the wrong position on deal