Releases: rakdcolon/puddle
Release list
v1.4.0
A reliability-and-polish release: several shipped-but-broken features fixed, plus a Discord link and in-page announcements.
Added
- Discord link in the footer. A Discord icon in the site footer links to the community server.
- In-page announcements. A dismissible "what's new" bar at the top of the site points to new things (currently a Volume II note with a link to the Discord). Dismissals are remembered per device.
Fixed
- Give-ups are now recorded. Choosing "Give up" reliably saves your reveal (signed-in or not), and signed-in players who give up can always open the worked solution.
- Streaks and the issue number now roll over at New York midnight, matching when the daily puzzle changes, so they no longer drift by a day in the evening.
- Settings actually apply. Sound effects, hint pacing (instant or a five-second pause), and the streak toggle now take effect during play.
Volume II: The Mire
The puddle deepens.
For its second volume, Puddle wades into the mire: a swamp with a memory and a cast all its own. A frog who keeps climbing out of things. A heron that counts before it eats. Dragonflies racing nowhere in particular, fireflies keeping score along the reeds, and an old toad who answers every question with a better one.
Fourteen puzzles, one world, running daily from June 10 to June 23. Every riddle is a beautiful classic wearing swamp colored skin, so even the ones you think you know will look you in the eye and ask again. Solvable by anyone with a little patience and three good hints, and built around a single elegant turn waiting at the bottom of each.
No leaderboards. No timers. Just you and the mire.
A taste of what is waiting:
- A frog at the bottom of a well, and why the obvious answer is exactly one day too many.
- One foul puddle among a thousand, ten newts, and a single night before dawn to find it.
- Ten frogs, ten caps, and a trick that saves nine of them for certain.
Wade in. The water is fine.
v1.3.0
A polish-and-reach release: the day's puzzle now goes out to Discord on its own, the site is far more legible to search engines and social cards, and there are new accessibility controls.
Added
- Daily puzzle in Discord. Each morning the bot posts the day's puzzle — prompt, genre, and a play link — to the community server automatically. Members can opt in to a gentle morning ping by tapping a button (the "puddler" role); it's off by default and one more tap turns it back off.
- Accessibility settings. New Settings → Accessibility controls: high contrast, cleaner text, and reduce motion. Each is per-device and applies instantly.
- Search-engine & social metadata. Real page titles and descriptions, Open Graph / Twitter cards for nicer link previews, a robots file, a sitemap, and JSON-LD — so Puddle shows up properly when shared or searched.
Fixed
- The browser-tab icon now reliably shows the Puddle mark, and the site's shared/social metadata reads cleanly.
v1.2.0
Infrastructure and reliability: admin access is now database-driven, and a round of error hardening across the auth, puzzle, and settings flows.
Changed
- Admin access is now database-driven. Admin status is a flag on the user account rather than a hardcoded email in the environment. Adding or removing an admin no longer requires a code change or redeploy.
Fixed
- Correct answers no longer appear wrong on server errors. A database hiccup while recording a solve could previously return a failure response to a user who answered correctly. The answer check and the record-keeping are now decoupled — a correct answer is always acknowledged as correct.
- Auth failures are caught cleanly. If account creation fails during the OAuth callback (e.g., a transient database error), the user is redirected to sign-in with a clear error rather than landing in a half-authenticated state.
- Settings changes are rolled back on failure. Toggling sound, hints, or streak display now rolls back to the previous value and shows an error toast if the save failed, rather than silently confirming a change that didn't stick.
- Discord login handles malformed responses. The Activity token exchange now validates the shape of Discord's API responses and returns a clean error instead of crashing if they're unexpected.
- Server errors no longer look like wrong answers. A 5xx during puzzle submission previously triggered the shake animation and counted as a wrong attempt. Server errors now reset the input silently so the attempt isn't penalized.
- Unhandled page errors show a Puddle error screen. Any uncaught server-side render error now shows a branded error page with a "Try again" button rather than a raw Next.js error screen.
Full changelog: v1.1.0...v1.2.0
v1.1.0
A feature release: dark mode, a Discord bot, a read-only way to revisit puzzles, and a deliberate move away from timing pressure.
Added
- Dark mode. A warm, lamplit dark theme that keeps Puddle's editorial feel. Choose Automatic (follows your device), Light, or Dark under Settings → Appearance. Applies instantly with no flash; Automatic tracks your OS in real time.
- Discord bot. Slash commands in the community server:
/stats(a player's level, streak, and solve record),/leaderboard(this week's top solvers), and/today(the current puzzle with a link to play). - Revisit a puzzle. After solving or giving up you can reopen a puzzle — prompt and answer choices, read-only — from a new "View the puzzle" link on the home cards and the solution page.
- The landing page now shows how many people have solved today's puzzle.
Changed
- Timing is gone from the interface. No in-puzzle timer, post-solve times, fastest/average-time stats, or times in shared results. Solve duration is still recorded, just never shown — Puddle isn't a race.
- XP no longer rewards speed. Every solve earns the same base, adjusted only by hints and wrong attempts.
Fixed
- A day with no scheduled puzzle no longer takes the whole site down — the most recent issue stays live until the next one is published.
Full changelog: v1.0.1...v1.1.0
v1.0.1
Patch release — bug fixes for the Discord Activity and the browser-tab icon.
Fixed
- Discord Activity sign-in now works end to end. Previously the Activity recognized you in the masthead but not elsewhere, so opening Profile or Settings bounced you to a sign-in screen, that screen could white-screen, and your solve history, hints, and solutions didn't load. The Activity's Discord session is now honored across the whole app, and the sign-in/sign-out controls that can't work inside Discord are hidden.
- The browser-tab icon now shows the Puddle mark instead of the placeholder framework default.
Full changelog: v1.0.0...v1.0.1
v1.0.0
First tagged release — the production baseline of Puddle at solvepuddle.com.
Added
- Daily puzzle across six genres (logic, deduction, quant, sequences, lateral, wordplay) with streaks, XP/levels, and a profile calendar heatmap.
- Google sign-in via Supabase Auth, with per-account solve history.
- Anonymous solve tracking (distinct-browser counts) folded into public puzzle stats.
- Post-solve share card with logo squares and a streak line.
- Discord integration: web Discord login with account merge by verified email, Discord Activity (embedded app) authentication, and rich presence.
- Terms of Service and Privacy Policy pages.
- Production development workflow: trunk-based branching, pull requests, three environments, and SemVer releases.
- GitHub Actions CI: typecheck + build on every pull request.
Fixed
- Masthead dateline showed "Vol. I · No. 1" on pages other than the puzzle view; it now reflects the current issue.
- Recognize users whose Discord login was linked onto an existing Google account (matched by verified email), so the nav and profile work after signing in with Discord.