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.
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.