Changelog · every release

Every release, in detail

The full list, one line per change, straight from the release history. If you read the API docs, this is your page. For the short version, see what's new.

v2026.09.30.1

September 30, 2026

Features

  • fc54189 private links live on the badge type page; Releases shows public moments only

v2026.09.30

September 30, 2026

Features

  • 2a96802 grants draw from held-back seats and can raise capacity by the shortfall

v2026.09.29

September 29, 2026

Features

  • 2095491 releases become a table with a page per release that shows what each badge type has left
  • 906949e organizers plan badge releases on one Releases page, per type and per moment

Bug Fixes

  • cd5a468 a link purchase keeps its link when checkout returns to the cart
  • 2158394 a release with a badge in someone's cart cannot be removed until the cart lets go
  • e90d2f7 the public badge card lists future sale times only, never a release's internal name
  • 5355a85 a release counts only what sells through it; earlier sales never make it read sold out
  • 780cad5 a badge type with nothing released to you reads "not on sale", never "sold out"

v2026.09.24

September 24, 2026

Features

  • 35ab1ab a paced sale says so, to buyers above the cards and to the organizer on their overview
  • 8f90908 a rush on a convention's sale turns into a paced line automatically

v2026.09.23

September 23, 2026

Features

  • 1111548 sold-out badges now have a line; a badge that comes back goes to whoever waited longest

Bug Fixes

  • b902d16 the line card states facts, counts down to its next check, and resets on every interaction

v2026.09.21

September 21, 2026

Features

  • 19a7043 on the badge page the press is the hold, and every number shown is held
  • 4898eee the public badge listing says how many badges are in carts, and as of when
  • abf8d95 the configuration page settles into three sections with the mechanics behind info icons

Bug Fixes

  • 02d215f the badge card's Get badge button stays upper-right at every width

v2026.09.19

September 19, 2026

Features

  • 3b336db a new convention sells nothing until it's verified, and every page says so

Bug Fixes

  • 2c88497 limits guidance points at Attendee Tools, and the theme preview matches the public hero
  • e05078f the organizer navigation stays fully reachable while the page scrolls
  • c3ff426 the save button settles back to disabled after a successful save on organizer forms
  • dcc9c67 the cart's countdown starts at the real time left instead of flashing zero

v2026.09.18

September 18, 2026

Features

  • 6a949fc expired badge holds free up on a clock, and every freed unit is on the record

v2026.09.17

September 17, 2026

Bug Fixes

  • fccb768 a cart edit under a private link stays under the link and says what the link covers

v2026.09.16

September 16, 2026

Bug Fixes

  • bbf2747 your sign-in quietly renews itself mid-checkout and your held badges stay in place
  • 4afcfd7 confirming from an older cart tab picks up your latest cart before it proceeds
  • 8d991c8 badges already held in your cart stay held when another type sells out mid-checkout

v2026.09.12

September 12, 2026

Features

  • f8d4d94 the receipt note is rich text — paragraphs, bold, links and lists carry into the mail
  • 59fc289 branded receipts with a badge button, a Ref, refunds, questions, and the organizer's note
  • d3cef2b convention emails carry the con's logo, and the receipt is a real table

Bug Fixes

  • c65fd49 a link holder who has used their allotment buys from the public pool like anyone else
  • 7b226d9 a refused release delete shows its reason in the row instead of the console
  • fc02c69 a badge type with only a private release is rationed for everyone, not just the link
  • 107db5b "more go on sale" names the moment in the convention's time, not a raw timestamp
  • 48c7896 receipts point at My Purchases and say when a refund can be requested there
  • 915347a a private badge link counts only its own sales, and a release with sales can't be deleted

v2026.09.10.5

September 10, 2026

Features

  • 8b28e63 a live view for the on-sale — requests, purchases, and Stripe lag, minute by minute

Bug Fixes

  • 928893e a convention site's browser tab shows the convention's app icon

v2026.09.10.4

September 10, 2026

Bug Fixes

  • 9a107de the policies address honours a page published as "convention-policies"

