Back to home

Changelog

Every update, fix, and new feature shipped to Toren since day one.

v0.2.8May 2026

Wheel Transparency & Auto-Save

  • NewEvery wheel spin — both giveaway Survival Wheels and standalone Custom Wheels — is now auto-saved to a public, provably fair transparency page at /wheel/[id] with the seed hash, full entrant list, elimination order, and verification details
  • NewGiveaway-mode wheel sessions link back to their parent giveaway so visitors can jump from a wheel record to the underlying transparency page in one click
  • ImprovedWheel records are tagged with their mode (giveaway vs custom) so the transparency page renders the right context and back-link without ambiguity
  • FixAuto-save is race-safe: the server recomputes the seed hash on write and rejects any submission whose committed hash does not match, so a wheel record cannot be tampered with in transit
  • SecurityWheel session writes require a valid bearer token and enforce ownership invariants server-side, so one host cannot create or overwrite another host's wheel record
v0.2.7May 2026

Quote-Post Stats Accuracy

  • FixQuote counts now show correctly on the dashboard active card, completed card, and the giveaway detail page for quote-only and quote+follow giveaways — previously these surfaces always read "Quotes: 0" because the host-side loaders fetched an explicit column list that omitted the quotes column
  • FixReposts count now shows correctly on the giveaway detail page — same root-cause column-list omission as quotes, fixed alongside it
  • FixScheduled cron sync now fetches quoters before the follows add-on so quote-only entrants are included in the follow-status batch check, and reconciles stale quote participant rows the same way it handles likes and reposts
  • FixMulti-criteria eligibility checks now correctly include quote-based entries, so a "quote + follow" giveaway credits accounts that did both
  • ImprovedFollow-status batch lookups for multi-criteria giveaways (quote+follow, comment+follow, like+follow) run more efficiently, reducing X API quota consumption
v0.2.6May 2026

Survival Wheel & Custom Wheel

  • NewSurvival Wheel — a new elimination draw mode that spins entrants off one at a time instead of picking the final winner immediately, with running survivor/eliminated counts, color coding, and a persistent toast announcing each eliminated entrant
  • NewCustom Survival Wheel — a standalone freeform elimination wheel on the dashboard that lets you paste any list of names, supports weighted duplicate entries, and shares the same spin mechanics as the giveaway wheel
  • NewFirst-open tutorial on the Custom Wheel explains the controls; can be re-opened at any time from the settings panel
  • ImprovedWheel modals now expand up to 1600 px on wide screens and reflow the alive/eliminated lists into an auto-fill grid so names stay readable as the panel grows
  • ImprovedEach side panel can collapse independently, and a divider between them can be dragged to split the height however you want — collapsed state and split percentage are remembered
  • ImprovedSpin duration is configurable, the auto-spin toggle is always visible, entrants are de-duplicated by username, and each spin lands precisely on the chosen segment (the previous implementation drifted as rotations accumulated)
  • ImprovedWheel participant cap raised to 250 so large giveaways render the full pool on the wheel without truncation
  • ImprovedWheel input modal polish — name input box widened on desktop and mobile, on-wheel name rendering and size tuned for legibility at high entry counts, parser is more forgiving, content is vertically centered, and survivor / eliminated boxes fill the full wheel height on desktop
  • FixSkull icon at the wheel center is properly aligned on the rotation pivot (was offset by 1 px previously)
  • Fix"1 (classic)" preset button in wheel settings re-aligned with the other presets so the row reads consistently
  • FixQuick Pick dark-mode dropdowns — the Winners and Entrant Cap select options now render with the app's background and foreground colors in dark mode instead of inheriting the OS default white background
  • FixGiveaway participant counts are accurate and consistent across the active card, detail page, and View Participants page
v0.2.5April 2026

Free Tier Lowered to 3 Live Giveaways

  • ImprovedFree tier cap lowered from 5 to 3 live giveaways at a time — deleting a giveaway still frees a slot, and Pro/Agency plans remain unlimited
  • ImprovedDashboard Create X / Create YouTube buttons are now tier-aware: at the cap they disable and show an inline note with a one-click link to upgrade to Pro or Agency
  • ImprovedServer-side create endpoint returns an updated message naming the new 3-giveaway limit so any client that bypasses the disabled button still gets a clear upgrade prompt
  • ImprovedPricing page Free tier copy updated to "Up to 3 live giveaways"
v0.2.4April 2026

