Skip to content
Scrabble Word Finder
← Back to Solver

Release Notes

Tech Stack

Feature updates and improvements. Current version: v1.22.2

v1.22.2 August 10, 2026

[WOTD: PERSPICACIOUS — 2026-08-10T00:00:00Z]

  • AI Readiness improvements — llms.txt expanded with hours, contact, services menu, and booking info
  • E-E-A-T signals — citation block with Collins/WESPA references, author meta tag, content freshness date
  • Accessibility — skip-to-content link added as first focusable element for keyboard navigation
  • SEO index sync — 595 new blog pages added to seo_index table with full metadata
  • Blog schema — datePublished added to all 1,770 blog posts (4 were missing)

v1.22.1 July 31, 2026

[WOTD: UNCTUOUS — 2026-07-31T12:00:00Z]

  • Pillar content expansion — 25 long-form strategy guides expanded to 5,000+ words each (~120,000 words total)
  • Content Hub section — new navigation section on /blog/ with pillbox links to all pillar guides
  • FAQ consistency fix — complete-scrabble-faq page now uses uniform purple card styling throughout
  • Backend improvements — xSoft Ltd brand identity updated

v1.22.0 July 30, 2026

[WOTD: UNCTUOUS — 2026-07-31T00:00:00Z]

  • Blog expansion — 1,648 posts (up from ~1,280), categorised hubs for Words by Length, Word Validity, Unscramble
  • Games navigation — 🎮 Games link added to top nav (desktop + mobile), icon bar, and search index
  • SEO improvements — H1 tags added to all blog pages, zero orphan pages, all imports fixed
  • Internet Slang Roundup — merged 26 thin validity pages into one comprehensive guide
  • Page Map — regenerated with 1,699 pages and 13,173 internal links
  • SEO Index — synced all 1,699 pages with full metadata to D1
  • Telemetry — added /games/ endpoint monitoring
  • NewBlogs workspace — 2,339 posts staged for future enrichment and trickle-release
  • Infrastructure — removed dead D1 staging bindings from wrangler.jsonc

v1.21.8 July 30, 2026

  • Games Hub — redesigned /games/ page with category filters, stats, difficulty badges, random game button
  • Wordrus — centered board layout, tile legends sidebar, 2-second bomb explosion with flames
  • Word Snake — 30×30 board, letter-color snake (changes with length), letters on body, wildcard tiles
  • Crystal Mine — timer options (no timer/60s/120s/180s), energy replenish on word submit, start energy 5
  • Letter Lab — centered board, words found panel, game history, round timer fix (no early end)
  • Chain Reaction — words found sidebar, game history, best word tracking with points
  • Time Bomb — 10 lives, 3× tile size, fuse times (20s/30s/60s), event delegation fix
  • Leaderboard — integrated Wordrus, Word Snake, Crystal Mine, Chain Reaction, Time Bomb (12 games total)
  • Leaderboard — wrapping tabs, pill-box quick links, separate best word + game score display
  • GameLinks component — pill-box links to all games for blog injection
  • Blog — merged 82 new advanced strategy posts, added H1 titles to all
  • SEO — 121 new blog entries indexed in seo_index table
  • Beta tags — Bubble Burst, Gravity Shift, Letter Lab marked as beta (noindex)
  • Admin SEO — clickable URL hyperlinks in seo_index table

v1.21.7 July 26, 2026

  • Wordrus — game board centered on page with tile legends sidebar
  • Wordrus — integrated into leaderboard (new tab, score caps, rank card on game page)
  • Wordrus — best word tracking (shows actual highest-scoring word instead of level)
  • Wordrus — bomb explosion enhanced with 2-second flame animation
  • Leaderboard — Wordrus columns: Best Word, Level, Game Score, Total, Words
  • Leaderboard — pill-box quick links replacing plain text links
  • GameLinks component — reusable pill-box links to all games (available for blog injection)
  • Games index — new /games/ page linking all 9 games
  • SEO — 121 new blog posts indexed in seo_index table with full meta tags
  • Blog — GameLinks component added to all 1,030 blog pages
  • Microsoft Clarity — analytics integration for user behaviour insights

v1.21.6 July 27, 2026

  • Lex AI — dedicated persona for the iOS app with word-game-focused guardrails
  • Lex AI — improved off-topic refusal wording (friendlier tone, clearer guidance)
  • Tech Stack page — added product logos for visual clarity
  • iOS companion app — Words Finder with Lex AI (solver, WOTD, daily games, world rankings)
  • API — Lex chat endpoint supports mobile SSE streaming clients
  • API — leaderboard and game score endpoints serve mobile app

v1.21.4 July 16, 2026

  • Word Quiz — MWB dictionary picker: choose which WordBench category to quiz from
  • Cows & Bulls — MWB mode: play with words from your own Memory WordBench
  • Cows & Bulls — hybrid alphabet tiles for double letters (split green/amber indicator)
  • Cows & Bulls — MWB games now saved to history and leaderboard
  • Leaderboard — avatar names now sync automatically on score submission
  • Leaderboard — URL params cleaned after load (tab selection persists via localStorage)
  • Blog — 235 pages expanded with category-specific content (+150-300 words each)
  • Blog — Sources & References section added to 1,018 pages with hyperlinked citations
  • Blog — removed duplicate Citations component from 117 pages
  • New page: Our Mission — tools overview, cognitive health benefits, path to mastery
  • SEO tools — Python scripts for GSC index sync (generate_seo_sql.py, paste_helper.py)
  • CaB API — supports MWB word creation (mwb_word param on POST)

v1.21.3 July 15, 2026

  • Magic Squares Game — new word puzzle at /magic-squares/ with daily challenge, unlimited mode, 4×4/5×5/6×6 grids
  • Two Variants — Classic (symmetric word squares) and Cross Grid (independent row+column words)
  • Difficulty Modes — Easy, Intermediate, Hard with progressive letter reveals
  • Hints System — reveal individual letter, entire row, or entire column with purple highlight
  • Real-time Feedback — green/red borders on correct/wrong letters, row/column labels update live
  • Puzzle Generator — Python script generates thousands of verified grids from SOWPODS dictionary
  • Player Search — global autocomplete across all ranked players on world-rankings page
  • All-Time Movers — biggest rating gains and drops ever recorded, added to Movers tab
  • Records Timeline — previous holder and held-since date displayed on each record
  • Push Notification Fix — WOTD cron now uses proper VAPID auth for reliable delivery
  • Bell Icon Fix — notification bell remains visible on all browsers (no longer hidden when Push API unavailable)

