Product changelog

Building HereNow in public, one release at a time.

Follow the product changes, fixes, and experiments that shape HereNow.events during early access.

Latest version 0.1.107May 31, 2026
Version 0.1.107

May 31, 2026

Latest

Added

  • Added a lightweight cover editor with title overlays, subtitle text, cover layout templates, tint controls, accent/text colors, and title-card styling.
  • Added reusable cover design rendering so edited covers appear consistently in the event editor, preview modal, and public event page.
  • Added cover design data to generated event themes so cover edits are saved with the event instead of being baked into the source image.

Changed

  • Updated AI cover generation guidance to create clean background imagery without embedded text, logos, or QR codes so the editor can own typography.
  • Synced the visible Web app version.
Version 0.1.106

May 31, 2026

Added

  • Added a live admin Observability and Growth Analytics workspace for tracking acquisition, creation success, registration conversion, AI reliability, AI cost, import failure rates, and error-report queues.
  • Added an analytics admin API that aggregates first-party page visits, shares, registrations, events, AI usage logs, app error reports, payment signals, and observability review notes.
  • Added integration readiness cards for Sentry, Vercel Analytics/Speed Insights, GA4, and Plausible so third-party analytics can be connected without redesigning the backend dashboard.

Changed

  • Replaced the placeholder admin Analytics page with the new growth/observability framework and synced the visible Admin app version.
Version 0.1.105

May 31, 2026

Added

  • Added an admin AI Safety workspace for reviewing event, template, and AI usage signals across illegal/regulated activity, public safety, hate/harassment, scam/fraud, regulated advice, adult risk, privacy over-collection, and crisis-sensitive support.
  • Added an AI Safety admin API that scans existing events, templates, AI usage logs, and AI-related error reports into risk queues, policy matrix data, release-gate status, and suggested operator actions.
  • Added audit-log recording for AI Safety review notes so manual decisions can be traced before publish-time enforcement is connected.

Changed

  • Added AI Safety to the admin sidebar and synced the visible Admin app version.
Version 0.1.104

May 31, 2026

Added

  • Added the first bilingual i18n routing layer with `/zh/...` localized routes, locale cookies, route-aware client navigation, and a header language switcher.
  • Added shared locale, market, hreflang, canonical URL, and localized date/time helpers for English and Simplified Chinese.
  • Added locale and market context to template API responses so future country-specific template libraries can build on the same contract.

Changed

  • Added language alternates to core page metadata and sitemap entries for static pages, blog pages, event pages, and curator pages.
  • Localized key event/explore/dashboard date formatting based on the active UI language.
  • Synced the visible Web app version.
Version 0.1.103

May 31, 2026

Added

  • Added a host check-in QR tool on event management pages, including a signed attendee check-in link, QR image, copy/open actions, and live check-in stats.
  • Added a public QR check-in page where attendees scan the host QR code, enter their registration email, and mark confirmed registrations as checked in.
  • Added signed check-in APIs for generating host-only QR codes and processing attendee check-ins without requiring attendee login.

Changed

  • Allowed QR-based attendee check-in through middleware while keeping the route protected by a signed event token.
  • Synced the visible Web app version.
Version 0.1.102

May 31, 2026

Added

  • Added an advanced Explore discovery framework with city/location search, time range filters, topic chips, location type filters, recommended/popular/date sorting, and a personalized discovery toggle.
  • Added an event recommendations API for personalized, trending, and similar-event recommendations using existing event, registration, follow, traffic, share, and review signals.
  • Added similar event recommendations to public event detail pages.

Changed

  • Extended the public events query schema and Postgres search layer so advanced filters work before a dedicated Meilisearch or Algolia index is introduced.
  • Synced the visible Web app version.
Version 0.1.101

May 31, 2026

Added

  • Added an admin Production Ops workspace for moderation, report triage, template governance, user permissions, operational notes, audit logs, transparency snapshots, SEO readiness, revenue control, and activity quality review.
  • Added a production-ops admin API that aggregates production health signals from events, registrations, templates, users, app reports, audit logs, AI usage, and paid-ticketing tables without exposing attendee identities.
  • Added operational note capture through AuditLog so admin decisions can be recorded before a dedicated notes model is introduced.

Changed

  • Added Production Ops to the admin sidebar and synced visible Web/Admin app versions.
  • Added audited template deletion support to the admin templates API.
Version 0.1.100

May 31, 2026

Added

  • Added an admin Data Moat Intelligence workspace for region, event-type, conversion, capacity, pricing, repeat-demand, and cancellation signals.
  • Added a Data Moat admin API that aggregates events, registrations, page visits, shares, templates, ticket prices, paid orders, repeat participants, and repeat buyers without exposing attendee identities.
  • Added city/type opportunity scoring, template gap detection, data quality diagnostics, and feedback-loop action recommendations for future template and recommendation systems.

Changed

  • Added Data Moat to the admin sidebar and synced the visible Admin app version.
Version 0.1.99

May 31, 2026

Added

  • Added a Marketing Agent API that generates copy-ready X, Instagram, LinkedIn, email, community, reminder, and recap assets for event hosts.
  • Added a Marketing Agent panel to event management with channel selection, tone/goal controls, rollout schedule, profile links, and one-click copy actions.
  • Added Instagram to curator brand social links and exposed curator social profiles on public curator and event pages.

Changed

  • Logged Marketing Agent AI usage separately so future operations dashboards can measure promotional assistant demand.
Version 0.1.98

May 30, 2026

