160 earlier updates, newest first. Showing 121–140 on page 7 of 8.
Released
Android
Android 1.1.3: memberships and the latest table features
Android 1.1.3 is now live on Google Play with Pro/Max memberships, the latest table features, reliability improvements, and expanded availability across markets that permit simulated-poker apps. Google policy restricts Algeria, Iran, Libya, Qatar, Syria, and Yemen; South Korea remains unavailable pending GRAC classification.
Adds native Google Play Pro and Max monthly and yearly memberships.
Brings practice-vs-bots, friend-room, and table-rule capabilities up to date.
Improves mobile reliability and platform compatibility.
Released
H5Backend
Safer TestFlight Sandbox acceptance, test-payment retries, and registration metrics
Native Apple purchase verification can now process TestFlight Sandbox transactions on the production backend only for exact allowlisted accounts that are also marked as internal tests. Every payment, subscription, and entitlement fact keeps its Sandbox tag and stays out of revenue and paid metrics. An authorized refunded-balance run on Telegram Test Server may now replace only an expired invoice with no payment fact, while the whole authorization remains capped at one successful test payment. First-time Google, Apple, and Telegram account creation now also enters the trusted server-side registration funnel, while routine sign-ins, auto-linking, and lost concurrency races do not double-count. Ordinary accounts, Production-store transactions, and real revenue reporting are unchanged.
TestFlight Sandbox purchases are limited to exact authorized internal QA accounts and isolated from Production revenue and paid metrics.
Telegram Test Server may safely retry only expired invoices with no payment fact and remains capped at one successful test payment.
First-time Google, Apple, and Telegram account creation now enters the trusted server-side registration funnel.
Re-logins, account auto-linking, and concurrency races do not create duplicate registration counts.
Released
H5Backend
A cleaner homepage, sharper bot practice, and an Android catalog update
The homepage no longer repeats the operating-company card, keeping the page focused on poker practice, review, and strategy training; BLUFF KING PTE. LTD.'s legal name, UEN, Singapore registration, and DPO contact remain fully available in the footer, About, Contact, and legal pages. Bot practice also gets better preflop re-raise ranges: TAG, LAG, and Maniac now have more distinct 3-bet/4-bet styles, while a zero-stack bot is replenished in the same seat at the table's starting stack so the practice roster stays intact. The in-app mobile version catalog now also recognizes public Android 1.1.3 build 312 on Google Play, giving older clients accurate update prompts and the official store destination. Practice chips, the no-real-money boundary, game rules, accounts, membership, payments, and user data are unchanged.
Removed the repeated operating-company card so the homepage stays focused on product value.
The legal name, UEN, and jurisdiction remain in the footer, company page, contact page, and legal documents.
The public DPO contact in Privacy remains unchanged.
TAG, LAG, and Maniac preflop re-raise ranges are now calibrated over real starting-hand combinations for clearer differentiation.
A busted bot is replenished in the same practice seat so the configured roster does not gradually shrink.
The mobile version catalog now recognizes Android 1.1.3 build 312 while keeping iOS and Android metadata and store links independent.
The practice-chip and no-real-money boundary remains clear on the homepage and footer.
Released
H5Backend
Live straddle and finite squid are now available in practice-vs-bots
Until now these two table rules could only be enabled in friend rooms. For table-rule purposes a bot occupying a seat is a player too: straddle is a purely seat-position forced bet, so a bot in that seat posts it exactly like it already posts a small or big blind, and the finite-squid roster no longer recognises humans only — a bot seat becomes a participant as soon as it is dealt in (it is never sent a join prompt, since consent means nothing for a bot). The same change lets a friend room that fills empty seats with bots enable squid. Squid penalties remain a separate table-side ledger that never rewrites poker pots or hand history; practice chips only.
The practice-vs-bots setup now offers the straddle and finite-squid toggles (3+ seats required).
A bot seat joins the current squid round automatically as soon as it is dealt in — it is never sent a join prompt.
A friend room that fills empty seats with bots can now enable squid as well.
Squid penalties never rewrite poker pots or hand history; practice chips only.
Released
H5Backend
Advanced encrypted dealing (highest-encryption mode) now available on all-human, no-AI tables
All-human, no-AI rooms can now have the host enable Advanced encrypted dealing: on a hand where the mode is on, the server does not hold your unshown hole-card plaintext. Required disclosure: this secrecy holds only for that hand; if any player drops, the whole table visibly downgrades to standard (server-visible) dealing; practice chips only. Default tables stay server-visible verifiable dealing, unchanged; settlement logic is unchanged.
Advanced encrypted dealing is now available — the host enables it in all-human, no-AI rooms.
On that hand, the server does not hold your unshown hole-card plaintext.
If any player drops, the whole table visibly downgrades to standard (server-visible) dealing.
Practice chips only; default tables and settlement logic are unchanged.
Released
H5Backend
Engineering post reworked: what a subscription AI really costs on the meter, itemized per model
The Build Notes post on subscription-AI billing was rewritten to lead with its real point: for one flat monthly subscription, what the same usage would cost at the metered API list price — one 30-day window paid $400 and lists at $53,403 (~133×). It adds a per-model usage table (each model's input, cache read/write, and output tokens with list-price subtotals) and explains why a fully-autonomous AI team runs on the flat fee, not the metered API. Content-only release — game rules, room links, accounts, and user data are unchanged.
The post now centers on the real metered cost behind the subscription: $400 paid vs $53,403 at list price (~133×).
Adds a per-model breakdown: each model's input, cache read/write, and output token counts with list-price subtotals and totals.
Adds a worked derivation (tokens × unit price = amount) so every dollar figure is traceable, not conjured.
States the takeaway: a fully-autonomous AI team on the metered API can cost more than a human — the flat subscription is what makes it viable.
Content-only release — no change to gameplay, backend, or user data.
Released
H5Backend
New engineering post: itemize the AI subscription that has no bill
A new bilingual engineering post is live in the site's Build Notes: how to reconstruct a per-model, per-token bill for a subscription AI from the local Claude Code / Codex CLI logs, and the three streaming/aggregation traps that decide whether the total is right. This is a content-only release — it updates the marketing site article and this public changelog; game rules, room links, accounts, and user data are unchanged.
New post “Itemize the AI subscription that has no bill” is live in both languages.
Shows where subscription-AI usage lives in the local CLI logs, and which fields to read.
Breaks down three aggregation traps: streaming dedupe, forked-session double-count, cached-input-is-a-subset.
Content-only release — no change to gameplay, backend, or user data.
Released
H5Backend
Land back in the table you opened after sign-up; safer, more reliable block & report
After you open a table as a guest and then register, we now take you straight back into that table instead of the lobby. Block and report are also more reliable: a report always targets the player you selected (even if seats shuffle while you hold), the report description limit is measured in real bytes (so longer non-English text is no longer misjudged), the report control is keyboard- and screen-reader-accessible, and a blocked player stays hidden on both table layouts even after they change seats or rename. Game rules, room links, and user data are unchanged.
Tap a table as a guest, then after sign-up you land in that table instead of the lobby.
A report always targets the selected player, even if seats change during the press.
The report description limit now counts UTF-8 bytes, so longer non-English text is no longer wrongly rejected or accepted.
The report control is keyboard/screen-reader accessible; blocked players stay hidden across both table layouts even after they reseat or rename.
Released
H5Backend
Telegram release checks aligned with the latest authentication policy
Release verification in the real Telegram App container now uses an isolated test-domain account and a test credential that meets the current strength policy, preventing stale fixtures from being mistaken for product failures. User login rules, game rules, room links, and user data are unchanged.
The Telegram device-verification account now stays inside the test domain and metrics exclusions.
The QA credential follows the current password-strength policy without weakening server-side gates.
QA credentials no longer enter launch URLs or run logs.
Released
H5Backend
More reliable release verification and device screenshots
The release flow now confirms its isolated QA environment before device screenshots and multiplayer verification, so an environment reset cannot be mistaken for a product failure. Game rules, user accounts, room links, and user data are unchanged.
After an environment reset, fixed QA fixtures are restored only when needed and re-verified before device checks begin.
Authentication, network, or unexpected-state errors still fail closed and never bypass the release gate.
The closed-table screenshot oracle now matches the centered new-table layout used in the real product.
Released
H5Backend
Clearer blog navigation and new-table maintenance
The website's article section is accurately labeled “Blog” again, with a new bilingual engineering article about brand-language migrations. The H5 new table also completes a behavior-preserving internal naming cleanup; game rules, room links, and user data are unchanged.
Navigation, page titles, and return links consistently use “Blog,” leaving a clear boundary for a future standalone Insights feature.
Published “Borrow the layout, not the vocabulary,” a reusable guide to naming migrations and information architecture.
Added automated brand-language checks to keep retired codenames out of future releases.
Released
H5Backend
Consistent new-table naming and a clearer company website
The new table now uses consistent BluffKing-owned naming across the product, code, and public materials. The website is also rebuilt as a clearer company and product destination, with less repetition and a sharper focus on practice, review, strategy training, fairness, and product boundaries.
Unified all new-table naming under BluffKing-owned terminology.
Rewrote Home, Product, Company, Support, and Contact to remove manual-like and repetitive copy.
Refocused navigation on the product, pricing, insights, and company information.
Released
H5Backend
Squid upgrade: doubling, full mode, and fairer mid-round joins
Private friend rooms now offer classic, doubling, and full squid modes. A player sitting down mid-round can join immediately or wait for the next round without resetting anyone else's marks or multiplier; short-handed rounds pause instead of clearing. The new table also improves seat badges, action labels, rule access, and room-information layout.
New doubling squid (penalty doubles per round, capped at 4×) and full squid (stacked marks, weighted settlement); classic stays the unchanged default.
Fairer mid-round joins: newcomers choose "join now" or "wait"; existing marks and multipliers are never reset, and a reused seat never inherits the prior occupant's status.
Both tables show mode, multiplier, stacked marks, and pending-join status; the mobile web table gains squid indicators.
The new table improves seat badges, action labels, rule access, and room-information layout.
Released
H5Backend
Checkout prefills your account email + custom-blind setup fixes
Signed-in users no longer re-type their email at subscription checkout: the backend now forwards the account email to Stripe's checkout page to prefill it. To avoid ever locking a wrong address onto a receipt, prefill applies only to verified-owned emails (for example Google/Apple sign-in or a verified email); username or not-yet-verified accounts still fill it in at checkout. This release also fixes custom blinds in room setup: editing the small blind proposes the conventional 2× big blind (50 → 100) while the big blind stays editable for non-2× structures like 2/5, and forced-straddle and squid-penalty amounts now show the real chip value based on your blinds instead of a fixed “2 BB” label.
Subscription checkout: accounts with a verified email get it prefilled on the Stripe page — no re-typing.
Custom blinds: editing the small blind auto-proposes a 2× big blind, which stays editable for non-2× structures like 2/5.
Forced-straddle and squid-penalty amounts display real chip values based on your blinds, not a fixed label.
Released
H5Backend
Payment order and refund reliability fix
This hotfix restructures the subscription payment model: an order is now recorded separately from each individual payment attempt, consistently across Stripe, Telegram Stars, and on-chain BNB USDT. Retrying after a failed payment creates its own attempt record, refunds are tied to the exact payment they reverse, and duplicate refund requests execute only once. The matching backend data migration is fail-closed, and the H5 payment pages are updated to match, including an adjusted list of available payment methods.
Orders are separated from payment attempts: every retry gets its own record, and payment-status polling and on-chain transaction submission reference the payment attempt.
Refunds map to one specific payment attempt, and duplicate refund requests are safely de-duplicated so nothing is refunded twice.
H5 payment methods adjusted: Alipay and WeChat Pay are no longer offered for new payments, and Apple Pay / Google Pay are marked as native-app-only.
This hotfix expands the daily operations report with two session metrics alongside the existing created, started, closed, and completed-hand totals: sessions that both started and closed, and sessions that reached their configured duration. Reporting continues to use a fixed UTC+08:00 calendar-day window and sends aggregate, de-identified data only. H5 and the marketing site are synchronized to the same release; poker rules and the player interface are unchanged.
“Started and closed” counts the intersection of sessions created that day, with at least one completed hand, and closed before day end.
“Reached configured duration” counts only started sessions whose end time is at or after the room's scheduled deadline.
The report contains no user identity or per-session details; this release does not change poker rules or the player interface.
Released
H5Backend
Private-table rule and blind-marker visibility fix
This hotfix keeps essential private-table rules clearly visible during play. The H5 table now shows dealer, small-blind, big-blind, and straddle positions while retaining the room's configured straddle and Squid penalty. The backend also resends authoritative room rules on join and reconnect so rule information is not lost after a refresh or network recovery.
Seat badges now identify D, SB, BB, and STR positions, including overlapping dealer and small-blind roles in heads-up play.
Configured straddle and Squid penalties remain visible on the table, with waiting and active states distinguished.
The backend resends authoritative room rules when players join, refresh, or reconnect, keeping the H5 display consistent.
Released
H5Backend
Trusted release-gate and backend build-compatibility hardening
This production batch hardens the trusted Codex QA and release gates: the deterministic sandbox binds toolchain and dependency identities more strictly and holds Flutter's real cache lock while reading its toolchain, preventing concurrent SDK updates from changing the object under verification. Local-environment, device-proof, and regression scripts also strengthen path, process, and cleanup boundaries. Backend source and tests are updated for all-target Clippy compatibility. These changes do not alter poker rules, accounts, pricing, or other runtime product behavior.
The trusted launcher brings Flutter, Dart, dependency, and tool-wrapper identities into closed verification and removes concurrent-upgrade races with Flutter's real cache lock.
Local startup, device-proof, tunnel, and regression scripts add stricter path, process-ownership, environment-isolation, and failure-cleanup checks.
Backend daily-report queries and test helpers now pass all-target Clippy checks; the adjustments affect build and test compatibility only, not runtime semantics.
Released
H5Backend
Route-update recovery, operational reporting, and an AI coding guide
This production batch ships previously merged but not-yet-deployed commit 7cc95b56 together with the new site article. That commit adds one loop-guarded document recovery when a deployment invalidates a lazy route module, prevents native-bridge failures from creating unhandled Promise rejections, distinguishes web, Telegram, and Flutter client errors, and moves the daily operations report to a fixed calendar-day window with hand-completion and redacted error breakdowns. The website patch in this batch also publishes a bilingual beginner guide from conversational GPT use to production Claude Code and Codex workflows.
Commit 7cc95b56: a stale page reloads at most once when its route module is gone; a persistent failure cannot enter a refresh loop.
Commit 7cc95b56: operations reports use a complete calendar-day snapshot with hand, client-surface, and fixed error-category breakdowns.
Website patch: a new bilingual AI coding guide covers CLI, Remote Control, Memory, MCP, Skills, Plugins, Harnesses, Workflows, and Hooks.
Released
H5
Collision-free V1 table layouts for 2–9 players
V1 now uses explicit per-player-count layouts with separate compact- and normal-height geometry. Opponent seats, bet chips, community cards, pot, room stamp, hero hand, and controls each stay in independent safe regions. The fix covers 2–9 players across mobile browser, standalone, tablet, and short desktop viewports.
The shared ellipse that squeezed horizontal capsules is replaced by symmetric per-count layouts for 2–9 players.
Compact and tall canvases use independent seat and bet lanes, keeping the board, pot, and hero controls unobstructed.
A real-Chromium 40-scenario painted-collision gate now covers every player count across five viewport classes.