v1.21.2 July 14, 2026

  • Country Pages — dedicated page per nation at /countries/[code]/ with player tables, rating distribution, and FAQ schema
  • Countries Index — card grid at /countries/ showing all nations with stats, rankings, and links
  • Country API — /api/public/country/[code]/ returns all players for any country as JSON
  • Tournament Winners Database — new tournament_winners table with 71+ historical records across 7 championships
  • Tournament Winners API — /api/public/tournament-winners/ with filters by tournament and winner name
  • 7 Tournament Blog Pages — WSC, WESPAC, NSC, Causeway, WYSC, World Cup, JWSC (DB-driven, dynamic)
  • Popular Tournaments landing page at /blog/popular-tournaments/ with links to all championship pages
  • Title badges linked — player title badges on rankings, player profiles, and country pages now link to tournament blog pages
  • SEO Index trailing slash fix — /admin/seo/ fetch calls corrected for trailingSlash: always
  • BlogLayout showHeader prop — support for hiding header on individual blog pages

v1.21.1 July 14, 2026

  • Admin Maintenance Tasks — recurring task reminders with due dates, overdue alerts, and one-click completion
  • Admin Records CRUD — full add/edit/delete interface for scrabble_records table
  • Recalculate Rankings — auto-sort players by rating and reassign rank numbers
  • Reset YTD Button — annual YTD reset with snapshot + zero-out (activates in January)
  • Roadmap Delivered Versions — version badges and feature links on /roadmap/ page
  • SEO Fix — trailingSlash changed from 'ignore' to 'always' (resolves 189 GSC redirect warnings)
  • Blog Enrichment — FAQ sections, Memory WordBench blurbs added to 9 thin posts
  • Player Profile Rating Badge — bordered green/red pill with rating change on profile cards

v1.21.0 July 14, 2026

  • The Living Database — rating changes, country stats, and player career tracking infrastructure
  • 🔥 Biggest Movers — new tab showing top 5 risers and top 5 fallers since last monthly snapshot
  • 🌍 Country Leaderboard — new tab with per-country stats: players, avg rating, top player, titled count
  • Player Detail Pages — dedicated /players/slug/ pages with career summary, SVG rating sparkline, and same-country players
  • Rating Arrows — green ▲ / red ▼ indicators next to WESPA ratings showing change since last snapshot
  • Player Links — names in rankings now link directly to individual player profile pages
  • Monthly Snapshot Cron — automated ranking snapshot on 1st of each month with duplicate protection
  • 2 New Public APIs — /api/public/movers/ and /api/public/countries/ with caching and CORS

v1.20.5 July 14, 2026

  • Scrabble Insights — 13 server-rendered insight cards on /world-rankings/ covering WESPA, YTD, online, tournament, and player stats
  • Insights API — public JSON endpoint at /api/public/insights/ returning categorised insights
  • Tab-Filtered Insights — insights section dynamically filters by active tab with isolated script for reliability
  • Ranking Snapshots — admin button to save current rankings state to ranking_snapshots table
  • Ranking Reminders — countdown timers with popup alerts (5m, 7d, 14d, 30d) on admin rankings page
  • Developers Page — /developers/ hub consolidating APIs, RSS feeds, datasets, and AI discoverability docs
  • 3 New Public APIs — /api/public/search/ (RAG), /api/public/player/, /api/public/statistics/

v1.20.4 July 14, 2026

  • Public APIs — 5 read-only endpoints at /api/public/ (WOTD, Rankings, Tournaments, News, Challenge)
  • Data Downloads — /data/ page with JSON/CSV files (tile values, letter frequencies, two-letter words, Q-without-U, board layout)
  • CiteThis Component — citation block with copy-to-clipboard on 10 research articles
  • Push Bell Fix — notification bell now works on blog pages (BlogLayout handler added)
  • Service Worker Fix — chrome-extension:// scheme no longer causes cache errors
  • Sticky Tabs — world rankings remembers your last selected tab via localStorage
  • Online Ratings — last played date column added to the table
  • Badges Page Fix — hero card and stat strip moved inside article container

v1.20.3 July 13, 2026

  • llms.txt — AI discoverability file at /llms.txt for LLMs and AI crawlers to understand the site
  • llms-full.txt — comprehensive 200-line site documentation at /llms-full.txt for deep AI indexing
  • News Approval Workflow — fetched news requires admin approval before appearing publicly
  • Fetch Controls — keyword dropdown and days filter on admin news page for targeted searches
  • Fetch Results Panel — inline display of search results below fetch button

v1.20.2 July 13, 2026

  • Latest News Page — /latest-news/ with auto-refreshed Scrabble news from Tavily web search + AI summaries
  • Hero News — featured section with video/image media for top stories
  • Daily News Cron — automated daily fetch at midnight UTC via Tavily API + Workers AI summarisation
  • News Admin — /admin/latest-news/ with show/hide, edit, delete, manual add, media support
  • Read More — expandable news summaries with inline toggle
  • URL Quality Filter — rejects generic topic/tag pages, only keeps actual articles
  • World Rankings Icon — 🌐 icon in nav row linking to /world-rankings/

v1.20.1 July 13, 2026

  • World Rankings Page — new /world-rankings/ hub with WESPA ratings, YTD standings, online ratings, player profiles, and tournament calendar
  • Player Profiles — top 24 WESPA-rated players with rank badges, rating stats, peak ratings, and title history
  • Tournament Calendar — upcoming events with tier badges (Platinum → Bronze), countdown, and recent results with winners
  • Summit Cup Line — YTD rankings show qualification cutoff (top 24) with visual indicator
  • Citation Fix — corrected "Word Freak" by Stefan Fatsis attribution across 9 blog articles
  • Bounced Emails Tool — new script to process campaign bounce-backs and mark failed recipients

