Scrabble Word Finder
← Back to Solver

Release Notes

Tech Stack

Feature updates and improvements. Current version: v1.21.4

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