v2026.09.10.2

September 10, 2026

Features

  • 3aaa03c a limited convention's merch can be browsed but not bought
  • acd460c a new convention can issue ten badges until RallyPoint lifts its limits
  • 38617f7 checkout statements can link to a page, and the policies agreement always has one

v2026.09.10

September 10, 2026

Features

  • 43596f5 checkout statements are a plain list every buyer must tick
  • 631323d checkout asks buyers to agree to the convention's policies
  • ff27ba0 the cart says what happens next, and for how much
  • 958c273 finish your badges right after checkout

Bug Fixes

  • 2fc629d a badge release counts only what was sold from it
  • 7178292 adding more badges no longer replaces what the cart already holds

v2026.09.09.3

September 9, 2026

Features

  • 89c79c2 pay-at-the-door sales are granted by RallyPoint, never a default

v2026.09.09.2

September 9, 2026

Features

  • 4e885f5 a My Purchases page — every purchase at a convention, its receipt, and the door to a refund

Bug Fixes

  • 26e3f61 a pay-at-the-door purchase never expires and never folds back into the cart

v2026.09.09

September 9, 2026

Bug Fixes

  • d05c1c4 the organizer badge list keeps every column on screen, with bundles on a row of their own

v2026.09.08.2

September 8, 2026

Features

  • 2a4a224 a private release can set how many badges each link holder may buy
  • ace3c7f the app home leads with Attending, then conventions you manage, and skips empty sections
  • 2d8617e the organizer is always on the staff roster, first and unremovable
  • c97cddf private releases — sell a badge type to a chosen group through a link before the public sale

Bug Fixes

  • 468cb4a the organizer badge list keeps long descriptions and bundles to a few lines
  • c0d42ff the homepage countdown says "days to doors open"
  • 635f002 a Linktree link gets its own icon on convention pages

v2026.09.08

September 8, 2026

Features

  • 11f2f89 sponsors can apply for several sponsorship levels at once
  • 3159610 applications can ask for files, and applicants attach them without leaving the form
  • a010bb3 exhibitors get their own terms page, falling back to the sponsorship terms
  • 2f78297 the app links back to the RallyPoint site from the footer and the account menu

Bug Fixes

  • 774a07f the timespan template button is gone and Clear All asks first
  • 7b02f21 schedule and info pages show the whole banner instead of cropping it
  • e1203b7 the badge callout and cart count stay readable on any brand color
  • 0e13e93 a sponsor level's max count refuses zero or negatives instead of silently saving one

v2026.09.07

September 7, 2026

Features

  • 07b88ef info pages can be links that open another website in a new tab
  • d8c3d9b online payment turns on by itself when a convention connects a tax-ready Stripe account

Bug Fixes

  • 8a7ea81 a discount code that makes the cart free still shows, with a way to remove it
  • 75c8a0e a single-day event schedule fills its end date after the start time is picked
  • 549eb40 larger logo in the site header; a homepage with no banner gets a compact hero
  • e24cb88 theme editor save waits for a change; a new banner is assumed to show the con name
  • 022e501 badge prices only say pay at the door when online payment is off

v2026.09.06

September 6, 2026

Features

  • b3cea37 conventions require a time zone, and changing it can move the schedule with it
  • b351bb3 homepage gets a fifth move, Show Time, and speaks to search engines
  • 333c28b merch product descriptions are rich text

Bug Fixes

  • 9ad58c7 a refused timespan resize says why instead of silently keeping the old time
  • dfbd5a8 the time zone reads as data, not a hint, on the wizard review and the confirm
  • 4a5d3cb the convention wizard's format grid fills two columns and the review shows the time zone
  • 294b9dd url fields accept a bare host and read it as https
  • d73a041 a merch product with two incomplete variants no longer wedges the page
  • 310f3f5 badge type form treats a cleared count as blank and names a bad one
  • 15c3d68 platform fee line reads "minimum" when the fee floor applies

v2026.09.04

September 4, 2026