v1.20.0 July 12, 2026

  • Blog Sprint — AuthorInfo component added to 1,004 blogs with staggered update dates
  • dateModified — Article schema freshness signal set on 1,016 blog pages (Jun 5 – Jul 8 spread)
  • BlogCrossLinks — tool link badges added to 845 blogs missing them
  • WOTD Enriched Fields — origin, example, spelling tip, fun fact, and cultural notes on blog/wotd pages
  • WOTD Homepage Bubble — enriched data shown in the Word of the Day popup on click
  • Network Optimisation — eliminated duplicate /api/site-status/ calls, cached globally
  • Push Bell Fix — uses getRegistration() instead of serviceWorker.ready (resolves first-visit hang)
  • Push Bell Mobile — notification bell now visible in mobile nav header
  • Green Bell — bell icon turns green with dot indicator when subscribed
  • Soft Push Prompt — popup appears on 2nd visit after 5 minutes if not subscribed
  • Lex External URLs — Scrabble GO, Woogles.io, Zyzzyva, NASPA, WESPA links in system prompt

v1.19.6 July 8, 2026

  • Push Notifications — daily WOTD alerts via Web Push; bell icon in header to subscribe/unsubscribe
  • Cron Trigger — midnight UTC daily push to all subscribers with today's word and meaning
  • Mobile Bookmark — "Add to Home Screen" instructions for iOS and Android in bookmark bubble
  • Embed API Auth — /api/embed/ now requires X-Embed-Key secret header
  • Blog Link Fixes — external URLs added for Zyzzyva, Woogles.io, Scrabble GO in gift guide

v1.19.5 July 8, 2026

  • RAG Embeddings — 3,210 blog chunks + 51 dictionary word groups embedded into Vectorize for Lex AI semantic search
  • Lex Response Colors — category-aware formatting: orange (bingos), purple (strategy), blue (beginner), amber (scoring), cyan (word lists), rose (tournament)
  • 13 New Long-Form Blogs — history, science, tournaments, hooks, notation, Q-without-U, and more (3,147 lines total)
  • Long Reads Section — new category on /blog/ with tiles for all 400+ line articles
  • Favourites Page Redesign — hero gradient, stat cards, 3-column tile grid, color palette rotation
  • Theme Toggle — changed from light/dark to Lite Dark (warm stone tones) and Heavy Dark (original deep black)
  • PWA Meta Tags — manifest, service worker, apple-touch-icon for Add to Homescreen support
  • AEO Improvements — author changed to Person schema, dateModified added, llms.txt expanded with Long Reads
  • SEO Sync Script — now extracts H1, OG tags, and canonical URL from all pages
  • Touch Target Fixes — cookie consent buttons and diamond hunt gem meet 48px minimum

v1.19.4 July 11, 2026

  • AdSense Layout — table-based 3-column layout with skyscrapers flush against content on all pages
  • AdSense Toggle — site-wide ON/OFF control from admin; ads hidden by CSS, revealed only when confirmed active
  • Blog Nav Icons — 🔍 Solver, 🎯 Quiz, 🔀 Anagram, 🎲 Rack, 📖 WOTD, ⏱️ 60s links on all blog posts
  • H1 Tags — added to all 149 stub pages with keyword-enriched subtitles
  • Social Footer — X, Facebook, Instagram, LinkedIn, YouTube icon links
  • LLMs.txt — rewritten with 50 Markdown links for AI search engine crawling
  • Dictionary Preload — preload hints for SOWPODS/TWL files on homepage, eliminating network chain dependency
  • Deferred APIs — non-critical fetches (site-status, diamond-hunt, copyright) use requestIdleCallback
  • Vite Cache Fix — added @cloudflare/unenv-preset to optimizeDeps.exclude (permanent fix)
  • Dev Ad Debug — amber dashed placeholders show ad positions on localhost only

v1.19.3 July 8, 2026

  • Preconnect Hint — added preconnect to AdSense origin for faster ad loading on interaction
  • Touch Targets Fixed — cookie consent buttons and diamond hunt gems now meet 48px minimum tap size
  • Mobile Nav Icons — increased from 36px to 40px, added missing Cheat Sheets and Settings links
  • Chat Mobile Spacing — reduced gap after avatar banner, added breathing room above it
  • SEO Keywords Sync — transferred updated keywords from seo_index DB to page files

v1.19.2 July 8, 2026

  • PWA Complete — manifest, service worker, icons, and registration all in place; SWF installable as a standalone app with offline dictionary support
  • Charset Header Fix — HTTP Content-Type now includes charset=utf-8 via middleware for all HTML responses
  • Organization Schema (GEO) — JSON-LD Organization schema on homepage for LLM and AI search engine discoverability
  • H1 Tags — added to all 149 pages that were missing them, with keyword-enriched subtitles
  • SEO Tag Audit Panel — new admin/seo section showing presence, coverage, avg/min/max lengths and stipulated ranges for all SEO elements
  • FAQPage Schema — added to avatar-collage and WOTD archive (now 100% coverage)
  • H2 Headings — added semantic headings to 5 app pages for accessibility and SEO (now 100% coverage)
  • SEO Index Sync — new script (sync-seo-index.mjs) extracts metadata from all 1038 .astro files into the seo_index DB

v1.19.1 July 6, 2026

  • Badge UI Overhaul — gold/silver metallic gradients, embossed shadows, Celtic corner ornaments, and coloured glow effects on all badge cards
  • Diamond Requirements Visible — each badge now displays the number of diamonds needed to unlock it
  • "Completed" Rubber Stamp — achieved badges show a tilted stamp on the card corner for instant visual recognition
  • Badge LocalStorage Save — save achieved badges locally for faster loading and offline badge display
  • Badge Glow — consistent multi-colour drop-shadow glow that follows the shield artwork shape on all badges
  • Lex Coaching Token Fix — AI coaching report token limit increased from 300-450 to 1000, eliminating truncated PDFs
  • Lex Challenge Quality — coaching prompts updated to prevent impossible challenges like "solve in 0 attempts"
  • Performance — click counter polling reduced from 2s to 30s, requestIdleCallback for non-critical fetches
  • Vite Cache Fix Tool — python3 script to auto-fix stale SSR dependency cache errors