Added

  • Added the Phase 2 paid ticketing framework with ticket types, ticket orders, order items, refunds, curator payout snapshots, platform commission fields, and a Supabase migration.
  • Added Stripe Checkout, webhook, and refund API scaffolding so payment keys can be connected without redesigning the order system.
  • Added public ticket lookup, curator ticket management, guest checkout start support, and paid-order registration reconciliation.
  • Replaced the static admin Revenue page with a live payment/revenue dashboard for orders, ticket inventory, refunds, payout readiness, and Stripe setup status.

Changed

  • Added paid-ticketing environment placeholders and allowed guest checkout/webhook routes through the web proxy.
Version 0.1.97

May 30, 2026

Added

  • Added an admin Commercial Loop workspace for paid operations readiness, combining creation, registration, traffic, template, creator, URL import, and waitlist signals.
  • Added a commercial-loop admin API that aggregates category demand, template performance, creator upgrade leads, high-demand events, and operator action queues from existing product data.

Changed

  • Added Commercial Loop to the admin sidebar and synced visible Web/Admin app versions for the new release.
Version 0.1.96

May 30, 2026

Added

  • Added URL import ownership choices for organizer-owned imports versus reference-only imports.

Changed

  • Organizer-owned URL imports now preserve authorized source content while locking imported organizer details.
  • Reference-only URL imports remain facts-only and require rewritten copy, replacement images, and a separate organizer identity.
Version 0.1.95

May 30, 2026

Added

  • Added host-rights publishing confirmation, event report entry points, and clearer copyright/impersonation reporting guidance.

Changed

  • Changed event-platform URL imports to a rights-safe facts-only path that avoids copying source titles, descriptions, organizer identities, and cover images.
  • Updated Trust Center and Terms language to clarify URL import boundaries, host authorization, and takedown review.
Version 0.1.94

May 30, 2026

Changed

  • Linked the global Web version badge to the public changelog so visitors can open the full release history from the site chrome.
Version 0.1.93

May 30, 2026

Changed

  • Replaced additional person-heavy template covers with lower-density detail shots for food, craft, family science, and running templates.
Version 0.1.92

May 30, 2026

Changed

  • Replaced selected template covers with more natural close-up, small-group, and tabletop compositions to reduce repetitive AI-generated crowd scenes.
Version 0.1.91

May 30, 2026

Changed

  • Refreshed the generated event template cover assets with more globally diverse, internationally neutral community imagery.
  • Synced the Web app version badge with the current Web package version after the template cover update.
Version 0.1.90

May 29, 2026

Fixed

  • Bundled changelog content as a generated TypeScript module so the public release notes page reliably renders on Vercel.
Version 0.1.89

May 29, 2026

Fixed

  • Synced the public changelog into the web build output so release notes render correctly in production.
Version 0.1.88

May 29, 2026

Added

  • Added a public `/changelog` page that renders the project release notes in English for users who want to follow product updates.
  • Added the changelog page to the marketing footer and sitemap.
Version 0.1.87

May 29, 2026

Changed

  • Made poster import use a cropped title band from the uploaded poster as the default event cover, preserving the source poster's visual style instead of falling back to a mismatched template cover.
  • Applied the same poster-title cover behavior to both initial poster creation and later AI assistant material uploads.
Version 0.1.86

May 29, 2026

Added

  • Added client-side error reporting from React error boundaries, browser errors, and unhandled promise rejections into a dedicated database table.
  • Added frontend error reports to the admin Operations dashboard with path, user, version, locale, and recent error context.
  • Added Google Places autocomplete to the location picker search input when the Google Maps key is configured.

Changed

  • Loaded the Google Maps JavaScript API with the Places library so location search can suggest venues and addresses before manual search.
Version 0.1.85

May 29, 2026

Changed

  • Switched the location picker to use Google Maps when `NEXT_PUBLIC_GOOGLE_MAPS_API_KEY` is configured, with the existing open map as a no-key fallback.
  • Added Google Maps browser geocoding for location search and map clicks so selected addresses come from Google when the map key is available.
  • Documented Google Maps Platform setup and required environment variables for Vercel and local development.
Version 0.1.84

May 29, 2026

Changed

  • Capped event editor cover preview height so imported original-ratio images no longer dominate the creation page.
  • Centered original-ratio cover images with contained display in the editor while keeping fixed ratios cropped as selected.
Version 0.1.83

May 29, 2026

Changed

  • Required sign-in before starting event creation from the homepage, templates, or direct `/events/new` access while keeping attendee registration free of mandatory login.
  • Required authentication for AI creation and upload API calls instead of allowing anonymous pre-login event generation.
  • Preserved homepage idea text and selected template drafts through the login handoff so users can continue creating after authentication.

Fixed

  • Made the login return path fall back to the current protected URL, so direct visits to `/events/new` return to the creation flow after sign-in.
Version 0.1.82

May 29, 2026

Added

  • Added AI request protection with separate anonymous IP, signed-in user, and shared-IP rate limits.
  • Added per-instance AI concurrency guards for text, vision, and image generation so bursts fail gracefully instead of piling up provider calls.
  • Added structured AI protection logs and retry-after responses for throttled AI routes.

Changed

  • Increased the default Gemini retry attempt count to 2 and added configurable exponential backoff for transient provider failures.
  • Documented AI rate-limit and concurrency environment variables in the local env example.
Version 0.1.81

May 29, 2026

Fixed

  • Made the event creation assistant reply in the same language as the user's latest message, including proactive follow-up messages after direct field updates.
  • Localized assistant fallback/error messages so provider parse failures no longer default to English after Chinese input.
  • Updated AI edit prompts to support non-English languages instead of hardcoding English whenever the UI locale is not Chinese.