Free Tier Giveaway Limit & Pricing Roadmap Badges

  • NewFree tier is now capped at 5 active giveaways at a time — deleting an existing giveaway frees up a slot, and Pro and Agency plans remain unlimited
  • NewServer-side enforcement on the giveaway create endpoint returns a clear error with an upgrade prompt when a free user reaches the cap, preventing the limit from being bypassed by the client
  • NewPricing page Free tier card now lists "Up to 5 giveaways at a time" and Pro/Agency cards explicitly show "Unlimited giveaways"
  • ImprovedPro and Agency plan cards now show feature status badges so visitors understand exactly what is available today versus what is planned
  • ImprovedPro Tier and Agency Tier cards trimmed to currently-live features only — roadmap items are shown separately on the product roadmap
  • ImprovedDashboard giveaway cards now always show an Entry Type row (Like, Comment, Repost, Follow, Quote) so likes-only or other single-action giveaways no longer appear empty
  • FixQuote-post giveaways now display the correct "Quote Repost" entry-type label on both the public transparency page and the dashboard card — previously they were mislabeled as "Repost" because the quotes flag was being conflated with reposts during creation
v0.2.3April 2026

Account-Level Bot Detection

  • NewAutomatic bot detection on X uses layered account and activity signals to flag suspicious giveaway entries without exposing bypassable detection thresholds publicly
  • NewHosts can manually mark a flagged entry as eligible from the participants tab when an automated filter catches a real user. The override persists across syncs
  • ImprovedBot filtering applies to all X entry types: comments, likes, reposts, follows, and quote posts
  • ImprovedHost-side participant records include enough context to review suspicious entries and override false positives when appropriate
  • ImprovedFlagged entries remain visible to the host for auditability, but are excluded from the eligible draw pool
v0.2.2April 2026

Participant Eligibility Accuracy

  • FixEligible count on the dashboard now accurately reflects the actual draw pool for mixed giveaways — for giveaways requiring both a comment and an engagement action (e.g. likes), synthetic engagement records are now marked ineligible since only commenters can win
  • FixParticipants who performed multiple engagement actions (e.g. both liked and reposted) now have all their actions recorded — previously only the first action seen was captured, which could affect eligibility checks for complex giveaway configurations
v0.2.1March 2026

Transparency Page Navigation Fix

  • FixTransparency pages for Pro and Founder plan hosts now correctly display the Toren header and navigation — previously these hosts saw a completely blank header after sharing their giveaway link
  • FixToren header is now hidden only when a host has actively configured Agency white-label branding, not for all paid plan users
  • FixClaim API routes updated to correctly handle Next.js 16 async params, resolving 400 errors when accessing claim links
v0.2.0March 2026

Winner Redemption Portal

  • NewPrivate prize claim links: each winner automatically receives a unique, secret URL the host can copy and send via DM — no manual coordination needed
  • NewPublic claim page at /claim/[token] where winners verify their X identity via OAuth, confirm they are the correct account, and submit their contact details to the host
  • NewX identity verification on the claim page is ephemeral — only the username is checked and the session is immediately signed out, no full account is created
  • NewPrize contact fields: hosts can specify exactly what information they need from winners at giveaway creation (e.g. email, shipping address, Discord) — shown as dynamic form fields on the claim page
  • NewRedemption status tracking in the winner modal: each winner shows a color-coded badge — red Not Redeemed, yellow Processing, green Completed
  • NewOne-click status updates directly in the winner modal — hosts can move a winner through the redemption pipeline without leaving the page
  • NewClaim link copy button per winner in the modal, with instructional text reminding the host to send the link privately
  • ImprovedCSV winner export now includes Redemption Status and Claim Link columns
  • SystemDB migration adds claim_token and redemption_status columns to winner_records, a new winner_claims table, and prize_contact_fields to giveaways — run via /api/admin/migrate
v0.1.9March 2026

Provably Fair Platform Standard

  • NewNew public page at /provably-fair-platform explaining the Provably Fair designation, Toren's long-term vision for industry standardization, and the six requisites any platform must meet
  • NewSix core characteristics of Toren's implementation listed at a principled level, consistent with a standard that mandates outcomes rather than a single prescribed approach
  • NewForward-looking statement on a planned certification program through which any promotional sweepstakes platform could apply for independent verification of compliance
  • ImprovedFooter copyright updated to include a clickable "A Provably Fair Platform" link on every page, directing users to the new standard page
v0.1.8March 2026

X Post Preview & Entry Type UX

  • NewGiveaway creation Step 1 now shows a live post preview card after a valid X post URL is confirmed — displays author avatar, name, handle, full post text, media (photo or video thumbnail), and post date
  • ImprovedExternal link icon in the preview card opens the original post on X in a new tab for quick manual verification
  • ImprovedPost data is sourced from the same API call already made during URL validation — no extra network requests
  • ImprovedLikes, Reposts, and Follows entry type options temporarily removed from giveaway creation and the Change Entry Type modal until the underlying data collection is fully reliable — Comments remains the active entry method