v1.19.0 July 5, 2026

  • Core Web Vitals Fix — 150 blog pages prerendered to static HTML, reducing Worker bundle from 50MB to 15MB and TTFB from 1.4s to ~100ms
  • Admin Site Status Page — combined Telemetry + Live Sessions + Latest Clicks dashboard at /admin/site-status/
  • Admin Dashboard Widgets — Live Sessions and Latest Clicks panels added inline to the Site Status section on /admin/
  • Email Campaigns — bounced/prospective/no-response status tracking with colour-coded rows, pin feature, email variant selector, batch regrouping (250/batch)
  • Daily Anagram Cache Fix — date-keyed localStorage prevents stale puzzles bleeding between days
  • Diamond Earned Modal — proper celebration popup when all daily stars collected
  • Chat Skill Level Starters — beginner/intermediate/advanced coaching prompts added to /chat/
  • Coaching PDF Fix — progression trend section now handles all coach types (rack uses points, quiz/anagram use percentages)
  • AI Live Test Suite — 7 new Playwright tests covering solver flow, coaching reports, leaderboard, WOTD, quiz, and daily rack
  • Bounced Email Processor — Python tool to parse bounce/reply .zip files and update campaign_leads status
  • SEO Index Live Sync — 1,044 pages tracked with crawl dates from Google Search Console
  • Smoke Test Fixes — structured data assertion and sensitive data regex corrected

v1.18.1 July 4, 2026

  • Cheat Sheet Cross-Links — icon navigation bar added to SOWPODS and TWL cheat sheets for easy switching between dictionaries
  • SEO Index Sync Links — new "Sync Links" button re-scans all pages and updates internal link counts, H2s, word counts, and schema presence
  • SEO Sync to Pages — reworked to compare DB edits with live pages, log field-level changes to sync log with full values and character counters
  • Incremental Sync — Sync to Pages now only processes pages updated since last sync, preventing server overload on large sites
  • Crawled Column Sortable — the Crawled column in the SEO index tracker is now clickable and sortable
  • Search Relevance — SEO index search now prioritises shorter URL matches first (exact pages appear before blog posts containing the term)
  • Welcome Banner — complete border with rounded corners for avatar welcome strip
  • Bug fix — corrected corrupted meta description in average-winning-score blog post

v1.18.0 July 4, 2026

  • Ask Lex Integration — "Learn with Lex AI" button now passes rack tiles directly to the chat page for contextual coaching
  • Chat UI — larger voice input button and "Ask Lex" send button for better usability
  • Blog Batch 3 Progress — specialty word list pages expanded from stubs to full content (180+ lines with visual treatment)
  • Admin Clicks Sound Picker — choose between Bell Gong, Bugle Call, Fog Horn, or Toon Horn for click alerts (persists between sessions)
  • Blog fixes — layout migrations, BlogCrossLinks improvements, new long-form strategy articles
  • 10 new long-form blog posts — strategy masterclass, tile management, board geometry, opponent reading, endgame tactics, and more
  • Backend improvements — admin tooling updates and internal infrastructure enhancements

v1.17.0 July 2, 2026

  • Structured Coaching Reports — Lex coaching output restructured into clear sections: Grade, Strengths, Needs Work, Trends, Timing, Prediction, Words to Learn, and Challenge
  • Coaching PDF Export — generate and download professional PDF reports from any coaching session (Quiz, Rack, Anagram, CaB)
  • Saved Reports Panel — save up to 5 coaching PDFs locally with view and delete controls (appears in chat sidebar)
  • Predictive Coaching — data-driven improvement estimates based on your play patterns and historical trends
  • Lex's Challenge — personalised goal-setting section added to every coaching report to drive improvement
  • Memory Retention — missed words with definitions included in coaching reports for vocabulary building
  • Banned Filler Phrases — Lex now avoids vague coaching language, producing more concise and actionable advice
  • Shared prompt builder — DRY refactor using buildQuizCoachPrompt across chat and API endpoints
  • Test suite — 9 new jsPDF/coaching-pdf tests plus updated coaching API specs

v1.16.0 July 2, 2026

  • Player Avatars — unique animal avatars assigned automatically to every player, viewable across the site
  • Welcome Banner — personalised greeting bar above the header showing your avatar and display name
  • Avatar Swap — swap your avatar and name anytime from the dedicated page
  • Avatar Collage — visual gallery of all 25 animal avatars
  • Leaderboard — site-wide rankings at /leaderboard/ showing top players by stars and diamonds
  • 60-Second Challenge leaderboard — submit your score after timed rounds and compete for top spots
  • Daily Duel panel — new daily competitive word challenge on the Activities page
  • MyBag avatar display — your avatar now appears on your personal bag page
  • Settings avatar preview — see and manage your avatar from the settings page
  • Admin avatars dashboard — management page for avatar distribution and usage stats
  • Blog — new "How to Play Scrabble" video guides post with embedded tutorials
  • Chat improvements — Memory WordBench modal, keyword-triggered 3-letter word helpers, and Learn with Lex links
  • UI polish — inline welcome info button, solver quick-link refinements, StarBar layout updates
  • Test suite — 40+ new spec files covering avatars, leaderboard, daily duel, welcome banner, chat, and blog features

v1.15.0 July 2, 2026

  • Lex Quick-Reference Word Lists — system prompt now includes curated two-letter words, top 3-letter words, highest-scoring words by length, Q-without-U words, and rare letter power words with scores
  • EV Scoring Engine — new Expected Value rack quality scorer (0-100) analysing vowel/consonant ratio, power tiles, bingo stems, and duplicates
  • Lex Query Classifier — intelligent routing categorises user messages (rack, strategy, word-list, coaching) for optimised responses
  • Coaching Prompts library — dedicated prompt templates for Quiz, CaB, Rack, and Anagram coaching sessions
  • Training Modes module — foundation for Bingo Trainer, Hook Quiz, Tile Countdown, and Rack Leave Drill
  • Coaching renderers — external /js/coaching-renderers.js for quiz, rack, and anagram coaching data visualisation
  • New APIs — /api/lex-cab-coach/, /api/lex-rack-coach/, /api/lex-training/
  • Activity panels enhanced — CaB, Daily Anagram, and Daily Rack panels updated with Lex coaching integration
  • Blog — 50+ thematic word posts (yoga, witchcraft, woodwork, winter, summer, opera, painting, and more)
  • Lex Dojo mode — interactive training modes accessible from the chat page
  • Test suite — 20+ new spec files covering EV scoring, chat streaming, coaching endpoints, dojo modes, and word-list queries