Features

  • 4595ba7 site rebrand: new RallyPoint logo, app icon, and homepage

v2026.09.03

September 3, 2026

Features

  • 93fbea9 public pricing with a calculator, a plain-words changelog, and a refreshed carousel
  • c4412b5 the blog opens with a four-month retrospective, and the footer's social links go live

Bug Fixes

  • d2cefcb the create-convention wizard sends invitations to the co-organizers you list

v2026.09.02.2

September 2, 2026

Features

  • 7a665bc reservations expire — 30 minutes to start paying, and a way to walk away
  • e465d6d public roadmap page — what's being built now, what's next, and what's being explored
  • d5f0821 badge types can cap how many an account may buy

Bug Fixes

  • b4d4ae5 changelog lists features before fixes in every release

v2026.09.02

September 2, 2026

Features

  • 9f34133 discount codes scope by family and group — a checked branch covers what's added later
  • d34bd4f discount codes — prize codes, early birds, and secret links (ADR 0020)
  • 7fd2459 refund yourself — self-serve refunds inside the convention's declared window

Bug Fixes

  • 9e4a80d discount savings in the cart, expired codes refused, codes on ledger detail; any badge can join
  • c64187e public discount codes are advertised on the badge shop and merch catalog
  • ac90e4f discount code editing, zero-default amounts, and a usable date picker
  • b4482c4 refund reasons appear in the transaction timeline and financial export
  • c16427f refund polish — bundled swag voids with the badge, reasons surface, dialog dressed properly
  • 9f6005a paid event seats cancel through the convention, and submissions get length limits

v2026.08.29

August 29, 2026

Features

  • 7d13086 reserved carts can go back — return items to the cart, combine, and reconfirm
  • 33fd0e4 the Show Time pulse — real con-health numbers on the organizer desk
  • 9a792c4 signup rules speak only when they bind you
  • 2ad3b00 sold-out events show how many people are waiting
  • 1751e64 the Show Time tab bar wears the convention's colors, with bigger tap targets

Bug Fixes

  • 2127f82 every new account gets the display-name step, plus wizard date rules and signed-out nav
  • 2099290 returned reservations combine correctly with new picks, and cancelled merch leaves My Badges
  • ef475f1 pulse itemizes exceptions, not the now-playing wall
  • 36ab89a event info box carries the title; hosting note goes quiet
  • 9d3b1be host roster splits into A-Z attendees and join-ordered waitlist
  • 1672b57 the signup-waves calendar speaks sentences, not notation
  • 204a557 badge-type availability computed in bulk — sold-out math stays fast under load
  • 292c211 attendee pages fetch in parallel — one round trip, not three
  • 86b6394 My Badges loads fast — merch availability computed in bulk

v2026.08.26

August 26, 2026

Features

  • 290252e every lifecycle milestone gets one switch, on one timeline
  • 4650d5c convention sites ask for your display name right after signup
  • cf82fd5 organizer navigation works on phones, and reads config-first
  • f6379ea open tabs offer a refresh when a new version ships

Bug Fixes

  • 459eeee cart estimates never under-quote — tax estimates round up

v2026.08.24

August 24, 2026

Features

  • aa13ed0 applicants hear about their decisions by email, not just by badge count
  • ce8ed93 the payment settings page links straight to the Stripe dashboard
  • 74c3699 connect the organizer's Stripe account from the Payouts card
  • bf5d32b charges run on the convention's connected account; refunds follow the recorded one

Bug Fixes

  • 834c77a cash-only conventions stop nagging settled checkouts with the cart icon
  • 824398b the payment settings page tells the merchant-of-record truth
  • b5807c1 the refund dialog no longer loses your selections mid-edit
  • 64d1368 mid-onboarding accounts read as onboarding, not disabled

v2026.08.22

August 22, 2026

