New
- •Mock interview: a blank shared editor for up to 3 people, started from a dashboard tile; bring your own question, the host picks the language, Ctrl+Enter runs the buffer as a plain program with the Input tab as stdin; nothing is graded
- •Interview starter code in every language reads each line of stdin into `lines` and echoes them back, so the Input tab is wired before anyone types
- •Interviewer notes: a private scratchpad in a Notes tab beside the chat, autosaved, still editable on the ended screen; once the interview has ended everyone in the room can read them
- •Stopwatch in the interview toolbar with Start, Pause and Reset; survives a refresh and is never shared
- •Shared drawing canvas over the interview editor with pen, eraser, palette, undo mine and clear; hiding it hides it for the whole room
- •The interview output panel and the chat sidebar drag to resize, and each size is remembered
- •'Past interviews' on /interview lists every interview you ran or sat, with who ran it and a preview of the notes you can read
- •Interview replay: every mock interview is recorded (REC chip in the room) and, once it has ended, anyone who was in it can watch it back from the ended screen or the history list: the code as it was typed, the drawing, the chat, notes as they were written, each Run and its output, language switches, joins and leaves; play/pause, 1x to 8x, quiet stretches over 10 seconds play as 1 second, a scrubber with markers, Space and the arrow keys
- •Saved lists have search, topic and tag menus, solved/attempted and difficulty filters, and a sort by date saved, on /lists and on shared list pages; a 'Show tags' switch reveals topic tags on the cards (off by default)
Improved
- •Study group random and topics draws weight each problem by how many participants have solved it: unsolved problems are drawn most often and solved ones still appear; solves anywhere on the site count, not only study-group solves
- •Count Enclosed Regions and its themed variants define which island a lake belongs to: a lake belongs to an island only if every land cell touching it is on that island, and a lake bordering two islands belongs to neither
- •Count Enclosed Regions, All Dictionary Segmentations, Trapped Volume Between Heights, Maximum of Each Window and Count Intervals Covering Points move from gold to silver; Binary Tree Level Order Traversal and Anagram Index Groups move from silver to bronze
- •Trapped Volume Between Heights no longer spells out the maxLeft/maxRight formula in its statement
Fixed
- •A frozen background tab (Chrome after about five minutes, Memory Saver, a sleeping laptop) kept its user online in practice rooms, the online count and Following for hours; a connection that goes silent now counts as idle within about 90 seconds
- •After a session token refresh in a practice room the server held an empty copy of your code, so spectators saw a blank editor and the tab counted as active while idle
- •The chat composer used the code font, whose ligatures merged '->', '!=', '==', '<=', '--' and '...' into one glyph while typing; it now uses the regular font
- •On saved list cards the solved check overlapped the remove button; the running count line now shows only while a filter narrows the list
New
- •Emoji reactions on chat messages in global chat, practice rooms, study groups and collab sessions: hover a message to add one from a palette of eight, click a chip to toggle yours, hover a chip to see who reacted
- •/daily month calendar of past daily challenges: past days link to their problem, today is marked, and your solves are marked on the day; 'Past challenges' link on the dashboard hero
- •Rank insignia beside usernames on the leaderboard, the profile leaderboard card, the dashboard Activity and Following bands, chat messages and the user popover; level and rank name in the tooltip
- •Submission result panel shows an itemized XP receipt: one row per source with what earned it, a total, the XP before and after, and the level bar lights the slice this submission added
- •Pen palette in collab sessions: each seat starts on its own color and can pick any color
- •/environments page listing each language's compiler or runtime version, compile and run flags, pre-imported modules, bundled libraries and time and memory factors; linked from the editor settings menu and the footer
- •SGTM, thumbs-up and mhm chat emotes; :Copium: is now the COPIUM emote (the old name still works)
Improved
- •C++ compiles with GCC 14 and C++23 (std::ranges, std::span, std::format, <=>) and <bits/stdc++.h> is pre-included
- •C# runs on .NET 10 with C# 14: PriorityQueue, records, BitOperations, System.Linq without a using
- •Go runs on Go 1.27 (slices, maps, cmp)
- •LeetCode's library set is available: JavaScript has lodash as _ and @datastructures-js (PriorityQueue, MinPriorityQueue, MaxPriorityQueue, Queue, Deque, Stack, the heaps, the linked lists) as globals; Java has a javafx-compatible Pair; Go can import gods; Rust has rand, regex and itertools; Swift has swift-collections, swift-algorithms and swift-numerics
- •C++ out-of-range indexing on vector, string and deque, and front(), back() or pop_back() on an empty container, now fail with a named assertion instead of passing by accident
- •Maximum Height Outline is now Largest Deployment Over Time: deployments on a timeline as [start, end, servers], the answer is the chart of the largest deployment running at each moment
Fixed
- •Study group cards undercounted members: late joiners and members returning to a full room were not counted
- •Long strokes on the collab drawing canvas were rejected mid-stroke and other participants saw nothing until a resync
- •'Unknown message type: privacy:update' error in collab chat for users who had turned off spectating
- •Profile activity calendar no longer overflows its card with a horizontal scrollbar
- •A Python trie timed out on Maximum XOR Under a Limit; the suite is resized so a per-node trie passes
- •Longest Increasing Subsequence caps nums.length at 1000 so a top-down (index, previous) memo fits in memory in Python
- •A hidden case on Next Larger Value in a BST asked for the successor of the tree maximum, which the statement rules out
- •Dashboard 'Keep going' showed 'You have cleared the map' under a 2/3 category header when the continue tile held that category's last problem; the list now moves on to the next open category
- •Editor find widget tooltips ('Close (Escape)', 'Match Case', ...) grew over their own buttons, which made the close X unclickable
New
- •XP and levels: every first accepted solve earns XP (40 / 75 / 150 / 300 for core / bronze / silver / gold), with bonuses for clearing a category or a tier, first solves in each language, solving a solved problem in a new language, streak and solved-count milestones, the daily challenge and study-group rooms. Past solves are already counted
- •Twelve ranks from Lil' Bit to Algo Blazer with no level cap; a level chip in the status bar shows your rank insignia, level and XP to the next level, and links to the ladder
- •The submission result panel shows the XP gained with a per-source breakdown and a progress bar, plus a level-up banner when the total crosses a level or a rank
- •/levels page with the full rank ladder, a guide to how XP is earned, and your own row highlighted
- •Profile page redesigned as a dashboard: banner header with your rank title, emblem and XP bar, a standing strip with global rank, followers, following and fires received, stat tiles including Total XP with week-over-week change, category progress with one cell per problem across every category, difficulty rings and a languages bar, a Following / Global leaderboard card, the activity calendar with a year-summary row, and recent activity
- •Learn category pages open with a primer: a short topic lesson above the problem ladder, on all of Tier I and on Prefix Sums, Intervals, Greedy, Heaps, Trie, BFS I and II and DFS I and II in Tier II
- •Animated algorithm walkthroughs in the Two Pointers, Sliding Window, Binary Search and Prefix Sums primers, with play, pause and step controls
- •BFS and DFS are each split into two ladders: part I on binary trees, part II on grids, graphs and hidden graphs
Improved
- •Category page ladder rows are one line each; clicking a row shows the problem statement and constraints, with the lesson behind a 'Show lesson' toggle and the Solve button inside the panel
- •Stacks & Queues moved after Hash Maps in Tier I
- •Category page header spans the full width; the problems ladder is capped at the primer's reading width
- •Old /learn/category/bfs and /learn/category/dfs links redirect to the part I pages
Fixed
- •Tree-returning problems showed -1000000007 in place of null for missing nodes in 'Your Output', even on accepted runs; past submissions display correctly too
- •A per-node Python trie timed out on Maximum XOR Pair; the test suite is resized so the trie approach the lesson teaches passes
- •Trapped Volume Between Heights' description no longer omits the rule for when a dip holds water
New
- •Python solutions can use SortedList, SortedDict and SortedSet from sortedcontainers, pre-imported like the standard library
Improved
- •The Learn page's 'How to use this section' guide is a seven-point numbered list, always visible, instead of a collapsible grid of eight cards
- •The Learn page intro is two sentences instead of repeating the guide
New
- •Python solutions start with the common standard-library names already imported: collections, itertools, functools, heapq, bisect, math, typing and more, no import lines needed
Improved
- •Confirmation, password-reset, magic-link, email-change and invite emails use branded templates instead of the stock text
- •Live streams appear on the dashboard within a minute of going live instead of up to five
Fixed
- •Ctrl/Cmd+Z did not undo code while draw mode was armed
- •The undo history was lost after viewing a past submission and returning to the editor
- •Reset could not be undone with Ctrl/Cmd+Z
- •Long example lines in problem descriptions scrolled sideways instead of wrapping
- •The study-group sidebar broke its layout with eight or more members: the leaderboard overflowed and the chat collapsed
- •The Learn map could show no categories or problems for up to five minutes after a momentary database error
- •Submissions on problems with very large test data could fail with a timeout
- •Live streams in Twitch's Co-working & Studying category never reached the dashboard
New
- •A "How to use this section" guide on the Learn header, open by default and collapsible
- •Tree problems draw their example inputs and outputs as diagrams in the Examples panel
- •The header notification bell opens a dropdown of recent notifications instead of going straight to the inbox
- •Date separators in global chat: Today, Yesterday, or the full date between messages sent on different days
Improved
- •Java 25, Node 24 and Rust 1.98 replace the judge's 2019-era runtimes; the version shows in the language dropdown
- •Every problem statement rewritten to one voice: plain wording, no bold emphasis, and an explicit "Return ..." sentence
- •Problem descriptions no longer hint at the intended technique or complexity
- •The out-of-order category warning leads with its recommendation instead of an "Uncharted depth" heading
- •Run and Submit results come back as soon as the judge finishes rather than on the next poll
Fixed
- •The Format button was disabled in every language except JavaScript
- •A debug print of a set or dictionary could report "Malformed harness output" or shift the verdicts by one case
- •A submission whose process exited before every test case ran could still be accepted
- •The beta badge on problem list rows was amber instead of violet
New
- •Swift is the eighth supported language, with starter code and a reference solution on every problem
- •Notifications: a bell in the header with an unread badge, and a /notifications inbox for fires, comments, replies, and follows
- •Solution posts can be given a custom title and a markdown write-up by their author, shown on the activity feed and the solution page
- •Global chat keeps its history: the backlog survives reconnects and restarts for 30 days, with a Load earlier messages control above the oldest message
- •The dashboard Global chat card can be popped out into a floating window that drags, resizes, and collapses; drop it back on the empty rail slot to dock it
- •Chat composer autocompletes emote codes as you type :prefix and shows the picked emote inline before you send
- •About 90 emotes in the picker: the classic streaming set alongside a redrawn AlgoBlazer set, several of them animated
- •Optional Display name field when you pick your username
Improved
- •Leaderboard shows usernames only
- •The emote picker stays open across picks, so several emotes can be inserted in a row
- •Live on Twitch band moved directly under Today's Challenge on the dashboard
- •Links to AlgoBlazer show a preview card when shared, and the site is now indexable with a sitemap and per-page titles and descriptions
Fixed
- •Clicking a name in the popover that opens from global chat did nothing instead of going to the profile
- •Loading earlier chat history could hide the Load earlier messages control or jump the view to the top
- •A spectator could be shown stale code when the first snapshot from the author did not reach the server
New
- •Global chat on the dashboard: a chat rail beside the bands on wide screens, a band below them otherwise
- •Unread-count badges on the Room and Global chat tabs
- •My reports page (/reports): follow up on problems you reported, read replies, and reply back; a dashboard band shows active and unread reports
- •Problem header shows the time and memory limits for the selected language, with the base values in a tooltip
- •My Lists link in the avatar menu
Improved
- •Python and JavaScript get 2x the memory limit of the C++ baseline
- •JavaScript recursion depth now matches the other languages; deep recursive DFS no longer fails with RangeError
- •Study group problems are ordered easiest to hardest, for both random and host-picked sets
- •Study group code is kept when the session ends: it moves to your solo practice draft for that problem, with a Restore / Keep mine prompt if you already had one
- •Each problem on the study group results screen links to practice mode
- •Dashboard activity feed pages with a Load more button (10 events per page) and ends with an 'All updates' link to the changelog
- •Dashboard changelog rail replaced by a one-line what's-new strip
Fixed
- •Report-a-problem dialog kept only the first typed character in the details box
- •Leading space before 'Input:' in problem examples
- •Practice room solves no longer go missing from, or show twice in, the dashboard activity feed
- •Two Sum hidden case that accepted only one of several valid answers
- •Split Into Three Palindromes memory limit raised to 512 MB
New
- •Per-problem Activity tab (replacing Discussions): recent shared solutions and posts in one feed, with fire reactions and comments on solutions
- •Following list on the dashboard: see who's solving a problem, in a study group, in a collab session, or when they were last active
- •Vim and Emacs editor keybinding modes, selectable from editor settings
- •Run and Submit hotkeys: Ctrl/Cmd+' runs the samples, Ctrl/Cmd+Enter submits
- •Pin a failed case from a past submission straight into the Run flow
Improved
- •Study group scoring: harder problems are worth more, and the leaderboard ranks by score
- •Dashboard activity infinite scroll
- •'Save to list' button moved from the editor toolbar to a button next to the problem title
- •Ctrl/Cmd+Z undoes your last stroke while draw mode is on
Fixed
- •Right-click → Paste in the code editor actually pastes
- •Study group scores no longer go negative on long sessions, and the session timer no longer drifts if your clock is off
- •Garbled punctuation (— and friends) repaired across problem descriptions
- •Viewing a shared solution no longer shows a scrollbar inside a scrollbar
- •Dashboard Twitch stream thumbnails refresh instead of going stale
New
- •Global chat channel with Twitch-style emotes
- •Live Twitch streams that mention AlgoBlazer show on the dashboard
- •Tier IV "Mastery" in Learn: Interval DP, Bitmask DP, Digit DP, Segment Trees, String Matching
- •This blog and changelog
Improved
- •Tree problems hand you a real TreeNode and expect one back, instead of an encoded array
- •Discussions support markdown, including code blocks
- •Study groups keep your in-progress code across reloads
- •A workspace action bar keeps Run and Submit always reachable, and adds Format code
Fixed
- •Submission overlay no longer strands on top after navigating from inside it
- •Spectators no longer occasionally join to an invisible editor
- •Several DP problems no longer memory-limit Python solutions that should pass
New
- •C# is a fully supported language
- •Company tags say which companies have asked each problem
- •Report a problem: flag broken tests or confusing descriptions from the problem page
- •Output Limit Exceeded verdict when code prints past the output cap
- •12 new problems, including Invert Binary Tree and Cheapest Flights Within K Stops
Improved
- •Study groups: hosts pick the problem or topic, past-session history, group solution viewing
- •Submissions open in an in-page overlay with failed-case detail and a copy link
- •Profile setting controls whether others can view your accepted solutions
- •Runtime errors show real stack traces; deep recursion works to a sane limit in every language
- •Easier on-ramp rungs for the Heaps, Trie, Dijkstra, Topological Sort, and Stacks & Queues ladders
- •Your activity feed includes discuss posts from people you follow
New
- •A dozen new problems from LeetCode, Codeforces, and fresh interview reports
- •Four more Learn ladders: Heaps, Bipartite Graphs, Bit Manipulation, Math
Improved
- •The practice section moved from /practice to /learn (old links redirect)
- •C++ submissions compile as C++20
- •Editor word wrap toggle, and Reset asks before wiping your code
- •Custom test case input cap raised to 100,000 characters
- •Fresh Problems tile shows how new each problem is
- •All Problems beta filter is a clear tri-state: everything, beta only, stable only
- •Problem recency is ranked by publish date
Fixed
- •Category progress refreshes immediately after a solve
- •Per-problem pips always render in category progress
- •Practice-room solve entries link to the solution
- •Trapped Volume Between Heights description rewritten for clarity
New
- •Shared drawing canvas in practice rooms: sketch together in real time, spectators included
- •Site-wide "N solving now" count on the dashboard
- •23 new problems: LeetCode classics plus twelve from recent real interview reports
New
- •Discussions tab on every problem
- •Topic tags with a spoiler-safe reveal, plus multi-select topic filters in the browser
- •Official lessons appear in a Lesson tab on the problem page
- •Submission history pages through everything you have ever submitted
Improved
- •Learn: next/prev problem navigation with a section progress indicator
- •Categories re-tiered; tier 1 is now Fundamentals
- •Quiet practice-room users show as idle instead of online
- •Room activity entries are timestamped
- •Spectating capped at 20 viewers per person, with a clear message when full
- •Results pane: cleaner inset look and draggable height
- •Browser tabs lead with the problem name
- •Study group hosts type the max player count
Fixed
- •Late joiners to a study group receive the room state they were missing
New
- •Collab Sessions: invite up to two friends and edit the same code in real time
- •AI debug hints: ask "Why isn't my code working?" from the verdict header
- •Connect Google, GitHub, and Twitch to your profile from Settings
Improved
- •Nearly every Learn category got a rebuilt ladder, including a 17-rung Dynamic Programming ladder
- •The Chat/Activity side panel collapses out of the way