v1.14.4 July 2, 2026

  • Lex AI Solver modal — "Ask Lex AI" button on the solver now opens an inline modal with rack input, word finding, and free-form Scrabble chat
  • Lex coaching across all activities — dedicated AI coaching buttons added to Cows and Bulls, Daily Anagram, Daily Rack, and Quiz panels
  • Quiz timing stats — new second row in quiz stats bar showing Fastest, Slowest, and Avg Time per quiz session
  • Quiz performance graph — canvas-based accuracy and time trend chart after completing quizzes
  • WOTD multilingual — "In other languages" translations fetched and displayed below Word of the Day details
  • WOTD memorised — checkbox to mark words as memorised with persistent local tracking
  • Chat context routing — /chat/?context=rack auto-submits personalised Daily Rack coaching request with full play history
  • Lex system prompt expanded — added Diamond Hunt, Star Bar, Achievements, Badges, and Cows and Bulls knowledge
  • New APIs — /api/lex-solve/, /api/lex-chat/, /api/lex-quiz-coach/, /api/lex-anagram-coach/, /api/memorised-words/, /api/wotd-languages/
  • Test suite — 25+ new spec files covering Lex solver modal, coaching links, quiz timing stats, anagram coach, DRC context, WOTD languages and memorised features

v1.14.3 July 1, 2026

  • Lex avatar WebP — migrated all Lex avatar images from PNG to optimised WebP format (smaller, faster loads)
  • Quiz coaching auto-submit — clicking "Lex" in the Quiz Panel now opens /chat/?context=quiz and auto-sends personalised coaching request with quiz stats
  • Blog index redesign — category navigation upgraded from pill links to a coloured icon grid with grouped sections
  • Blog FAQ schema — FAQPage structured data added to /blog/ index for rich search results
  • Diamond Hunt quick link — 💎 icon added to solver header quick links and StarBar for easy access
  • Light mode contrast — improved text readability with darker gray values across all light-mode elements
  • Header spacing — tighter vertical rhythm with removed bottom divider line
  • Quiz Panel Lex avatar — replaced 🤖 emoji with custom avatar image for brand consistency
  • Test suite — updated and expanded tests for chat API, blog index, header, solver quick links, and quiz Lex link

v1.14.2 June 30, 2026

  • Blog expansion — 66 new thematic word posts (barbecue, vikings, chocolate, origami, jazz, geology, ballet, and more)
  • Search Index API — new /api/search-index/ endpoint auto-discovers all blog posts at build time (~980 entries)
  • Lazy search — header search bar now loads a slim fallback instantly, fetches full index on first focus
  • Blog deduplication — removed 8 redundant posts (parallel plays x3, exchange tiles x3, suffix + strategy dupes)
  • Zero orphaned pages — added inbound cross-links to 101 previously unreachable blog posts
  • Landing page link fixes — repaired broken links on strategy, useful-links pages pointing to deleted posts
  • Blog total — 965 blog files (952 posts + 13 landing pages), all interconnected

v1.14.1 June 30, 2026

  • Ask Lex — new AI-powered word assistant component integrated across blog pages
  • Dictionary API — new /api/dictionary/ endpoint for programmatic word lookups
  • Badges theme & levels — expanded badge system with 13 themed SVG badges and progression levels
  • Admin Badges — dedicated management page for badge configuration
  • Blog — new Thematic Words and Word Validity landing pages, expanded two-letter-words hub with J/K/V/Strategy posts
  • Pagemap generator script — automated internal link graph builder
  • Blog cross-links expanded — improved internal linking across all blog posts
  • Cleanup — removed duplicate/obsolete blog pages and deprecated Ask page
  • Test suite — 15+ new spec files covering badges admin, banner clicks, blog cross-links, FAQ schemas, word validity, and letter guides

v1.14.0 June 30, 2026

  • Diamond Hunt — new site-wide treasure hunt game at /diamond-hunt/ with claimable diamonds hidden across pages
  • Badges & Progression — new /badges/ page with visual badge grid, progress tracking, and unlock conditions
  • Achievements upgrade — expanded achievements system with new milestones and badge modal on MyBag
  • StarBar progress message — #sb-message repositioned under game icons for cleaner layout
  • MyBag badges section — earned badges displayed with modal details and share functionality
  • Daily Progress API — enhanced with diamond hunt and achievement tracking data
  • Diamond Hunt APIs — claim, user status, and hunt data endpoints for the treasure hunt system
  • Admin Diamond Hunt — management page for configuring hunt locations and monitoring claims
  • Blog — new "Scrabble Badges Progression Guide" post with structured data
  • Migrations — achievements columns expansion, diamond hunt tables
  • Comprehensive test suite — 30+ new tests covering Diamond Hunt, badges, achievements API, StarBar layout, MyBag badges, and blog content

v1.13.1 June 28, 2026

  • Chat static keyword shortcuts — 8 pre-built Scrabble prompts (opening moves, Q words, quiz, rack analysis, etc.)
  • Chat FVT formatting — AI responses now render numbered steps and bullet lists with styled cards
  • Identified words → Memory WordBench — one-click button to add all 6+ letter words from Lex responses to MWB
  • Ask Lex tile redesign — enlarged hover avatar preview and refreshed button styling on the solver
  • Solver action icons — copy, paste, clear buttons now use consistent purple circular design
  • Admin chatusage — unique users stat, user ID column, flat/grouped view toggle
  • Admin documentation page — interactive architecture diagrams with React Flow
  • Page map — visual site map at /pagemap/ showing all pages and links
  • Ask Lex AI — FVT formatting with source category colors and updated blog count (650+)
  • React integration — @astrojs/react, @xyflow/react, d3-force added for interactive diagram components
  • Expanded test suite — new tests for chat formatting, static keywords, MWB icons, pagemap, and API stats

