Changelog

Latest features, improvements, and fixes. We ship updates regularly to make Supatimer better for your team.

New

/avail now accepts a `players:` parameter for individual users

You can now ping specific people in addition to (or instead of) roles when posting an availability calendar. Use `/avail players:@Alice @Bob` to ping Alice and Bob and add them to the calendar's tracked users. Combine with `roles:` for mixed pings: `/avail roles:@Team players:@Ringer`. Help is available via `/avail help:players`.

Improved

Non-managers see "Install Bot" in the navbar instead of a hidden Settings link

If you don't have admin or team-manager access on any server, the navbar slot that managers use for Settings now reads "Install Bot" and opens the bot-invite flow in a new tab. Managers see the same Settings link as before.

Fixed

Calendar weekday dates now show correctly in every timezone

In some timezones (EST, PST, and other zones west of UTC) the calendar columns on the dashboard and /calendars pages labelled dates one day behind — Monday's column showed the Sunday date. Dates are now interpreted as calendar days instead of UTC instants, so the displayed weekday and date always line up no matter where the viewer is.

Fixed

Add Player picker now opens as a centered page modal

The Add Player picker on the availability grid was being clipped inside the availability card on pages where the card had a backdrop blur. It now opens as a full-page modal as intended.

New

Add players directly to the availability grid

Managers can now click "Add Player" on the availability grid to pick any server member who has access to the calendar's channel. The picker filters by channel access so you don't see members who can't actually see the calendar.

Improved

Click any player in the weekly-prelim grid to edit their roles

The role-edit modal (already available on the availability grid) now also opens when managers click a normal player pill in the weekly preliminaries grid. Clicking ringers and unmarked-availability players still opens their existing modals.

Fixed

Onboarding checklist detects calendars posted from Discord

If you posted your first calendar via /avail in Discord, the onboarding panel on the web dashboard used to stay stuck on "Post your calendar" until you refreshed. It now advances to the done state within about a second, without any refresh.

New

Custom Supatimer nicknames per server

You can now set a Supatimer nickname that overrides your Discord server nickname everywhere Supatimer shows your name - lineups, calendar embeds, polls, absences, and the members page. Set it three ways: the new /nickname slash command (self-service), the pencil icon next to your name on the Members page, or from a member popover. Admins and team managers can set nicknames for other members via the Members page. Clearing falls back to your Discord server nickname, then global name, then username.

Improved

Settings nav link hides when you manage no servers

Follow-up to the Servers page filter from 2026-04-10. If you have no servers where you're the owner, a Discord admin, a web admin, or a team manager, the Settings link in the top nav no longer appears - previously it would dangle as a link leading to an empty page. Users who manage at least one server see the link exactly as before.

Fixed

/scrim, /weekplan, and /early-lineup now pick the current week's schedule

When you had both this week's and next week's calendars posted in the same team channel, these commands could pick next week's schedule instead of the active one. They now filter to the schedule covering today (in your server's timezone), so the commands always use the correct week.

Fixed

/update now works on scrims posted at flex times

If your team uses flex-earlier/later availability (e.g., base slot 20:00-22:00 but the scrim was posted at 19:00-21:00 or 21:00-23:00), /update no longer fails with "No lineup data found for this scrim." The score update and message re-render now work the same way as the original /scrim post.

Improved

Servers page only lists servers you manage

The Servers page now only shows Discord servers where you are the owner, a Discord admin, a web admin, or a team manager. If you are a plain member or only have /avail access, that server no longer clutters your list. A new empty state explains what to do if you need more access.

New

Host details on the Set Opponent popover

The Set Opponent popover on weekly preliminaries now has a Host details section: host side (We host / They host), stagger toggle, hero bans toggle, map pool, and notes. First time you open it for a scrim day, host side, stagger, and hero bans prefill from your team scrim defaults. The scrim posting modal shows the same fields and stays in sync, so whichever side you edit first, the other side picks it up.

Fixed

Scrim edit no longer duplicates opponent info

Editing a posted scrim no longer copies the opponent name, SR, and contact details into the More info field. Each edit used to compound the duplication - this is now fixed.

Improved

Contact auto-selects from the lineup