Version 0.1.80

May 29, 2026

Changed

  • Added an `Other` category option to event creation for activities that do not fit the main category set.
  • Updated category normalization, Explore filters, AI category guidance, and fallback cover selection to recognize `Other`.
  • Defaulted uncategorized events to `Other` instead of incorrectly forcing them into `Social`.
Version 0.1.79

May 28, 2026

Changed

  • Made imported URL cover images default to their original image ratio instead of forcing 16:9 in the event editor.
  • Added a main cover ratio picker with Original, 16:9, 4:3, 1:1, and 20:9 options.
  • Persisted the chosen cover ratio into event theme data so previews and public event pages honor the curator's selection.
Version 0.1.78

May 28, 2026

Added

  • Added a persistent frontend version badge showing the independently tracked Web app version.
  • Added a persistent admin version badge showing the independently tracked Admin app version.
  • Split visible Web/Admin app version labels while keeping the product changelog on the global release version.
Version 0.1.77

May 28, 2026

Fixed

  • Fixed URL-imported event timezone inference for Las Vegas/Nevada and other common US locations.
  • Added source GMT offset parsing so imported pages that show `GMT-7` can resolve to the correct event timezone when location context is available.
  • Made timezone labels calculate the GMT offset from the event date, so summer events show daylight-saving offsets such as `America/Los_Angeles (GMT-7)`.
Version 0.1.76

May 28, 2026

Fixed

  • Made URL-imported event cover images survive the creation flow instead of being overwritten by default gallery covers.
  • Normalized imported timezone values so `Asia/Shanghai` and similar source timezones show correctly in the editor, publish confirmation, preview, and public event page.
  • Formatted public event times using the event timezone instead of the viewer browser timezone.
Version 0.1.75

May 28, 2026

Fixed

  • Removed the deprecated Pages Router `config.api.bodyParser` export from the App Router upload API.
  • Marked the upload API as Node.js runtime explicitly because it uses `Buffer` and Supabase Storage uploads.
Version 0.1.74

May 28, 2026

Changed

  • Made the event creation assistant return safe field updates even when the model outputs a full event draft instead of an `eventUpdates` delta, so right-side chat edits now update the left-side form.
  • Synced the manual editor state before sending chat messages so AI edits are based on the latest visible draft fields.
  • Preserved URL-imported event dates and times in the source or venue timezone, with location-based timezone inference for structured event pages.
Version 0.1.73

May 28, 2026

Fixed

  • Fixed broken admin event cover thumbnails by resolving relative public cover paths against the main HereNow site instead of the admin subdomain.
  • Added a shared admin image URL helper so external images and Supabase Storage URLs continue to render unchanged.
Version 0.1.72

May 28, 2026

Fixed

  • Added a server-side admin password sign-in route so email login writes the Supabase SSR session cookie reliably.
  • Updated the admin login form to use the server password route and return precise credential, role, or database errors.
  • Allowed the admin password sign-in route through the admin proxy before a session exists.
Version 0.1.71

May 28, 2026

Fixed

  • Allowed the admin Google OAuth start route through the admin proxy so unauthenticated users can actually begin Google sign-in.
Version 0.1.70

May 28, 2026

Fixed

  • Moved admin Google OAuth initiation to a server route so the PKCE verifier cookie is written by `admin.herenow.events` before redirecting to Google.
  • Added a dedicated admin OAuth start failure message for clearer login diagnostics.
Version 0.1.69

May 28, 2026

Fixed

  • Made the admin OAuth callback continue after non-blocking Prisma profile sync failures so existing admin users can finish sign-in.
  • Added clearer admin login failure states for missing signed-in user data, non-admin accounts, and database environment issues.
  • Replaced the admin dashboard hard 500 during auth checks with a redirect back to login carrying a diagnosable error code.
Version 0.1.68

May 28, 2026

Fixed

  • Fixed admin login callback failures caused by requiring a `DIRECT_URL` environment variable for Prisma at runtime.
  • Updated Supabase backup schema and local environment examples so admin only requires `DATABASE_URL` for Prisma access.
Version 0.1.67

May 28, 2026

Added

  • Added the advanced admin framework with dedicated pages for analytics, messaging operations, SEO page management, revenue reports, and content recommendations.
  • Added an Advanced section to the admin sidebar so operators can navigate future back-office modules from one place.
  • Added the first payment and revenue reporting framework page for future paid tickets, GMV, refunds, commission, and curator payouts.
Version 0.1.66

May 28, 2026

Added

  • Added the first admin Operations workspace for beta quota management, AI usage statistics, event quality review, template management, and operator contact lists.
  • Added manual event quota overrides so operators can open a user's 8-event beta limit from admin.
  • Added AI usage logging for text creation, poster extraction, and URL extraction, with a Supabase migration and schema backup for portability.
  • Added recent published event review and suspicious event flags for missing covers, weak titles, registration anomalies, and capacity issues.

Changed

  • Updated event creation quota enforcement to respect admin-managed per-user overrides.
  • Improved the beta quota message so users see a readable launch-waiting note instead of corrupted text.
Version 0.1.65

May 28, 2026

Changed

  • Improved admin table empty states with clearer titles and operator guidance.

Fixed

  • Fixed the admin Make Admin action by allowing the admin role in shared action validation.
  • Replaced corrupted admin fallback placeholders with readable labels.
  • Added admin API failure banners and retry actions for dashboard, user lists, event lists, and detail pages.
  • Hardened the admin OAuth callback so auth sync failures redirect back to login with a friendly error instead of a raw 500.