Features

  • 98f7a70 the receipt we should have been sending all along
  • 09cc3b4 refunds from the attendee page, where the request actually arrives
  • 411e617 the ledger tells the truth about refunds
  • 86737f0 refunds — organizer-executed, unit-level, append-only
  • 548a7ca transaction anatomy view — every number explains its neighbors
  • 7d868d7 the funded fee stack — gross-up covers everything, fees venue-pinned
  • 88a1b63 volunteer-shift vs event-signup conflicts — block, warn, alert, banner
  • 71aecf0 date-span filter on the financials report
  • 31d1983 refund policy on the payment settings page
  • a1a1330 organizer payment settings page
  • 9f92af1 embedded Stripe Checkout on the cart page
  • 689a4c8 cart shows the full charge before Stripe does
  • 61e444d retire the hybrid venue type from organizer surfaces
  • 6f7a303 venue-sourced stripe tax through checkout; two-line fee split
  • 24d1a91 tax codes by line kind; breakdown capture; ADR 0017
  • 4390d67 stripe tax rides the checkout when enabled
  • 827a460 per-convention fee schedules with platform-set rates
  • f6c6d6f cart pays online when the convention enables payments
  • 75452c6 stripe sale slice — computeFees, pay endpoint, webhook
  • d8f0d97 payments schema foundation — fee schedules, settings, dispersals

Bug Fixes

  • a7b7ed9 receipts link to the convention's front door and chase unfinished badges
  • 79d8b06 the tax estimate vanished the moment the fee lines landed
  • ea6ba36 field notes from the first real refund through the UI
  • 7f35371 the refund email said less than it should, in a format nobody reads
  • c6631f4 sequential refunds of fungible units collided on the idempotency key
  • b4e5d20 refunded merch never left the shelf; tax rounding leaked a cent
  • 19b7263 rate dry-run needs the performance location; footer env; ledger links
  • f95079f provisional display names prefer the human's actual name
  • 7627b81 checkout returns stay on the subdomain; events grid gets search
  • d6a0f4b payment settings in the nav; convention-pays fee gets its record
  • 4e9e7ff fetch the expanded tax breakdown at the webhook
  • 6068b94 gauntlet round two — transfer leak, hidden reservations, email prefill
  • f0f33bb demo-day polish — settled seed data, discoverable cart, honest links
  • 012ba76 mint-then-pay honesty — pending is not collected, reloads resume
  • df42555 embedded checkout — Stripe renamed ui_mode to embedded_page
  • 49ed892 forward stripe env vars in the cloud run deploy list

v2026.08.14

August 14, 2026

Bug Fixes

  • cf5e7df mobile polish — room emphasis, marketing carousel thumbnails
  • 399803e cart quantity edits render without a reload; trashcan per standard
  • ce7cd36 draft conventions expose no attendee surfaces
  • 2e36028 phone add-to-cart bar no longer hidden under the bottom tabs

v2026.08.13

August 13, 2026

