Product Updates
Changelog
Every release, every improvement, every fix — documented in order. We ship fast and we write it down.
NEWNew feature
IMPROVEDImprovement
FIXEDBug fix
LIVELaunch / Live
v2.3August 2026
SaaS hardening — lifecycle emails, GDPR deletion, billing accuracy, quota fixes
- NewSelf-service account deletion — Settings → Danger zone now permanently deletes all data (GDPR/DPDPA compliant). Requires typing DELETE to confirm.
- NewFull lifecycle email suite — upgrade confirmation, cancellation, access revoked, trial expired, and 24h trial reminder all fire automatically at the right moment
- NewWelcome email now shows exact trial expiry date in a prominent banner — no more hunting for when the trial ends
- NewBilling history shows type badge per row — First payment, Renewal, or Failed — with colour coding
- NewBilling history now includes monthly renewals and failed payment events, not just the first payment
- FixedUsage dashboard now reads the Redis counter directly — same source as the API enforcer — eliminating the 60-second drift between displayed and enforced quota
- Fixed80% quota warning could fire twice under concurrent load — now uses Redis SET NX so exactly one email fires per billing period
- FixedSupport tickets were routing to the wrong email address — now correctly routes to support@predintel.zohodesk.in
- FixedUpgrading plans could create a second Razorpay subscription without cancelling the old one — now cancels the previous subscription before activating the new one
- FixedPast-due accounts being expired were incorrectly granted 250 quota (trial level) — now correctly set to 0
- FixedPassword change form now hidden for Google/GitHub OAuth users who have no password to change
- Fixedsubscription.halted webhook event (Razorpay gives up after all retries) now handled — marks past_due and notifies the user
- FixedDowngrade guard added to checkout — a direct POST cannot silently downgrade an active paid plan, returns 409
- ImprovedDays left in usage page now uses the actual Razorpay billing period end date, not the calendar month end
v2.2August 2026
Dashboard accuracy — real expiry dates, quota performance, Redis AI sub-quota
- FixedDashboard past-due banner showed hardcoded '7 days' — now shows the actual billing period end date from the subscription record
- FixedQuota gate was hitting Supabase COUNT(*) on every API request (50–200ms); replaced with Redis INCR — now sub-millisecond, seeds from DB only on first call of each billing period
- FixedAI sub-quota was completely broken — ilike with pipe-separated values never matched; fixed with Redis INCR per tier per calendar month
- NewAuto API key creation on signup — new users get a 'Default' key immediately, no manual step required
- NewAdmin customer diagnostic drawer — calls this month, all-time, last API call status, last webhook event, open tickets
- FixedWebhook env guard — Razorpay webhook now returns 500 instead of crashing if RAZORPAY_WEBHOOK_SECRET is unset
- ImprovedStale endpoint counts removed — status page and MCP docs now read from the live namespaces registry, not hardcoded strings
- ImprovedFooter version bump to v1.2.0
v2.1August 2026
Admin control plane — customers, diagnostics, maintenance mode, billing accuracy
- NewAdmin customers page — search, segment filter, individual email, broadcast to segments, create support tickets on behalf of customers
- NewPer-user diagnostic drawer — calls this month, calls all-time, last API call details, last webhook event, open tickets, all live
- NewMaintenance mode — toggle in Admin → Settings now writes to Redis instantly; all /api/v1/* requests return 503 while ON
- FixedCancelled subscriptions showed 'Renews [date]' on the billing page — now correctly shows 'Active until [date] · Will not renew'
- FixedPayment failed email said '7 days' access — now shows the actual billing period end date from the subscription record
- ImprovedReconciliation cron — stale paid sub detection is now log-only; Razorpay owns retry and cancellation via webhooks, app never acts unilaterally
v2.0August 2026
World-class hardening — rate limit headers, payment emails, billing sync
- NewRetry-After and X-RateLimit-Reset headers on all 429 responses — adaptive clients can back off precisely
- NewX-RateLimit-Limit, X-RateLimit-Remaining, X-Quota-Limit, X-Quota-Remaining on every successful response
- NewPayment failure email — Razorpay webhook now sends a branded HTML email with grace period notice and billing link
- NewPast-due banner in dashboard and billing page — users with failed payments see a clear red alert with update link
- ImprovedBilling period sync — subscription current_period_start/end now fetched directly from Razorpay API at payment time, never guessed
- ImprovedPlan expiry cron — now expires past-due subscriptions when Razorpay's current_period_end passes, not an arbitrary 7-day timer
- FixedBilling and usage pages now correctly show plan details for past-due subscriptions, not free tier defaults
- FixedDelete account button no longer uses alert() — routes to support form instead
- FixedStatus page recipe health check was using wrong query param (q=pasta → query=chicken)
- ImprovedIsolated Upstash Redis database — APlicious now has its own Redis instance, separated from other products
v1.9August 2026
Full endpoint audit — 178 endpoints confirmed 200, 6 bugs fixed, 6 new routes
- Fixedfinance/index/quote — NaN values were serialised to null and cached, corrupting subsequent responses
- Fixedfinance/crypto/history — period param was ignored, always returning 30 days regardless of 7d/1mo/3mo input
- Fixedjobs/remote and jobs/search — Remotive upstream ignores limit; now cached and sliced locally
- Fixedrecipes/random — returned a single object and ignored the count param; now returns a shuffled array
- Newlegal/consumer-rights — 16-country dataset: return periods, warranty law, cooling-off, refund rights
- Newlegal/public-holidays-info — live Nager.Date API, country + year params
- Newjobs/job-market-trends — live Remotive data with demand, salary, and top skills context per category
- Newjobs/remote-companies — aggregates companies with open remote roles and role count
- Newjobs/ats-keywords — extracts and ranks ATS keywords from a job description; optional resume gap analysis
- Newjobs/offer-evaluation — salary vs BLS/Glassdoor benchmarks, equity math, benefits scoring, negotiation tips
v1.8August 2026
Admin Mission Control rebuild + welcome email
- ImprovedAdmin dashboard rebuilt to Mission Control quality — live system health pills, business stat cards, namespace health tiles with latency, recent signups feed, recent transactions, plan distribution chart
- NewWelcome email on sign-up — dark-themed HTML email sent via Resend, fire-and-forget so it never blocks auth
- FixedPricing page CTAs now context-aware for signed-in users — shows Current Plan, Upgrade, or Downgrade with correct styling
- FixedBilling page currency — top card and history show actual paid currency; plans grid follows INR/USD toggle
v1.5June 2026
Auth flow fixed, admin login stabilised
- FixedEmail confirmation flow — users no longer get stuck in limbo after sign-up
- FixedDashboard initialisation on first load — API key and quota now hydrate correctly
- FixedAdmin login — session persistence across reloads without forced re-auth
- FixedEdge case where onboarding wizard would loop for existing Supabase accounts
v1.4June 2026
9 live namespaces, 133 endpoints, Redis caching across the board
- New9 live namespaces with 133 endpoints now available to all plan tiers
- NewwithCache helper — Upstash Redis caching applied uniformly across all namespace handlers
- ImprovedCache TTL configurable per namespace — shorter for live data (stocks, crypto), longer for static (legal, property)
- ImprovedCold-start response time reduced by ~70% on cached routes
v1.3June 2026
Admin panel — namespace controls and cache management
- NewAdmin panel: per-namespace live/offline toggle — take any namespace down without a deploy
- NewCache flush control — flush all keys or target a specific namespace prefix
- NewBulk namespace refresh — re-warm cache for all endpoints in one click
- ImprovedAdmin dashboard surface now shows live endpoint count, cache hit rate, and last flush timestamp
v1.2June 2026
Razorpay billing with INR + USD plans
- NewRazorpay integration — fully functional subscription billing for Starter, Growth, and Scale plans
- NewDual-currency pricing: INR plans for India, USD for international — auto-detected by locale
- NewWebhook signature verification — all Razorpay events validated with HMAC-SHA256 before processing
- NewUpgrade/downgrade flow with prorated billing and instant quota adjustment
- FixedPlan status sync between Razorpay and Supabase on payment failures and renewals
v1.1May 2026
Music, Sports, and News namespaces launched
- NewSports namespace — Cricsheet (150K+ matches, owned dataset) plus ESPN football scores
- NewRecipes namespace — 100 originally-authored recipes across 20 world cuisines, fully owned
- NewEducation namespace — university search, Wikipedia lookup, quiz generator, course finder
- ImprovedResponse envelope standardised across all namespaces: { success, data, error, meta }
v1.0May 2026
Platform launch
- LaunchAPlicious is live at aplicious.com
- LiveFinance — 31 endpoints: stock quotes, crypto, forex, SIP, compound interest, EMI, bond yields, ETF info, sector performance
- LiveWellness — 11 endpoints: biorhythm, sleep cycles, fasting tracker, stress score, circadian rhythm, mood tracker
- LiveLegal — 30 endpoints: minimum wage, employment rights, GDPR checklist, NDA generator, VAT rates, jurisdiction data
- LiveProperty — 20 endpoints: stamp duty, mortgage amortization, rent-vs-buy, rental yield, loan eligibility, capital gains tax
- LiveJobs — 25 endpoints: remote listings, salary estimates, resume scoring, cover letter, career paths, visa permits
v0.9May 2026
Dashboard — usage analytics and API key management
- NewDeveloper dashboard at app.aplicious.com — live usage graphs, request history, error rate
- NewAPI key management — create, rotate, and revoke keys with per-key usage stats
- NewPer-plan quota tracking with real-time meter — remaining requests shown in dashboard and response headers
- NewSupport ticket system wired into dashboard — raise issues directly from the console
- ImprovedQuota headers on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
v0.8April 2026
Core infrastructure — auth, rate limiting, per-plan quotas
- NewSupabase auth — email/password sign-up, OAuth (Google), magic link, full RLS policies
- NewUpstash Redis rate limiting — sliding window algorithm, per-key enforcement at the edge
- NewPer-plan quota system — Starter (1k/day), Growth (10k/day), Scale (100k/day), Enterprise (unlimited)
- NewSupabase schema — usage_logs, api_keys, subscriptions tables with audit trail and RLS
- NewNext.js 15 App Router foundation — Server Components throughout, streaming responses
Want longer-form write-ups on what we ship?
Follow along on the blog