Version 0.1.64

May 28, 2026

Added

  • Added a Git-tracked Supabase portability backup with public schema SQL, Prisma introspection, RLS/helper function SQL, safe Auth configuration notes, and a restore runbook.
Version 0.1.63

May 28, 2026

Fixed

  • Updated the admin package build command to generate Prisma Client before Next.js builds on Vercel.
Version 0.1.62

May 28, 2026

Fixed

  • Added explicit admin quota row typing so Vercel production builds do not infer quota aggregation callbacks as `any`.
Version 0.1.61

May 28, 2026

Fixed

  • Fixed a strict TypeScript build issue in the admin stats category aggregation for Vercel production builds.
Version 0.1.60

May 28, 2026

Added

  • Expanded the admin dashboard for public-beta operations with quota-reached contacts, recent users, recent events, page visits, shares, likes, and saves.

Fixed

  • Fixed admin navigation for a standalone subdomain deployment by removing stale `/admin/...` route pushes.
Version 0.1.59

May 28, 2026

Added

  • Added a public-preview creation quota: each signed-in user can create up to 8 events before seeing the beta-limit message.
  • Recorded users who reach the creation quota in `brandSettings.eventCreateQuota` so the admin users view can surface contact emails.
  • Added dashboard quota messaging when a user is near or at the 8-event beta limit.

Changed

  • Hardened event creation to use the authenticated account as curator instead of trusting a submitted curator id.
  • Updated duplicate/save/publish failure handling so quota errors show the product message instead of a generic failure.
Version 0.1.58

May 28, 2026

Added

  • Added a 49-template event catalog across Crafts, Knowledge, Wellness, Art & Culture, Food & Drinks, Family, and Social categories.
  • Added template system research notes covering market signals, coverage strategy, and next iterations.

Changed

  • Updated the templates API to merge database templates with the built-in catalog so production never shows an empty template gallery.
  • Reworked template preview and template gallery UI with stable icon controls and cleaner one-click template drafting.
  • Connected AI creation template matching to the new catalog so weak drafts can inherit stronger agenda, category, tag, and description structures.
Version 0.1.57

May 28, 2026

Changed

  • Reworked the user settings experience into focused Profile, Brand, Notifications, and Account/Data sections with stable icon UI and mobile-friendly saving.
  • Hardened profile updates with normalized curator URLs, reserved route checks, safer brand setting merges, and validation for profile, social links, and notification payloads.

Fixed

  • Removed brittle garbled-symbol controls from the settings surface and prevented loose settings payloads from corrupting profile state.
Version 0.1.56

May 27, 2026

Changed

  • Tightened the attendee registration loop so successful signups refresh the public event page and switch CTAs into registered or waitlisted states.

Fixed

  • Invalidated public event caches after registration, cancellation, approval, check-in, and event edits so capacity and attendee counts update promptly.
  • Treated duplicate same-email signups and cancelled-registration reactivation as successful attendee states instead of dead-end errors.
  • Kept unlimited-capacity events open in the summary and registration modals instead of treating missing capacity as full.
Version 0.1.55

May 27, 2026

Added

  • Added URL material intake to the event editor AI assistant, so pasted event links can update the current draft without restarting creation.

Changed

  • Normalized AI-created drafts across text, URL, poster, and chat-edit flows to keep organizers separate from speakers and dedupe speaker lists.

Fixed

  • Hardened poster OCR cleanup for replacement-character fragments in the blue-poster section labels.
Version 0.1.54

May 27, 2026

Changed

  • Polished the attendee registration surfaces by replacing fragile emoji UI with stable icons or text in the registration modal, standalone registration page, My Events empty states, and toast notifications.
  • Added clearer signed-in attendee messaging: logged-in users now see that their registration will be saved to My Events, and standalone registration also pre-fills account name/email.

Fixed

  • Removed an unreachable legacy registration-success branch that still carried old account-linking copy.
  • Removed hidden fallback symbols from registration controls that could render as garbled text in some environments.
  • Stopped local development pages from calling reminder cron endpoints by default, reducing unrelated 500 noise during attendee-flow QA.
Version 0.1.53

May 27, 2026

Added

  • Added the attendee-side account handoff after registration: successful registrations now guide users to connect Google and return to My Events.
  • Added automatic guest-registration linking on OAuth login, so same-email registrations are attached to the user account.
  • Added authenticated registration prefill and server-side user linking for logged-in attendees.

Fixed

  • Fixed attendee review eligibility so it is based on the current user's own registration instead of any registration on the event.
  • Allowed confirmed attendees to open the review section even when an ended event has no previous reviews yet.
Version 0.1.52

May 27, 2026

Added

  • Added event marketing analytics for organizers: unique IP visits, page views, shares, registrations, likes, saves, and registration conversion rate.
  • Added privacy-friendly analytics storage using hashed IP and visitor identifiers for public event page visits, share actions, likes, and saves.
  • Added like/save/share actions to public event pages and wired publish/share flows into analytics tracking.

Changed

  • Updated the event management page to surface marketing performance metrics above the registration list.
Version 0.1.51

May 27, 2026

Added

  • Added a first-class event organizer field across AI event drafts, the editor, preview, publish payloads, and public event pages.

Fixed

  • Updated URL-based event extraction so Luma hosts and JSON-LD organizers are stored as organizers instead of being misclassified as speakers.
  • Persisted organizer data through the existing event SEO metadata JSON so production can use the field without a blocking database migration.
Version 0.1.50

May 27, 2026

