Giant Leap — /ai-chat · 8 Language Pages · 3 vs Pages · Sign Horoscopes · Homepage Overhaul
✦ New
/ai-chat — flagship product page for the embeddable AI chat widget: streaming SSE embed code generator, 9-row vs competitor table, full params reference, 6 use cases, 6 FAQs
horoscope-by-sign/daily, /weekly, /monthly — 3 new endpoints: sign-based horoscopes (no birth data needed, 12 zodiac signs, lucky_color/element/ruling_planet/best_dates)
6 new language landing pages: /languages/telugu, /kannada, /bengali, /malayalam, /marathi, /gujarati — native script, curl examples, FAQ, cross-linking
3 new competitor comparison pages: /vs/vedika (18 rows), /vs/kundliapi (17 rows), /vs/vedastro (16 rows with fair-framing banner)
Homepage: new AI Chat Widget spotlight section, new Explore grid (Products/Languages/Comparisons/Use Cases) surfacing all new pages
Homepage: 108→116 endpoints, removed all stale "Coming Soon" labels, comparison table rebuilt with 14 rows including new moats
Sitemap: 25 new URLs added — all new pages, language pages, vs pages, enterprise, android
✕ Removed
Homepage stats strip: "21 Languages" removed → "27 Languages" live stat added
MCP Server section on homepage: "Coming Q3 2026" → "Live" — Cursor, VS Code, Claude Desktop all marked Live
Language section on homepage: "Coming Soon — Phase 3" badge → "● Live Now — Pass &lang=XX" badge
Pricing page: all "116 endpoints" references updated to 116
Comparison table on homepage: Jagannatha Hora verified + AI chat widget + WordPress plugin + PDF reports + MCP added as separate rows
FEATURES grid on homepage: MCP "Coming Soon" → "Live", PDF "Coming Soon" → "Live", added AI Chat Widget and Sign-Based Horoscopes as new cards
JSON-LD schema on homepage: free plan "50 calls" bug fixed → 500, Developer plan added, 116 endpoints, embeddable widget in featureList
v2.8.0Major2026-04-25
API Key Security — Revoke Modal · Rotate with Usage Carry · 500 Calls Fix · GA4
✦ New
Revoke / Rotate modal — replaced browser confirm() with proper React modal: shows usage stats, 3 options (revoke only / rotate + carry usage / rotate + fresh quota), never silently deletes data
PATCH /api/auth/api-keys — new key rotation endpoint: creates new key with same plan/limits, optionally carries calls_used, revokes old. Usage history always preserved.
Google Analytics GA4 (G-TBQQSP5HJ1) added to root layout via next/script afterInteractive — fires on every page, zero render-blocking
Step-tagged exception logging in GET /api/auth/api-keys — pinpoints exact line of failure in try/catch
✕ Removed
Free plan 50→500 calls in api-keys route — PLAN_LIMITS had calls:50 instead of 500; all new Free keys now correctly get 500/month
GET /api/auth/api-keys 500 error — decrypt failure (AES-256-GCM auth tag mismatch when VEDINTEL_API_SECRET rotated) now returns 410 with actionable message instead of 500
Dashboard showing 66+→116 endpoints — three places in dashboard/page.tsx still had old "66+" value
api.vedintelastroapi.com → vedintelastroapi.com — wrong subdomain corrected across 36 files via sed
v2.7.0Major2026-04-24
World-Class Engineering — 27 Languages · Security Hardening · Better Errors · Full OpenAPI
✦ New
27-language support — expanded from 5 to 27 languages: all 11 Indian scripts (hi/ta/te/sa/kn/ml/bn/gu/mr/pa/ur) + or/si/ne + 13 international (es/fr/de/pt/ar/id/th/it/nl/ru/ja/zh)
lang=auto smarter detection — now detects si (Sri Lanka), ne (Nepal), ur (Pakistan), bn (Bangladesh), ar (Middle East), id/th/ja/zh/ru by tz + coordinate ranges
Planets and signs fully translated in all 11 Indic languages and 13 international languages — native script + romanization
LANG_META fully populated for all 27 languages — name, script, rtl flag, native name
apiSuccess() wrapper — lang translation + rate headers + security headers in one call, wired into all 86 endpoints
OpenAPI spec updated to v2.7.0 — all 27 lang codes listed, romanized param documented
Full OpenAPI at /api/v1/openapi.json — 107 endpoints, all parameters, all error codes, Swagger UI compatible
✕ Removed
Security headers on every API response — X-Content-Type-Options: nosniff, X-Frame-Options: DENY, X-XSS-Protection, Referrer-Policy, Permissions-Policy, Cache-Control: no-store
Descriptive validation errors with examples — "dob must be in DD/MM/YYYY format (e.g. 15/08/1990)" instead of cryptic Zod output
Missing parameter message names the exact field — "Missing required parameter: \"dob\". Required: dob (DD/MM/YYYY), tob (HH:MM), lat, lon, tz"
ayanamsa validation now tells you exactly what is valid — "must be 'lahiri', 'raman', or 'kp'. Default is lahiri."
Year range enforcement — dob year must be 1800–2100; specific error message if out of range
Month/day range validation with exact value in error — "dob month \"13\" is invalid — must be 01–12"
Translation fallback chain: requested lang → Sanskrit → English — response never breaks for any language
v2.6.0Major2026-04-24
5-Language Support — Hindi, Tamil, Telugu, Sanskrit + lang=auto
✦ New
lang param on all endpoints — add &lang=hi/ta/te/sa to any API call for instant Vedic-aware translation
Static term lookup table — 300+ Vedic terms (planets, signs, nakshatras, houses, dashas, doshas, panchang) in 5 languages, zero API cost
Romanization support — add &romanized=1 to get native script + phonetic spelling side by side (e.g. "मेष (Mesha)")
lang=auto — pass &lang=auto and the API detects the right language from your tz + lat coordinates automatically
Fallback chain — requested language → Sanskrit → English, response never breaks if a term is missing
Language metadata in response — lang, script fields returned on every translated response
/api/v1/utilities/translate-terms — download the full term dictionary for any language in one call; cache once, translate client-side forever
category param on translate-terms — filter by planets, signs, nakshatras, houses, dashas, dignities, panchang, doshas, or misc
Sanskrit support — classical Devanagari script + IAST romanization for every term; unique among Vedic astrology APIs
lang wired into 4 core endpoints: planet-details, find-ascendant, panchang, current-mahadasha-full
✕ Removed
Translation is instant (static lookup, not Claude Haiku) — zero latency impact on API responses
27-language architecture in place — adding remaining 22 languages is a data-only operation, no code changes needed
Old Claude Haiku translation route upgraded to use static lookup — same interface, zero AI cost