v1.13.0 June 28, 2026

  • Ask Lex AI — new chat page at /chat/ powered by Workers AI for Scrabble strategy help
  • RAG-powered answers — blog content chunked and embedded into Vectorize for context-aware AI responses
  • Ask Lex tile on solver — conditionally appears when AI is online and 3+ letters are in the rack
  • Blog "Ask Lex" component — inline AI Q&A section on every blog post
  • AI health check API — verifies Workers AI availability before showing Lex features
  • Chat usage tracking — logs queries by keyword for admin analytics at /admin/content/chatusage/
  • RAG ingestion pipeline — /api/rag-ingest/ and /api/rag-query/ endpoints for blog content vectorization
  • Lex avatar — custom AI assistant branding with avatar images across chat and solver
  • Header update — ScrabbleBot/Lex navigation link added
  • New migrations — chatusage table, rag_chunks table, ingested_blogs table, keyword column
  • Comprehensive test suite — 40+ new tests covering chat API, RAG, Ask Lex tile visibility, chat UI layout, keyword logging, and persistence

v1.12.4 June 28, 2026

  • New blog post — "Roadmap to Being a Pro Scrabble Player" strategy guide with structured data
  • BlogComments component — reader comment section integrated across all blog posts
  • Release notes test rule — only last 2 versions are tested in regression suite (reduces brittleness)
  • Version bump to v1.12.4

v1.12.3 June 28, 2026

  • Blog Comments — reader comments on every blog post with name, message, and admin moderation (approve/hide)
  • Blog Comments API — /api/blog-comments/ with GET (public + admin stats) and POST (submit comment)
  • Admin Blog Comments — dedicated moderation page at /admin/content/blog-comments/
  • Migration 0039 — hidden column added to Blog_Comments table for soft-delete moderation
  • Performance — banner images now have explicit width/height and fetchpriority="high" to eliminate CLS and speed up LCP
  • Performance — banner SVG preload link added to BlogLayout head for faster first paint
  • Build — inline stylesheets enabled (inlineStylesheets: 'always') to eliminate render-blocking CSS requests
  • Accessibility — cookie consent privacy link now uses underline + higher contrast for better visibility
  • New tests — blog comments API (CRUD + stats), blog comments UI, banner image performance, banner preload, cookie consent link accessibility

v1.12.2 June 27, 2026

  • Performance — AdSense & gtag scripts now deferred until first user interaction (scroll, click, mouseover, touchstart, keydown) with 12s fallback, reducing unused JavaScript on initial page load
  • New blog post — "Roadmap to Being a Pro Scrabble Player" with structured data and internal links
  • Header — Pro Player Roadmap link added to navigation
  • New tests — interaction-deferred script loading (6 tests), AdSense interaction tests (12 tests), blog roadmap schema, header pro-player link, critical CSS, fun facts landing

v1.12.1 June 27, 2026

  • Cheat Sheets section — printable SOWPODS and TWL reference pages with stat grids, anchor navigation, and vowel dump words
  • Constants API improved — enhanced error handling and response structure
  • Guide page expanded — new user documentation sections
  • Blog index updates — improved navigation and category links
  • Tournament Calendar 2026 — expanded with full event details
  • Layout & Header refinements — visual polish and meta improvements
  • New tests — cheat sheet SOWPODS (20 tests), tournament calendar, SEO homepage keywords, navigation footer, solver quick tests

v1.12.0 June 26, 2026

  • Constants system — new DB-driven key-value store for site-wide content (tagline, NewsFlash, footer text, etc.)
  • Admin Content page — full CRUD for constants with KV cache management
  • NewsFlash panel — homepage news section powered by DB constants with multi-line support
  • Dynamic tagline — site tagline now fetched from DB, editable from admin without redeploying
  • Layout refactor — server-side constants via KV cache with DB fallback (site name, domain, OG image, footer text)
  • MyBag missed days — timeline now shows missed activity days with motivational nudges
  • Privacy page enhanced — expanded data management and cookie disclosure sections
  • Guide page updated — new constants-related content management documentation
  • Blog post expanded — "Foreign Words Valid in Scrabble" full visual treatment
  • Migrations 0037 & 0038 — constants table with enhanced schema
  • New tests — NewsFlash, MyBag missed days, quiz history timeline, header tagline, content admin, constants API

v1.11.5 June 23, 2026

  • Google AdSense integration — ad placements now supported across pages with reusable AdUnit component
  • AdSense admin toggle — enable/disable ads site-wide from the admin dashboard without redeploying
  • KV caching for ad status — faster page loads with cached ad toggle state, DB fallback
  • AdUnit component — supports responsive, skyscraper, banner, and rectangle formats
  • Migration 0036 — adsense column added to site_status table
  • New tests — AdSense toggle API, ad unit rendering, release notes validation

v1.11.4 June 23, 2026

  • Blog batch 12 — 10 new posts: 6 "Is X a Scrabble Word?" (LI, NA, NU, PO, SH, TI) + 4 prefix guides (BI, MONO, POLY, TRI)
  • StitchBlogs pipeline — automated slug generation and cross-link injection scripts
  • 20 new inbound links injected across 6 existing pages for internal link equity
  • Admin improvements — internal tooling and dashboard enhancements
  • New scripts — stitch-slugs.py, stitch-inject.py for automated blog cross-linking
  • Total blog count: 558 posts

v1.11.3 June 23, 2026

  • BlogCrossLinks component — reusable cross-link sidebar injected into blog posts
  • Blog gate system — blogGate.ts controls post visibility via DB publish status
  • New category landing pages — Vocabulary, Word Patterns, Prefix Guides, Fun Facts, History, Words Containing, Words Ending
  • 5 new "Is X a Scrabble Word?" posts — QI, ZA, ZE, QAT, EW with full visual treatment
  • Inbound link injection — Python scripts to inject cross-links into Related Articles asides
  • Zero orphaned pages — all 612 blog pages now have 2+ inbound links (up from 20 weakly-linked)
  • Orphan checker script — scripts/check-orphans.py reports pages with zero/weak inbound links
  • Bulk SEO fix script — scripts/bulk-seo-fix.py for mass blog page repairs
  • New tests — vocabulary landing, two-letter-words landing, words-containing landing, high-scoring landing