Fixed

  • Added a production-domain redirect for Vercel deployment hosts so OAuth callbacks and direct visits to `*.vercel.app` land on `https://herenow.events` with the original path and query intact.
Version 0.1.49

May 22, 2026

Added

  • Added material intake to the event editor AI assistant: users can attach or drag poster images into the right panel, then auto-fill the current draft instead of restarting the creation flow.

Fixed

  • Cleaned poster OCR replacement characters such as `��态共创`, restoring known blue-poster labels like `生态共创`.
  • Preserved poster-derived speaker avatar crop data while syncing editor state, so later edits no longer drop cropped speaker headshots.
Version 0.1.48

May 22, 2026

Added

  • Documented the Supabase RLS hardening model for production tables under `docs/ops`.

Changed

  • Converted homepage template filters and template cards into semantic buttons with clearer keyboard focus behavior.
  • Made the template preview modal scroll internally so one-click template use stays reachable on smaller screens.
  • Reworked empty TBD date/time inputs in the event editor so they show clear placeholders instead of native `0/0/0` browser artifacts.
  • Routed mobile publishing through the shared publish flow so draft saving, auth checks, and random public slug generation stay consistent with desktop.

Fixed

  • Added a root OAuth callback fallback and current-origin auth redirect handling to reduce production login flows bouncing back to localhost.
  • Improved poster extraction with a focused second pass for speaker blocks, avatar crop hints, and exact agenda start/end times.
Version 0.1.47

May 21, 2026

Changed

  • Reworked the homepage cold-start experience around event templates instead of active/popular events.
  • Hid the homepage Popular Events sections on both mobile and desktop.
  • Made homepage template cards open the template preview directly, showing the event framework, TBD timing, and agenda structure before one-click use.
Version 0.1.46

May 21, 2026

Changed

  • Removed gradient, illustration, and seasonal icon covers from the cover selector so the gallery focuses on real photo-based covers.
  • Stopped automatic AI cover generation after text, poster, and URL event creation; drafts now start with a category-matched gallery cover.
  • Kept AI cover generation as an explicit manual action in the cover selector.

Fixed

  • Prevented uploaded posters and generic gradients from becoming the default event cover during AI-assisted creation.
Version 0.1.45

May 21, 2026

Added

  • Added poster speaker avatar extraction: vision analysis can now return normalized portrait crop coordinates for named speakers, and the client crops those portraits into speaker avatars.
  • Added browser face-detection fallback for uploaded posters when the AI does not return explicit portrait crop coordinates.

Fixed

  • Updated speaker avatar rendering in the create preview, edit form, and event detail page so generated `data:image` avatars display as images instead of text.
Version 0.1.44

May 21, 2026

Fixed

  • Centralized Google OAuth redirect URL creation so Vercel preview links use the stable production callback instead of falling back to localhost.
  • Changed the post-registration Google upgrade flow to return through `/api/auth/callback` instead of redirecting directly back to the current page.
Version 0.1.43

May 21, 2026

Fixed

  • Persisted Google OAuth login state more reliably by writing Supabase session cookies directly onto the auth callback redirect response.
  • Added a 30-day fallback lifetime for auth cookies when Supabase does not provide an explicit max age, so reopening the app does not immediately require another login.
  • Blocked external `next` redirect targets during auth callback handling.
Version 0.1.42

May 21, 2026

Fixed

  • Fixed magic-link authentication redirect URLs so production and Vercel deployment links no longer fall back to `localhost:3000`.
  • Changed auth callback origin resolution to prefer the current request host when production app URL env vars are missing or accidentally set to localhost.

Changed

  • Updated the example public app URL to the active Vercel production domain.
Version 0.1.41

May 21, 2026

Fixed

  • Fixed poster uploads stopping on a `Generation Failed` page when the image AI returned an editable fallback draft.
  • Prevented short Gemini text timeouts from capping longer vision requests, reducing false poster-analysis timeouts for long posters.
  • Avoided putting Gemini into a temporary global cooldown after a single request timeout so immediate poster retries can still run.

Changed

  • Increased the example Gemini request timeout to a safer value for poster analysis.
  • Added lightweight image-analysis input size logging for production diagnosis without logging image content.
Version 0.1.40

May 21, 2026

Added

  • Added an OpenAI-backed event cover generation API using `gpt-image-1-mini` by default, with `OPENAI_API_KEY`, `OPENAI_IMAGE_MODEL`, `OPENAI_IMAGE_SIZE`, and `OPENAI_IMAGE_QUALITY` environment configuration.
  • Added non-blocking cover generation after poster-based event extraction so fields can populate immediately while a fresh event-page cover is generated in the background.

Changed

  • Stopped using uploaded source posters as event cover images; poster uploads now act as source material for field extraction and optional generated covers.
  • Changed the existing social poster generation route to default to the lower-cost OpenAI image model and medium quality unless overridden by environment variables.
Version 0.1.39

May 21, 2026

Fixed

  • Unified poster image analysis across the quick-create upload flow and the chat upload flow so both send the same compact base64 analysis image and consume the structured `event` response.
  • Prevented poster creation from silently accepting a generic empty draft when image analysis fails; the generation screen now retries once and then shows an explicit error instead of filling blank fields.
  • Reduced client-side analysis image payload size for long posters so uploads stay under serverless request limits while preserving enough resolution for OCR.
  • Fixed the quick-create image submit handler so it uses the latest poster preview when preparing the AI analysis image.
Version 0.1.38

May 21, 2026