The scrim contact field now auto-picks the first player with a Battle.net tag. Priority order: tank, flex support, main support, then anyone else on the roster.

Improved

Clearer Server settings cards and section names

Sections are reordered and renamed (for example Teams and Channels, Supatimer Admins, Post Calendars, Extra Bot Features). Config cards use a purple title bar with the short explanation just below it, then your controls. Refresh roles sits on the bottom row next to Save. The empty-server welcome dialog uses the same gradient as the Contact panel for consistency.

New

Configure team managers from Server settings

Admins can pick a team and assign manager roles and users on the dashboard (with emoji and SR shown in the team selector). Supported games uses a denser grid on wide screens. Admin, availability, and team-manager role lists use shorter panels; the old Role colors placeholder card on this page was removed because colors live in team settings.

Improved

Accurate loading text when posting, updating, or reposting from the web

The Manage calendars dialog no longer always says the calendar is being created while the request runs. It now shows posting, updating the calendar post, or reposting to match the button you chose.

Improved

Calendar settings page works better on small screens

Manage members and Team settings now appear in the main column under Tracked Roles (not only on large desktops). Save changes sits right under the role picker, shortcuts use compact rows with chevrons, and spacing is tightened between those rows and the danger zone.

Fixed

Clearer error when the bot is missing Administrator permission

If the bot was invited without the Administrator permission (for example, if the checkbox was unticked during the invite flow), /avail now shows a clear message explaining that the bot needs to be kicked and re-invited with Administrator enabled, instead of a cryptic Discord API error.

Improved

Pick which week to post when creating calendars from the web

When creating a calendar from the Calendars page, you can now pick any of the next 3 weeks (this week, next week, or the week after) and choose whether to post a new calendar, repost a replacement, or update an existing calendar in place. The dialog shows which weeks already have calendars so you know exactly what each button will do.

New

Create calendars from the web dashboard

You can now create availability calendars directly from the Calendars page using the 'Manage calendars' button - no need to use the /avail command in Discord. Select your server and team, and the calendar is posted to Discord automatically.

Improved

Cleaner day headers on the availability grid and weekly prelims

Column headers no longer show numbered emoji prefixes before the weekday; day names and dates are unchanged.

Improved

Flex earlier/later tooltips on the calendar grid and weekly prelims

Hovering the flex arrows and the center check or player avatar explains who selected earlier or later flex, including when both apply, with key phrases emphasized.

Improved

Calendar settings role picker scales to large Discord servers

Tracked roles on the calendar admin page now use a searchable two-column picker with filters and scrollable lists, instead of a long row of role buttons.

New

Flex earlier/later on the web dashboard

If your team has flex enabled, the availability grid and weekly preliminaries now show arrows indicating who can start 1h earlier or end 1h later. You can also set your own flex preferences in My Availability.

Fixed

Banner and tour dismissals now persist correctly

Clicking "Don't show again" on the video tour banner or onboarding tour prompt now works reliably across page loads and devices.

Fixed

Weekly preliminary data can no longer be lost during save

In rare cases, saving lineup edits from the dashboard could silently lose all preliminary data if the database write was interrupted. Saves are now wrapped in an atomic transaction - if anything fails, the original data is preserved.

Fixed

Dashboard calendars load instantly on return visits

Previously, some calendars could briefly disappear on the first render and then reappear after a moment. The dashboard now remembers which channels you can access, so all your calendars show up immediately.

Fixed

Video tour banner and guided tour respect dismissal

Clicking "Don't show again" on the video tour banner or guided tour prompt now reliably hides them permanently, even if the page refreshes before the server responds.

Improved

Single calendar page on phones

Calendar detail uses clearer card spacing on small screens, optional team settings next to calendar settings in the header card footer, and the weekly preliminary grid uses subtle edge fades instead of arrows to show horizontal scroll. A dev mock at /dev/mock/calendar-detail-mobile documents layout alternatives.

Fixed

Scrim opponent prefill when editing a confirmed post

When you open the scrim confirmed post modal to edit an existing Discord message, opponent details from the weekly preliminary grid now pre-fill correctly. Previously they could stay empty even though the grid had them.

Improved

Calendars page layout on phones and desktop

