← Back to latest updates
RELEASE ARCHIVE

Earlier public releases.

160 earlier updates, newest first. Showing 101–120 on page 6 of 8.

  1. Released
    Marketing site

    New engineering article: Don't leave the second-order pin to memory

    The marketing site adds a bilingual engineering article on making a tool emit the downstream repin step when it changes a content-hash-protected release file, and on turning a dangerous stale assertion into a regression guard. This release only updates marketing content and internal release guidance; it does not change H5, backend, gameplay, account, membership, or payment behavior.

    • Adds the bilingual article “Don’t leave the second-order pin to memory,” distilling the reusable release-automation pattern that receipts beat reminders and bad assertions should be inverted.
  2. Released
    Backend

    Improving BNB payment endpoint resilience

    This backend release accompanies an operational configuration rotation away from a BNB USDT RPC endpoint that persistently rate-limited log queries. Before release, the replacement candidate and existing fallback each passed production-egress probes for chain ID, block height, finality, log queries, and transaction receipts. Every deployed process still independently re-attests its configured endpoints at startup and retains only those that pass full validation; it continues to fail closed when none are healthy. Deposit addresses, the custody recovery anchor, prices, membership entitlements, and gameplay are unchanged.

    • Operational configuration no longer uses the RPC endpoint that returned HTTP 429 for eth_getLogs on two consecutive production starts.
    • Before release, the replacement candidate and existing fallback passed production-egress probes; runtime admission is still decided independently at each startup.
    • Provider quarantine and fail-closed behavior are unchanged; payment amounts, custody, and gameplay are unaffected.
  3. Released
    Android

    Android 1.1.5: privacy and sign-in fixes

    Android 1.1.5 build 356 is now live on the Google Play production track. This update ensures public display names are never derived from your email address, fixes the sign-in screen getting stuck loading after a failed login, and links the applicable Terms of Use and Privacy Policy for this platform in the subscription flow. Poker rules, practice chips, accounts, and payment behavior are unchanged.

    • Public display names are never derived from your email address.
    • Fixed the sign-in screen staying stuck loading after a failed attempt.
    • The subscription flow now links the applicable Terms of Use and Privacy Policy for this platform.
  4. Released
    BackendMarketing site

    Android 1.1.5 version catalog and site labels

    The public app-version catalog served at /api/app/version now advertises Android 1.1.5 build 356, so older installs get an update prompt at the right time; the marketing site’s store labels and product facts are synced to Android 1.1.5. No gameplay, account, or payment changes.

    • The /api/app/version catalog now advertises Android 1.1.5 build 356.
    • The marketing site’s store badges and product facts now show Android v1.1.5.
  5. Released
    BackendMarketing site

    Cleaner registration conflicts, static-analysis boundaries, and payment-node resilience

    The backend now treats concurrent duplicate registrations as an expected conflict, preserving the existing response while avoiding database error-level noise for the expected 409; email verification and account-uniqueness protections are unchanged. When one BNB USDT RPC is rate-limited and another has fully passed chain-ID, capability, and freshness checks, the verifier quarantines the limited endpoint and starts with the attested provider; startup still fails if no provider passes or any configuration/semantic error is found. The marketing site adds the bilingual engineering article “When your static analyzer starts imagining the browser, stop proving.” Unready production candidates also preserve redacted startup diagnostics before rollback. Poker rules, chip settlement, and membership behavior are unchanged.

    • Concurrent duplicate registrations keep the same conflict result without logging an expected request as a database error.
    • Account uniqueness, email-verification proof, and transaction rollback semantics remain unchanged.
    • A new bilingual article explains when static checks should narrow the authoring rule and leave the remaining proof to a real browser test.
    • If an unpublished production candidate cannot become ready, the release flow preserves redacted startup diagnostics before rollback cleanup.
    • When one payment RPC is rate-limited, the service quarantines it and uses only a fully attested healthy provider; no healthy provider or a configuration error still fails closed.
  6. Released
    H5BackendMarketing site

    Hotfix releases keep safety gates without the daily three-release cap

    Emergency fixes now use a separate production-admission class: they neither consume the ordinary three-release daily allowance nor stop when that allowance is full. Only a first release authorized by the repository owner and bound to the exact target version can use this lane; changelog, review, build, cost, serialization, duplicate-release, and rollback safeguards all remain in force. Gameplay, accounts, membership, and payment behavior are unchanged.

    • Ordinary production releases remain capped at three per day; an authorized hotfix does not consume those three slots.
    • The emergency lane still records every release and retains exact-version, serialization, duplicate-release, cross-day, and rollback protections.
    • This update changes release reliability rules only; gameplay, accounts, membership, and payments are unchanged.
  7. Released
    H5BackendMarketing site

    Multiplayer timeout handling and table-display fixes

    In multiplayer tables, a seat is paused after three consecutive hands without a voluntary action: future deals and blinds stop, a 30-second countdown appears, and “Stay at table” keeps the seat; otherwise it is released. H5 also keeps committed-bet chips attached to their owner on compact screens and updates the visible stack and winner banner when a device cannot run the chip-flight animation. The marketing site adds the bilingual engineering article “Never wait for the latest CI run” and refreshes its English and Chinese product and social-sharing imagery to match the current table interface.

    • After three consecutive inactive hands, the seat pauses; reconnect keeps the same countdown, and the player has 30 seconds to explicitly stay before the seat is released.
    • Committed bets remain visually tied to their owner across 2–9-player layouts and clear the pot, board, and neighboring seats; animation failures no longer block settlement display.
    • A new bilingual article explains how to bind release waits to the exact workflow run and verify live effect through public version receipts; English and Chinese product and social-sharing imagery now matches the current table interface.
  8. Released
    Marketing site

    Marketing-site releases join the unified changelog

    Product updates now explicitly show marketing-site releases. Every future production release of the marketing site, H5, or backend adds a corresponding bilingual public update that names its web surface; iOS and Android continue to update when each store version is actually live.

    • The changelog adds a Marketing site channel label alongside H5, Backend, iOS, and Android.
    • Marketing-site production changes and H5/backend releases both require a matching public record through the release guard.
    • Public iOS and Android updates still follow the versions that are actually live in each store.
  9. Released
    H5Backend

    Old support links no longer 404; sitemap reports real update dates

    Two site-level fixes. First: before the game moved to app.bluffking.ai in June 2026, the website's help page linked to bluffking.ai/support, and that address has returned 404 ever since; it now permanently redirects to app.bluffking.ai/support, so old bookmarks and search results work again. Second: every page's last-modified time in sitemap.xml was the build clock, which marked all pages as freshly updated on every release; it now carries each page's real last-modified date. Poker rules, accounts, membership, and payment behavior are unchanged.

    • bluffking.ai/support and /support/ now issue a 301 to app.bluffking.ai/support instead of dead-ending; the website's own /zh/support/ and /en/support/ help pages are unaffected.
    • sitemap.xml lastmod values are derived from each page's real commit history, and are omitted rather than back-filled with build time when no date is available.
    • Added an automated test pinning the rule that the sitemap must never present the build clock as an update time.
  10. Released
    H5Backend

    Tools pages: mobile header overlap fix

    Fixes the mobile free-tools pages (Equity Calculator, Scare-Card Probability, Pot Odds) where long header titles could paint under the 中文 / EN language toggle in the top-right corner. Header titles now truncate with an ellipsis before reaching the toggle; poker rules, accounts, membership, and payment behavior are unchanged.

    • Mobile (390px-wide) tools headers: long titles truncate automatically, so the language toggle stays clear and tappable instead of being painted over.
    • Added an automated regression covering the header layout of all 8 tools pages in both languages to prevent recurrence.
    • Marketing product screenshots and share cards re-captured against the current UI.
  11. Released
    H5Backend

    Website Chinese copy: fluency polish

    This release polishes the Chinese copy across the homepage, product, and pricing pages: hard-translated phrases such as "手后可验证" become natural Chinese ("一手打完即可验证", "每手结束后公开验证材料"), and several europeanized or truncated sentences are smoothed. Every fairness and feature statement keeps its exact meaning — standard tables still default to server-visible commit-reveal dealing; poker rules, accounts, membership, and payment behavior are unchanged.

    • The hard-translated "手后" time phrase is replaced with natural per-hand wording across all five occurrences (hero headline and body, trust card, product, and pricing pages).
    • Truncated or europeanized sentences are smoothed, including the FAQ heading, a section kicker, and the Coach FAQ question.
    • Chinese wording only: English copy, fairness claims, and every factual number are unchanged.
  12. Released
    H5Backend

    Website search discoverability: category terms and structured data

    Website titles and descriptions now carry the category terms (Texas Hold'em, 德州扑克, 德扑 — the English homepage title previously said only Poker), and the site gains schema.org structured data for the first time: organization and website info, an application entry with App Store and Google Play install links plus factual fields like 2–9 seats and 7 AI styles, and blog post markup. Every description keeps the practice-chips, no-real-money boundary; gameplay, accounts, membership, and payments are unchanged.

    • The English homepage title now says Texas Hold'em (previously just Poker); product, pricing, blog, and about titles gain category terms
    • Chinese pages use 德扑 for the first time, covering 德州扑克 / 德扑 naturally across titles and descriptions
    • First site-wide schema.org structured data: organization and website info, an application entry (App Store / Google Play install links, 2–9 seats, 7 AI styles), and blog post markup
  13. Released
    H5Backend

    Homepage: fairness-first hero messaging

    This release updates the homepage hero to lead with fairness: matching the product page, it states that standard tables default to server-visible commit-reveal dealing — the deck is committed before the deal and verification material is released afterward — and tunes headline sizing and line height for the new bilingual copy. Poker rules, chip settlement, accounts, memberships, and payment behavior are unchanged.

    • The hero headline now leads with fairness-first positioning.
    • Body copy mirrors the product page: default commit-reveal dealing, committed before the deal and verifiable after the hand.
    • Headline font sizing and line height are tuned for the new bilingual copy.
  14. Released
    H5Backend

    Table 2 live squid progress is now always visible

    This release keeps squid-round status visible during live hands on Table 2 with explicit total holders, remaining count, and holder badges. The player marker now uses an 🦑 icon instead of text, and each in-hand round shows “Round N · Total X · Held Y · Left Z” so everyone can quickly verify progress. This does not change poker rules, chip settlement, fairness, accounts, or payment behavior.

    • Live Table 2 rounds now keep squid progress visible with round totals and holder counts.
    • Seat badges now use an 🦑 icon for immediate identification of holders.
    • Squid progress is no longer hidden during hands; status now stays in sync with current seat holders.
  15. Released
    Android

    Android 1.1.4: a clearer Me screen and Tools entry

    Android 1.1.4 build 338 is now live on the Google Play production track. This update removes the duplicate poker-tools shortcut from Me and keeps Tools in the bottom navigation, while retaining Stats, History, Fairness verification, and Drills with UI stability improvements. Poker rules, practice chips, accounts, memberships, and payment behavior are unchanged.

    • Me no longer duplicates the poker-tools shortcut; the bottom Tools tab is the single entry point.
    • Stats, History, Fairness verification, and Drills remain available.
    • Improves Android UI stability without changing gameplay or payments.
  16. Released
    H5Backend

    Stricter release regression bindings

    This update repairs stale bindings in release verification. The production regression for leaving a table now follows the current friend-room and public-table semantics, both expiry gates continue to share one terminal-state predicate, and QA source receipts are rebound to their reviewed current versions. This reduces the risk of stale metadata blocking a release or obscuring a real failure. Poker rules, chip settlement, table UI, accounts, and payment behavior are unchanged.

    • The production table-exit regression now matches current friend-room seat retention and public-table seat release semantics.
    • Expiry release checks continue to share one terminal interaction predicate, preventing gate drift.
    • QA source receipts now bind the reviewed current versions and reliably exercise failure paths inside the restricted sandbox.
  17. Released
    H5Backend

    More reliable synchronized releases and source traceability

    This update strengthens the synchronized release guardrails for the website, H5, and backend. Production deployment now validates host cutover prerequisites before consuming a release attempt, manual hotfixes are deduplicated from automatic CI delivery by exact commit, and release tooling follows only the matching CI and production runs. The public corresponding-source notice for the solver also verifies the published tag and its exact metadata. Poker rules, chip settlement, table UI, accounts, and payment behavior are unchanged.

    • Production validates host cutover prerequisites before consuming a daily release attempt.
    • Manual hotfixes and automatic CI delivery are deduplicated by exact commit to prevent duplicate releases.
    • Release tooling waits only for CI and production runs that belong to the target commit.
    • The public solver corresponding-source notice verifies the published tag and exact metadata.
  18. Released
    H5

    Safer table exits and consistent frosted navigation

    Table 2 now clearly separates ordinary back navigation from an explicit leave. Between hands, returning home from friend rooms or bot practice preserves the seat and stack; only the menu's deliberate leave action gives up the seat. Mid-hand confirmation remains in place, and public matchmaking tables continue to release seats under their existing policy. When a session has ended, hardware back or an edge swipe exits the expired table instead of hiding the terminal notice and stranding the player on an unusable felt. The marketing site's navigation and glass panels also retain their frosted effect consistently in production builds across Chrome, Firefox, and Safari. Poker rules, pot settlement, accounts, and payment behavior are unchanged.

    • Returning home between hands preserves the seat and stack in friend rooms and bot practice, while explicit leave still releases the seat.
    • Mid-hand back navigation still requires confirmation, and public-table seat-release policy is unchanged.
    • Hardware back and edge swipes now exit an ended session instead of revealing an unusable expired table.
    • Frosted navigation and glass panels remain consistent in production CSS across Chrome, Firefox, and Safari.
  19. Released
    Backend

    Clearer daily service signals and anomaly alerts

    The daily operations report now distinguishes active usage across H5, embedded Flutter, Telegram, and browser surfaces, with coarse iOS, Android, and other-system totals. Zero-only metrics no longer crowd the report, while missing registrations, sessions that never start, and established users with no daily activity are called out explicitly. Retention now keeps both cohort size and retained-user count, so very low but non-zero results are not displayed as zero. This improves privacy-safe aggregate monitoring and incident detection only; poker rules, chips, accounts, and payment behavior are unchanged.

    • Breaks down real active users by client surface and coarse operating system, with cross-surface duplication stated explicitly.
    • Suppresses all-zero sections while highlighting missing registration, seating, gameplay-start, and real-activity signals.
    • Pairs retention cohorts with retained-user counts, distinguishing true zero from a non-zero result below 0.1%.
    • Keeps the report aggregate-only, without adding IP, country, or user-identity collection.
  20. Released
    H5Backend

    Friend spectating, the new default table, steadier bot decisions, and release guardrails

    Authenticated users with a friend-room code can now join as seatless spectators: they take no seat, hold no chips, cannot act on the game, never receive any player's unrevealed hole cards, and never receive the post-hand fairness seed reveal. Hosts can disable spectating, while two-sided blocks, public tables, and advanced encrypted-dealing tables all deny it. The default table entry for H5 and mobile WebViews now converges on Table 2, with the classic table retained as a fallback; top-bar actions, report and block controls, fairness access, winner presentation, voluntary card reveals, time bank, squid prompts, and nine-seat layout parity are included, with the top bar and nine-seat name readability also polished. Practice bots also handle locked shared-board outcomes, forced chops, and higher two-pair upgrades more reliably while preserving their distinct styles. The marketing site adds first-party anonymous page-view metrics (no third-party analytics, no tracking cookies, no IP stored), disclosed in Privacy Policy v2.8 and Cookie Policy v1.5. On delivery, the website, H5, and backend now share one traceable guardrail for each synchronized Production release: at most three release attempts per Singapore calendar day, with duplicate or indeterminate cutovers never retried automatically; pre-release checks are focused on inputs that actually affect live delivery, avoiding duplicate builds; and the five-minute database watchdog and alerting move to a VPS-native timer, with GitHub retaining a daily independent liveness sample. This release also removes orphaned code and obsolete build inputs that no longer participate in the product; poker rules, chip settlement, and account data are unchanged.

    • Friend rooms now support read-only spectating: unrevealed hole cards and the post-hand fairness seed stay hidden from spectators, and the rail roster remains visible to the table.
    • Hosts can disable spectating; two-sided blocks, public tables, and advanced encrypted-dealing tables cannot be railed.
    • The default table route now uses Table 2, with the classic table retained as a fallback.
    • Table 2 closes parity gaps in table actions, report and block controls, fairness, winners and voluntary reveals, time bank, squid prompts, and nine-seat layout, with the top bar and seat-name readability also polished.
    • Bots make more reliable decisions on locked shared-board outcomes, forced chops, and higher two-pair upgrades.
    • The marketing site adds first-party anonymous page-view metrics, disclosed in Privacy Policy v2.8 and Cookie Policy v1.5.
    • The site also publishes the bilingual engineering article “Prose doesn't execute,” tracing how written rules become executable guardrails.
    • The website, H5, and backend are counted as one synchronized release rather than separate releases.
    • Duplicate triggers, cancellations, and indeterminate cutovers are handled conservatively to prevent accidental repeat releases.
    • Release checks avoid duplicate builds, while a proven VPS-native five-minute database watchdog keeps a daily independent GitHub liveness sample.
    • Removes orphaned source and stale build cache inputs that are no longer compiled or loaded; poker rules, chip settlement, and account data are unchanged.