Changed

  • Added a shared explicit fact extraction layer for text ideas, poster analysis output, and URL imports so date, time, location, capacity, and completion flags are preserved even when AI output is incomplete.
  • Added a compatibility alias that maps `gemini-3.5-flash` configuration to the current Gemini 3 Flash model code used by the Google API.
  • Increased the default Gemini request timeout to reduce premature poster and URL extraction fallbacks.
  • Passed locale through the URL creation flow so Chinese event pages keep Chinese extraction and template behavior.

Fixed

  • Fixed text idea fallback drafts losing obvious Chinese facts like "next Saturday afternoon at 3", venue names, and capacity.
  • Fixed URL fallback drafts losing structured date ranges and city/venue names when the AI provider times out.
  • Fixed generic Social category fallbacks overriding stronger matched templates such as book clubs or tech events.
Version 0.1.37

May 21, 2026

Changed

  • Added a shared AI creation template engine for text ideas, uploaded posters, and URL imports so all three entry paths use consistent category, theme, tags, agenda, and fallback draft structure.
  • Added built-in high-quality templates for book clubs, tech salons, craft workshops, wellness sessions, food socials, art nights, family activities, and social meetups.
  • Updated text idea generation prompts to recommend matching built-in templates while preserving explicit user facts.
  • Improved long poster handling by generating a compressed analysis image in the browser before calling the vision endpoint.
  • Updated URL extraction to apply the same template enhancement layer and preserve `endDate` from structured data.
Version 0.1.36

May 20, 2026

Fixed

  • Fixed poster-based AI creation so small uploaded images are sent directly to the vision endpoint as base64 while still preserving the uploaded cover URL.
  • Changed poster extraction to request compact, key-field-first JSON, reducing truncation that previously caused generic fallback drafts.
  • Added a salvaged parse path for incomplete vision JSON so title, date, location, tags, and description are recovered when possible instead of being discarded.
  • Preserved extracted `endDate` values from AI responses so multi-day poster events can populate the editor.
Version 0.1.35

May 20, 2026

Fixed

  • Made the Prisma schema compatible with the existing Supabase database by preserving the legacy `ENDED` event status.
  • Preserved the existing Postgres `search_vector` column as an unsupported Prisma field so full-text search data is not dropped during schema sync.
  • Synced the production Supabase schema without using destructive data-loss flags.
Version 0.1.34

May 20, 2026

Fixed

  • Fixed the curator profile API TypeScript build error by typing review and event collections before reducing, filtering, and mapping them.
  • Fixed additional strict production type-check errors in event listing, follows, reviews, stats, user export, template rendering, and search helpers.
  • Updated the web build script to generate Prisma Client before running the production Next.js build.
Version 0.1.33

May 20, 2026

Fixed

  • Fixed the waitlist promotion cron route TypeScript build error by typing registration records before filtering by status.
Version 0.1.32

May 20, 2026

Fixed

  • Changed the Vercel cron schedule for event reminders to a daily run so the `packages/web` deployment works on the Vercel Hobby plan.
  • Kept the production cron setup within Hobby limits while preserving the daily event-completion check.
Version 0.1.31

May 20, 2026

Fixed

  • Prevented Gemini timeout failures from blocking the AI creation flow by falling back to an editable local draft on text, image, and URL generation paths.
  • Made the AI assistant route non-blocking so a provider timeout no longer turns a created event into a failed generation screen.
  • Preserved uploaded poster images as cover images when image analysis falls back locally.
  • Added a short Gemini failure cooldown so repeated local requests do not each wait for the same unreachable provider timeout.
Version 0.1.30

May 20, 2026

Changed

  • Switched the local AI text provider configuration from DeepSeek to Gemini via `AI_TEXT_PROVIDER=gemini`.
  • Added Gemini REST support behind the existing AI helper functions so creation, assistant edits, suggestions, copywriting, URL extraction, and image extraction use the configured provider.
  • Documented the new Gemini/DeepSeek provider environment variables in the local env example.
  • Added Gemini-specific timeout and attempt controls so local development can fall back quickly when Google API is unreachable.

Fixed

  • Removed route-level checks that incorrectly required `DEEPSEEK_API_KEY` even when another AI provider is configured.
Version 0.1.29

May 20, 2026

Changed

  • Replaced the AI event creation prompt used by `/api/ai/generate` with a cleaner accuracy-first prompt.
  • Added a local deterministic event draft generator as a fallback when the AI provider is unavailable or returns invalid JSON.

Fixed

  • Added a quality guard so AI drafts do not drop explicit user facts such as date, time, location, or capacity.
  • Fixed streaming accumulation so streamed chunks append only new text instead of re-appending the accumulated buffer.
  • Fixed local Chinese time extraction so capacity values such as `20人` are not mistaken for `20:00`.
Version 0.1.28

May 6, 2026

Changed

  • Changed published event slugs from title-derived strings to random short codes like `hn-xxxxxxxxxx`.
  • Added automatic retry on rare event-link collisions during publishing.

Fixed

  • Made the post-publish event page open from a fresh session cache immediately while refreshing in the background.
  • Reduced public event detail API latency by removing the optional auth lookup and narrowing registration/review payloads.
  • Added a short server-side cache for public event detail responses to smooth over slow or flaky database reads.
  • Avoided replacing a just-published cached event with a temporary API failure or not-yet-visible 404.
Version 0.1.27

May 6, 2026

Changed

  • Reworked the pre-publish modal into a faster publish confirmation focused on share-card preview and the publish action.
  • Removed the operational checklist and SEO/meta framing from the quick publish flow.
  • Kept only hard blockers for missing publish-critical details such as title, date/time, location, capacity, and invalid registration questions.