Active calendars on small screens use a stacked layout with weekday dots and status. On wider screens, Event Polls and My Absences align to the same height. When you have no absences, only the Add button in the card header is shown.

Improved

Dashboard mobile layout and spacing

My Calendars on small screens shows team name and emoji with the date row separated from availability dots. Dashboard cards use tighter padding on phones, and content sits closer to the top bar.

Fixed

Server nickname on weekly timed availability calendars

When you set availability on a timed (time-slot) calendar, your name on that calendar now uses your server nickname for that Discord server. Previously it could show your global Discord name if it differed from the nickname on that server.

Improved

Optional member count in welcome and goodbye messages

Server Settings under Member Tracking now has a switch for welcome and one for goodbye to include or hide the "We're now at N members" line. Defaults stay on so existing servers behave the same until you change them.

New

/roast - fun social command

Use /roast @player to drop a random burn in the channel. Over 700 lines mixing gaming and everyday roasts. Server admins can toggle it on or off in Server Settings under Fun Commands.

Fixed

Members page save for coach and game-specific roles

The dashboard Members page now treats edits to the Coach checkbox and non-Overwatch role checkboxes as unsaved changes, so per-row Save and the floating Save All bar appear when expected.

Improved

Marketing pricing page

The pricing page shows three tier styles with zero for every plan, a full feature comparison table, and Get Started buttons that go straight to Discord OAuth.

New

Structured opponent fields in scrim post modal

The scrim confirmed post modal now has dedicated fields for opponent name, SR, Battle.net, and Discord instead of a single free-text box. Start typing in the opponent field to search past opponents - selecting one auto-fills all contact info. Data syncs back to the weekly preliminary grid. A free-text More info field is available for anything else.

Fixed

Owner DM notifications for server joins and leaves

Bot owners now receive DM notifications again when the bot joins or leaves a server. These notifications were broken after recent gateway changes.

Improved

Dashboard navigation simplified

The dashboard sidebar has been flattened - no more nested dropdowns. "Event Polls" has been renamed to "Event Planner" for clarity.

New

Interactive demo page

A new demo page lets you try the calendar, PUGs Planner, and event polls without creating an account. Access it from the marketing site.

New

Copy button on /early-lineup

The /early-lineup command now includes a copy button so you can quickly copy the formatted lineup text.

Fixed

Clearer error messages in team settings

Team settings pages now show descriptive error messages instead of a generic "Team not found" when something goes wrong.

Fixed

Lineup calculation: flex players bumping dedicated role players

Fixed an issue where a flex DPS player could take the hitscan slot and a flex support could take the main support slot in weekly preliminaries, even when dedicated role players were available. The lineup algorithm now fills exact role matches first before allowing flex substitutions.

Fixed

Event polls visible from private channels

Fixed an issue where event polls posted in private channels were visible to all server members on the polls page, even those without access to the channel. Polls are now filtered by your Discord channel permissions.

Fixed

Availability showing empty on calendars page

Fixed an issue where timed calendars on the calendars list page showed zero availability even after responding. Both the initial load and the enriched re-render now correctly display your availability.

Fixed

Shared lineup links and map pool

Shared lineup links (/exc/ short URLs) now work again without requiring login. Map pool display has also been restored for teams that have one configured.

New

PUGs Planner (Beta)

Organize in-house pick-up games with a drag-and-drop team builder. Create game rounds with custom names, assign maps, drag players from a roster into role slots (Tank, DPS, Support, or custom roles), and reorder rounds by dragging. Set event date/time, add lobby codes per round, and share lineups via a public link or post them directly to Discord. Find it under More Tools in the nav bar.

Improved

PUGs Planner improvements

Sortable roster with alphabetical player pools, viewer's local timezone shown on share pages, dark mode fixes, and all server members now appear in the add-players dialog.

Improved

Dismissible toast notifications

All toast notifications now have an X button so you can close them immediately.

Fixed

Dashboard availability for timed calendars

Fixed the dashboard showing empty availability dots and false "Pending" status for timed calendars. Availability now displays correctly for all calendar types.

New

Instant Discord role refresh

New refresh button in server and team settings pages. When you create or update Discord roles, click refresh to see them immediately instead of waiting for the cache to expire.

New

Embed layout customization