v1.11.2 June 23, 2026

  • WOTD month page — Top Scoring Words now shows all scored words with date labels (not just top 5)
  • Admin quiz practice — UI improvements and enhanced quiz functionality
  • Admin users page — expanded user management with new API endpoints
  • Stars & Diamonds API — updated scoring and reward logic
  • New tests — WOTD top scoring cards, admin quiz practice, stars & diamonds API, users, smoke tests
  • Playwright config — added blog test project for organized test execution

v1.11.1 June 23, 2026

  • WOTD enriched content — origin, usage example, spelling tip, and cultural note now display below the word
  • WOTD date navigation — prev/next buttons to browse past and future words of the day
  • WOTD API date param — /api/wotd?date=YYYY-MM-DD returns word for any seeded date
  • WOTD enrichment migration — new DB columns: origin, usage_example, spelling_tip, cultural_note
  • Blog — Scrabble Word Checker Tools cards now clickable links with favicons and external arrows
  • Blog — Collins link updated to collinsdictionary.com, added Merriam-Webster and NASPA links
  • New tests — WOTD nav restriction, next-button disabled, WOTD API date param, checker-tools cards
  • Enrichment script — scripts/enrich-wotd.mjs for bulk-generating enriched content
  • Admin WOTD — dedicated management page with full CRUD, stats cards, search, and filters
  • Admin WOTD sorting — clickable column headers for word, date, meaning, and fun fact with asc/desc toggle
  • WOTD Admin API — /api/wotd-admin with pagination, search, filter, and sort params
  • WOTD Explore button — quick jump to explore words from the activities panel
  • New tests — 25 WOTD admin sorting tests (API + UI), admin page tests, explore button tests

v1.11.0 June 22, 2026

  • Cows and Bulls — new word-guessing game with 4–7 letter words, guess history, and alphabet tracker
  • CaB Timer Mode — optional countdown timer (30s–90s) with localStorage persistence
  • CaB timer_duration sent to API — server now receives timer context for timed games
  • CaB Game History — view past rounds, inspect individual guesses, track performance
  • CaB Star Award — earn activity star for solving a game
  • Blog — Tools & Solvers landing page, Dictionary Apps post, Useful Links update
  • StarBar refinements — diamond message and activity tracking improvements
  • Layout and BlogLayout navigation updates
  • Sitemap updated with new pages
  • MyBag page — personal stats dashboard with stars, diamonds, streaks, and earning history
  • MyBag Memory WordBench showcase — feature tiles, practice tip linking to Practice History
  • StarBar MyBag link — quick access from Activities page
  • Fullscreen CSS fallback — iOS/mobile devices now get a CSS-based fullscreen mode when native Fullscreen API is unavailable
  • Fullscreen toggle fix — removed TypeScript syntax from inline script that caused runtime error
  • Admin — Stars & Diamonds management page, Users page with API endpoints
  • Blog — 50+ new posts: strategy guides, word patterns, letter combinations, high-scoring words
  • 25+ new Playwright tests — CaB timer, history, star, API, blog pages, MyBag, fullscreen toggle, admin
  • Data — WOTD, Daily Anagram, and Daily Rack seeded through June 2029 (3 full years)
  • Data — 988 daily rack entries backfilled with solved best words, scores, and definitions
  • Tech Stack page — improved GitHub logo display

v1.10.0 June 21, 2026

  • Useful Links page — curated Scrabble resources, tools, and references for players
  • Admin improvements — internal tooling and dashboard updates
  • Flash Card UX — cursor-pointer on tap-to-flip hint, inline style on body for clarity
  • Fullscreen speed slider — ensureFullscreenSlider injected during in-place card navigation
  • Mobile focus/fit — improved styles for Activities panels on mobile viewports
  • Header refinements — tagline, useful links icon, search bar improvements
  • Blog — 20+ new posts (strategy, bingos, word patterns, letter guides, useful links)
  • Blog layout navigation — improved nav links and category structure
  • Admin dashboard — blog tasks, SEO, toolset, report pages updated
  • DRC server-side duplicate handling (409 response)
  • MWB import-all fullscreen support
  • Site search improvements — better search bar and results
  • Syntax error fix — extra brace in applyFullscreenStyles removed
  • 80+ new Playwright tests — blog pages, admin, solver, activities, API, SEO

v1.9.0 June 18, 2026

  • Anagram History page — browse past Daily Anagram puzzles with results and streaks
  • Anagram History API — /api/anagram-history endpoint for historical puzzle data
  • 60-Second History — browse your past timed rounds and scores
  • 60-Second History — game results now persist between sessions
  • Storage improvements — better data management under the hood
  • Activities panels polish — StarBar, WOTD, Anagram, Rack, Quiz, WordBench, 60-Second panels refined
  • Activities responsive fix — negative margin now lg-only (no mobile overflow)
  • Layout improvements — header/navigation refinements
  • Settings page updates — improved data management options
  • Stats page enhancements — better game history display
  • Sitemap updated — new pages added to XML sitemap
  • Daily Anagram API hardened — improved reliability and edge case handling
  • Daily Rack API hardened — improved error handling
  • WOTD API refinements — consistency improvements
  • 20+ new Playwright tests — anagram, 60-sec, grid layout, mobile focus, quick links, stats, solver

v1.8.0 June 16, 2026

  • 60-Second Word Finder — timed game, 7 random tiles, find words in 60s, personal best tracking
  • Personal Stats Dashboard — aggregated view of quiz scores, practice, streaks, games
  • WOTD Monthly Blog — dynamic /blog/wotd/[month]/ pages, words reveal daily, admin sees all
  • WOTD Monthly API — /api/wotd-monthly for blog generation (JSON + Astro format)
  • Roadmap page — DB-driven feature roadmap with progress tracking
  • Daily Anagram — Wordle-style 6-letter puzzle with colour feedback, streak tracking, share
  • Activities refactor — split into 5 components, fixed WOTD/Anagram/Rack panel bugs
  • Header component extracted — reusable across Layout + BlogLayout (tech debt reduction)
  • Playwright upgraded 1.52 → 1.60, test runner fixed (25/25 static page tests passing)
  • Deploy gate hook — prevents accidental live deploys (regex-based, not all-shell)
  • LIMIT added to all unbounded SELECT queries (seo-index, saved-words)
  • Activities links — 60-Second + Stats pills in header, improved navigation