Features

  • 916d313 split badge payment state from physical status (finding #23)
  • 5928ecb per-convention web app manifest and app icon — install the con

v2026.08.11

August 11, 2026

Features

  • 38edbc5 snapshot hold prices and audit checkout transactions

Bug Fixes

  • 7576e93 api vitest loads its own .env — bare pnpm test ran 39 of 433 silently

v2026.08.10.2

August 10, 2026

Features

  • 8a83508 staff-added notification email for existing accounts

v2026.08.10

August 10, 2026

Features

  • bb0e0ae kiosk operator pins — mandatory personal pins, widened rosters, desk ux
  • 061c908 transactional email rail — invite sends via Postmark (ADR 0016)

Bug Fixes

  • 7eac8ab seed heals robot clerkIds across instance splits; signup spec marked slow
  • d8a53e9 e2e webservers get dedicated dev:e2e scripts with pinned ports
  • 886931b alerts mark-read wedge — confirm before flipping, merge without stomping

v2026.08.08.2

August 8, 2026

Features

  • d60dd3b marketing pass — the site tells the whole story, honestly
  • e8561bf sponsorship and booth fees are ledger rows — the last money hole

v2026.08.08

August 7, 2026

Features

  • 256e1d5 ledger CSV export — the report as columns, not prose
  • a0bce4b badge grant admin tool, and an Attendee Tools page to hold it
  • 5eedddc volunteer badge grants, and bundled merch flows through every grant path
  • aa185d4 badge_grants — the first-class grant record with value snapshots
  • b99f69f grants are line items in the ledger, beside what was sold
  • b338b7b convention financials — the audit report over the cart ledger
  • f653a0d event tags — organizer-defined, descriptive only

Bug Fixes

  • f14e7df e2e hardening and export filename fixes surfaced by the release gate

v2026.08.07

August 7, 2026

Bug Fixes

  • 22180e7 the apex is a first-party origin (production 401 regression)

v2026.08.06

August 6, 2026

Features

  • f478430 shared TypeBox primitives for bounded request schemas

Bug Fixes

  • 13e3ff7 close the error-envelope and OpenAPI drift

v2026.08.05

August 5, 2026

Features

  • a287ecf attendee-visible signup access — wave calendar, per-badge verdicts, annotated picker
  • 4c5b021 rework sales and signup gating — the armed date is the policy, rules are dated modifiers
  • ca899c6 event signup rules — staged access windows, caps, and a dry-run preview
  • 99e345f badge batch drops — per-type sale windows + the split generator

Bug Fixes

  • a3f3e34 signup-rules polish round — one cap per kind, aligned tables, full drop calendar
  • 17b3ee8 codex review round — permission drift, CAS desk transitions, public schema, contract truth

v2026.08.01

August 1, 2026

Features

  • abe84d0 merch audit log — every purchase-lifecycle verb on the record
  • 65789d8 cart coherence — shared timer, merch unit editing, kind chips, clear-all
  • bfb372f kiosk surfaces — /kiosk desk PWA page and Kiosk Setup registry
  • 02eb11d kiosk substrate — device registry, pairing, device-token auth, desk routes
  • bbd65c3 pre-attach permission grants to staff invites

Bug Fixes

  • 656b61d attendee merch polish — bundle visibility at sale, Ordered status, copy and alignment
  • f8d4057 merch cart lines say items, not seats
  • 4c1d439 merch adds append per-badge quantities instead of replacing the hold
  • 43d5960 kiosk activity entries — reuse checked_out, show operator and device

v2026.07.31.1

July 31, 2026

Bug Fixes

  • 65b6ba2 invite page resolves the signed-in-but-unprovisioned session race

v2026.07.31

July 31, 2026

Features

  • 9e58663 bake GotS brand assets into the demo seed
  • 3edb94a merch v1 — products, variants, badge-bound sales, bundles, fulfillment

v2026.07.28

July 28, 2026

Features

  • 4956a76 image pipeline — client downscale, banner focal point, rich-text images
  • c509b02 sales arming — datetime triggers with an armed guardrail

v2026.07.27

July 27, 2026

Features

  • 3bf7366 render the deeper-page banner clean with a breadcrumb bar beneath
  • ea74ae7 demo con world seed + weekly reset cron

Bug Fixes

  • 80bac5e creation flow saves State/Province to region, not country

v2026.07.24

July 24, 2026

Features

  • 7ecbcee social icons on public convention pages
  • f3a4b14 scoped sidebar + overview filtering (permissions slice 3)
  • b62a204 area-grant management + scoped staff access (permissions slice 2)
  • a4f387a per-area permission grants — enforcement layer (slice 1)
  • c80d7e1 rebuild organizer dashboard as owner overview

Bug Fixes

  • fad1808 structural catalog reads open to any organizer grant
  • 2d6cb64 outcome-only confirm dialog; reseed owns the staff roster
  • 01edd17 passthrough feedback — confirm dialog, blank-dialog bug, pulse spread

v2026.07.23.1

July 23, 2026

Features

  • 2cb22c9 event share links for non-public events

v2026.07.23

July 23, 2026

Features

  • 40ca5e5 personal event queue for attendee notifications (ADR 0014)

Bug Fixes

  • 524f65f locate the avatar menu trigger by aria-label, not display name
  • 9c5606e serialize Unit Tests before E2E to close a shared-DB race

v2026.07.22

July 22, 2026

Features

  • 4e38644 exhibitor info page, splitting the pitch from the exhibitor roster
  • e3da269 sponsorship info page, splitting the pitch from the sponsor roster
  • e99f37e sponsor level caps, plus a shared custom-fields-editor bug
  • 86d9937 badge-type transferability flag, plus a routing bug sweep

Bug Fixes

  • b05a6cf schedule unschedule, decision panel, and submit-event link

v2026.07.21

July 21, 2026

Features

  • 31a4dcd invite system — staff invites and badge-claim invites

Bug Fixes

  • 602044f label the Attendees page's two <select> elements to fix a CI regression
  • ea9a5da new-account signup hand-off — /welcome absorbs the post-signup session race
  • 58b7fdd convention-staff removal no longer strips the true organizer's Everything grant

v2026.07.20

July 20, 2026

Features

  • 20a9e11 everything permission — delegable staff access on top of the roster
  • 68da66d convention staff roster with masked-email search-and-pick

v2026.07.18

July 18, 2026

Features

  • d93c102 volunteer workload warning counts a rolling 24-hour window
  • cd7de2f subdomain guardrails — slug validation, reservations, draft lock

Bug Fixes

  • ac3d4a3 failed loads fail loud instead of rendering convincing emptiness

v2026.07.17

July 17, 2026

Features

  • a12efd6 show time v1 mode + attendee nav restructure (ST-1)
  • 946a380 organizer nav shell — collapsible sidebar on every management page

Bug Fixes

  • 8d3d815 enforce event-type max capacity on every event write path

v2026.07.16

July 16, 2026

Features

  • bb12e0c neutral room vocabulary, real error pages, morning-review records
  • 158da43 event signups + generalized cart — seats, waitlist, ledger, My Events

v2026.07.14.1

July 14, 2026

Features

  • 03dde74 event submissions — single-table proposals with an explicit event state machine

v2026.07.14

July 14, 2026

Features

  • 9bd1f45 exhibitor QA round — one-space booths, hall-creating CSV import, batch-save editor
  • dd3825e add exhibitor profiles, public showcase, nav, and seeds
  • 25bc5d3 add exhibitor review, decisions, extras editing, booth assignment, grants
  • 56de518 add exhibitor application track (public form, submissions, config panel)
  • 8a64324 booth inventory, extras catalog, and CSV import for exhibitors
  • 77288ed room/space purpose system with event-type limiters
  • 813a518 exhibitor + room-purpose schema and types
  • 170a5c4 show badge number ranges as a column on the badge types list
  • ee1edbf designated-pages registry with protection and prefilled deep links
  • 521069a sponsors — applications, levels, review, badge grants, and the public page

Bug Fixes

  • 793c560 events list updates in place when an event is deleted

v2026.07.11.1

July 11, 2026

Features

  • 1110ede confirm event deletion inline before it fires

Bug Fixes

  • dced0ab return OAuth sign-ins to the page that asked for authentication
  • ef8d373 point the API docs token link at the current environment's app URL

v2026.07.11

July 11, 2026

Features

  • 5135df2 add /token page for grabbing an API bearer token
  • 635542c rebrand the API reference with Scalar at /docs
  • 0ebdc7a lock crewed shifts against schedule changes while volunteers are assigned

Bug Fixes

  • dc31f17 drain in-flight requests on deploy and bound the database pool

v2026.07.10

July 10, 2026

Features

  • 590130b volunteer management — applications, review, shifts, and CSV import
  • 85bfc15 shared timespan-bound date range picker

Bug Fixes

  • f228e8a show the last day on timespans for spans crossing midnight

v2026.07.08.3

July 8, 2026

Features

  • f3dd90b mask legal names on the attendee roster

v2026.07.08.2

July 8, 2026

Bug Fixes

  • bec49a8 hide the check-in button on cancelled badges

v2026.07.08.1

July 8, 2026

Features

  • 4ef90f1 badge roster, check-in, and badge numbering

v2026.07.08

July 7, 2026

Features

  • 9f1f036 user identity setup and badge registration with cart

v2026.07.06.1

July 6, 2026

Features

  • fede688 convention pages with revision history and public info menu

v2026.07.06

July 6, 2026

Features

  • e06f30b convention configuration page for status and public switches
  • 141d2b3 convention status drives the public site

v2026.07.05.1

July 5, 2026

Features

  • df813df derived-surface containment for marquee strip and rail

Bug Fixes

  • 26acb64 keep sanitize-html external in the api esbuild bundle

v2026.07.05

July 5, 2026

Features

  • b592deb convention setup checklist, live homepage preview, dashboard polish
  • 3acd397 public attendee schedule with filtered table view
  • 53f5eb0 dedicated home page settings + marquee right-rail consolidation
  • 065142f marquee homepage layout with toggle-driven lifecycle
  • 1ea6370 details page coverage for homepage fields + full timezone picker
  • a873f2f convention homepage foundation — schema fields, rich description, drop custom CSS

v2026.07.04

July 4, 2026

Features

  • d24acbd room filter on the schedule grid
  • b22af29 15-minute precision in the timespan editor

Bug Fixes

  • 7b19426 support timespans crossing multiple midnights in the builder

v2026.07.03

July 3, 2026

Features

  • e56aabf public site polish and GCS upload wiring for deployed environments

Bug Fixes

  • 2a70bf7 watch workspace package sources in API dev server

v2026.07.02.1

July 2, 2026

Features

  • 75acb77 roll paged envelope, sorting, and pagination out to all list endpoints
  • 4d8b4ee list toolkit with paged envelope, piloted on GET /events

Bug Fixes

  • d30a9a5 restore floated transitive deps from playwright bump
  • 2c0cb93 apply principle of least information to user emails; alphabetize event hosts
  • 6917609 redirect www.rallypoint.events to apex via marketing Worker

v2026.07.02

July 2, 2026

Features

  • 3e9c9c4 switch staging Clerk instance to production; drop satellite mode
  • 446bc2c migrate web and marketing apps from Cloudflare Pages to Workers
  • 90ad74b gate Clerk satellite config behind PUBLIC_CLERK_SATELLITE env var

Bug Fixes

  • d737e6e marketing staging at stagingrally.events root to mirror production topology
  • e9dc30a move marketing staging to preview.stagingrally.events
  • 42a8a38 externalize @google-cloud/storage from esbuild bundle
  • 4ac9dac install wrangler via pnpm workspace to avoid npm workspace: conflict
  • e5c6fb8 use wrangler-action and pass PUBLIC_APP_URL at marketing build time

v2026.06.30

June 30, 2026

Features

  • 5d604f7 public convention site with subdomain routing
  • cc0a50f add GCS image upload for convention theme (header + logo)

v2026.06.28

June 28, 2026

Features

  • f417dc4 add schedule grid with collision detection

v2026.06.25

June 25, 2026

Features

  • bb3a0aa event hosts, ConventionDateTimePicker, and event edit revamp

Bug Fixes

  • 81e2061 update smoke test selectors for revised dashboard layout

v2026.06.24

June 24, 2026

Features

  • f981d32 replace convention days with timespans model and timespan builder UI
  • 5b3c2f3 event types, events scaffolding, and days timespan prototype
  • 6308bb3 changelog page with auto-generation from conventional commits
  • 1655c4f rooms and spaces management with hierarchical venue model
  • d081dba convention days management with generate prompt and batch save
  • 5f7338d convention details page with venue type and URL fields
  • 1edb6c0 stand up API with seeded database in CI for E2E tests
  • 443fd97 smoke test suite with Clerk auth and critical path tagging
  • 50dc27f responsive design for marketing site
  • 06b8b34 add My Conventions link to user dropdown on both apps
  • 957fcc6 conditional satellite mode for Clerk cross-domain auth
  • fd83366 configure Clerk satellite domain handshake
  • ce5ebda user dropdown menu and API docs link in both app headers
  • 19adc7e env indicator, auth-aware header, and API docs link
  • 723d566 migrate convention dates to date type; expose timezone field
  • 641539e dev toast for API error bodies in local development
  • 9e8fe48 badge type management — API, UI, types, tests
  • d9b7614 restore convention hub, theme editor, and routing
  • 0d041c1 convention theme editor, routing refactor, and url architecture
  • 11013fd add GET/PATCH/DELETE convention routes, theme field, and openapi auth docs
  • c524ce4 add typebox schemas, openapi docs, and api.rallypoint.events routing
  • 3bba7f1 add sign-up route and wire create-convention end-to-end (#23)
  • 4901cdb add sign-up route and wire create-convention end-to-end
  • 7ffa8d7 update ci workflows to deploy to staging and prod (#20)
  • 5b2b613 persist conventions — API auth middleware, POST/GET routes, wired frontend
  • e9dba65 web app UI — header/footer, create-convention wizard, auth fixes (#17)
  • cea9bf2 clerk webhook integration and Cloud Run deployment (#16)
  • e22af06 gate web app, add welcome home, and marketing placeholder pages (#15)
  • 4bb0b9e core schema design, migration, and test seed data (#14)
  • 5261a6a env, deployment, and Clerk auth wiring (#12)
  • f47c7db add Playwright e2e test for conventions page
  • 53cff20 scaffold apps/marketing SvelteKit marketing site
  • b33e0db scaffold apps/web SvelteKit attendee app
  • e50481f scaffold apps/api with Fastify, OpenAPI, and Drizzle wiring
  • 5855fff scaffold packages/domain with convention business rules
  • 1f23cc9 scaffold packages/types with API contract types
  • 4d592c8 Set up visual editing mode with Builder.io integration

Bug Fixes

  • 00becb1 collapse migrations 0008-0011 into single clean migration
  • 4451930 always use dev:ci for API in Playwright config
  • 0258c5f use watchless API dev command in CI
  • 189c590 gracefully handle API unreachable on home page
  • 6a5983b remove unused PUBLIC_APP_URL import from marketing Header
  • 5c4edfe use dynamic public env for PUBLIC_API_URL in marketing footer
  • a08572c use named imports from \$env/static/public in web Footer
  • d742e12 merge theme patch into existing displayConfig and invalidate layout cache on save
  • dc6f31a use data.apiUrl instead of import.meta.env for client-side API calls
  • 92b0cba resolve convention list serialization failure
  • 4d70591 accept format:date for convention startDate/endDate in request schemas
  • ee1b6db skip badge-type integration tests when DATABASE_URL is not set
  • 6df3713 pass vitest when no test files found, disable turbo telemetry
  • e04968f run svelte-kit sync before tsc in builder typecheck
  • 65b08b6 drop standalone typecheck from packages/ui
  • fa48344 require Node 22 for pnpm 11 compatibility
  • 97d01cf resolve pnpm version conflict and opt into Node 24 actions
  • 3e52bfc Change footer layout from column to row flex direction
  • 874c75b Add w-full to footer grid for proper container alignment
  • 6ab4bc2 Use flexible grid columns to prevent layout overflow
  • e66d6ff Correct carousel rotation direction for card positions
  • 261aa97 Wrap footer content in proper container styling
  • 70999d2 Align all page sections to consistent 1200px grid
  • df810e8 Adjust carousel card heights and prevent text overflow
  • 2ee4c66 Remove right padding from carousel section to prevent cutoff
  • 84a181d Wrap carousel grid in flex container to prevent layout breaking
  • 470f644 Refactor carousel to CSS grid layout without overlapping
  • 0ee7820 Remove duplicate closing brace in page template
  • 25c2dd4 Apply text color to schedule description paragraphs
  • b7d091f Wrap carousel card blocks in each loops for reactivity
  • 152a775 Resolve carousel, image, and styling issues in components
  • 13cac39 Resolve TypeScript and Vite build errors in dev server
  • dceb951 Add ./lib to Vite server fs.allow configuration