v2026.12

Welcome back. v2026.12 is the biggest release Midsummer has ever shipped: two entirely new modules, a rebuilt time clock, a real point-of-sale, and about six weeks of accumulated everything. This also folds in v2026.11.1 and v2026.11.2, which went out quietly and never got their own notes.

Grab a coffee. This one's long.

New Modules

  • Inventory - a whole new module for tracking physical gear. Assets get barcode tags, live in boxes, and get checked in and out against departments and people. Includes per-department asset views, a "my assets" page for staff, an asset request flow, logistics terminals for load-in/load-out, and custom fields so you can track whatever your con actually cares about. Enable it per event in Event Settings.
  • Team Chat - built-in chat for your staff, backed by Matrix. Per-department rooms, direct messages, attachments, @mentions, pinned messages, and profile cards. No more running a separate Discord for ops. Enable it per event in Event Settings.
  • Signup & Tenant - Getting closer to SaaS Open Beta Release, we've improved the user signup process, onboarding, and Tenant Management.

Register

  • Check-in got significantly faster. Registration records now carry proper first/last name fields, the check-in list uses a slimmed-down payload, and large events should notice the difference immediately.
  • New Roster Lookup check-in step, upload a roster ahead of time and match attendees against it by email during check-in.
  • New Checklist check-in step for anything you need staff to confirm before handing over a badge.
  • New Check-in Metrics dashboard with configurable targets, plus a check-in timing log so you can see where the line is actually slow.
  • Merch Pickup Terminals, dedicated QR-driven stations for handing out shirts and swag, separate from the main check-in flow.
  • Accessibility program, registrations can now capture mobility, eyesight, elevator, seating, and assistance needs, with enrollment tracking and notes for your accessibility team.
  • Cash payments, forms can be flagged to allow cash, and registrations track when cash is still owed.
  • Self check-in and self-upgrade flows for attendees.
  • Watch list entries now match on first and last name independently, and blocked names are enforced at registration ingest.
  • Badge numbers are now guaranteed unique, with a dedicated assignment endpoint.
  • Registration edit logging expanded to cover the new fields.

Staff

  • Time clock, substantially rebuilt. Clock entries are now validated against sane intervals, staff can clock themselves out, punches are tracked per department, and shifts left open get auto-clocked-out instead of running forever.
  • New Time Clock Hours Check view so leadership can spot people under (or wildly over) their targets, with configurable minimum hour goals per event.
  • Staff Planner, a Gantt and kanban board for pre-event planning, with per-department oversight and access control.
  • Shift Assignments view, plus shifts that can be opened to all staff rather than a single department.
  • Departments can now allow staff to drop their own shifts.
  • Separate bidding for whole shifts vs. individual slots, with proper duplicate protection.
  • New Staff Members directory and staff profile cards.
  • Configurable staff profile fields and a Job Openings tab for departments that are recruiting.
  • Onboarding flow rework, staff dashboard, and shift acceptance.
  • Departments can be pinned across multiple events.
  • Staff schedule queries are now correctly scoped to the current event.

Schedule

  • My Schedule tab on the schedule index, a combined grid and agenda view of every panel you're interested in or on.
  • Room Blackouts, mark rooms unavailable for a window so nothing gets scheduled into them.
  • Panel reminder emails, with tracking so nobody gets pinged twice.
  • Digital signage displays now support custom room ordering.
  • Scheduler component swapped out; the old editor is gone and the new one is faster and less fussy.
  • Panel responses view rebuilt with better filtering.
  • Fixed ICS export and a timezone bug in block export.
  • We're now using @jouleworks/scheduler instead of KendoUI for schedule. It's open source, you can check it out here: https://npmjs.com/package/@jouleworks/scheduler

Shop

  • Point of Sale. Full server-driven POS backed by Stripe Terminal, including reader display support so customers see their order on the card reader. Set up stations under Shop Settings.
  • Shop items can now be restricted by sales channel (online vs. in-person).

Vendors

  • Vendor check-in for accepted vendors at the door.
  • Vendor checkout pricing service, booth and add-on math is now consistent everywhere it's calculated.
  • Vendor email editor cleanup.

Kiosks

  • We've updated our implementation to KioskOS 2.1.0, with a proper fleet management page.
  • Devices now enroll with one-time enrollment codes instead of being trusted by default.
  • Remote commands, screen orientation control, and a toggleable device shell.
  • Kiosk device management pages added under Register, Staff, Shop, and Inventory.
  • Fixed a scanner conflict on PDA hardware.

Accounts & Security

  • Passkeys. WebAuthn credentials can now be registered and used to sign in.
  • Two-factor authentication gating tightened — SSO logins with a second factor configured are now properly challenged, and orgs can require 2FA for all staff.
  • Cross-domain login tokens for moving between event subdomains without re-authenticating.
  • User avatars across the app.
  • New account details and account security pages.
  • Several rounds of security hardening following an internal audit.

Tenant & Platform

  • Self-serve signup — new orgs can sign themselves up and get provisioned without us in the loop.
  • New event wizard with import/transfer, so you can start next year's event from last year's data.
  • Tenant UI redesign and theme facelift.
  • Storage usage tracking feeding into billing, visible on the Billing page.
  • Membership profile custom fields, configurable per org.
  • Per-event toggles for the new Inventory and Chat modules.

UI

  • Omnisearch — one search box, everything in it.
  • Shared email editor component, used across Register, Schedule, Staff, and Vendors.
  • Accessibility improvements throughout.
  • We've moved around the items to make a bit more sense to showrunners instead of being organized by permission.
  • A long list of layout, margin, spacing, and z-index fixes from two rounds of UX review.

API

  • /api/v2026-01/register/checkin-metrics/ — check-in throughput data for technical users, scoped to Register admin tokens.
  • Public schedule and events endpoints added to the v2026-01 API.
  • OpenAPI schema, Swagger, and ReDoc docs now served under /api/v2026-01/docs/.

Bugfixes

  • Fixed a duplicate-key crash during event import.
  • Fixed a migration artifact bug.
  • Fixed WebSocket consumers dying after a few seconds of idle.
  • Fixed panel mangling on save.
  • Fixed timezone handling in several places.
  • Fixed permission checks on kiosk search and inventory for non-staff users.
  • Fixed badge rendering.
  • Fixed dropdowns rendering behind dialogs.
  • Fixed handling of events queried before they've started.

Here we go. Deep breaths. Welcome to Midsummer!

Yuukari

Yuukari

Midsummer Creator