What's new
v2.158.1
Behind the scenes: security updates
v2.158.1July 22, 2026
- Picked up security patches in some underlying libraries, including the tool that resizes uploaded photos. Nothing changes in how the app looks or works.
Admins can add an existing member to a club
v2.158.0July 22, 2026
- Platform admins can now add an existing account to a club from the admin club page — handy when someone should be in a club but hasn't joined themselves. The added member is notified and can leave the club anytime.
Search the member list when adding someone to a session
v2.157.0July 21, 2026
- Adding a club member to a session — and the household, coverage, and hand-off pickers — now has a search box once the list is long enough to scroll. Start typing a name instead of hunting the whole club, and the list is sorted by name.
Club admins can switch the session Activity tab on per club
v2.156.0July 7, 2026
- Club admins can now turn the session Activity tab on or off for their own club, in Club settings — a plain-language history of what happened to each session, for its players, bookers, and admins. Off by default; nothing shows until a club opts in.
Coming soon: a session activity history for players
v2.155.0July 7, 2026
- We're rolling out an Activity tab on session pages — a plain-language history of what happened to a session (who joined or left, when the roster locked, and each step of a payment), for the session's players, bookers, and club admins. Rolling out gradually.
Behind the scenes: a complete session activity history
v2.154.0July 6, 2026
- Admin: the session Activity history is now complete — every action on a session (proposing, joining or leaving, booking and editing courts, coverage changes, locking, and each step of a payment) records an entry. Admin-only; nothing changes for members.
Behind the scenes: a session's activity history for admins
v2.153.0July 6, 2026
- Admin: the session detail page now has an Activity card — the running history of what happened to that session (who locked it, edited it, paid, and so on), read straight from the audit log. Admin-only; nothing changes for members.
Kings & Queens is now a per-club choice
v2.152.0July 6, 2026
- Club admins can now switch the Kings & Queens ladder scorecard on or off for their own club, in Club settings. A night already in progress keeps playing even if the scorecard is later turned off.
Fairer split when two people book courts
v2.151.0June 26, 2026
- Fixed how reimbursements are split when more than one person fronts the courts: the leftover few cents that don't divide evenly now settle directly between the bookers, so everyone's fair share is exactly right. A small 'settle up' between organizers reads as just that — not a charge for the game.
Club logo on the session page
v2.150.2June 24, 2026
- Fixed the club logo not showing beside a session's title — it now loads correctly instead of a blank square.
Tidier frozen header on scroll
v2.150.1June 24, 2026
- Fixed the frozen page header so the tab strip (and month labels) now sit flush against it as you scroll — no more sliver of content peeking through the gap, on any page or screen size.
Tabs that stay with you
v2.150.0June 24, 2026
- On club and session pages, the tabs now stay frozen just under the page title as you scroll — so you can jump between Sessions, Members, the roster, and the bill without scrolling back to the top first.
The pic sits beside the name
v2.149.0June 24, 2026
- A club's logo, your profile photo, and a session's club badge now sit right beside the page title in that frozen header — so each page leads with its own identity at a glance. The old separate identity card is gone; its details (sport, members, bio, pronouns, venue) now flow as the first thing you scroll to.
A slimmer page header that stays put
v2.148.0June 24, 2026
- Every page's title and back-link now stay frozen at the top as you scroll, so you always know where you are and can step back without scrolling up. The header is also more compact, giving the content below more room.
Add a session to your calendar
v2.147.0June 24, 2026
- Every upcoming session now has an “Add to calendar” button — get it into Google Calendar in one tap, or download an .ics for Apple Calendar, Outlook, and others. The event lands at the right local time wherever you are.
Three fixes from your feedback
v2.146.0June 24, 2026
- The Help page no longer flashes its menu bar as it loads — the nav is now in place from the first paint, like every other tab.
- On your Account page, a device that already has push notifications on shows a simple “This device is on” confirmation instead of re-offering to enable them.
- Bigger club rosters now get a search box on the Members tab, so you can find someone by name or @handle without scrolling.
Invite where it belongs
v2.145.0June 23, 2026
- “Invite members” now lives at the top of a club's Members tab, instead of repeating above every tab — so the club page leads each tab with the one action that fits it.
Accessibility polish (admin)
v2.144.2June 23, 2026
- Tightened the admin console's tappable user chips so every name link clears the minimum touch-target size, even where the avatar is small. Admin-only; nothing changes for members.
Accessibility polish (admin)
v2.144.1June 23, 2026
- The admin console's section tabs are now keyboard- and screen-reader-friendly (arrow-key navigation, proper tab semantics) and each section is link-shareable. Admin-only; nothing changes for members.
Behind the scenes
v2.144.0June 23, 2026
- Housekeeping only — the tabbed session page is now a permanent part of the app, so we removed the temporary switch that turned it on. Nothing changes on your screen.
Behind the scenes
v2.143.0June 23, 2026
- Housekeeping only — the tabbed club page is now a permanent part of the app, so we removed the temporary switch that turned it on. Nothing changes on your screen.
Tidier club pages
v2.142.0June 23, 2026
- Cleaner club pages: the tabs are now Sessions, Members, and (for admins) Manage. Your games live under Sessions with a simple Current / Past switch instead of a separate tab, and a club's admin tools — Facilities, Recurring, Settings — gather under Manage.
Tabbed club pages
v2.141.0June 22, 2026
- Club pages are now tabbed: Sessions (your upcoming games), Members (the roster), and Past (finished games, newest first). The active sessions stay front and center instead of scrolling past every settled game. New clubs without a finished game yet simply skip the Past tab.
Groundwork for a tidier club page
v2.140.0June 22, 2026
- Behind the scenes: a club page can now split its sessions into a default view and a separate Past tab — so the upcoming games stay front and center while finished ones tuck away. It's switched off for now and turns on after a final quality pass; nothing changes on your screen today.
A roomier layout on desktop & tablet
v2.139.0June 22, 2026
- The wider layout is here. On a laptop or tablet, pages now fill the screen instead of sitting in a narrow column with empty margins — your clubs and a club's sessions line up side by side, forms group related fields, and in landscape the menu bar tucks into a tidy centered pill. Your phone is unchanged.
Groundwork polish (still behind the scenes)
v2.138.2June 22, 2026
- Tidied the not-yet-live wider desktop/tablet layout so a list with just one or two clubs fills the screen cleanly instead of leaving a lone card stranded to one side. It's still switched off pending a final quality pass — nothing changes on your screen today.
Tidier session cards
v2.138.1June 22, 2026
- Small polish: the upcoming-session cards on your dashboard now use the same typeface — your next session still stands out as the larger, outlined highlight, just without switching fonts between cards.
Groundwork for a roomier desktop & tablet layout
v2.138.0June 22, 2026
- Behind the scenes: a wider one-column-becomes-grid layout for desktop and tablet — pages fill the screen instead of stranding empty margins, club and session lists go side-by-side, and the landscape menu bar tucks into a tidy centered pill. It's switched off for now and turns on after a final quality pass; nothing changes on your phone today.
Cleaner screens where you act
v2.137.0June 21, 2026
- A handful of polish fixes: “+ Propose a session” gets its own clear button on a club page (no more cramped wrap on small phones), the “Create recurring session” button no longer looks greyed-out, and a club's Settings save button now stays in reach as you scroll.
- A session page leads with what you do — the live cost preview is trimmed to a single line so your hours and share are front and center. And the landing page's main button gets the bold lime treatment.
One word for a session, and friendlier first steps
v2.136.0June 21, 2026
- Consistent wording: the app now says “session” everywhere it used to drift between “game,” “session,” and “tab.” Your dashboard reads Sessions / Next session / Wrapping up, and a “tab” now means just one thing — your balance for a session.
- Friendlier empty screens: the Notifications page no longer dead-ends on a gray line — it tells you what shows up there and points you home. Signing up explains why we ask for your phone and what happens next.
Headers that tell you where you are
v2.135.0June 21, 2026
- Cleaner wayfinding: pages no longer repeat the Court Tabs logo at the top (the nav bar already does that). Instead, a deep page like a session now shows a tappable trail — Clubs ▸ your club — and a bigger, easier back-link, so it's clearer where you are and one tap to step back up.
A cleaner, more consistent look
v2.134.0June 21, 2026
- Visual polish across the app: every screen now leads with one clear primary button, identity colors are calmer so the action you want stands out, and section labels read more consistently. Nothing moved — it just feels tidier.
Your stats now separate what your play cost from what you paid
v2.133.0June 21, 2026
- If a household member covers you, your dashboard used to show “$0 spent” next to a non-zero hourly cost, which read like a contradiction. Now the stat strip is clearer: it shows your cost per game and per hour (your fair share of court time, whoever pays), and when coverage actually moved money it adds a “you paid” figure with a line naming who covered whom — e.g. “Jenny covered your $11.30 — you paid $0.” If you’re the one covering someone, it says that too. No coverage in play? You see a calmer three-stat strip with no extra notes.
- Admin: a session's roster now shows when a player's share is covered by a household member (“· covered by @handle”) instead of looking like they still owe, and the roster row stays readable on the narrowest phones.
Reliability: no more false alerts for payment reminders to non-push players
v2.132.1June 20, 2026
- Behind the scenes: fixed a delivery-tracking bug that raised false internal alerts when a payment reminder went to a player who hasn't turned on push notifications. Those reminders were always delivered by email and in the app — only our own monitoring was miscounting them as undelivered.
Settled tabs spell out who's paying for whom
v2.132.0June 20, 2026
- A finalized session now says it plainly: when one household member covers another, the payer's line reads “paying for {name}” (and the covered player still reads “covered by {name}”), so a settled receipt explains itself instead of looking like someone owes by mistake.
- Changing your household's billing contact now tells you the score: open sessions move to the new contact automatically, and we flag how many already-locked or settled sessions keep their existing split — those stay as billed, so nobody gets a surprise.
Club facilities page now lists shared global venues
v2.131.0June 20, 2026
- Managing your club's facilities? You'll now see a read-only list of the shared global venues — the ones that already appear in every propose form — so it's clear which venues already exist and don't need adding again.
Behind the scenes: push-device signal on admin sign-in logs
v2.130.0June 20, 2026
- Behind the scenes: an admin convenience. The sign-in logs now flag, per row, whether that account has a push device set up at all — labeled clearly as account-level (sign-ins and push devices aren't linked, so it can't be pinned to a specific device). Nothing changes for normal use.
Behind the scenes: richer exception detail for admins
v2.129.0June 20, 2026
- Behind the scenes: an admin convenience. Each entry in the system Exceptions log now links straight to the session or account it's about, shows who acknowledged or resolved it and when, and the tab's help text now names every kind of issue it can record. Nothing changes for normal use.
Behind the scenes: more session info on the admin list
v2.128.0June 20, 2026
- Behind the scenes: an admin convenience. The Sessions list now shows each session's date and time, location, who proposed it, and who booked the court(s) right on the row — the same details that used to be a click away on the session page. Nothing changes for normal use.
Behind the scenes: push devices on the admin user list
v2.127.0June 20, 2026
- Behind the scenes: an admin convenience. The Users list now shows how many push devices each account has, right on the row — the same count that was already on the account's detail page — so a support check no longer needs a click-in. Nothing changes for normal use.
Behind the scenes: deactivation ends live sessions right away
v2.126.0June 20, 2026
- Behind the scenes: a security tightening. When an account is deactivated — by an admin, or when someone deletes their own account — any session it still had open is now ended immediately, so a disabled account can no longer keep using the app on a session it was already signed in to. Nothing changes for normal use.
Behind the scenes: payment alerts that won't go missing
v2.125.0June 20, 2026
- Behind the scenes: a sturdier safety net for money alerts. If a payment notification — a fee that's due, an unpaid reminder — can't reach you on one channel, we now keep retrying just the channel that didn't land (never re-sending the one that did), and if it truly can't be delivered we flag it to the team so nobody's payment alert quietly disappears. Nothing changes in what you see.
Behind the scenes: finishing the server cleanup
v2.124.1June 20, 2026
- Behind the scenes: a small follow-up that finishes the last few days' server tidy-up — session-chat photos now run through the same one shared upload-check as every other image, and the last duplicated time constants moved to a single home. Nothing changes in how anything works.
Behind the scenes: sturdier photo uploads
v2.124.0June 20, 2026
- Behind the scenes: the last of this round's server cleanup. Confirming a photo you upload — your profile picture, a club logo, a payment or feedback attachment — now runs through one shared check, so if our storage is briefly unreachable your profile-photo and logo uploads tell you to retry instead of failing silently. Approving or declining a club join request is also more robust: a hiccup right after the change is applied no longer shows a misleading error. Nothing else looks different.
Behind the scenes: consistent request handling
v2.123.0June 20, 2026
- Behind the scenes: continuing last update's cleanup, the server now reads and validates the data your app sends through one shared helper instead of dozens of hand-written copies. Normal use is unchanged — two rough edges are smoothed: a malformed or empty request now always returns the same clean error instead of an occasional cryptic one, and tapping a payment action that isn't recognized shows a clearer message instead of wrongly claiming the payment is gone.
Behind the scenes: one consistent sign-in check
v2.122.0June 20, 2026
- Behind the scenes: the server now confirms you're signed in through one shared check instead of ~100 hand-written copies scattered across the app. Nothing looks different — every screen rejects an expired or missing session exactly the same way it did before — there are just far fewer places a check could quietly drift or be forgotten.
Share a photo in the session chat
v2.121.0June 19, 2026
- You can now attach a photo to a session chat message — tap the 📷 button next to the box, pick an image, and send it (with or without a caption). Photos show right in the thread, and tapping one opens it full-size. Only the players who joined the session can see them, and you can delete your own — deleting also removes the photo for good.
A settled payment stops asking for proof
v2.120.0June 19, 2026
- Once a payment is marked received, its card no longer shows the prominent “Attach proof” button. Proof of payment was always optional — we never required it or sent a reminder asking for it — but the button made it look like we were still asking. A settled payment now reads as done, with just a quiet “Add proof” link in case you ever want to add a receipt later; anything you've already attached stays viewable.
Admin user-card polish — phone beside email, household on the list
v2.119.1June 19, 2026
- For Court Tabs admins: on the Users list, a person's phone now sits beside their email and their household (name + whether they're the billing contact or a covered member) shows at a glance — and on the user-detail card, email and phone go back to their own rows. Admin-only polish; nothing changes elsewhere.
Households are easier to find in the admin console
v2.119.0June 19, 2026
- For Court Tabs admins: a person's household (its name and whether they're the billing contact or a covered member) now shows right on their admin user card, and a new Admin → Households tab lists every household at a glance — tap the name to open the billing contact, or any member to open them. Admin-only; nothing changes elsewhere.
Notifications you stopped missing
v2.118.0June 19, 2026
- Behind the scenes: notifications (a session proposed, a payment due, a chat message) now arrive reliably even when a whole group is notified at once. Before, a burst could trip the email provider's rate limit and silently drop the later messages for anyone without push turned on; now a group's emails go out in one batched request, and a safety-net sweep re-delivers anything still missed within minutes. You shouldn't notice anything except that you stop missing notifications.
Your own share, and what an hour on court costs you
v2.117.0June 19, 2026
- Following on from last update: if someone else's share rides on your payment, each past game now shows your own share next to what you paid, and your stats add two reads that ignore the coverage — your own share per game, and a new avg / hr (your share divided by the hours you were actually on court). The headline "net spent" still shows the real cash out of your pocket; these just let you see what your own playing costs, per hour.
See when your spend covers someone else
v2.116.0June 19, 2026
- If you're the billing contact for a household, your per-game spend includes the share you cover for the people you pay for — which can make it look like you're paying more per game. Now your past sessions say so: a covered game shows a small "incl. {name}'s share" tag, and your stats note that net spent includes shares you cover. (Coming next: seeing your own share split out, and a per-hour cost.)
Admin: photos show on the user detail page
v2.115.0June 19, 2026
- Admin polish: on Admin → Users, a person's profile photo now shows on their detail page — before, it silently failed to load. Email and phone also sit side by side on wider screens, so the card is easier to scan. Admin-only; nothing changes elsewhere.
Steadier error messages
v2.114.0June 19, 2026
- Behind the scenes: the app now talks to the server through one shared helper instead of dozens of hand-written copies, so error handling is consistent everywhere. In normal use nothing looks different — but a few spots that could show a confusing error after a flaky or garbled response now fall back to a clear “Network error — check your connection and try again.”
Tap any picture to enlarge it
v2.113.0June 19, 2026
- Tap any picture — your profile photo, a club's logo — to blow it up in a viewer, anywhere it shows. Club logos enlarge for everyone now (they didn't before). And if it's a picture you can change (your own photo, or a logo for a club you run), the enlarged view has Change and Remove right there — Remove asks first, then drops back to the default.
Concurrency hardening
v2.112.0June 19, 2026
- Behind the scenes: three rare timing races are now closed at the database level — a flurry of chat messages can't double-notify or miscount the unread badge, an email-bounce alert can't be logged or paged twice on a provider retry, and a member can't end up in two households at once. Nothing looks different; the counts and alerts are just always right under load.
Tunable payment-reminder cadence (admin)
v2.111.0June 19, 2026
- Court Tabs admins can now set how payment reminders are paced — how often the automatic reminder repeats, how long the manual “Remind” button waits between nudges, and when reminders stop (by age and by count) — on Admin → Reminders, with per-club overrides in club settings. Off by default; when it's off, reminders behave exactly as before (1, 3, and 7 days after the game, up to three).
Admins can edit a household, not just create one
v2.110.2June 19, 2026
- From a user's admin page, a platform admin can now edit an existing household — add or remove members and change who's the billing contact — not only create one. Coverage updates automatically (added members get covered, removed members don't, the right person pays), and newly-added members are notified with a one-tap leave.
A locked roster stays locked for household adds
v2.110.1June 19, 2026
- Once a session's roster is locked, household members can no longer add their partners to it — locking now means locked for self-serve adds, matching join/leave. (Club admins can still manage a locked roster, as before.)
Choose who can lock the roster
v2.110.0June 19, 2026
- Club settings now have a “Who can lock the roster?” control — separate from “Who can press ‘Finalize bill now’?” — so you choose which of the organizer, bookers, and club admins can manually freeze who's playing. It defaults to all three, and your club's locking toggle still controls the automatic lock at the cancellation deadline.
Help is on the menu bar (and a clearer admin console)
v2.109.0June 19, 2026
- Help now lives right on the navigation bar — tap the new Help tab from any screen, on your phone or desktop, to open the “How it works” guide. Before, that link was tucked away in a desktop-only menu.
- For Court Tabs admins: people now show their photo and @handle everywhere in the admin console — the Users list (with phone), club rosters, session rosters, and feedback — and you can tap any of them to open their profile. Club cards list their admins, and the “admin without push” warning now names who to fix.
Lock the roster by hand in any club
v2.108.3June 19, 2026
- You can now lock a session's roster manually even in clubs that don't auto-lock at the cancellation deadline. A club's locking setting only controls the *automatic* lock now — the “Lock roster” button (on Manage) is always there for the organizer, bookers, and club admins to freeze who's playing whenever they like.
Find “Lock roster” where you manage
v2.108.2June 19, 2026
- The “Lock roster” button now lives on a session's Manage tab, right next to “Finalize bill” — the two steps (lock who's playing, then send the bill) sit together where organizers and club admins manage. It used to be tucked into the Booking tab, where club admins who weren't the organizer or a booker wouldn't think to look.
Club admins can lock the roster too
v2.108.1June 19, 2026
- If your club already lets admins finalize bills, those admins can now also lock a session's roster (freeze who's playing) — before, only the organizer or a booker could. Same club setting, both controls; the organizer and bookers keep their access as before.
Lock the roster without locking the cost
v2.108.0June 19, 2026
- Locking a game now freezes only who’s playing — no one can join or leave — while the booker keeps entering or adjusting the real court cost afterward. The two were welded together before; now they’re separate steps.
- Until you finalize, the cost card shows a clearly labelled preview (“bill not finalized”), not a final number. Each person’s share — and the payment requests — go out only when you tap “Finalize bill” (or the game-end / deadline auto-finalize fires).
- You can even lock the roster before anything is booked, then add the real cost once you’ve reserved the courts. For clubs that auto-lock at the cancellation deadline, that deadline now locks the roster and the bill goes out on its own schedule.
Admins can set up a household for you
v2.107.0June 19, 2026
- A Court Tabs admin can now group members into a household directly — handy when setting up a real family's shared billing without everyone having to accept an invite first.
- If an admin adds you to a household, you'll get a notification telling you who's now covering your court shares — and you can leave the household anytime from Account → Household.
“By time on court” is the recommended cost split again
v2.106.1June 19, 2026
- When you choose how to split a game’s cost, “By time on court” is once again marked the recommended default. “By court usage” is still right there for sessions where prices or arrival times vary a lot — the explainer under each option is unchanged.
Send a payment reminder yourself
v2.106.0June 19, 2026
- Owed money after a game? On a session’s Money tab you can now tap “Remind” next to anyone who still owes you (or, if you organized it, anyone who owes) to send their payment reminder right away — no waiting for the automatic nudge.
- Each person’s row shows when they were last reminded, so you can see who’s already been nudged. If someone’s paused their reminders we tell you instead of pinging them, and there’s a gentle once-a-day limit per person.
Reopening a session protects payments already made
v2.105.8June 19, 2026
- If a payment has already been marked sent or received, reopening or unlocking the session no longer quietly erases it — you’re asked to sort that payment out first, so nobody’s record disappears.
Clearer closed-chat note
v2.105.7June 18, 2026
- When a session has wrapped up, its chat now shows a clear “this conversation is closed — you can still read it” banner, instead of a small line that could read like the chat was unavailable.
Tidier club page
v2.105.6June 18, 2026
- On a club page, “Leave club” moved into the Danger zone at the bottom (next to Delete, for admins), and the logo-edit controls are tucked away — admins just tap the club logo to change it.
Back goes back
v2.105.5June 18, 2026
- The “← Back” link at the top of a page now returns you to the page you actually came from, instead of always jumping to a fixed spot like the dashboard.
Booking details stick around — and tappable venue info
v2.105.4June 18, 2026
- A session's booked courts, costs, and confirmation details now stay visible (read-only) even after the bill is settled, instead of disappearing.
- The session header now shows the venue's name (opens its website), address (opens map directions), and phone (taps to call), all in one place.
- Fixed the “Book on …” buttons that were missing the space before the arrow.
Clearer cost-split options
v2.105.3June 18, 2026
- The cost-split picker now spells out the trade-off: “By time on court” splits the whole bill evenly by time played (best when your courts all cost the same), while “By court usage” — now the recommended choice — charges you only for the court-time you were actually on, which is fairest when courts or times differ in price.
Fixed a multi-booker payment that didn't add up
v2.105.2June 18, 2026
- When two people booked courts for the same session and one of them was also covering a partner's share, a small balance between the two bookers could go uncollected (and the session could mark itself settled). Those transfers are now calculated correctly.
Easier-to-tap buttons
v2.105.1June 18, 2026
- Accessibility polish: a couple of compact “remove” buttons (covering a share, removing an attachment) now have a full-size tap area, so they're easier to hit on a phone.
A Money tab: see who's paid at a glance
v2.105.0June 18, 2026
- Once a session's bills are out, it gets a Money tab — a single place to see who has paid, who still owes, and who's covered, with a running tally and a status filter.
- If money is coming to you, your “You’re owed” summary sits right at the top of that tab.
See why a session locked + wider unlock
v2.104.0June 18, 2026
- A locked or settled session now says when it locked and whether a person or the system did it — e.g. "Locked … automatically when the game ended" — so a frozen session is never a mystery.
- Club admins (and platform admins) can unlock a locked session right from the session page, not just the original proposer.
Tap-to-call venues + a clearer session page
v2.103.0June 18, 2026
- Venues can now carry a phone number — it shows on a session's Booking tab as a tap-to-call link.
- The live cost preview now shows the crowding read (players vs. courts booked) right next to the estimate.
- Editing a player's hours now opens inline, right under their row, instead of at the bottom of the roster.
- Tidied the session page: the cost-split control moved in with the organizer's edit controls, and a stray cost line was removed.
Admin session management
v2.102.0June 18, 2026
- Expanded the platform's system-management tools so support can review a session's activity in one place. Internal tooling; no change to your experience.
Sharper admin triage tools
v2.101.0June 18, 2026
- Admin console: the Feedback and Exceptions views gained text search plus status and severity filters (the same controls the Sessions list already had), and clubs can now be filtered by visibility and join mode — faster triage as data grows. Internal tooling; no change to your experience.
Faster reads at scale + database integrity
v2.100.0June 18, 2026
- Added hot-path database indexes so the dashboard, reservation, and admin-log reads stay fast as data grows — no behavior change, just speed.
- Schema-integrity hardening: a real foreign key for recurring templates and a stored game-end instant that lets the lifecycle job bound its work instead of scanning every open session.
Database defense-in-depth
v2.99.0June 18, 2026
- Hardened the database's internal tables with a second access-control layer (a REVOKE belt under the existing row-level security) plus an automated guard so the protection can't silently regress. No user-visible change — purely defensive.
Security hardening on the public surface
v2.98.0June 18, 2026
- Hardened the sign-up and public form-helper endpoints: per-IP rate limits, abuse-resistant signup-failure handling (no paging an admin off a single forged message), and tighter permission checks.
- Safer one-click email unsubscribe — a quick confirm step so an email-link preview can never unsubscribe you by accident; payment emails always still reach you.
Admin: an at-a-glance overview on your dashboard
v2.97.0June 18, 2026
- Platform admins get a 'What needs you' strip atop their dashboard — count chips for open feedback, exceptions, new users/sessions/clubs over a time window (24h–1m), each linking straight into the matching admin tab. Collapsible and remembered, so it stays out of your way.
Safer deletes + a batch of polish fixes
v2.96.0June 18, 2026
- Removing a payment proof or a court watch now asks you to confirm first — no more one-tap deletes of trust-critical things.
- Smaller fixes: attachment preview thumbnails no longer break when you add more, a court's cost can't be saved blank/$0 by mistake, the 'Undo' after settling sticks around longer, pages drop wasted dead scroll space, long emails wrap instead of overflowing, the iOS home-screen icon no longer shows black corners, and first-time setup shows one guide instead of two.
Steadier in-session chat + more test coverage
v2.95.0June 18, 2026
- In-session chat is more reliable — messages that land in the same instant are no longer skipped over.
- Behind the scenes: more automated tests around households, chat delivery, and database migrations, to catch regressions earlier.
Fix: site outage from a malformed security header
v2.94.1June 18, 2026
- Fixed an outage where the app loaded but couldn't reach its backend — a stray newline in a configuration value corrupted the new security policy header. The value is now sanitized so it can't recur.
Security hardening
v2.94.0June 18, 2026
- Stronger browser-level protections behind the scenes — a content security policy, clickjacking defense for admin and money actions, and tighter request handling. No change to how you use the app.
Faster signed-in pages
v2.93.0June 18, 2026
- Pages load a little quicker — fonts now come from Court Tabs itself instead of Google, and signed-in screens do less repeat work behind the scenes.
- Steadier avatars: a hiccup fetching one person's photo can no longer blank out a whole roster or session page.
- The feedback button no longer sits on top of a control when you jump straight to it.
Fix: feedback screenshots capture your screen cleanly
v2.92.2June 17, 2026
- Feedback screenshots no longer show the floating buttons and nav bar stamped in the middle of the capture — the screenshot now shows your page content cleanly.
Fix: feedback screenshots work again on phones
v2.92.1June 17, 2026
- Fixed taking a screenshot for feedback on phones — a large page capture no longer exceeds the device's limit, so you can draw on it and attach it.
Accessibility pass across the app
v2.92.0June 17, 2026
- An accessibility sweep of everything added recently: reliably tappable buttons (44px targets), screen-reader announcements for money and save actions and for new chat messages, keyboard-navigable account and role menus that close on Escape, and a focus-trapped screenshot annotator — with clearer labels on a handful of controls.
Privacy: error reports are scrubbed of sensitive data
v2.91.0June 17, 2026
- Captured error reports now strip sensitive bits — login tokens, sign-in links, and email addresses — before they're stored, so nothing private lingers in the admin error log. Older resolved error logs are also cleared automatically after 90 days.
Sturdier court-availability alerts (experimental)
v2.90.0June 17, 2026
- Hardening for the experimental court-availability alerts: the background checker now bounds its own run time, isolates a single venue's hiccup from the rest, and recovers cleanly once a venue's listings come back — backed by a full test suite for the availability reader.
Reliability: catching silent delivery and job failures
v2.89.0June 17, 2026
- Behind the scenes, Court Tabs now reliably notices when a notification fails to send or a scheduled background job stops running, and alerts the team — so problems get caught and fixed instead of going unseen.
Money-flow fixes: cleaner leaves, reliable settle, safer cancel
v2.88.0June 17, 2026
- When you leave a session, anyone whose share you were covering goes back to paying their own way — you're no longer billed for a game you left.
- Sessions that don't need any payments — a solo booking, or when one person fully covers their partner — now close out (settle) automatically instead of getting stuck waiting on a payment that will never arrive.
- Confirming the final payment on a session reliably marks it settled, even if two people confirm at the same moment.
- The cancel button now only works while a session is still open; once it's locked in or has bills, the session stays safely in place (unwinding a finalized game is an admin action).
Tidy your setup checklist + a dashboard date fix
v2.87.0June 17, 2026
- You can now fold away the “Get set up” checklist on your home screen — tap its header to collapse it. Court Tabs remembers whether you left it open or closed, and it still disappears on its own once you’ve finished setting up.
- Fixed an evening game showing under “Tomorrow” on the dashboard when it’s actually happening tonight — the Today/Tomorrow label now follows the venue’s local day.
Account-security hardening
v2.86.0June 17, 2026
- Deactivating an account now fully blocks sign-in — including the passkey (biometric) path — and clears the account's saved passkeys.
- Recurring sessions only ever auto-invite active members of the club, so nobody can be put on a paid recurring session they didn't join.
- Recurring-template settings (day, lead time, rate) are now validated, so a bad value can't quietly break the weekly schedule or the bill.
- Tightened a couple of internal checks (sign-in links and scheduled-job authentication) to industry-standard practice.
Fix: Edit & Delete in chat now work on phones
v2.85.1June 17, 2026
- The Edit and Delete buttons on your own chat messages only appeared on hover, so they were unreachable on touch screens. They're now always shown on phones and tablets (and still reveal on hover on a desktop).
Browser errors now surface for admins
v2.85.0June 17, 2026
- Uncaught errors that happen in the browser — not just on the server — are now captured and listed on the admin Exceptions tab, so the team can spot and fix problems users hit even when nothing crashes server-side.
At-a-glance counts on the admin Feedback and Exceptions tabs
v2.84.0June 17, 2026
- The admin Feedback and Exceptions tabs now show a status-count strip at the top — e.g. how many are Open vs Resolved — so you can see the shape of the queue without scrolling. The counts are computed server-side, so they stay accurate even past the 200-row list.
Households cover a member even if they joined first
v2.83.0June 17, 2026
- If you join a session and only afterwards form your household (or change who pays), your share now combines into the billing contact's tab automatically — it used to stay separate unless you joined after the household already existed.
- It only touches sessions that haven't been billed yet, and it never overrides someone who deliberately opted out of coverage for a session.
Save a venue's website on a facility
v2.82.0June 17, 2026
- A facility can now carry its own website link (the venue's homepage), separate from the "Book on …" buttons. Add it when you create or edit a facility — globally in Admin or on a club's facilities page — and it shows as a "Visit … website" link on the session's Booking surface.
Fix: the booking note counts every booked court
v2.81.1June 16, 2026
- The crowding note on a session's Booking tab now counts every court that's booked, matching the courts card above it. Before, two courts reserved for different times could read as "1 court booked".
A session page split into Playing and Booking
v2.81.0June 16, 2026
- The session page's Plan tab is now two clearer tabs — Playing (who's in, your share, the roster) and Booking (where you're playing, which courts are reserved, and how it's secured) — so you go straight to the part you want.
- The courts for a venue no longer crowd the top of the page. They show in Booking, where the courts actually reserved for your session are highlighted and the rest are dimmed — with an at-a-glance "2 of 6 booked".
- The live preview now names the booked courts instead of just counting them.
Edit a session after it's set — and manage invite codes
v2.80.0June 16, 2026
- Admins can now edit an existing invite code's details in place — its label, how many times it can be used, and when it expires — instead of revoking it and minting a new one. The code list also shows uses and expiry at a glance.
- The booker, proposer, or club admin can adjust a session after it's created: extend its time (an earlier start and/or later end) until the roster locks, and switch its venue until the bill is finalized. Extending the time just notifies everyone; switching venue asks each player to re-confirm they're still in. (Rolling out gradually.)
Fix: a clearer message when email sending is down
v2.79.2June 16, 2026
- If we're temporarily unable to send the confirmation email when you sign up, the page now says so plainly — that it's on our side, not your invite — instead of a vague retry. Our team is also paged automatically when this happens, so we can fix it fast.
Fix: clearer errors when sign-up doesn't go through
v2.79.1June 16, 2026
- If creating your account fails, the message now reflects the real reason instead of always pointing at your invite code — a still-valid invite is no longer wrongly flagged as expired or used up. We also now record these sign-up failures so the team can investigate them.
Your preferred name up front — and tap a photo to enlarge it
v2.79.0June 16, 2026
- Your player profile now leads with your preferred name (with your full name just underneath), matching how teammates already see you in rosters. Set or change it anytime in Account.
- Tap a profile photo to see it full-size — on a profile, your home greeting, session chat, and pending-request lists. (Photos in rosters and member lists still open that player's profile, where the photo enlarges.)
See your profile the way others do
v2.78.0June 16, 2026
- You can now preview your own player profile exactly as teammates see it — open Account and tap “See how others see you.” It's read-only (with a quick link back to edit), showing your name, pronouns, bio, and photo.
A tidier session page
v2.77.0June 16, 2026
- Long session pages are now organized into tabs — Plan, Chat, Scorecard, and Manage — with the cost and your share pinned to the top where you can always see them. Tap a tab to jump straight to what you need; the chat and scorecard load only when you open them. (New layout rolling out gradually.)
- The Chat tab shows a badge with how many messages you haven't read yet, and opening it clears the count. If you're already reading the thread, you won't get a notification for a message you're looking at.
Fix: profile photos in session chat
v2.76.1June 16, 2026
- Profile photos now show in a session's chat (they were appearing as a “?”). Plus an admin-side fix so feature-flag descriptions always show.
Edit your session chat messages
v2.76.0June 16, 2026
- Fix a typo without deleting and re-posting — tap Edit on a message you sent in a session's chat. Edited messages show an "(edited)" tag, and the change shows up live for everyone in the thread.
Get notified about session chat — without the spam
v2.75.0June 16, 2026
- When someone posts in a session's chat, the other players who joined get a heads-up — but a busy back-and-forth is bundled into a single alert ("3 new messages in Friday Pickle"), never one ping per message. You won't be notified about your own messages, and muting a session's chat (or turning off social notifications) stops them.
Session chat updates live
v2.74.0June 16, 2026
- Messages in a session's chat now appear on their own — no refresh. Open the thread and you'll see new messages from other players as they're posted, and deleted ones disappear in place.
Chat with the players in your session
v2.73.0June 16, 2026
- Every session now has its own chat for the players who joined it — sort out who's bringing balls, who's running late, or who's covering a court, right where the session lives instead of a separate group thread. Only people signed up to the session can read or post, and the thread stays readable after the game.
- You can mute a session's chat if you don't want its alerts, and either delete your own messages or — if you run the club — clear someone else's.
Tap a player's name to see their profile
v2.72.0June 16, 2026
- You can now tap a player's name or avatar — on a session's roster or a club's member list — to open their profile: their name, pronouns, a short bio, and how many sessions they've played in clubs you share. Payment details and email are never shown. (Tapping your own name takes you to your account, where you can edit your profile.)
- You only see the profiles of people you share a club with — nobody outside your clubs.
Add your household to a session yourself
v2.71.0June 16, 2026
- If you share a household with someone, you can now add them to a session straight from the session page — you no longer have to be the organizer or flag one down. Open a session, tap “Add my household”, pick your partner, and they're on the roster, with their share rolling onto your household tab exactly as if they'd joined themselves. They get a heads-up that they were added.
Propose-form polish: time order + clearer cost
v2.70.1June 16, 2026
- On the propose form, the start and end times now sit right after the date and before “Where” — the order you actually plan in (when, then where).
- A session whose court rate hasn't been set no longer shows a misleading “$0.00/court/hr”. It now reads “cost shown once booked”, matching how Court Tabs only tallies the real cost after someone books.
See if a court's open before you propose
v2.70.0June 16, 2026
- When you're proposing a session at a supported venue, you can now tap “Check if a court's open” to see — right then — which courts are free for the date and time you're entering, and the venue's hourly rate when it's available (“from $40/hr”). It's a quick, on-demand look, so you can pick a time that's actually bookable before you post; if nothing's free, you can set a notify-me right below. It never blocks proposing — propose anyway and grab the court on the venue's own site.
- Tidied up notify-me: when automatic background checking is turned off, the “Notify me when a court opens” button is now hidden (a watch can't auto-alert you with checking off, so offering it was misleading) — the manual check is what you use instead.
A separate switch for automatic court checking
v2.69.0June 15, 2026
- Court-availability watches now have two independent switches: one for the feature itself (creating watches and the “Check now” button) and a separate one for the automatic background checking. This lets us keep watches usable on demand while controlling how often we poll the venue. When automatic checking is off, a watch clearly says so and points you at “Check now”.
Court watches now see the whole day
v2.68.0June 15, 2026
- Court-availability watches now check the entire day, not just the first openings in the morning. Previously a watch for an evening time could miss a court that was actually free; now an opening at any hour — afternoon, evening, late — is found and alerts you.
Watch a specific court, whatever it's called
v2.67.0June 15, 2026
- A court-availability watch for one specific court now fires reliably even when the booking site labels it a little differently than your club does — watching court “5” matches the venue's “Court 5”. “Any court” watches also rank the freed-up court by your club's preferred order more dependably.
Court-availability alerts work again
v2.66.0June 15, 2026
- Court-availability watches are reading live availability again. The booking site we read had changed its internal API, so checks had quietly stopped finding open courts — they now resolve a venue, see which sports it offers, and read its real openings, so your “Check now” and background alerts actually fire.
Edit a facility's booking links in place
v2.65.0June 15, 2026
- Club and platform admins can now edit a facility's existing booking link — its URL and, for platforms we can read availability from, its “handle” — right in place, instead of having to remove it and add it again. If an adapter-backed link is missing its handle (which is what powers court-availability alerts), it now says so, so it's clear why alerts aren't firing yet.
Court watches: check now, and a clearer “how this works”
v2.64.0June 15, 2026
- Watching a court for an opening? You can now tap “Check now” on a watch to look for a free court this instant — handy when you don't want to wait for the next automatic check, and it even works before the 48-hour window when automatic checks kick in.
- A new “How does this work?” explainer on the watch makes the feature honest about itself: we read the venue's public availability about every 10 minutes, alert you the moment a court in your window opens, and it's best-effort — a freed-up slot can vanish in seconds. There's also a new help-page entry covering it.
Admins now get a push when a member joins or leaves
v2.63.0June 15, 2026
- The admin heads-up for a new verified member — and for an account deletion — now also arrives as a push notification, not just an email and an in-app alert, so you can welcome newcomers and notice churn the moment it happens. It's still admins-only and you can turn it off under social notifications.
Your court-opening watches now show their real status
v2.62.0June 15, 2026
- A court-opening watch now tells you what it's actually doing: “Active · checked 3 min ago” while it's watching, “Alerted ✓” once it pings you, and — for a date that's still more than 48 hours away — “we'll start checking 48h before {date}”, so a quiet watch no longer looks broken.
- If a venue's availability feed goes down, your watches there now say so (“availability checks paused”) instead of sitting silent — honest about this being a best-effort, experimental feature.
Behind the scenes: one source for our email branding
v2.61.0June 15, 2026
- Nothing changes in your inbox — but every email we send (sign-in, password resets, and all your session and payment updates) now draws its branding from a single source, so the look stays perfectly consistent and can't quietly drift apart over time.
A warmer welcome when you confirm your email
v2.60.0June 15, 2026
- Your signup-confirmation email is now properly branded — the same look as the rest of our email — and its link works on any device or browser, not just the one you signed up on. Open it on your phone and it just works.
- After you confirm, you land on a real “You're in — email verified ✓” page that points you at your next step, instead of dropping you on the dashboard with no acknowledgment.
Get a heads-up when a court opens (experimental)
v2.59.0June 15, 2026
- New, experimental: on a session at a supported venue, tap “Notify me when a court opens”, pick a court and time window, and we'll ping you if a slot frees up — so you can grab a cancellation before it's gone. You still book on the venue's own platform; Court Tabs never books or pays for you.
- It's best-effort and may come and go: we read the venue's public availability roughly every 10 minutes, and availability can change in seconds. Turn the alerts off anytime under Account → Notifications.
Book on your venue's platform
v2.58.0June 15, 2026
- Club admins can now list where each facility is actually booked — CatchCorner, CourtReserve, and more — so a “Book on …” button shows up on the session page and when you propose a session, taking you straight to the venue's booking page in a new tab. Court Tabs still doesn't book or take payment; this just gets you there faster.
- Admins can also set a preferred court order per facility, so your club's favourite courts come first in the list.
A phone number for your account
v2.57.0June 15, 2026
- Creating an account now asks for a phone number — for account contact today, and (coming later) session/payment reminders and sign-in codes by text. You can update it anytime under Account.
- Because of this we've updated our Terms of Service and Privacy Policy, so you'll be asked once to review and re-accept them — and to add your phone number if we don't have it yet. Texts (when they arrive) are service messages, not marketing; standard message and data rates may apply, and you can reply STOP to opt out of reminders.
An admin view for clubs
v2.56.0June 15, 2026
- Admins: a new Clubs tab lists every club — searchable by name, slug, or sport, with member and session counts — and each opens a detail page (its settings, member roster, facilities, and recent sessions), matching the existing per-user and per-session views. Audit entries that touch a club now link straight to it.
Server errors surface for admins
v2.55.0June 15, 2026
- Admins: an uncaught server error now lands on the Exceptions tab (as a runtime_error, with the stack trace and request path on expand) instead of only living in the hosting logs — so a broken page gets noticed. Repeats within a few minutes are collapsed, so one bad route can't flood the list.
A clearer audit log
v2.54.0June 15, 2026
- Admins: audit entries now name what they touched — a member, session, or club by name instead of a raw id — and the name links straight to its detail page.
- Admins: every entry expands to show its full captured context, so even logins and other actions with no before → after reveal their details instead of nothing.
Follow your feedback
v2.53.0June 15, 2026
- On your feedback page, you can now mark one of your own reports resolved when you're happy with it — and reopen it if the issue comes back — instead of waiting on us.
- Each report shows when you filed it and when we replied, so a back-and-forth reads in order.
Control who can sign up
v2.52.0June 15, 2026
- Admins can now set who's allowed to create an account — open to everyone (as today), invite-only, or closed entirely — from a new Access tab in the admin area. The default stays open, so nothing changes until you flip it.
- Invite-only mode runs on invite codes you mint and share as a link (courttabs.com/register?invite=…). Each code is tied to whoever created it, so you can see who invited whom; set a usage cap or an expiry, and revoke a code any time. The register page checks the code live and shows a friendly message if it's no longer valid.
Manage your passkeys
v2.51.0June 14, 2026
- Your account's “Biometric unlock” section is now “Passkeys.” Name a passkey as you add it, rename the ones you already have, and — new — set one up even on a device without Face ID or a fingerprint, like a desktop with a security key or a passkey from your phone.
- Admins can now see a member's passkeys on their user page, and revoke one if a device is lost — right beside the existing push-devices and login-history view.
Booking time pickers fit on iPhone again
v2.50.1June 14, 2026
- Fixed the hour / minute / AM-PM boxes in the booking time pickers spilling past the edge of their card on iPhone — they now stay neatly inside their box, in both 12-hour and 24-hour mode.
Splitting by your time on court — the new default
v2.50.0June 14, 2026
- New sessions now split the court cost by the time each player was on court: same time on court, same share, with no “overhead” line. The friend who showed up for the last hour pays for an hour — and a couple who played the same hours as one full-timer pay one full-timer's share between them. The booker is still always made whole.
- Prefer the old usage-based math (where each half-hour is priced by how busy the courts were, and empty or over-booked time is shared as overhead)? It's still here as an advanced split mode — pick it per club under Club settings → Cost split method, or per session when you propose or while it's still open. Sessions you already created are unchanged.
One settle-up status on your home screen
v2.49.1June 14, 2026
- Fixed a home-screen glitch where a game waiting to settle showed two near-identical “settle up” tags side by side. It now shows one clear status.
Booking time pickers read your way
v2.49.0June 14, 2026
- When you propose or book a session, the time pickers now read in the clock you chose under Account → Display — 12-hour with AM/PM, or 24-hour — instead of whatever your phone happens to be set to. Following up on the date & time formats: now the controls themselves match, not just the labels around them.
Show dates and times your way
v2.48.0June 14, 2026
- You can now choose how dates and times look across the app, under Account → Display: a 12-hour clock (2:33 PM) or 24-hour (14:33), and your preferred date style — June 13, 2026, or 2026-06-13, or 06/13/2026, or 13/06/2026 — or “Auto” to match your device. Your choice applies everywhere times and dates appear.
- The date and time pickers you use when booking follow your device’s own clock, which an app can’t override — so each one now shows a live preview in your chosen format right below it. You always read the time you expect, even when the picker shows another.
A private security trail for every sign-in
v2.47.0June 13, 2026
- Court Tabs now keeps a private security record of each sign-in to your account — when it happened, the device and browser, and the approximate (city-level, never GPS) location it came from. It's there so we can show you where you're signed in and help you spot anything you don't recognize.
- Because this is new information we collect, we've updated our Privacy Policy to spell out exactly what's recorded, why, and how long we keep it (180 days). You'll be asked to review and accept the update on your next visit.
Sign in with a passkey, front and center
v2.46.0June 13, 2026
- The login page now leads with your passkey. If your device or password manager has one (Face ID, fingerprint, a saved passkey), it's offered the moment you reach the email box — no typing. And when you come back to a device you've signed in on before, a prominent “Unlock with biometrics” button sits right at the top.
- Your email and password are always still there. No passkey, or it doesn't work? Just sign in the usual way — nothing about that changed.
Hardening for the new email-delivery monitoring
v2.45.1June 13, 2026
- Reliability fixes for yesterday's bounce/complaint handling (2.45.0): a verified payment ✓ is no longer cleared by a late bounce for an address you've already replaced, an ambiguous shared address is never penalized by mistake, and a fat-fingered setup secret now reports a clear configuration error instead of looking like an attack.
Court Tabs notices when your email stops arriving
v2.45.0June 13, 2026
- When an email Court Tabs sends you bounces or gets marked as spam, we now notice instead of quietly mailing into the void. We stop sending to a dead inbox (your in-app alerts and push notifications keep working), and flag it for the admins running the platform so a wider delivery problem gets caught early.
- If the address where teammates send you settle-ups bounces, its verified ✓ is cleared — a payment address we can't reach shouldn't look trusted. Changing your login email to a working one turns delivery back on automatically.
Admins get a heads-up when members join or leave
v2.44.0June 13, 2026
- Court Tabs admins are now notified the moment a new member finishes signing up (email verified) — and when someone deletes their account — so the people running a club can welcome newcomers and notice when someone leaves. These alerts go to admins only, as an in-app notification and an email.
- The new-member alert fires exactly once, at first verification: changing your login email later (or re-opening an old confirmation link) never re-triggers it.
Install in the gist guide, and clearer propose wording
v2.43.1June 13, 2026
- The “New here? The gist” welcome card now includes installing Court Tabs as an app, matching the new Get-set-up step — so the home-screen install is offered everywhere a newcomer looks.
- Tidied stale wording: proposing a session is about picking a time and place, not a rate. The propose form stopped asking for an estimate in 2.42.0, but the gist, the help guide, and an FAQ still mentioned one.
Get the app, and turn on notifications
v2.43.0June 13, 2026
- A new “Install & notifications” guide — and a “Get set up” step — show exactly how to add Court Tabs to your Home Screen and switch on alerts on each device. On iPhone that means installing from Safari first: notifications only work once Court Tabs is on your Home Screen, and the app now says so instead of just reporting that the browser “doesn't support” them.
- On narrow phones, the payment cards no longer crowd the “Copy” buttons against the email — the address sits on its own line and the copy buttons line up beneath it.
The what-is-this card is back for newcomers
v2.42.4June 12, 2026
- Brand-new accounts see the quick “New here? The gist” explainer card again. Since your payment address started counting as already-set-up (2.37.0), the card mistook every newcomer for a veteran and never appeared.
Forms fit your phone again
v2.42.3June 12, 2026
- On narrow phones, the Start/End time boxes could spill out of their card — on the session page's booking form and hours editor. The rows now wrap instead, and iPhones with larger system text sizes no longer push the boxes past the card edge.
“Join a game” checks off when you join
v2.42.2June 12, 2026
- The Get-set-up checklist now ticks “Join a game” the moment you're on a roster. It used to wait until the game was locked in for billing, so joining an open game looked like it hadn't counted.
A nudge to check your spam folder
v2.42.1June 12, 2026
- The “Check your email” screens after signing up or requesting a password reset now mention that the email sometimes lands in spam or junk — so you look there before assuming it never came.
Proposing a session is no longer about money
v2.42.0June 12, 2026
- The estimated-rate field and the “Full window ≈” fee preview are gone from the propose form — pick a time and place, done. The real cost still appears once the booker enters what the courts actually cost.
Pick your club's venue from a list
v2.41.0June 12, 2026
- Creating a club now offers a venue dropdown — the facilities your clubs already use, plus the shared catalog — instead of making you type the name from memory. Typing your own still works.
Inviting people to your club is a button now
v2.40.0June 12, 2026
- Every club page has “Invite members — share the club link”: native share on your phone, copy-to-clipboard everywhere else, with a plain-words note on what the link lets people do.
- Invite-only club links now land on an invitation page with a join button — they used to dead-end for people who weren't members yet.
Know when your roster moves
v2.39.0June 12, 2026
- Organizers now hear about their own sessions: a push when someone joins, leaves, or changes their hours, and an Alerts entry when someone declines.
- Players get told when a session they're in moves or its court bookings change — and payees get told if a “payment sent” is walked back.
- Each new alert is individually toggleable in Account → Notifications, alongside the existing category switches.
Rename your club and choose who can join — from settings
v2.38.0June 12, 2026
- Club settings grew a Club identity section: admins can rename the club, edit its description, and switch between public and invite-only — and between instant joining and join-by-request.
- Renaming keeps the club's web address, so links you've already shared keep working.
Your login email counts as verified for payments
v2.37.0June 12, 2026
- If the address teammates pay you at is the same one you log in with, it's verified automatically — no more “Not verified” ask for an inbox you already proved at signup.
- Custom payment addresses still use the confirmation link, so the checkmark keeps meaning the inbox is really yours.
The legal pages stop promising a waitlist
v2.36.0June 12, 2026
- Court Tabs has never had a waitlist — joining is always instant, with a soft crowding hint instead of a queue — but the Terms and Privacy Policy still described one. The stray mentions are gone.
- Nothing you agreed to changed in substance, so there's no re-accept prompt: this narrows what the documents claim, it doesn't expand it.
Help that matches what's switched on
v2.35.0June 12, 2026
- The help glossary now shows Kings & Queens terms only where the feature itself is available — no more reading about the Castle and the Outhouse before your group can see the scorecard.
- Older What's-new entries about features still rolling out now say so plainly, instead of implying your club admin could switch them on.
Coverage you can see, names you can pay
v2.34.1June 12, 2026
- If a household covers your share, the Coverage control now shows up even when you're the first (or only) player on the roster — so the per-session opt-out is always where the help says it is, and it names your household's billing contact instead of "a member".
- Dashboard pay/confirm items now show the full name and @handle — the same money-row identity as the payment panel, so two Sams in one club never guess who to e-transfer.
The fine print, made accurate
v2.34.0June 12, 2026
- A truth pass over the landing page, FAQ and help: splitting is now described everywhere as it really works — by the half-hour, with each 30-minute slice shared only by the players on court for it.
- Help catches up to shipped features: households (one combined tab for partners and family), how invites arrive (the email's Yes/No works without signing in), preferred names, the Alerts inbox, club admins, and recurring games — weekly, biweekly, or monthly.
- Locking explained honestly: the proposer or a booker can lock a session in early, and the proposer can unlock it if plans change — the FAQ and glossary now say so.
- Small fixes: the clubs page no longer mentions an invite link that doesn't exist, and the preferred-name field on your account finally explains what it does.
The new navigation, on for everyone
v2.33.1June 12, 2026
- The responsive shell is now on for all accounts: phones, folds and iPads keep the bottom tab bar in every orientation, while mouse-and-keyboard devices get the labeled top bar with the account menu — and wider, two-column layouts on big screens.
- Help and the legal pages picked up the same navigation, so moving between the app and its docs no longer changes the chrome around you.
Groundwork for bigger screens
v2.33.0June 11, 2026
- Sticky month headers on your game history: the month (and year) stays visible while its games scroll — no more guessing which July you're looking at.
- Admin tools: all nine tabs are now visible at every screen size instead of hiding in a sideways scroll.
- On desktops, cards and buttons now show hover states, so what's clickable finally looks clickable.
- Behind the scenes: a new responsive app shell — a real top navigation bar for mouse-and-keyboard devices and wider layouts on big screens — ships dark for a quality pass and turns on in an upcoming release.
Session pages that read in order
v2.32.0June 11, 2026
- A session page now reads top to bottom in one order — what it is, your money, who's playing, the booking, and the risky actions last. Settled games lead with the receipt, not join controls.
- The cost card matches the moment: a live preview while open, a frozen cost once locked, and “Final cost” only when the bills actually exist — with “Why this amount?” attached right to the receipt.
- Joining shows what it costs before you tap: a rough share from your hours, who's in at peak (also on the dashboard card), and the straight answer — everyone who joins is in, no waitlist.
- Money you've already paid reads as history: “You sent $30 to Pat ✓” with the copy-paste machinery tucked away; Cancel and Unlock/Reopen live in a clearly marked danger zone with verbs that say what they void.
One vocabulary, money that explains itself
v2.31.0June 11, 2026
- Session states have one name everywhere: Open, Locked, Settling up, Settled — no more raw FEES_DUE pills or three words for the same state, and the help glossary now groups every term.
- Settling a session finally says so: a confirmation with an Undo replaces the silently-vanishing card, 'I sent it' can be un-done from the dashboard, and one verb — Mark received — covers confirming money arrived.
- Money rows show the full name and @handle of who you're paying, a Copy amount button joins Copy email, and the trust note ('Court Tabs doesn't move money') sits right where you act.
- Your all-time stat is honestly labeled NET SPENT with its definition on the card, past-game credits show as '$X back', and times read 7:00 PM everywhere — including emails and the cost breakdown.
Everything is easier to hit, read, and trust
v2.30.0June 11, 2026
- Every button and link now meets the 44px tap floor — money actions, admin controls, “Load older”, the ⋯ menus — so nothing needs a precision tap, and small-print labels moved up to readable sizes.
- Names, payment emails and statuses wrap instead of getting cut off — you always see the full address you're sending money to, and the full name beside a destructive button.
- The Feedback bubble shrinks out of the way when you scroll and pages leave room at the bottom, so it no longer sits on top of buttons you're trying to tap.
- Club admins can remove a member right from the member list (with a confirmation) — and removals and role changes now leave a proper audit trail.
Works for every hand and every connection
v2.29.0June 11, 2026
- Keyboard and screen-reader users get real dialogs: confirmation prompts trap focus, close on Escape, and hand focus back where you were — and form errors now announce themselves and jump you to the field that needs fixing.
- One banner at a time: announcements, update notices and the install prompt now take turns instead of stacking — with dismiss buttons big enough to actually tap.
- Offline mode that works offline: with no connection you get a working “You're offline” page — Try again actually retries, and the app reloads itself the moment your connection returns.
- Tablets and foldables can rotate freely (the installed app no longer locks to portrait), and the biometrics button only shows once you've actually set up a passkey.
Every screen introduces itself
v2.28.0June 11, 2026
- Clear page titles: every screen now leads with what it is — the page name up top at full size, the Court Tabs brand tucked into smaller chrome, and your browser tab named after the page you're on.
- One consistent ← back link shows where “up” is on every page — and the logo is the only shortcut home, so no more guessing which “Home” means what.
- Cancelling a session now returns you to your club (or Home) with a confirmation — and old links to cancelled sessions get a friendly explanation instead of a bare error page.
- Notifications about deleted sessions or clubs no longer pretend to be links, and keyboard users reach the main tabs on the second Tab press, not the forty-first.
Audit answers "what changed"
v2.27.0June 11, 2026
- Admins: audit entries now record the actual change — tap a row to see each field's before → after values, including the final state of things that were deleted.
- Admins: the Audit tab is searchable — filter by who acted, the kind of action, and what it touched, and page back through the full history instead of stopping at the last 100 entries.
- Admins: if writing an audit entry ever fails, it now raises an exception on the Exceptions tab instead of disappearing without a trace.
Admin pages you can click into
v2.26.0June 11, 2026
- Admins: every user and session card on the admin dashboard now opens a full detail page — a user's profile, clubs, devices, and whether they're owed or owing; a session's roster with who's paid, its courts, payments, and any logged exceptions.
- Admins: the Users and Sessions tabs are searchable (sessions also filter by status), so the account or game you need is always reachable — not just the newest few hundred.
- Admins: the Flags tab now lists every flag the code knows about, even ones nobody has touched yet — an unchecked flag shows as off · not seeded instead of silently not existing.
Resolved means resolved
v2.25.1June 11, 2026
- The Feedback button always opens a fresh form now. Before, if you tapped outside the "Thanks — sent!" card to dismiss it, the next tap on Feedback showed the stale thank-you instead of a new form.
- Admins: resolving an exception while the underlying payment or session is still stuck no longer re-creates the same exception every night. It only re-fires if the entity gets stuck again later — and Ignore now truly mutes an entity for good (it quietly re-fired nightly too).
- Admins: the Exceptions tab now says what feeds it — the nightly stuck-state scanners, not user reports (those live in Feedback) — and what Ack, Resolve, and Ignore each mean.
Notifications follow you, not the device
v2.25.0June 11, 2026
- Signing out now really disconnects the device: notifications stop arriving, ones already on screen are cleared, and the device drops off your account's device list. Before, a shared tablet could keep receiving — and even answering — session invites for whoever had signed out of it.
- A device speaks for exactly one account. If someone else signs in on your old phone, its notifications switch to them — no more two-accounts-one-device mix-ups.
- The device list under Account now marks which entry is the device you're holding, and "remove" truly disconnects it — from the browser, not just from the list.
- Deleting an account (or an admin deactivating one) silences all of its devices immediately, and any still-pending one-tap invite buttons for it stop working.
Your games, with receipts
v2.24.0June 11, 2026
- New: Past sessions. Every game you've played now lives at one page — newest first, grouped by month, with when, where, how many players, and what it cost you. Find it from the Games section on your home screen.
- The cost on each row is your real net for that game: what you paid (or fronted as the booker) minus what teammates paid you back. Settled games show your final share; games still settling show the running number with a "settling" chip.
- Tap any game to open its full page — roster, courts, and the payment breakdown are all still there, even after it settled.
Bookers spend money too
v2.23.4June 11, 2026
- All-time spend now tells the truth for bookers. It used to count only tabs you paid to someone else — so if you're the one booking the courts, it sat at $0 forever. It now counts what you fronted for the courts minus what teammates paid you back, which settles out to exactly your own share of each game.
- If the address where you get paid is the same as your login email, verifying it now counts as setting it — the dashboard stops asking you to "set where you get paid" once you've confirmed that's really where your money should go.
One button, zero ambiguity
v2.23.3June 11, 2026
- New-session notifications now show a single button: "Yes, I'm in". It turns out current Chrome on Android has a bug (reported to the Chrome team, not yet fixed) where tapping ANY notification button registers as the last one — so with Yes and No side by side, every tap counted as No. One button can't be misread.
- Saying no hasn't gone anywhere — ignore the notification (you're never added unless you say yes), tap it to open the session, or use the No thanks button in the invite email.
The Yes button means yes — on every phone
v2.23.2June 11, 2026
- On some Android phones, tapping "Yes, I'm in" on a new-session notification registered as a decline — the phone's notification system mixed up the buttons when we offered it more than it could show. We now offer exactly the two buttons it displays, so the one you tap is the one that counts.
- If a Yes of yours got recorded as a decline recently: the "Undo — I'm in" button on the confirmation, the buttons in the invite email, and the session page all put you back on the roster.
Invisible on purpose: a bigger safety net
v2.23.1June 11, 2026
- Nothing looks different today — this release is entirely behind the scenes. The automated test suite that guards the money math, rosters, and sign-in flows grew by 168 checks, with the deepest new coverage exactly where past bugs lived.
- Our build pipeline now refuses any future change that would shrink that safety net, so reliability can only ratchet up from here.
Answer session invites from your email — and un-decline a mis-tap
v2.23.0June 10, 2026
- New-session emails now have real Yes / No buttons. They open a small confirm page (no login needed — the link itself is your key, and it works until the session ends), one tap there and you're on the roster. Email scanners and link previews can't answer for you: only your click counts.
- Declined a session notification by accident? The two buttons sit right next to each other, and a stray thumb happens. A decline now tells you which session it was and offers "Undo — I'm in" right on the notification — and the email confirm page has the same changed-my-mind button.
- If you ever tapped Yes and saw "Okay — declined": that was the No button catching your tap, and there was no way back from the tray. Now there is.
Session times that mean what you meant
v2.22.0June 10, 2026
- Every club now has a time zone (set automatically from wherever the club was created, adjustable in club Settings), and every session remembers the zone it was made in. A 7 pm game is finally 7 pm where you play — not 7 pm somewhere over the Atlantic.
- The bugs this fixes: sessions vanished from the dashboard hours before they started, roster freezes and bills fired 4–5 hours early, and "in 2 days" countdowns drifted. All of those now run on your club's clock.
- The Yes/No buttons on new-session notifications are back for same-day proposals — and they now work right up until the game ends, so you can still tap Yes from the parking lot. Once the bill is finalized, a late Yes is politely refused instead of sneaking onto a closed tab.
- Existing sessions keep the times you typed; upcoming deadlines were re-anchored to the correct instant automatically.
Push buttons that keep their word
v2.21.1June 10, 2026
- Tapping "Yes, I'm in" on a new-session notification could quietly fail for sessions proposed for later the same day — you'd think you were on the roster, but you weren't. The notification no longer offers buttons it can't honor: when that timing bug would bite, you get a regular notification instead, and tapping it opens the session so one more tap joins you for real.
- If you answered Yes to a session today and don't see it under Your sessions, open the session and tap Join — your spot was never recorded. Sorry about the runaround; a full fix for the underlying time-zone handling is on the way.
Your club, your rules: open rosters, organizer fixes, bill timing
v2.21.0June 10, 2026
- Clubs can now choose their own session lifecycle from the new club Settings page. Big, fluid group? Turn the roster lock off — sessions stay open and players drop in or out right up until the bill goes out, no more fighting the deadline freeze.
- Organizers can fix the roster on a player's behalf: club admins and the session's proposer can add a member, adjust their hours, or take them off — the player is notified and every share recomputes on the spot. Allowed until the bill exists.
- Pick when the bill goes out: at the cancellation deadline (money settled before the game), after the game (the default, as always), or manually — plus a "Finalize bill now" button for whichever roles you allow, in every mode.
- Nothing changes unless your club opts in: every new setting defaults to today's behavior, and ad-hoc sessions are untouched. (Rolling out gradually — the lifecycle section appears in club Settings once it's switched on.)
Hand over the club keys — safely
v2.20.0June 10, 2026
- Club admins can finally share power: every member row on the club page now has a menu with "Make admin" / "Remove admin". Promote a co-organizer in two taps — the badge flips on the spot and they're notified (both directions, in-app and by email).
- Handing a club over is the same two taps: make them an admin, then step down or leave whenever you like.
- A club can never be left ownerless: if you're the only admin, leaving or demoting yourself is refused with a clear explanation — make someone else an admin first, or delete the club from the danger zone. Even two admins leaving at the same instant can't slip past it.
- The same safety net now protects the app itself: the last active platform admin can't demote or deactivate themselves from the admin dashboard — no more one-tap lockouts that only a database rescue could undo.
New sessions find you — and you can answer from the notification
v2.19.0June 10, 2026
- When someone proposes a session, every club member now hears about it — an inbox notification, plus email and push if you have them on. No more checking the dashboard to see what's open. (Mute the "roster" category in Account settings if it's too chatty.)
- The push takes your answer: on Android and desktop Chrome it has Yes and No buttons, so you can join or pass right from the notification — no app, no login. You always get a visible confirmation back, even offline.
- One-tap Yes joins you for the full session window and tells you if a household billing contact is covering your share. Want different hours first? Tap the notification body to open the session and pick before you commit.
- Already in and tap No by accident? We'll tell you you're still on the roster — nothing changes behind your back where money is involved.
One tap to log in
v2.18.3June 10, 2026
- Logging in no longer takes two tries. Whether you used your password or "Unlock with biometrics", the first tap could quietly bounce you back to the login screen and only the second one got you in. Both now land you on your dashboard first time, every time.
- Thanks to everyone who wrote in about it — "the login button is broken, you have to press it twice" was exactly right, and now it isn't.
Spaces, restored
v2.18.2June 10, 2026
- Words stopped running together. "The bookerreserves", "2 membersand", "Interacyou" — a bundler bug was quietly eating the space after bold words and names in seven spots. Every one of them reads like a sentence again.
- Thank you to everyone who hit "Send feedback" with a screenshot — all three reports pointed at the same bug, and the screenshots are what cracked it.
Admin tab polish
v2.18.1June 10, 2026
- The Admin tab moved one spot left — "You" keeps the right edge of the bar, the same anchor everyone else has.
- Admin alerts now land where the work is: a new-feedback alert (or its email button) opens the Feedback tab directly, and a critical-exception alert opens Exceptions — no more arriving on Users and clicking over.
Admin moves into the nav
v2.18.0June 10, 2026
- If you're an admin, Admin is now a proper tab in the app's navigation — bottom bar on your phone, top bar on desktop — on every screen, not a small link parked at the foot of Home.
- The old Admin link on the Home screen is gone; the tab is the way in now. (Everyone else's bar is unchanged — the tab only exists for admins.)
Standings & the crown
v2.17.0June 10, 2026
- Kings & Queens nights now keep score in front of everyone: a live leaderboard under the courts — points, win–loss, who's sitting, and an arrow for who just climbed or dropped.
- Finish the night and someone takes the crown 👑 — final standings settle ties the fair way: points, then highest court, then head-to-head, then point difference.
- "Your night", in one line: where you finished, your record, the highest court you reached, and your rounds on the Castle (or in the Outhouse — we don't judge).
- The night's two records meet at the bottom: each rung in the stack shows whether it was a booked court (and what it put into the split) or a free public court. (Part of Kings & Queens — rolling out gradually, not switched on for everyone yet.)
Kings & Queens — climb to the Castle
v2.16.0June 10, 2026
- Run a Kings & Queens night on any session: rank your courts from the Castle down to the Outhouse, pick tonight's players, and the app deals round one. Booked courts and free public courts mix happily in one stack.
- One tap settles a game — hit the team that won, and the card shows who reported it. Mis-tap? "Change result" fixes it with a quick confirm.
- When every court is reported, one button rotates the night: winners climb a rung, losers slide down, the winning pair is split to face each other, and a "who moved" recap keeps everyone oriented between rounds.
- Odd headcount? Sit-outs rotate fairly from round to round, so nobody gets parked on the bench.
- The scorecard is a second record, not a money feature: it never touches who owes what, and a fully settled night still takes results. (Rolling out gradually behind a platform flag — not switched on for everyone yet.)
Set it once — we remember
v2.15.0June 10, 2026
- Verify where you get paid: one tap sends a confirmation to your payment email, and the ✓ shows up everywhere payers see your address — on the session, the checklist, your account. Change the address and the ✓ clears until you confirm the new one.
- Owe someone but it's not payday? "Snooze reminders (3 days)" sits right next to "I sent it" — the nudges pause and pick up exactly where they left off.
- Tidy inbox: read notifications get an × with a 5-second Undo. Nothing is deleted under the hood, so your money history stays complete.
- Choose what reaches you: email & push toggles for session and club chatter in Account, plus a one-click unsubscribe in the footer of every non-payment email — no login needed. Payment notifications are always on; that's the point of the app.
Your account, fully in your hands
v2.14.0June 10, 2026
- Forgot your password? There's finally a way back in: tap "Forgot password?" on the login screen and we'll email you a link to set a new one — no more being locked out.
- Change your password any time from Account → Login & security. We ask for your current password first, so someone borrowing your unlocked phone can't quietly take over.
- Your login email is yours to change now too. We confirm from both your old and new address before anything switches — that double-check keeps your account safe.
- Password emails look like Court Tabs now (and tell you what to do if it wasn't you), and changing your password sends a heads-up email so nothing happens behind your back.
- Passwords are a little stronger going forward: new passwords need at least 8 characters, with a live hint as you type. Existing passwords still work.
Wind down a club, keep the books
v2.13.0June 10, 2026
- Club admins can finally delete a club: a danger zone at the bottom of the club page, with a real confirmation that spells out what happens — every member is removed and notified, and it can't be undone.
- Money history survives the goodbye: past sessions keep their payment records and stay reachable for everyone who played in them, even after the club is gone.
- If active sessions are still in motion, deletion is blocked the helpful way — you get a list of exactly which sessions to settle or cancel first, each one a tap away.
New version? You'll know
v2.12.0June 10, 2026
- Court Tabs now tells you when a new version ships: keep a tab or the installed app open and a banner offers a one-tap Refresh — on your schedule, never mid-payment.
- Dismiss the banner and it stays quiet until the next release; after you refresh, the What's-new dot picks up the story of what changed.
- If a page fails to load its code right after an update lands, the app now recovers on its own — and anything else unexpected gets a clean “Try again” screen instead of a crash page.
Money you can trust, everywhere you tap
v2.11.0June 10, 2026
- Settling up is copy-proof: copy the exact amount and the payee's email in one tap each — and if your browser blocks the clipboard, the text selects itself instead of failing silently.
- Every money moment talks back now: 'I sent it' explains that the e-Transfer happens in your banking app, receipts show who confirmed and when, and a proof that fails to upload says so instead of pretending it saved.
- Locking a session asks first — it freezes everyone's cost, so it gets a real confirmation, like leaving a session, deleting things, and every other consequential tap.
- New here? The dashboard finally explains itself: a quick what-is-this card, a setup checklist that routes somewhere useful, and empty screens that point forward instead of dead-ending.
- Easier on the eyes and thumbs: higher-contrast text, visible keyboard focus, bigger tap targets, reduced-motion support, and screen-reader announcements throughout.
- Notifications grew up: the unread badge updates instantly, the inbox groups by day with 'Load older', payment reminders escalate gently (day 1, 3, 7), and a forgotten 'confirm it arrived' gets its own nudge.
Through the gate
v2.10.1June 10, 2026
- Fixed: accepting the Terms and Privacy Policy on the review screen could leave the button spinning forever without moving on. Accepting now takes you straight back to what you were doing.
The fine print, done right
v2.10.0June 9, 2026
- Court Tabs now has a Terms of Service and a Privacy Policy — read them anytime at /terms and /privacy, linked from the landing page. (First drafts: a proper legal review is coming before launch.)
- Creating an account now asks you to tick one box — agree to the Terms and acknowledge the Privacy Policy. Never pre-ticked, and your acceptance is recorded securely with its exact version and date.
- If the documents ever materially change, you'll be asked once to review and re-accept before continuing — no surprises, and there's a record of exactly what you agreed to.
- A new /subprocessors page lists the services that run Court Tabs and what each one does with your data.
Under the hood
v2.9.0June 9, 2026
- The whole foundation is now current — React 19, Next.js 16, Prisma 7, TypeScript 6 — for faster pages and the latest fixes and security updates.
- Inline dashboard actions like “I sent it” now always show the fresh result immediately.
- You stay signed in through the upgrade — no need to log in again.
A real home base
v2.8.0June 9, 2026
- Court Tabs now has a bottom tab bar on every screen — Home, Clubs, Alerts, and You are always one tap away, with a badge when you have unread alerts.
- Your season at a glance: games played, total spent, and your average per game, right on the dashboard.
- We ask to turn on notifications only when there's actually something to be notified about — and the prompt clears the iOS home-indicator and the feedback button cleanly.
- The dashboard now shows a tidy loading skeleton while it pulls everything together, so opening the app feels instant.
Your games, at a glance
v2.7.0June 9, 2026
- The dashboard now shows your next game up top — when, where, who's in (with a tap-through for directions) — plus the rest of your week and any open sessions in your clubs you can still join.
- A short “Get set up” checklist walks new members through joining a club, setting where they get paid, playing, and settling their first tab — and quietly disappears once you're rolling.
- A “Recent” strip surfaces the latest activity that isn't already waiting on you, so the home screen stays calm.
- The old wall of menu buttons is gone — the home screen leads with what's happening, not navigation.
Your money, front and centre
v2.6.0June 9, 2026
- Your dashboard now opens on what matters: what you owe and what you're owed — shown as two separate things, never mashed into one confusing number.
- A new “Needs you” list puts the next tap right on your home screen — confirm a payment a teammate sent you, mark your share as sent, or accept a handover or household invite, without digging into a session.
- Being covered by a partner now reads “X is covering your share” instead of a misleading “all square,” and the person covering sees one real tab, not a personal IOU.
- Payments owed to you flag as overdue once they've sat unconfirmed for a day, so nothing slips through.
Choose how you get paid
v2.5.0June 9, 2026
- Your profile now has a payment method — pick how teammates pay you back. Interac is live today, with Venmo and PayPal on the way.
- “Interac email” is now your “payment email,” and the payment screens follow whichever method you choose.
- We dropped the Canada-only / Interac-only wording across the app, so Court Tabs reads right for any crew.
Pick your @handle
v2.4.0June 9, 2026
- You now have a handle — a unique @-name like @gerald — that others can use to invite or find you. Pick it when you sign up and change it anytime from your account.
- Handles get a live availability check as you type, so you'll know right away if one's taken.
- “Display name” is now “Full name” — add your first and last name so teammates recognize you on rosters and payment lists.
- You sign in with your email, as always; your handle is just your public name.
Biometric unlock, proof attachments & easier sign-in
v2.3.0June 9, 2026
- Turn on biometric unlock under your account — sign in with Face ID / Touch ID / fingerprint instead of your password (great once Court Tabs is on your home screen). Your password still works.
- Bookers can attach the venue's booking confirmation (screenshot, photo, or PDF) to a reservation, so everyone can see the courts are really booked.
- On a payment, the payer or payee can attach proof of the e-Transfer — visible only to the two of you.
- Feedback attachments now accept PDFs too, not just images.
- Sign-in pages now play nicely with password managers like 1Password — they'll offer to save and fill your login.
Tap the logo to get home
v2.2.0June 9, 2026
- The Court Tabs logo in the header now takes you to your dashboard when you're signed in, or the home page when you're not.
Feedback screenshots fixed
v2.1.1June 9, 2026
- Fixed the “Screenshot” button failing to capture the page — it now works across the app.
Better feedback — screenshots, attachments & replies
v2.1.0June 9, 2026
- The feedback box can now grab a screenshot of what you're looking at — scribble or box the problem, then send it.
- Attach screenshots or images straight from your device to any feedback.
- New “My feedback” page (under your account) shows everything you've sent, its status, and any reply from an admin.
- Bug reports now carry a short, private trail of the pages you visited just before — so we can reproduce issues faster.
Handover polish
v2.0.1June 9, 2026
- Changed your mind after offering your spot? When you withdraw a handover, the member you offered it to is now told the offer's been pulled — no more stale "spot offered to you" sitting in their inbox.
Booking Model 2.0 — split the real cost
v2.0.0June 9, 2026
- The booker now enters the actual money they paid for each court they reserved, and Court Tabs splits that real total — peak pricing, surcharges and all. The hourly rate is just an estimate now.
- Sessions have a real facility: a location and named/numbered courts. Club admins manage facilities; you pick one when you propose.
- Empty or over-booked court time is shared across everyone in proportion to what they used, so the booker is always made whole.
- Fees are due after the game: the booker fronts the cost, the roster freezes at the cancellation deadline, and everyone settles up by Interac once you've played.
- Can't make it after the deadline? Hand your exact spot — your time and your share — to another club member.
- A soft crowding hint (players vs. courts booked) replaces the old waitlist — it never blocks a join.
Polish — fresh installs & accessible feedback
v1.3.2June 9, 2026
- The installed app now refreshes its offline shell and icons with each update.
- The feedback box is keyboard- and screen-reader-friendly (focus trap + Escape to close).
- You can disband a household when you're its only member.
Admin & reliability fixes
v1.3.1June 9, 2026
- Fixed the admin dashboard's System tab crashing when opened.
- Quieter health alerts — notifications skipped for deactivated members no longer log as failures.
Households — pay as one
v1.3.0June 9, 2026
- Create a household and pick a billing contact — members' shares are automatically covered by that contact every session, settling as one combined Interac tab.
- Invite people by handle (they accept or decline), transfer the billing contact, and manage members from your account.
- Want to pay your own way for one night? Opt out anytime from that session's Coverage control.
Costs that always add up
v1.2.1June 9, 2026
- The “Why $X?” breakdown now always sums exactly to your share — every half-hour line reconciles to the cent.
- Money actions are sturdier: clearer errors, and buttons no longer get stuck if your connection drops mid-tap.
Onboarding & payment clarity
v1.2.0June 8, 2026
- A quick “new here?” guide on your dashboard, and your own share is now called out at the top of every session.
- Proposing a session shows a live cost estimate as you set the rate and time.
- Bookers see the exact Interac email payers are sending to (fix it if it's wrong), and payment push notifications now include the amount.
Clearer costs & a how-it-works guide
v1.1.0June 8, 2026
- Tap any share on a session to see the per-half-hour breakdown — exactly why you owe what you owe.
- A new in-app “How it works” guide (the flow, who's who, and the FAQ), linked from the dashboard and every session.
- Payment emails for a combined tab now name who it covers instead of showing raw IDs.
Court Tabs is here
v1.0.0June 8, 2026
- By-the-half-hour fair splitting — the court fee for each 30-minute slice is shared only among the players on court for it, so you pay for the time you actually played.
- Propose a session, join with your own start/end times, and watch everyone's share update live.
- A booker fronts the cost; lock the session to compute exact shares and collect them back by Interac e-Transfer, with two-sided confirmation.
- Cover a partner's share and settle one combined tab.
- Email + web-push notifications, an in-app notifications inbox, and automatic reminders for unpaid tabs.
- Clubs with memberships, plus recurring weekly sessions that propose themselves.
- Install Court Tabs to your home screen — including push notifications on iPhone.