Version 0.1.26

May 6, 2026

Fixed

  • Fixed speaker avatar image URLs rendering as oversized text in the interactive event preview modal.
  • Added preview avatar fallback behavior so broken or malformed avatar values show initials instead of corrupting layout.
Version 0.1.25

May 6, 2026

Changed

  • Made theme color selection visibly affect the event editor instead of only saving the color into event data.
  • Added selected-color feedback to category chips, tag chips, theme swatches, and the theme preview control.
  • Added a mobile Theme panel and made the mobile publish action follow the selected theme color.
Version 0.1.24

May 6, 2026

Fixed

  • Fixed AI assistant registration-field edits that previously confirmed the change without adding fields to the editor.
  • Added deterministic parsing for custom registration requests such as company, job title, phone number, WeChat, and dietary restrictions.
  • Clarified that name and email are default registration fields and should not be duplicated as custom fields.

Changed

  • Expanded assistant prompt context so custom registration fields can be represented in event updates.
Version 0.1.23

May 6, 2026

Fixed

  • Fixed a runtime crash when clicking AI assistant capacity suggestions whose values are returned as numbers.
  • Normalized assistant suggestion option values before sending them to the editor.
  • Added frontend fallback coercion for suggestion values so older in-memory suggestions remain clickable.
Version 0.1.22

May 6, 2026

Fixed

  • Fixed AI event idea generation failing with HTTP 500 when a configured local proxy is unavailable.
  • Added an automatic direct DeepSeek retry after proxy connection failures.
  • Improved generation error messages so the UI surfaces API error details instead of only `HTTP 500`.

Changed

  • Reduced prompt example topic leakage so generated drafts stay anchored to the user's exact idea.
Version 0.1.21

May 6, 2026

Changed

  • Improved mobile curator profile pages with richer profile stats, follow state handling, and segmented tabs.
  • Updated mobile curator event cards with availability, date/time, location, and clearer view actions.
  • Added mobile empty states for upcoming events, past events, and reviews.
Version 0.1.20

May 6, 2026

Changed

  • Improved the mobile My Registrations page with summary stats for upcoming events, waitlist entries, and downloads.
  • Added clearer mobile registration card actions for viewing events, adding calendar files, and cancelling registrations.
  • Replaced native cancel confirmation with an inline confirmation state on registration cards.
Version 0.1.19

May 6, 2026

Changed

  • Improved the mobile registration success screen with clearer next-step guidance after confirmation or waitlist signup.
  • Added visible feedback for calendar downloads and copied event links.
  • Strengthened registration success modal accessibility with dialog metadata and a clearer Back to Event action.
Version 0.1.18

May 6, 2026

Changed

  • Improved mobile registration form validation with inline errors for name, email, and required custom fields.
  • Replaced browser-native validation bubbles with consistent app-level error messaging.
  • Cleaned up the mobile registration summary copy and added dialog/accessibility metadata for the registration modal.
Version 0.1.17

May 6, 2026

Changed

  • Improved the mobile public event registration bar with date, location, availability, and CTA context.
  • Added bottom safe-area spacing on mobile event pages so fixed registration actions do not cover content.
  • Added accessibility labels for the mobile event registration action region and CTA.
Version 0.1.16

May 6, 2026

Changed

  • Improved the mobile pre-publish check as a bottom sheet with drag-down dismissal.
  • Prevented accidental closing while publishing from the backdrop, Escape key, close button, or sheet drag.
  • Added dialog accessibility metadata, safer mobile overscroll handling, and clearer publish CTA text when required items still need fixes.
Version 0.1.15

May 6, 2026

Changed

  • Improved the cover image selector on mobile with a full-screen layout and safer scrollable panels.
  • Expanded the focal point touch target and added touch drag support with haptic feedback where available.
  • Added a long-press loupe and live focal-point crop previews for image covers.
Version 0.1.14

May 6, 2026

Changed

  • Improved mobile attendee management swipe cards so only one registration can remain open at a time.
  • Matched swipe reveal distance to the available quick actions and made vertical scrolling less likely to trigger horizontal swipes.
  • Tapping an open mobile registration card now closes the revealed action tray.
Version 0.1.13

May 6, 2026

Added

  • Added a fixed mobile editor action bar with Save Draft and Publish actions.
  • Added animated expand/collapse transitions for mobile editor sections.

Changed

  • Mobile editor content now reserves bottom safe-area spacing so the fixed actions do not cover form fields.
  • Mobile publishing now opens the existing publish readiness flow directly from the editor.
Version 0.1.12

May 6, 2026

Changed

  • Migrated Next.js request interception from the deprecated `middleware` convention to `proxy` for both web and admin workspaces.
  • Kept the existing public route, API auth, registration, upload, and Supabase session behavior intact during the migration.
Version 0.1.11

May 6, 2026

Changed

  • Cleared npm audit vulnerabilities by updating `uuid` and moving Next.js workspaces to `16.3.0-canary.10`, which includes the patched PostCSS dependency.
  • Aligned `@herenow/shared` peer dependency with the Next.js version used by the app workspaces.
  • Removed an obsolete Leaflet CSS `@ts-expect-error` that became unnecessary after dependency updates.
Version 0.1.10

May 6, 2026

Added

  • Added quick-start idea chips to the homepage AI event creation hero.
  • Added localized prompt presets for common event ideas in English and Chinese.

Changed

  • Homepage hero input now has stronger focus feedback for mobile and desktop creation flows.
  • Bottom homepage CTA now focuses the hero input through a stable ref instead of placeholder text matching.