v0.1.7March 2026

White-Label Branding Dashboard

  • NewNew /dashboard/branding page for agency plan users — a dedicated, purpose-built interface for managing all white-label settings in one place
  • NewColor pickers with hex input fields for Primary, Accent, and Background theme colors, each with a reset-to-default button and description of where the color appears
  • NewLogo and favicon upload with live image preview in the panel
  • NewBrand name, tagline, and footer text fields with real-time updates in the preview panel
  • NewLive preview panel that renders a simulated giveaway card and updates as colors, logo, and text change — no need to save to see the result
  • Improved"Branding" link added to the header account dropdown for agency users only
  • ImprovedNon-agency users who visit /dashboard/branding see an explanatory locked state with an upgrade prompt rather than a broken page
v0.1.6March 2026

Provably Fair Proof Accuracy

  • FixEligible Entries count in the fairness proof now correctly shows the shrinking pool size per winner — Winner #2 correctly displays one fewer eligible entry than Winner #1, and so on
  • FixModulus in the winner index derivation formula on the transparency page now reflects the actual pool size at the time each winner was selected, not the total eligible count
  • Fix"From X eligible entries" label in the proof steps now correctly decrements per winner for no-duplicate draws
  • ImprovedThe pool_size field stored per winner at draw time is now read correctly throughout the public proof display, with a safe fallback to total eligible count for legacy draws that predate this field
v0.1.5March 2026

ASCII Pool Ordering

  • ImprovedPool sorting switched from locale-sensitive comparison to deterministic ASCII (Unicode code-point) order — no locale or environment settings can affect the result
  • ImprovedHandles containing digits, uppercase letters, underscores, and lowercase letters now sort in consistent, well-defined order across all environments
  • ImprovedTransparency page verbiage updated to describe ASCII ordering precisely, replacing the ambiguous "A to Z" phrasing
  • ImprovedInline proof log and code comments updated to reflect the exact sort method used
v0.1.4March 2026

Multi-Select Entry Types

  • NewEntry types are now multi-select — hosts can combine Comments, Likes, Reposts, and Follows in any combination
  • NewFollows added as a supported entry type, fetching followers of the connected X account via the X API
  • ImprovedEntry types stored as a JSON array in the database, with full backwards compatibility for legacy single-type giveaways
  • ImprovedGiveaway creation step 2 updated to a multi-toggle UI with all four entry type options
  • ImprovedChange Entry Type modal on the live dashboard also updated to the multi-toggle UI
  • FixStale participant cleanup now correctly handles mixed entry types — deselecting one type only removes records for that type, leaving others intact
v0.1.3March 2026

Provably Fair Algorithm v2

  • ImprovedPool ordering changed to lexicographic order by X handle, making the draw fully reproducible without timestamps
  • ImprovedShrinking modulus algorithm for multi-winner draws without duplicate winners, so each subsequent winner is drawn from a smaller pool
  • NewExtended proof fields now stored per winner: pool_index, pool_size, and pool_ordering
  • ImprovedVerification center now reconstructs the correct formula for each individual winner using their own stored derivation data
  • FixPublic eligible entrants list on the transparency page now sorted to exactly match the draw order
  • ImprovedTransparency page updated to explain that entry indexes are assigned by handle order, not by timestamp
  • ImprovedDraw logs now include pool ordering method, pool size at draw time, and clearer winner index descriptions
v0.1.2March 2026

Entry Types

  • NewLikes and Reposts entry type selector added at giveaway creation
  • NewComments, Likes, Reposts, and Likes & Reposts are now all fully supported as entry types
  • NewChange Entry Type button added to live giveaway dashboard
  • NewRefresh route now fetches likers and reposters from the X API
  • ImprovedEntry type is stored in the giveaway record and shown in the dashboard
  • ImprovedComment keyword filter is hidden automatically for non-comment entry types
v0.1.1February 2026

Winner Controls & Eligibility

  • NewDuplicate winners toggle lets hosts allow one person to win multiple prizes in the same draw
  • ImprovedUpdated eligibility wording to clearly communicate how duplicate wins work to participants
  • NewUpdate Post URL button allows hosts to correct or change the linked post after a giveaway is live
  • ImprovedExplanatory text added under the Update Post URL button for clarity
  • ImprovedButton layout on the live dashboard reorganized for better usability
  • FixUnique seeds are now generated per re-roll so each redraw produces a distinct cryptographic proof
v0.1.0February 2026

Multi-Winner Draw System

  • NewFull multi-winner draw support: hosts can now select multiple winners from a single giveaway
  • FixRace condition prevention using an atomic draw lock to stop simultaneous draw attempts
  • ImprovedVerification logic updated to correctly handle and display multiple winners
  • FixDraw timestamp display updated to match the format used in the verification center
  • ImprovedWinner selection aligned with the entry display order for consistency
  • ImprovedPlan-gated transparency features: branding is hidden on paid plan giveaway pages