Customize how your Discord embeds look with the new Embed Layout card in team settings. Configure day prefixes (number emojis or none), day name format (full, 3-letter, single letter, or hidden), capitalization, player name separators (comma, pipe, or thin pipe), and toggle count and date display - each with an optional code block style. Separate settings for the availability calendar and weekly preliminaries, with a live Discord preview so you can see exactly how your embeds will look before saving.

New

Opponent info on scrim days

A new Opponent row appears on the weekly preliminary grid whenever a day is set to Scrim. Record the opposing team's name, SR, Battle.net, and Discord contacts. Start typing a team name to search past opponents - selecting one auto-fills all contact info. You can also enter everything manually.

Fixed

Multi-game weekly preliminary calculations

Weekly lineups now work correctly for all 21 supported games. Previously, non-Overwatch games could produce empty lineups because game-specific roles were not passed through the calculation pipeline. Role-structured games like Marvel Rivals and League of Legends now fill roster slots properly. If no players have set roles yet, the system falls back to filling by player status priority.

New

Member tracking - welcome and goodbye messages

The bot can now announce when members join or leave your server. Welcome messages greet new members with a mention. Goodbye messages distinguish between members who left, were kicked, or were banned. Messages include a live member count. Configure in Server Settings under Member Tracking.

New

Auto-assign roles on join

Automatically give new members selected roles when they join your server. Pick which roles to assign in Server Settings. The bot needs the Manage Roles permission and a higher role than the roles being assigned.

New

Multi-game support with composition groups

Supatimer now supports 21 games with game-specific team compositions. Each game has its own team size (3v3, 4v4, 5v5, 6v6, 7v7), role structure, and roster formation. Set your team's game in Team Settings to see game-aware availability grids, weekly preliminaries, role badges, and Discord embeds. Headcount games like Apex and Valorant skip role assignment entirely - just fill player slots.

New

Per-team role colors

Role colors have moved from server settings to team settings. Each team can customize badge colors for its game's roles. Overwatch teams keep all 8 color settings (Tank, HS, FDPS, DPS, MS, FS, Support, Hyperflex). Other games show their own roles with default colors you can customize.

Improved

Game-aware availability grid

The availability grid now adapts to your team's game. A 3v3 Apex team shows green when 3 players are available. A 6v6 Marvel Rivals team needs 6. Role badges show game-specific names instead of Overwatch roles. Players sort by status priority for non-OW games.

Improved

Game-aware weekly preliminaries

The weekly prelim grid shows the correct number of role rows for your game. Apex shows 3 rows, Call of Duty shows 4, Marvel Rivals shows 6. Row labels use game-specific role names. Auto-calculate uses the correct roster builder per game.

New

6 new games added

Fortnite, PUBG, EA Sports FC, Sim Racing, War Thunder, and World of Tanks are now supported with full game data, cover art, and landing pages.

New

Embed name format toggles

Choose exactly how player names appear in embeds with three independent toggles: Discord nickname, Discord tag, and team role. Replaces the old preset dropdown with full mix-and-match control.

New

12-hour time format

Switch your server to 12-hour time (AM/PM) from Server Settings. All embeds, time pickers, and dropdowns display times like 8:00 PM instead of 20:00.

New

Short exchange URLs

Scrim exchange cards now have short, shareable URLs (e.g. supatimer.com/exc/abc123) backed by unique database codes. Edit buttons let you update the link destination without changing the URL.

New

Per-team player name display with role emojis

Customize how player names appear in Discord embeds per team. Assign custom emojis to each role so lineups show role icons next to player names.

New

Coach member type

Assign team members as Coach via the Members page. Coaches can opt-in to the availability calendar and appear with a clipboard badge, but are excluded from lineup generation, subs lists, and player counts. The web dashboard shows coaches in a separate section below players.

New

Public scrim exchange card

Share your team's scrim info via a public link - no login required. Discord lineup buttons now include a shareable URL, and the dashboard has a new Share button to pick the day and detail level. The card uses your server's accent color.

New

AI help assistant

A floating help widget on the dashboard lets you ask questions about any Supatimer feature and get instant answers. Also includes a feedback form for bug reports and feature requests.

New

Weekplan redo confirmation