v1.7.0 June 16, 2026

  • Activities page — Word of the Day, Word Quiz, Memory WordBench (flash cards)
  • Word Quiz — word count picker (3-10), modal encouragement, green/red feedback, quiz history page
  • Memory WordBench — auto-play with timer, speed slider (1-30s), category filters, copy/edit/delete/practice buttons
  • WordBench Practice — tracks every word reviewed with meaning, calendar view when 3+ days
  • Quiz scores persist — quiz history page with 8 stats
  • WOTD countdown timer — shows time until next word in purple
  • WOTD dates pre-assigned for 27 years (9,993 words through Oct 2053)
  • 10,000 words seeded in WOTD + quiz tables
  • Solver — WOTD bubble with + button, quick links, + to solver button in MWB header
  • Profile Data page — view all localStorage items with expand modal
  • Admin — Activities section with WOTD + Quiz/Practice tiles, fixed duplicate SEO tile
  • User Guide — Activities section with tile links, educational emphasis on memory/recall
  • Renamed Flash Cards to Memory WordBench sitewide

v1.6.0 June 14, 2026

  • Tile Rack redesign — read-only scrabble tiles with cream gradient texture (matches Tile Scores)
  • Drop animation — tiles flip in with bounce as you type in Word Solver
  • One-way sync — Word Solver is now sole input, eliminates bidirectional race conditions
  • Unified "Find Words" button — removed duplicate button from tile rack section
  • Mobile solver input — tighter tracking, smaller font, shorter placeholder for small screens
  • Bigger tile letters (text-3xl/4xl) with blue score values for better readability
  • Blue ? indicator in solver hint text
  • Premium Squares blog — full visual treatment (stat strips, hero card, strategy tiles)
  • Security: removed exposed internal IDs from public pages

v1.5.0 June 14, 2026

  • BreadcrumbList JSON-LD schema on all blog pages (Home > Blog > Category > Post)
  • Article schema fallback in BlogLayout — all pages now have datePublished + publisher
  • Blog category map (337 posts → 9 categories) for automatic category hub linking
  • Non-www canonical consistency — all internal links use www.scrabblewordsfinder.com
  • Site performance improvements and verified page speed
  • 4 new Strategy posts: Hooks guide, Front vs Back hooks, Triple Word strategy, Rack Balance
  • ToolSet admin (CRUD, filters, tech stack overview)
  • Environments page: traffic lights, table layout, V&P flat table, copy buttons
  • Memory Workbench admin: grouped by user, color-coded categories, search
  • Review Tech Stack steering file (biweekly dependency review process)

v1.4.0 June 14, 2026

  • 5 new category landing pages: Strategy (16), Tournament (13), Bingos (15), High-Scoring (11), Letter Guides (136)
  • Category cross-links on all landing pages — SEO topical cluster network
  • Blog index: category pill navigation + dynamic article counter
  • Purple underline hyperlink styling — all links visually obvious as clickable
  • Dictionary popup: ✓/✗ active indicators + full-line clickable descriptions
  • TWL vs SOWPODS: downstream links to all sub-dictionary blog posts
  • Blog intro links now point to solver sections (two-letter, three-letter, Q-without-U)
  • Guide link added to blog intro paragraph
  • 🔍 Solver icon in BlogLayout header (all blog pages)
  • 🔒 Logo management: re-authentication required for admin access
  • Non-active logos archived to /logo-options/archive/
  • Sitemap: 6 new landing page URLs added (priority 0.7)

v1.3.0 June 14, 2026

  • SWF Dictionary (swfdict) — pre-scraped definitions for 348 reference words, instant lookup
  • Import now auto-fetches meanings from swfdict + dictionary API fallback
  • Re-importing fills in missing meanings for previously imported words
  • 📖 Fetch All Meanings button — one-click bulk definition fetch for all words
  • Category delete (✕) — bulk-remove all words in a category with confirmation
  • Workbench Data edit now uses multi-line textarea (5 rows)
  • Date Added field — tracks when each word was saved
  • Words with no API definition get "Scrabble-legal word" label
  • User Guide updated — Rack Leave & Best Opening demo mockups

v1.2.0 June 14, 2026

  • Score-based Achievements system (5 levels: Rising Star → Scrabble Legend)
  • Achievements page — view, edit notes, track your word milestones
  • 💎 Diamond icon on high-scoring words (20+ pts)
  • Search bar with 63-blog typeahead — find any post as you type
  • Blog index expanded — all 63 posts organized by category
  • FAQ page with 11 collapsible Q&A items + rich schema
  • Tech Stack page — all tools and services documented
  • Icon toolbar (🎲🧮🏆💎🅀🔢🐛💡🏅📝🔍) with hover tooltips
  • X clear button — clears solver + tile rack in one click
  • Tile Bag reset button — restore to starting values
  • Bidirectional blank sync — empty tile boxes show as ? in Word Solver
  • Version stamp in footer (v1.2.0)
  • Consistent header across all pages (icons, search, purple line)
  • Mobile-responsive icon sizes and negative margins
  • 40+ new Playwright UI tests

v1.1.0 June 2026

  • Fixed dictionary loading — 8-15 letter words now load reliably (261,000+ long words)
  • Word Solver now finds words up to 15 letters from your tiles
  • Added 21 new letter-specific blog guides (Words Starting With F through Z)
  • Improved dictionary load diagnostics for faster troubleshooting
  • New Playwright test coverage for solver, wildcards, and bidirectional sync

v1.0.0 Launch

  • Realtime Scrabble word solver with 74,000+ SOWPODS words
  • Tile rack and text input modes with wildcard support
  • Live tile probability calculator
  • Automatic rack leave analysis
  • Best opening moves with double-word scoring
  • Save words with one-click dictionary definitions
  • Multi-dictionary support (SOWPODS, TWL, WWF, Collins)
  • Advanced filters: starts with, ends with, contains, min length
  • Reference panels: 2-letter words, top 3-letter words, Q without U, rare letters
  • Achievements and word collection system

Built by xSoft Ltd — a team with over 10 years of experience in web development, AI, and competitive Scrabble strategy. Word validation powered by the Collins Scrabble Words (CSW) dictionary, used in international tournament play governed by WESPA. Established 2026. Last updated .