v0.0.9January 2026

Live Tracking & Audit Trail

  • ImprovedOriginal comment timestamps now shown on the entry log instead of the collection time
  • FixMobile horizontal scrolling enabled on the giveaway entry log table
  • NewLive participant tracking: entry counts update in real time on active giveaways
  • NewCSV export added for the full eligible entries list
  • NewTransparency link added to all completed giveaways for public audit access
  • ImprovedBlockchain terminology updated across the platform to be network-neutral
  • ImprovedEntry collection improved to include all conversation thread participants, not just direct replies
v0.0.8January 2026

Quick Pick & Provably Fair Foundation

  • NewPre-draw seed commitment: a SHA-256 hash of the server seed is published when a giveaway is created, before any entries are collected
  • NewSolana blockchain entropy integrated as the public randomness source for all re-rolls
  • NewHistorical re-roll proof displayed on public transparency pages, showing every draw ever made
  • NewQuick Pick experience for instant winner selection from any post without creating a full giveaway
  • NewPick winners from post likes, replies, and quote posts via quick pick
  • ImprovedTerminology updated from retweets to reposts across the platform
  • FixVerification center errors fixed by removing references to non-existent database columns
v0.0.7December 2025

Transparency & Giveaway Improvements

  • ImprovedEnhanced giveaway public pages with additional transparency and audit information
  • ImprovedActive giveaway limit per account increased to support larger-scale creators
  • FixFixed an error that occurred when counting participants from X post replies
  • ImprovedGiveaway creation form and detail display redesigned with new information fields
  • ImprovedWinner icon updated to a trophy for clearer visual distinction in draw results
  • NewRefreshing giveaway statistics enabled for all connected platforms
v0.0.6December 2025

Security & Stability

  • SecurityComprehensive security headers and content policies added across the platform
  • FixFixed Stripe checkout flow and white-labeling for agency plan customers
  • FixHydration errors resolved across multiple pages for consistent server and client rendering
  • FixYouTube OAuth redirect URI corrected to fix broken Google login
  • NewPassword change functionality added for both regular users and administrators
  • FixVarious authentication and session handling bugs resolved
v0.0.5November 2025

Custom Domains

  • NewCustom domain setup via Cloudflare Workers for white-labeled giveaway pages
  • NewDomain connection status checker added to the profile page
  • NewStep-by-step DNS and Worker setup guide with troubleshooting assets
  • ImprovedProfile page updated to manage custom domain configuration in one place
  • FixDomain verification logic updated to correctly support Cloudflare Worker routing
  • SystemSecurity policies tightened to ensure proper site functionality with custom domains
v0.0.4November 2025

Admin Tools & Management

  • NewFull admin dashboard with testing suite covering API endpoints, database access, and authentication
  • NewAdmins can now grant free access to premium plans for any user account
  • FixMultiple API endpoint and database table access errors resolved
  • ImprovedHelp Center and FAQ pages rebuilt with clearer structure and content
  • ImprovedDuplicate participant behavior documented with a note visible to giveaway hosts
  • ImprovedAdmin testing interface made fully responsive for mobile use
v0.0.3October 2025

Look, Feel & AI Assistant

  • NewDark mode theme added across the entire platform with automatic system preference detection
  • ImprovedLogo switches to white automatically when dark mode is active
  • NewAI chatbot integrated using OpenAI to answer giveaway and platform questions
  • NewTerms & Conditions page added
  • ImprovedFAQ section animated with smooth expand and collapse interactions
  • ImprovedComprehensive SEO metadata and Open Graph tags added across all pages
  • ImprovedMobile-responsive design improvements applied site-wide
v0.0.2October 2025

Platform Foundations

  • NewX (Twitter) account connection and giveaway creation from post replies
  • NewYouTube account connection and giveaway creation from video comments
  • NewStripe subscription billing with Free, Pro, Founder, and Agency plans
  • NewUser dashboard with connected accounts, active giveaways, and draw history
  • NewGiveaway eligibility filtering by keywords, mentions, and comment requirements
  • ImprovedCI/CD pipeline and deployment configuration established
v0.0.1September 2025

Initial Launch

  • SystemToren platform launched: provably fair giveaway infrastructure built on Next.js and Supabase
  • NewGoogle OAuth login and account creation
  • NewUser profiles and account management
  • SystemSupabase database and row-level security policies configured
  • SystemApplication securely deployed with environment variable management
  • FixAuthentication flow and session handling stabilized across dev and production environments
    Changelog