Changelog
What's new in OCElock: features, fixes and changes for players and teams.
We follow Semantic Versioning (MAJOR.MINOR.PATCH). Patch-only releases (hotfixes) are hidden by default so the timeline stays focused on feature lines.
A fairer ladder, calmer match day and sharper Discord
v0.6.0
Community playtest
Most of what's in 0.6.0 was put through a compressed closed test on staging: community players ran a full season so we could catch awkward behaviour in scheduling, standings, Discord and match pages before it hit everyone.
Thank you to LpeX, Diz, Joshland, Frost, Dick Naked, SophaDoph, and Vin Cheezel.
This release makes the ladder easier to trust, seasons and sign-ups easier to read, match pages nicer on phones and desktops, and Discord better at nudging captains without spam. Profiles gain clearer trophies and achievements, a new OCElock team rating from official matches, and a Deadlock rank hint where we have data.
What's new
- Standings — You'll see a short note when the ladder can still move (open fixtures in the round). Tables show wins, losses and byes consistently; when several teams share the same points, "Tied for 1st"-style labels read in a sensible order (the next group down is not mis-labelled ten places lower). The ladder updates as soon as a match is final, not only at the end of the week. We fixed several edge cases (byes, duplicates, mismatched rows) that could show the wrong record or the same team twice.
- Seasons and registration — Dates and match weeks follow the league's timezone so everyone sees the same calendar story. The leagues page shows clearer season cards (full dates, format, how many match weeks you get). While a season is still in registration, you can browse who's signed up (approved and pending), with sorting and a simple filter when the list gets long. Before staff publish a round, those fixtures stay off your schedule and match list so you're not acting on pairings that aren't live yet. Your dashboard schedule matches the season page treatment (including a calendar / format summary before pairings exist); Phase 1 → Phase 2 break weeks show on the strip even for short match-week lengths. Some kick-off lines respect your chosen display timezone in settings where that makes sense. Leagues can set an optional last day to register; the countdown is clearer, especially close to the deadline.
- Deadlines for captains — Scheduling nudges (about 24 hours and about 1 hour before the veto cut-off) are separate from "no kick-off time agreed" after the scheduling window closes—that path opens moderation and a forum thread for captains, vice-captains and staff; updates (vetoes, preferences, staff-assigned time) can append to that thread so the story stays in one place. "No result by end of match week" is a different flow and now also pings Discord and opens a forum thread, not only the in-app queue. When a time is agreed, the scheduling dispute sorts itself out. Automation is less likely to stall on matches that never got a kick-off time or never left scheduling states without opening the right dispute.
- Match pages — Clearer layout on mobile and desktop: matchup header, match info, vetoes and hero draft in one flow. Hero draft shows a single lobby countdown where it matters; the pick/ban summary appears once the draft is done. The top banner only nudges you when that season actually uses a hero draft (no more dead-end lobby links). Best-of-one matches no longer look like a broken multi-game series; best-of-three is laid out map by map with collapsible sections and a clearer path to record IDs, live stats and results per game. Mods open Staff from a button (modal) instead of a bar across the page. The other team's captain or vice-captain (whoever didn't submit) can confirm a result. Submitting a result lines up with kick-off, recorded match ID and draft rules so the UI matches what the server expects.
- After the match — Automated post-match hero checks back off when we cannot match Deadlock players to either roster, so you get fewer false hero disputes from bad metadata. The old event timeline block was removed in favour of the simpler match overview strip (staff still have deeper tools elsewhere).
- Dashboard and teams — My matches, Up next and the standings snippet are tidier; past results use clear WIN / LOSS / DISPUTED labels and TBA when there's no time yet. The teams list shows status, record, points, and captain / vice-captain at a glance, with clearer tooltips and season filtering from league pages.
- Discord — Private match threads get updates for vetoes, when a time is set, hero draft lobby open, about an hour before kick-off, results, disputes and forfeits—with kick-off times in the league timezone and a Discord local timestamp so each person sees their own time. Plain-text lines in threads no longer sprout huge link previews under every URL. Reminders (round due tomorrow, scheduling DMs, "submit your result") fire once where they used to repeat, and bye matches are skipped for result nags. If you're linked but not in the server yet, the site can prompt you to join so roles work.
- While you're scheduling — When one side locks in vetoes, moves to round two, or sends a preferred slot, the other side's captains and vice-captains get a heads-up in-app and optionally by Discord, without duplicate spam.
- Trophies and ratings — Trophies and achievements sit in the right buckets with refreshed badge art; team pages can load a proper trophy rack too. There's a new OCElock team league rating from your official completed series (with a "still settling in" style state until you've played enough). Deadlock rank prediction still appears for you on the dashboard and profiles, and team pages can show a team-level Deadlock snapshot when enough core players have predictions—that's public Deadlock data, not the league rating.
- Live dashboard and login — The live match panel on the dashboard should update reliably again (the live stream was fixed end-to-end). Faction names, kill feed and hero columns behave better with real demo data. If your session hiccups, the site tries a bit harder to refresh you in the background without kicking you out unnecessarily.
- Little polish — Logos and avatars open a simple full-size preview when tapped. Number fields in dark themes no longer show the browser's ugly up/down arrows. Schedule and standings controls got small accessibility improvements (clearer headings, expand/collapse and tabs for assistive tech). Each row on the season schedule includes a quick link to that match page. Help (pairing and format) notes that some optional playoff ties aren't auto-scheduled yet. The changelog page can hide tiny patch releases by default so the timeline highlights bigger releases; there's a short note on how versioning works. Captains testing on staging can use the unlisted season compact test playbook.
For admins and moderators
- Create / edit season — Modal editor with live milestone preview on wide screens; match week layout (which days are for scheduling vs play), separate scheduling close time, result deadline day, optional hero draft template and timers, optional registration close, and optional next round publish time for full auto. End date is calculated from the grid so it always matches automation.
- Discord bot — See where messages go (channels, roles, forum tags), set overrides in the database or fall back to environment values, preview notification timing for a season, and tune reminder windows and short-notice timings (draft lobby open, about an hour before kick-off) in plain language.
- Leagues & seasons — Run automation tick once with confirmation; milestones toggle per season for an advisory timeline (severity, match week end, what's next).
- Season simulation — Step through rounds with keyboard shortcuts, browse all rounds, and inspect a dry-run list of the sorts of notifications automation would send (grouped and filterable).
- Rounds — Delete draft rounds, deep link with season in the URL, repair match threads for a published round if needed, clearer open match controls.
- Webhooks (admin) — Copy explains that automation/reminders/announcements go through the bot and env config; you can test a bot post without editing legacy URLs.
- Moderation — Dismiss or restore draft violations with a note; resolve deadline disputes even when there was no prior result row; optional soul totals on results; transition alerts to Discord are clearer and link to Rounds.
- Ratings and audit — League rating breakdown per team and full recompute for admins; audit log can be filtered by automation tick; hero draft lobby joins are logged for support.
As always, if something doesn't work as expected, head to Support and we'll help you out.
Friendlier errors, smoother Discord linking & mobile polish
v0.5.4
We've improved what you see when something goes wrong, made Discord linking one less step, and polished the mobile experience across the site.
What's new
- Clearer error pages — If a page isn't found (404), something goes wrong in the app, or our servers are temporarily unavailable, you'll see a clear message and links to retry or go home. When the API is down, the site shows "Service temporarily unavailable" instead of raw errors.
- Steam login — Before sending you to Steam, we check that our API is reachable; if not, you're taken to the status page instead of a broken login flow. The login button shows a short loading state whilst we check.
- Team roster — Each player now shows whether they've accepted the current Rules and Code of Conduct (Accepted or Pending). Captain and Vice-captain are shown with crown and shield icons, matching the draft roster.
- Discord linking — Linking your Discord account now automatically adds you to the Ocelock Discord server, so roles are applied straight away. We've removed the separate "Join server" step, the post-link modal and the welcome DM so the flow is simpler.
- Landing page — The "Login with Steam" button is now hidden when you're already signed in.
- Mobile improvements — The navbar, season pages, team pages, match history and changelog now display better on mobile devices. Alert banners are more compact, stats stack vertically, and text scales appropriately for smaller screens.
If something doesn't work as expected, head to Support and we'll help you out.
Cleaner homepage and smoother experience
v0.5.3
A small update focused on the homepage and how the site feels when you land on it.
What's better for you
- Cleaner homepage — The intro at the top of the landing page is now slimmer and simpler: a short headline and one line of copy so you get to the good stuff faster.
- Full-bleed landing — The main landing area now runs edge-to-edge with no extra padding, so the page looks cleaner and more focused.
- Smoother loading — We fixed a layout shift on the homepage so the content no longer jumps when the page finishes loading.
- Better image descriptions — Team logos, avatars, and hero icons across the site now have proper descriptions for screen readers and accessibility.
For admins and moderators
- Our release runbook now includes a short "Performance (SEO / Core Web Vitals)" section with targets and where to measure (TTFB, LCP, CLS, FCP) for future tuning.
If something doesn't work as expected, head to Support and we'll help you out.
Easier to find us, better link previews, and a few fixes
v0.5.2
A small update to make OCElock easier to discover and share, plus some behind-the-scenes fixes.
What’s better for you
- Easier to find — We’ve improved how the site appears in search so more players can find us when they look for things like “Deadlock Australia” or “Deadlock comps Oceania”. The homepage and key pages now make it clear we’re the competitive Deadlock league for Australia and Oceania.
- Better link previews — When you share a link to OCElock on Discord, Twitter, or elsewhere, the preview now shows a proper title, description, and image instead of a bare URL.
- Clearer branding — New favicons and app icons so the site looks right in browser tabs and when you add it to your phone’s home screen.
Fixes
- Quieter API logs — Unauthenticated page loads no longer generate a warning log entry. The site checks your login status on every page visit, so logged-out visitors were producing a lot of noise in the logs. These are now recorded at a lower level.
For admins and moderators
- Grafana "Warn + Error log count" and "Warn/Error rate by service" panels now correctly query Loki instead of Prometheus, fixing the "No data" and parse error that appeared after the dashboard was updated in v0.5.1.
- Log panels across the dashboard now display messages in a cleaner, more readable format.
If something doesn't work as expected, head to Support and we'll help you out.
Live scoreboard hero images, Steam avatars, and stability improvements
v0.5.1
The live scoreboard gets a visual upgrade, and we've fixed a few reliability issues around roster invitations and Discord roles.
What's new
- Hero images on the live scoreboard — Player rows and the kill feed now show hero portraits fetched from the Deadlock Assets API, making it easier to follow the action at a glance.
- Steam avatars on the live scoreboard — Each player's Steam avatar is displayed alongside their name during a live match.
- Improved kill feed — Kills are now powered by dedicated game events rather than inferred from stat changes, so the feed is more accurate and reliable. New kills appear at the bottom with auto-scroll, and the layout has been tidied up.
Fixes
- Roster invitations — Revoking an invitation no longer fails if that player had a previously revoked invitation. Only pending invitations are now subject to the uniqueness check.
- Discord role grants — Role grant and removal actions no longer fail for players who have linked their Discord but haven't joined the server yet. The action is skipped with a warning instead of showing an error.
For admins and moderators
- API and Discord bot now log a startup config summary so misconfiguration is easier to spot quickly.
- All API requests now carry a
request-idheader for easier cross-service log correlation. - Logging improvements across the API and Discord bot make it easier to trace 401 errors, queue actions, and channel management issues.
If something doesn't work as expected, head to Support and we'll help you out.
Live match scoreboards, Discord threads, and mobile improvements
v0.5.0
The biggest addition this release is live match tracking — watch a game as it happens right from the match page.
What's new
- Live match scoreboards — When a captain submits a Deadlock match ID for an active game, the match page shows a real-time scoreboard: game clock, souls and kills for each team, and side-by-side player stats (hero, K/D/A, last hits, denies, damage, objectives, healing). A live kill feed updates as the game progresses. Hit Spectate to jump straight into Deadlock spectator mode.
- Per-match Discord threads — The bot now creates a private Discord thread for each match when a round is published. All rostered players from both teams are added automatically, and the thread stays updated through scheduling, result submission, disputes, and confirmation. Threads are archived once the next round starts.
- Changelog page — You're reading it! Release notes are now available at /changelog so you can always see what's changed.
- Mobile improvements — Navbar, feature cards, format and timeline cards, and the help hub now look and behave better on narrower screens. The help flow visuals use compact layouts on mobile without affecting the desktop experience.
Help and rules updates
- The match rules at /help/match-rules are now the single canonical source for all league rules.
- The code of conduct at /help/code-of-conduct has been expanded into a detailed, community-focused enforcement guide.
- Scheduling, draft attendance, substitution expectations, dispute windows, and reporting paths have been clarified to match how the platform actually works.
- The terminology glossary now includes draft-window and no-show terms, forfeit wording, and clearer routing between match disputes and General Support.
Fixes
- Forfeit confirmation — The forfeit action now clearly explains which team is recorded as the winner before you confirm; a tooltip appears before submission so there are no surprises.
- Team activity — Roster events that can't resolve a player name now show "A player" with a note, instead of "Unknown player".
For admins and moderators
- A new test page at
/admin/live-events-testlets you plug in any live Deadlock match ID to verify the full live scoreboard pipeline.
As always, if something doesn't work as expected, head to Support and we'll help you out.
Help hub refresh and platform improvements
v0.4.2
We've refreshed the Help section with clearer navigation and styling, and made a few improvements across the platform.
What's new
- Help hub — Section cards with clearer icons and layout so you can find league format, match rules, behaviour guides and glossaries more easily. The "More" links use the same card style for consistency.
- Splash and Discord — On the home page, you'll see a "Join our Discord server" button when Discord is set up. If you're logged in but haven't linked Discord yet, you can do it from there alongside Steam login and View leagues.
- Stability — Better logging and monitoring on our side so we can keep the platform running smoothly. No changes to how you use the site.
For admins and moderators
- The Admin Discord bot page has a clearer layout: manual syncs and test actions are in separate cards with consistent styling.
- Monitoring alerts are tuned so only relevant issues (e.g. API down, certificates, traffic errors) go to Discord; less noise from control-plane checks.
As always, if something doesn't work as expected, head to Support and we'll help you out.