Version 0.1.9

May 6, 2026

Added

  • Mounted cover image and location picker modals for mobile event editing.
  • Added mobile editor sections for cover, basic information, and location.

Changed

  • Mobile event editing now defaults to the Basic Info section.
  • Mobile cover editing now shows the selected cover image or gradient and opens the cover selector directly.
  • Mobile location editing now keeps the selected address visible under the venue field.
Version 0.1.8

May 6, 2026

Changed

  • Rebuilt the registration success view with clean mobile and desktop layouts.
  • Replaced fragile success-page symbol text with lucide icons and readable labels.
  • Removed the hidden legacy upgrade block from the registration success flow.
  • Registration success now locks background scrolling while open.
Version 0.1.7

May 6, 2026

Changed

  • Event metadata database failures now log a concise fallback warning instead of a full Prisma stack trace.
  • Public event error states now distinguish temporary loading failures from missing events and include a retry action.
  • Event management error states now include a retry action and cleaner guidance back to the dashboard.
Version 0.1.6

May 6, 2026

Added

  • Added a mobile-first direct path from the public event CTA into the registration form.
  • Added body scroll locking while the registration form is open.
  • Added a sticky mobile registration submit area with safe-area spacing and trust copy.

Changed

  • Mobile event pages now use a clean quick-info block for time, location, and registration counts.
  • Mobile registration form controls now use icon buttons and readable text instead of fragile symbol markers.
  • Required checkbox custom fields now enforce required validation in the registration form.
Version 0.1.5

May 5, 2026

Added

  • Added mobile attendee management search and status filters.
  • Added mobile registration cards with visible approve, check-in, cancel, and answer-expansion actions.
  • Added mobile management stats for checked-in attendees and event views.

Changed

  • Mobile event management now uses the same filtered registration list as desktop management.
  • Mobile registration cards now show readable status labels instead of fragile symbol-only markers.
Version 0.1.4

May 5, 2026

Added

  • Added a mobile-first bottom sheet presentation for the pre-publish check.
  • Added body scroll locking while the publish check is open.
  • Added a sticky mobile publish confirmation button inside the bottom sheet.

Changed

  • Desktop publish check keeps the centered modal behavior while mobile uses a native-app-like sheet.
  • Social preview cards in the publish check stack vertically on mobile.
  • Publish check status markers now use stable text badges instead of fragile symbol rendering.
Version 0.1.3

May 5, 2026

Added

  • Added participant-side cancellation actions in the Lite User personal hub.
  • Added visible `View Recap` actions for registrations with published recaps.
  • Included cancelled registrations in the authenticated personal registration history.

Changed

  • Personal registration cards now support multiple actions instead of making the entire card the only click target.
  • The guest cancellation API now prevents logged-in users from cancelling registrations that belong to another email address.
Version 0.1.2

May 5, 2026

Added

  • Added a clear Dashboard create-event action in the page header.
  • Added a zero-event Dashboard empty state with create and template-browsing calls to action.
  • Connected the Lite User personal hub Following tab to real followed curator data.
  • Connected the Lite User personal hub Downloads tab to published recap materials.
  • Added curator and recap material data to the authenticated registrations API.
  • Added the `/my-events` route for the Lite User personal hub.

Changed

  • Hid the Dashboard poster-generation entry point while poster generation remains deferred.
  • Cleaned the registration success upgrade card copy and made the Google action match the Lite User upgrade flow.
  • Replaced branded error pages with clean ASCII-safe 404 and error states.
Version 0.1.1

May 5, 2026

Added

  • Started formal release versioning across the monorepo.
  • Added the operational analytics planning document for future curator and SEO metrics.
  • Added template fallback data so the creation flow can keep working when the template database is unavailable.
  • Added pending draft persistence across login for the text-based AI creation flow.
  • Added event page cache-assisted registration loading with retry states.
  • Added management search, status filters, custom answer expansion, check-in stats, and all-registration export.
  • Added SEO foundation improvements for robots, sitemap coverage, and completed event structured data.
  • Added content recap publish safeguards so empty recaps and not-yet-ended event recaps cannot be published.

Changed

  • Text-based AI event creation can now start before login; authentication is deferred until publish.
  • Publish checks now validate required event data more strictly before creating a public event.
  • New events no longer receive a default custom registration question.
  • Registration success and event copy no longer promise email delivery while email notifications remain deferred.
  • Event management, edit, and recap routes preserve the active event slug in the URL.
  • Recap publishing now redirects curators to the public event page for review.
  • Recap editor helper copy now explains public visibility instead of promising attendee email notifications.

Fixed

  • Improved location geocoding and address formatting, including name-first display and postal-code removal.
  • Fixed Guest/Speaker avatar uploads clearing the guest list while editing an event.
  • Fixed registration capacity and waitlist enforcement on the server.
  • Fixed server-side validation for required custom registration fields.
  • Fixed public event page rendering so temporary database failures do not turn the whole page into a 500.
  • Fixed check-in status updates and waitlist promotion so they work even when email delivery is not configured.
  • Fixed unpublished recap drafts leaking through public event and recap APIs.
  • Fixed existing recap material attachments being cleared when saving without uploading a replacement.
  • Fixed recap title input persistence by storing it with the recap summary content.

Deferred

  • Email notification delivery remains intentionally deferred.
  • Poster generation remains intentionally deferred.

Verification

  • `npx tsc --noEmit --project .\packages\web\tsconfig.json`
  • Local smoke check for creation, management, public event, registration, admin login, sitemap, and robots routes.
Web v0.1.91