Running /weekplan with redo:True now shows a confirmation warning before clearing the existing plan, preventing accidental resets.

New

Smart tips for repetitive actions

The bot now detects repetitive actions and shows contextual tips to help you use shortcuts and faster workflows.

Improved

Team settings shortcut on calendar

A quick-access button on the calendar page header links directly to the team's settings, saving clicks.

Fixed

Coaches excluded from /weekplan lineup generation

Coaches are no longer placed into roster slots when generating weekly lineups via /weekplan.

New

Scrim exchange info and map pool

Configure your team's scrim settings (staggers, kill cam, hero bans, host) and Overwatch map pool from Team Settings. Each lineup post now has copy buttons to share formatted exchange info with opponents - choose Minimal, With Map Pool, or Map Pool + Roster.

New

/my-info command for Battle.net tag management

Run /my-info in Discord to view and edit your Battle.net tag without leaving Discord. Your tag is shown in lineup contact dropdowns so managers can quickly find your info.

Fixed

Battle.net tags now display correctly in contact dropdowns

Fixed an issue where Battle.net tags showed '(not set)' in the lineup contact dropdown even when set in the database.

New

Vote on event polls directly from Discord

Poll embeds now have a 'Vote Now' button that opens a personal menu to pick your available slots, pre-filled with your existing votes. Quick-action buttons for 'All Days' and 'Can't Participate' are included. No need to leave Discord to vote.

Fixed

Event poll time slots sorted chronologically

Poll time slot options now appear in chronological order instead of random database order.

Fixed

Recent scrims gated by channel access

The dashboard now only shows recent scrims from channels you have access to, preventing unauthorized previews.

New

Per-team dynamic Discord timestamps

Times in calendars, lineups, and scrim confirmations can now display in each viewer's local timezone. Configure it server-wide from Server Settings, or override per team with Inherit, Enabled, or Disabled.

Fixed

Timestamp toggle cache fix

Toggling the Discord Timestamps setting on the web dashboard now takes effect immediately without needing to refresh.

Improved

Clearer timezone label on Discord posts

Dynamic timestamps now show "(your time)" instead of the server's timezone abbreviation, making it clear the time is personalized to each viewer.

Fixed

Guild timezone used instead of hardcoded CET

Calendar embeds and availability grids now use the server's configured timezone rather than always defaulting to CET.

Improved

Theme switcher redesigned

The theme switcher dropdown has been replaced with a simple click-to-cycle toggle that rotates through light, dark, and system modes.

Improved

Clearer timeslot dialog buttons

The timeslot editing dialog buttons have been renamed and restyled for better clarity on what each action does.

Fixed

Server icon shown in calendar rows

Dashboard calendar rows now display the server icon instead of the team emoji for a more consistent look.

New

Copy button on embed posts

Embed builder posts now include an optional copy button so members can quickly copy the formatted text.

New

Analytics integration

Added cookieless, privacy-friendly analytics (EU-hosted) to help us understand how the dashboard is used and improve it.

Fixed

Duplicate players in scrim confirmations

Fixed a bug where players could appear twice in scrim confirmed messages.

New

Click-to-edit SR badge on calendar page

You can now click the SR badge on the calendar page to quickly edit your team's SR range.

New

Bot presence (Online status)

Supatimer now shows as Online in Discord at all times, powered by a dedicated gateway service.

Improved

Faster dashboard loading

Server and dashboard pages now load in two phases - you see content immediately while details fill in, plus smart caching reduces Discord API calls.

Fixed

Members with only @everyone role now visible

Members who had no additional roles beyond @everyone were incorrectly hidden from channel access checks.

Improved

Default scrim SR from team settings

When posting scrim preliminaries, the SR now defaults to your team's configured SR range.

Fixed

Roster slot fill order corrected

Fixed Main Support being filled after Flex Support, and improved role optimization for dual-role players.

Fixed

Mobile calendar scrolling

Calendar drag-and-drop no longer blocks normal touch scrolling on mobile devices.

New

Video tour and web guide

Added a video walkthrough to the web guide and docs pages, plus a dismissable banner on the dashboard linking to it.

New

Docs and guide are now public

The bot commands reference and web guide pages no longer require login to view.