Versões

Novidades

Histórico de atualizações do SQL Arena. As versões mais recentes ficam no topo.

v7.0.2212 de jul. de 2026Atual
Corrigido
  • Fixed a login loop: the sign-in page bounced to the catalog and back when the browser held a stale session cookie flag. Sign-in state is now confirmed by the server and stale cookies are cleaned up automatically.
v7.0.2111 de jul. de 2026
Corrigido
  • The selected dialect (PostgreSQL / MySQL / ClickHouse) in the catalogue filters now persists across visits too — following the rest of the filters in 7.0.20.
v7.0.2011 de jul. de 2026
Corrigido
  • The hidden grading data now uses different ids than the visible data: answers that copied an id spotted in one table by eye instead of a JOIN/subquery no longer pass, and such "solutions" are removed from the top-solutions list.
  • Your task-catalogue filters (status, difficulty, topic, sort) no longer reset when you come back — they persist across visits.
v7.0.198 de jul. de 2026
Corrigido
  • Audited all 94 exam tasks: two references returned id where the statement asked for the dish name — correct solutions were rejected; three more statements now spell out exactly which columns to return and whether hotels without reservations count.
v7.0.186 de jul. de 2026
Corrigido
  • Transaction-isolation tasks no longer reject correct solutions over column aliases: grading compares the values the transaction observed, not names like COUNT(*) AS my_alias.
  • Index-design tasks were showing the answer itself — the finished CREATE INDEX — in the “Speed this query up with an index” box. It now shows the query to speed up.
  • The feedback form sometimes failed with “couldn't send the report” for logged-in users after the page sat open for 15+ minutes: the session silently went stale. The token now refreshes automatically.
v7.0.174 de jul. de 2026
Adicionado
  • Clicking a column in the “DB Schema” panel inserts it into the editor as Table.column at the cursor. A hint sits in the panel's bottom-right corner.
  • The “DELETE and TRUNCATE” lesson now covers DELETE ... USING — the construct a course task required but the theory never explained.
Alterado
  • Removed the “NEW” badge from the Course menu item; the desktop sidebar now shows an auto-rotating partner-course carousel at the bottom.
Corrigido
  • Queries using columns like copy_id, granted_at, or an OFFSET clause are no longer rejected as “unsafe”: the dangerous-statement filter was matching keywords (COPY, GRANT, SET…) inside ordinary identifiers.
  • The DML upsert and session-cleanup tasks (idempotent insert, DO UPDATE, DO NOTHING, delete expired sessions) are accepted again: relative dates in the hidden data made the checker reject even the reference solution.
  • Removed the misleading “then output …” line from those task statements — they are graded by table state, so no trailing SELECT is needed (as the editor hint already says).
v7.0.163 de jul. de 2026
Corrigido
  • Full task-catalog audit: 8 tasks are solvable on MySQL again (grading crashed on hidden data), and the reference solutions of Restaurant Growth, First Letter Capitalization II and sa-90 no longer reject correct queries.
  • Refreshed the expected-output samples of 22 tasks: they previously showed data from an older dataset version or timezone-shifted timestamps.
  • Clarified task statements: the window frame in the wards exam task (ROWS vs RANGE), the Madrid city literal, and missing sort requirements.
v7.0.153 de jul. de 2026
Alterado
  • AI Mentor now diagnoses window-ranking mistakes more precisely: instead of guessing about dates, it focuses on tie-handling rules and may name the relevant SQL operator from the third hint.
Corrigido
  • The “VTB Client Rank by Quarterly Turnover” task now lives in the PARTITION BY lesson, and its sample answer shows the rank gap after tied turnover values so the RANK vs DENSE_RANK difference is visible immediately.
v7.0.142 de jul. de 2026
Corrigido
  • The “Comments Under Posts” task is solvable from its statement again: restored the explanation that a post's post_id is its sub_id and a comment references its post via parent_id. Fixed across all languages.
  • Restored the statements of 26 more LeetCode-series tasks in English: brought back lost sort requirements, rounding rules and definitions without which correct queries were rejected by the checker.
v7.0.131 de jul. de 2026
Adicionado
  • Bug reports now include the last task you had open — so even when a report is filed from the feedback page, support can see which task it's about.
Corrigido
  • The feedback form now captures the exact page a report was sent from: in-app navigation could previously attach the wrong task to a bug report.
v7.0.121 de jul. de 2026
Corrigido
  • Top solutions no longer show old answers that passed before hidden grading data existed but fail the current check. The list is also more useful for learning: short, readable solutions are shown above fast sample-fitted answers.
v7.0.1130 de jun. de 2026
Corrigido
  • Tasks that ask to sort "in descending order" accept a correct answer again: the grader no longer demands an unstated secondary sort (by domain, name or id) the statement never mentions. Fixed for several tasks (including "Most popular email domains") where it produced a false "wrong answer".
v7.0.1029 de jun. de 2026
Corrigido
  • The passed-interviews counter is back in the rankings: it showed 0 on the League tab and the per-difficulty boards even when the user had interviews.
  • The position-change arrow now shows on every leaderboard tab (League, weekly/monthly, per-difficulty), not just the all-time board.
v7.0.929 de jun. de 2026
Corrigido
  • The glossary term tooltip inside the interview-question callout is no longer clipped by the card's edge — the full definition is now visible.
v7.0.828 de jun. de 2026
Corrigido
  • A task's expected-answer preview now lists its columns in the order the task requires, not the internal storage order. Previously a column could show up last even though the task asked for it first.
  • In course lessons, an everyday word that happens to collide with a SQL term no longer triggers the glossary tooltip in plain prose — it lights up only where it genuinely refers to the database concept.
v7.0.728 de jun. de 2026
Corrigido
  • Solution checking no longer rejects a correct answer over the order of tied rows. When a task asks you to sort by a column where several rows share the same value, any order among those rows is now accepted — previously a correct answer could fail with "same rows, wrong order".
  • The weekly summary email no longer says "0 this week" and "haven't practised in a while" to people who solve every day. The weekly count now includes every task solved in the last 7 days, including the re-solves that keep a streak alive.
v7.0.627 de jun. de 2026
Alterado
  • The streak reminder no longer bothers people who already practise nearly every day: if you were active on most of the last 7 days, the evening email is skipped — you'll clearly be back anyway.
Corrigido
  • Streak-reminder emails no longer go to people who stopped practising long ago. An abandoned streak used to keep its frozen day-count, so "your streak is at risk" was emailed every evening for months. The reminder now fires only while the streak can still be saved by solving today.
  • Fixed the database schema shown in several tasks: the trainer's right-hand panel displayed tables from an unrelated dataset (e.g. a hotels schema on the average-purchase task) and the data tabs were empty. The diagram now matches the task's actual tables.
v7.0.526 de jun. de 2026
Corrigido
  • In the JOIN tasks (Yandex analyst dataset) the preview now includes a driver with no rides: on Run, a LEFT JOIN and an INNER JOIN now show a visibly different result — matching how grading works. Previously a wrong LEFT JOIN looked correct in the preview yet failed grading.
v7.0.426 de jun. de 2026
Adicionado
  • The course program now shows the Power lessons grant: a note up top (+10 per lesson, +50 per module) and the total Power on each module card.
Corrigido
  • The passed-interviews counter is visible again on the weekly and monthly leaderboard tabs (it showed 0 even though the profile had interviews).
  • Taking an interview on a task you had already solved no longer re-awards points: practising on familiar tasks is fine, but the Power bonus is granted only for a first solve in interview mode.
  • Weekly/monthly leaderboard Power now counts the Power earned from completed course lessons — the period tab used to ignore lessons, so the number disagreed with the profile.
v7.0.326 de jun. de 2026
Corrigido
  • A deleted account no longer blocks re-registration: deleting a user now frees their email so it can be signed up again.
  • Social-login accounts can now set a password: “Forgot password?” works for accounts that never had one (previously it silently sent nothing).
v7.0.226 de jun. de 2026
Alterado
  • Every reference article now gets its own social/preview image with the article headline, instead of one generic card shared across the whole site.
  • Cleaner mobile navigation: dropped the redundant section headers (“Trainer”, “Sandbox”) — menu items now read as one clear list.
Corrigido
  • The “Table of contents” block in reference articles is now collapsed by default — a long list of sections no longer fills the entire first screen. Tap the heading to expand it.
  • Fixed two reference articles (ASCII/CHR and TO_TIMESTAMP): a copy-paste slip had them showing the EXTRACT(EPOCH) article instead. The correct content is back and rewritten in a clear, friendly voice — the three pages no longer duplicate each other.
  • Search-engine fixes (Google and Yandex): removed duplicate hreflang entries from the sitemap and added structured data to the blog index, so articles should index more cleanly.
v7.0.126 de jun. de 2026
Alterado
  • Reference articles were rewritten in a warmer, beginner-friendly voice — smoother explanations, clearer examples, and natural language instead of machine-translated text.
  • Removed the collapsible “Главное из урока” recap: the storyline now reads inline in the lesson instead of hiding inside a collapsed block with a dry summary.
Corrigido
  • The course button now says “Start the course” for newcomers — previously it offered “Continue” even at 0% progress.
  • When INSERT or DELETE is missing its keyword (INTO / FROM), the trainer no longer confuses you with a “wrong table name” error — it gently hints that a keyword is missing, without handing over the answer.
  • Removed the in-lesson “Практика” blocks that showed a task next to its ready answer. Practice now happens in the interactive tasks at the end of each lesson, where you write the query yourself.
  • On mobile, the inline term definition no longer runs off the screen edge and is more compact in size and font.
  • On mobile, scrolling with the menu open no longer makes catalog cards flash over the bottom of the drawer.
v7.0.024 de jun. de 2026

A full interactive SQL course is live — from your first SELECT to a complete analytics project.

Adicionado
  • A SQL course is here: 12 modules from the basics (SELECT, filters, aggregates, JOIN) through advanced topics (subqueries & CTEs, window functions, data modification, schema design, transactions, EXPLAIN and indexes) up to a final analytics capstone. It packs story-driven theory with visual diagrams, live in-browser queries, hands-on practice after every lesson (solve it to unlock the next one), a master-check at the end of each module, and interview-question breakdowns.
Corrigido
  • A premium subscription is no longer wrongly cancelled when a user's profile is edited in the admin panel — premium access stays until the paid period ends.
  • The “streak at risk” reminder email no longer arrives twice and now shows the correct day count.
  • Fixed several trainer tasks with imprecise wording and incorrect reference solutions (including “Average salary by department” and “Top bank clients”) — their statements are now unambiguous and match the grader.
v6.5.423 de jun. de 2026
Corrigido
  • The trainer's error message no longer wrongly suggests "cap the result to the top N rows" when there are just a few extra rows because of an incomplete filter. In that case it now plainly says extra records got into the result, instead of misleading you toward a top-N limit the task never asked for.
v6.5.323 de jun. de 2026
Corrigido
  • The track “Continue” button now opens the first unsolved task across all modules. Previously, once you finished the first module, it still dropped you on the very first task and you had to scroll past everything you'd already solved.
  • The “you might lose your streak” reminder is no longer sent if you already solved a task that day. The “solved today” check now respects your timezone instead of the UTC calendar day.
  • Fixed 502 errors when opening task and reference pages with very long URLs (slugs).
v6.5.219 de jun. de 2026
Corrigido
  • View-creation tasks no longer reject correct answers: a view is graded by its result — its columns and rows — not by a verbatim match of the query text against the reference. Equivalent formulations now pass (e.g. DISTINCT instead of GROUP BY/HAVING, or a different join order).
  • Error messages are more accurate: instead of a wrong “rows are duplicating, add GROUP BY” (when grouping is already there and only the output cap is missing), the box now describes the real symptom — what is actually off about the result. Concrete fix suggestions come from the AI mentor.
  • The AI mentor no longer treats a different-but-equivalent approach as a mistake: it judges by the result, not by the shape of the reference solution, and won't tell you to rewrite a correct query just because the reference looks different.
v6.5.119 de jun. de 2026
Corrigido
  • On the weekly and monthly leaderboards a player's hero and rank now match their profile: the actual lifetime rank is shown instead of one recomputed from the period's Power. The Power figure itself is labelled “week” / “month” so it isn't confused with lifetime Power.
  • Fixed grading for tasks that wrongly required a specific row order even though the statement never asked to sort: correct answers are no longer rejected with “same rows, but not in the right order” (e.g. “Captain or Guest”).
v6.5.018 de jun. de 2026
Adicionado
  • The reference is now complete: every command and function has its own article — from SELECT and JOIN to window functions, JSONB, indexes and transactions. All articles are available in Russian, English, Spanish and Portuguese.
  • The reference now has “See also” cross-links: each command points to the ones you learn alongside it (ROUND ↔ FLOOR ↔ CEIL, percentile_cont ↔ percentile_disc, the JSONB and JOIN families) — making it easier to learn topics in groups.
  • Blog articles now have a table of contents with quick jump-to-section and anchor links, and the pages load noticeably faster. Added breadcrumbs and an “In the handbook” link to move between an article and its cheat-sheet entry.
  • Added an “About” page describing the platform.
  • Task schemas now explain their columns: hover the “?” next to a field to see what it means (e.g. “Purchase date”, “Order ID”). Descriptions were added to every column across all schemas and are tailored to each table's context.
Alterado
  • The in-task cheatsheet now scales with difficulty: on medium and hard tasks the trivial items (SELECT, ORDER BY, LIMIT) are dropped so the list stays focused and shows only what's relevant.
  • Redesigned the reference: the tag cloud is replaced by a two-pane layout with a sticky category list on the left (icons and counts, with the current section highlighted as you scroll), and the cards read better — larger, higher-contrast descriptions and muted secondary links (“Article”, “See also”) that no longer overpower the content. “Reference” has also moved up in the sidebar, right under “Sandbox”.
  • Reworked the pricing page for subscribers: all plans are now visible with your current one marked, and the benefits and other billing periods are there to compare or switch to — instead of a brief “you already have premium” message.
  • The leaderboard now defaults to a weekly board: it resets every Monday so everyone has a reachable top instead of the same frozen leaders. Tabs run Week → Month → All-time, the podium shows on each, and the “your position” row works in any period. The All-time tab stays as the hall of fame.
Corrigido
  • Proofread and corrected a number of factual inaccuracies in the English, Spanish and Portuguese versions of the reference articles (ascii() behaviour, CAST, time-zone DATE_TRUNC, rounding, JSONB and more).
  • Premium users are no longer bounced to the pricing page when opening a premium task (a brief network hiccup used to cause a false redirect that then said “you already have premium”).
  • Many fixes to the mobile reference: category tags now sit on a single scrollable row, code examples got colour syntax highlighting, the “Copy” button no longer overlaps the code, the “All” filter behaves correctly, the search field has a single clean focus ring, and code blocks adapt to light and dark themes. Also removed a stray grey line in the sidebar.
v6.4.017 de jun. de 2026
Adicionado
  • Task URLs are now human-readable: instead of “/trainer/tasks/603” you get “/trainer/tasks/select-all-companies” — clearer and easier to share. Old numeric links keep working.
Alterado
  • Redesigned the in-task navigation bar: a compact segmented “Prev · difficulty · Next” control (the task level is a coloured dot), the Mock Interview toggle sits next to the nav, and every button shares one hover style.
Corrigido
  • “Next” no longer dead-ends on hidden exam-pool tasks with a “task not found” error — navigation now skips the exam pool.
  • Aligned the grey divider line between the task tabs (Task/Submissions/AI Mentor) and the query-editor tabs.
v6.3.316 de jun. de 2026
Adicionado
  • Feedback rewards: a confirmed bug report or a useful suggestion earns you 1–7 days of premium. Hints now appear in the sidebar and on the Feedback page.
  • New trainer hint: when a subquery column silently binds to an outer table (a correlated reference) — e.g. a typo in the column name — we now show an amber warning. The query still runs exactly as written; nothing is blocked.
Corrigido
  • The tasks list no longer flickers on load: cards now appear with the right numbers, order and counts immediately — no dashes or reshuffling, which had crept in after the performance pass.
v6.3.216 de jun. de 2026
Corrigido
  • The “Final balance per account” task no longer rejects a correct solution. Its hidden grading data contained an undocumented transaction type that could make a valid query fail with a “same row count, different values” verdict. Grading now matches the task statement — only Deposit and Withdrawal.
  • The AI mentor no longer invents a non-existent error when a task is graded on hidden data: it reasons from the reference solution and honestly says when your query is correct on the visible data and the issue is an edge case — instead of a bogus breakdown.
v6.3.112 de jun. de 2026
Corrigido
  • The Beast of Query on the trainer page is alive again: the card shows the rotating 3D model once more — after the load-time optimization it had been showing a flat image.
v6.3.011 de jun. de 2026

A big performance pass: pages and the task catalogue now load noticeably faster, especially on slow connections and mobile.

Alterado
  • Load-time optimization: pages open faster, heavy parts (the editor, 3D beasts, images) load smarter, and data is delivered more compactly.
v6.2.111 de jun. de 2026

Fixed a sneaky results bug: with “SELECT *” over a JOIN, columns that share a name (e.g. two id columns) no longer get mixed up — on PostgreSQL and MySQL each column now shows its own value, and duplicates are qualified by table (Doctor.id, Appointment.id).

Corrigido
  • Query results with duplicate column names (classically a “SELECT *” over a JOIN with two id columns): on PostgreSQL and MySQL the same-named columns no longer overwrite each other or drop data. Duplicates are now qualified by their source table (Doctor.id, Appointment.id), matching ClickHouse.
v6.2.011 de jun. de 2026

A big home-page and pricing update: a redesigned landing with the 3D Beast of Query, a Free tier that now includes every Easy task (interview easies included), and Premium available monthly — a one-time payment with no auto-renewal.

Adicionado
  • A redesigned home page: a 3D Beast of Query hero, a proof strip with catalogue numbers, the same query compared across three dialects (PostgreSQL · MySQL · ClickHouse), the rank ladder, a PvP-duels teaser and an inline FAQ.
  • The Interview section is open to everyone: easy interview tasks are free to solve, while the harder questions are Premium.
  • Monthly Premium: pay for a single month (790 ₽ / $12) as a one-time charge — no auto-renewal. The longer the period, the cheaper each month: 3 months −38%, 6 months −58%.
Alterado
  • The Free tier is reworked: every Easy-level task is now free forever (including easy questions from real interviews), while Medium, Hard and Expert tasks are Premium.
  • The pricing page copy now matches the current model, and a Pricing link is shown in the sidebar for users without Premium.
Corrigido
  • The “delete bands with no upcoming tours” task (sa-55): the reference solution now removes child rows before parents, so a correct answer passes on the hidden data without a foreign-key error.
v6.1.111 de jun. de 2026

Sharper grading: on several tasks a sloppy answer no longer slips through — edge cases are now covered (one fan with several tickets, a rental that crosses the year boundary).

Alterado
  • These tasks now grade against hidden data in MySQL and ClickHouse too — answers hard-coded to the sample numbers no longer pass.
Corrigido
  • “Fans per concert” and related tasks: a fan holding several tickets to one concert is now counted once; a correct answer no longer needs an unstated sort to pass.
  • “Member spending in 2005” and the by-genre breakdown: the rule is now spelled out — count the full loan cost (daily_fee × days) even when the rental term ends in the following year.
v6.1.011 de jun. de 2026

New dialect — ClickHouse. 560+ tasks can now be solved on ClickHouse alongside PostgreSQL and MySQL.

Adicionado
  • ClickHouse dialect: pick ClickHouse on a task, write and grade your solution against a live engine — just like PostgreSQL and MySQL. 560+ tasks are available on ClickHouse (catalogue, interviews, exam).
  • A ClickHouse filter in the task catalogue — quickly narrow the list to tasks to practise on CH.
Alterado
  • The dialect switcher is now a clean dropdown showing the engine version (PostgreSQL 16 · MySQL 8.0 · ClickHouse 24) instead of a row of buttons.
  • Editor autocomplete and error hints now understand ClickHouse — its functions and types (countIf, groupArray, argMax, quantile, UInt/DateTime64/Array…) and the engine's error messages.
v6.0.211 de jun. de 2026

Fixed the false “Too many requests” error on solution submits and broken MySQL-dialect tasks.

Alterado
  • Beast of Query for guests: instead of an Awaken button that could not work without signing in, you now see a blurred preview of the beast block with a sign-in prompt.
Corrigido
  • Submitting solutions: the false “Too many requests, try again in N seconds” error on your very first submit is gone — the rate limit was mistakenly shared across all users at once and is now per-user.
  • MySQL dialect: 24 tasks (pharmacy, airline loyalty, hotel chain and more) failed with a server error before your solution was even graded — the hidden grading data carried PostgreSQL-only syntax. All of them are solvable again.
v6.0.19 de jun. de 2026

Beast of Query now loads in seconds on mobile instead of minutes, and the tasks page shows the beast instantly.

Adicionado
  • Profile: you can now remove your photo — both manually uploaded ones and those pulled from Google / Yandex / GitHub. A initials tile is shown after removal.
Alterado
  • Beast 3D models are optimized and now ~40× smaller — on mobile they appear in seconds instead of minutes.
Corrigido
  • While a 3D model loads, a loading shimmer shows in its place; the beast card on the tasks page now shows the beast image instead of an empty square.
  • Leaderboard: the position and rank-change columns no longer collide on large numbers (3–4 digit ranks and deltas).
v6.0.09 de jun. de 2026

Beast of Query — your personal 3D companion that grows with your Power, and the leaderboard top-3 is now a live 3D podium.

Adicionado
  • Beast of Query: every player now has a personal 3D monster. It changes form as your rank and Power grow, and its stats are built from the tasks you've solved. It shows up in the trainer, your profile and the leaderboard.
  • Leaderboard: the top-3 is now a live 3D podium — champions stand on a pedestal with their beasts (drag to spin the model), and #1 wears a crown.
  • Focus music right on the task page: a compact radio (lo-fi, Ambient, Synthwave, a Coding station and brown noise) under the DB schema — to help you concentrate.
Alterado
  • New typography: a single Geologica typeface for headings and body, with built-in Cyrillic and offline loading.
  • Navigation: Exam moved up in the menu and the standalone Progress entry is gone — a Detailed progress button now lives on your card in the leaderboard.
  • Task titles: snippets in backticks now render as tidy monospace chips.
  • Mock Interview: session history now shows the strictness rules you chose and the Power bonus earned for each attempt; copy updated for the configurable strictness (0–50% bonus).
  • Rank ladder rebalanced: the Power threshold for every rank is doubled (Titan now starts at 40,000 Power). Your Power is unchanged — your rank simply recomputes against the new scale.
v5.3.18 de jun. de 2026

Wrong-answer hints are honest now: no more advice about a WHERE or JOIN your query doesn't even have.

Corrigido
  • Wrong-answer hints no longer name clauses your query doesn't use (no "fix your WHERE" or "try LEFT JOIN" when you have neither) — the wording adapts to your actual SQL.
  • Tasks graded on a hidden dataset no longer show row or column counts that contradict the visible result table.
  • Clearer messages instead of internal/English grader text, and fewer false "sign in" prompts on an ordinary error.
v5.3.08 de jun. de 2026

Mock Interview is now configurable: pick your strictness and the Power bonus scales with it.

Adicionado
  • Mock Interview: configurable strictness (no tab/focus switching, no pasting) plus duration. A Power bonus up to +50%, shown live as you choose. With no rules it's just timed practice — nothing auto-fails.
Alterado
  • Free-tier AI mentor: 10 hints and error-explanations in total, not 10 per day. When they run out, a Premium upsell appears right in the hint panel.
Corrigido
  • The interface language is auto-detected by country again on first visit.
  • After a Mock Interview pass the task is marked solved immediately and your Power updates — no need to press Submit again.
v5.2.05 de jun. de 2026

Every task is now solved by writing SQL — new task formats and catalog filters, plus new task packs.

Adicionado
  • New task types: debugging, data-quality checks, index design, query rewriting, schema design with constraints, transactions & locking, and access permissions (GRANT/REVOKE).
  • New catalog filters: by task format, difficulty, solved status, dialect (PostgreSQL/MySQL) and favorites.
  • Permissions tasks are graded by the resulting privilege set (least privilege enforced).
  • Transaction tasks are graded under real concurrency: safe debits, atomic transfers, idempotency, isolation levels and row locks.
  • New task packs: ride-hailing analytics, data modification, schema design, recursive hierarchies and product events.
  • Your chosen SQL dialect (PostgreSQL/MySQL) now persists across tasks.
  • Most tasks now show a preview of the expected output.
  • Hundreds of new step-by-step hints, plus an AI mentor that explains the errors in your query.
Alterado
  • Every format is now code-writing: you write real SQL instead of picking an answer.
  • Task descriptions are living business scenarios in Russian and English; difficulty levels recalibrated.
v5.1.33 de jun. de 2026
Corrigido
  • AI task generation: descriptions now read as a real business scenario and no longer give away the solution — formulas, SQL function names and dry table listings are kept out of the text.
v5.1.23 de jun. de 2026
Alterado
  • Company examples on the home page and in Premium are now locale-aware: the Russian site shows Russian employers, every other locale shows international ones (Tesla, Uber, Microsoft, Spotify, Meta) whose tasks we carry.
v5.1.13 de jun. de 2026
Corrigido
  • Removed a stray privacy notice banner on the user profile page.
v5.1.03 de jun. de 2026

A interface agora fala todos os idiomas da UE — 21 novos idiomas.

Adicionado
  • Adicionados 21 idiomas da UE: alemão, francês, italiano, neerlandês, polonês, romeno, grego, tcheco, húngaro, sueco, dinamarquês, finlandês, eslovaco, búlgaro, croata, lituano, esloveno, letão, estoniano, irlandês e maltês. Escolha no seletor de idioma ou ele é detectado automaticamente pelo país e idioma do navegador.
  • A página “Relatar um bug” agora é “Feedback” (em /feedback) com duas abas: “Relatar um bug” e “Sugerir uma melhoria”. As sugestões de melhoria chegam à equipe da mesma forma que os relatos de bugs.
Alterado
  • Nas configurações do perfil agora aparece a data de término da assinatura, e a menção a “pagamento único” foi removida.
  • O menu suspenso do seletor de idioma agora é mais compacto.
Corrigido
  • Os perfis voltam a abrir a partir da classificação para usuários conectados — a privacidade oculta um perfil apenas de visitantes anônimos. O identificador de URL do perfil não pode mais ser apagado, então todo perfil continua acessível por link.
v5.0.11 de jun. de 2026
Corrigido
  • Pagar com cartão estrangeiro (aba Visa/MC) no site em russo agora é cobrado corretamente em dólares e processado via Paddle, em vez de abrir o YooKassa com um valor em rublos.
v5.0.01 de jun. de 2026

Certificação: faça um exame cronometrado e ganhe um certificado de nível verificável.

Adicionado
  • Exames de certificação: três níveis (Fundamentos / Praticante / Especialista), 8 tarefas cada, cronômetro por tarefa, aprovação com 7 de 8. Cada tentativa recebe seu próprio conjunto de dados, então não dá para decorar as respostas.
  • Um certificado verificável com QR code que leva ao seu perfil público; o perfil agora tem uma seção de certificados.
  • Exclua sua conta direto nas configurações do perfil.
Alterado
  • As configurações do perfil foram redesenhadas num estilo de lista por seções; usuários Premium ganham um anel animado ao redor do avatar.
v4.1.1129 de mai. de 2026
Alterado
  • Correção reforçada em 324 exercícios: agora roda sobre um conjunto de dados oculto, então não dá mais para passar ajustando o exemplo visível.
v4.1.1029 de mai. de 2026
Alterado
  • O autocompletar do editor agora sugere nomes de CTE declarados via WITH ao digitar FROM/JOIN.
v4.1.929 de mai. de 2026
Alterado
  • O AI Mentor agora vê seu erro e a consulta atual mesmo após Executar — um novo botão «Explicar meu erro» permite analisar qualquer erro, incluindo os de sintaxe.
v4.1.829 de mai. de 2026
Alterado
  • Exercício #91: a correção agora usa um conjunto de dados oculto — não dá mais para passar ajustando o exemplo visível (ex.: via LIMIT ou um comprimento fixo).
v4.1.726 de mai. de 2026
Alterado
  • Exercício #13: removida do enunciado a dica com o filtro pronto — agora você deduz a solução sozinho.
v4.1.623 de mai. de 2026
Alterado
  • O Mapa de habilidades agora cobre todas as categorias de exercícios (adicionados CTE, DDL, transações, otimização) e ficou maior e mais legível.
Corrigido
  • A dica "o que reforçar" do Mapa de habilidades agora aponta para o tema com mais exercícios não resolvidos, não para um aleatório.
  • O gráfico de atividade anual volta a mostrar os nomes dos meses por extenso em vez de cortá-los para uma letra.
v4.1.523 de mai. de 2026
Corrigido
  • Soluções que retornam um intervalo de tempo (por exemplo, a diferença de dois horários) não falham mais ao enviar.
v4.1.421 de mai. de 2026
Corrigido
  • Exercício #88: dados corrigidos — as partidas de Paris agora têm durações distintas em vez de três linhas idênticas.
v4.1.320 de mai. de 2026
Corrigido
  • Desfazer (Ctrl+Z) no editor agora mantém histórico separado por cada aba de consulta.
v4.1.220 de mai. de 2026
Alterado
  • Exercício #624: o enunciado agora indica que o preço médio deve ser arredondado para 2 casas decimais.
Corrigido
  • As sugestões do editor SQL não se duplicam mais ao navegar entre exercícios.
  • Exercício #621: clubes sem membros agora aparecem no resultado com receita zero.
v4.1.120 de mai. de 2026
Alterado
  • O exercício #831 mudou de dificuldade EXPERT para MÉDIO.
v4.1.016 de mai. de 2026

O SQL Arena agora é multilíngue: inglês, espanhol e português, cada um com suas próprias URLs de página e detecção automática de região.

Adicionado
  • Seletor de idioma: russo, inglês, espanhol (Espanha e América Latina) e português.
  • Na primeira visita, o site abre no idioma da sua região, e sua escolha fica salva.
  • Cada idioma tem suas próprias URLs de página (/en, /es, /es-419, /pt-br) que podem ser compartilhadas com segurança.
  • Pagamento do Premium na sua moeda local: RUB, USD, EUR ou BRL conforme a região.
Alterado
  • A versão em inglês do site está completa; as traduções para espanhol e português estão sendo lançadas aos poucos.
v4.0.1118 de mai. de 2026

Os exercícios de criação de tabelas aceitam qualquer forma de escrita válida, as dicas de erro agora são pertinentes e um exercício com resposta ambígua foi corrigido.

Corrigido
  • O exercício do "par de cursos mais popular": os dados de teste permitiam várias respostas igualmente válidas enquanto a correção aceitava apenas uma. Agora o exercício tem uma única resposta correta.
  • Os exercícios de CREATE TABLE rejeitavam uma solução correta quando o aluno nomeava uma restrição (por exemplo, CONSTRAINT ... PRIMARY KEY). A correção agora compara a estrutura da tabela — os nomes das restrições não são mais considerados.
  • Um exercício de criação de tabelas com falha mostrava uma dica irrelevante sobre ORDER BY. Agora a dica é pertinente — sobre colunas, tipos, NOT NULL e chaves.
v4.0.1017 de mai. de 2026

Os exercícios de modificação de dados são resolvidos exatamente como o enunciado diz — sem um SELECT de verificação não declarado.

Corrigido
  • Os exercícios de INSERT/UPDATE/DELETE e de transações (incluindo UPSERT, MERGE, SKIP LOCKED) não exigiam mais adicionar um SELECT de verificação que o enunciado não mencionava. Agora são corrigidos pelo estado final das tabelas, e a página do exercício mostra o aviso "não é preciso um SELECT no final".
  • Top de soluções: as soluções de contas internas não aparecem mais na lista — igual à classificação pública.
v4.0.917 de mai. de 2026

Os exercícios de criação de tabelas e índices agora são resolvidos exatamente como o enunciado diz — sem um SELECT não declarado; a atualização ao vivo da classificação foi restaurada.

Corrigido
  • Os exercícios DDL (CREATE TABLE, ALTER, CREATE INDEX, chaves estrangeiras) não exigiam mais adicionar um SELECT de verificação que o enunciado não mencionava. Agora são corrigidos pelo esquema final do banco de dados, e a página do exercício mostra o aviso "não é preciso um SELECT no final".
  • Página de classificação: atualização ao vivo restaurada — a conexão WebSocket da classificação não cai mais.
  • Diagrama de esquema: alguns exercícios não mostravam os vínculos entre tabelas — agora as setas de chaves estrangeiras aparecem no diagrama.
  • A janela "Correto!" não mostra mais uma queda de rank como uma promoção com seta para cima — o selo de rank aparece somente em uma promoção real.
v4.0.816 de mai. de 2026

Os exercícios de CREATE / ALTER TABLE e outras soluções de várias etapas podem ser enviados novamente — o limite de instruções por envio era rígido demais.

Corrigido
  • O limite de instruções SQL por envio subiu de 3 para 20: os exercícios DDL (CREATE TABLE, ALTER, índices, triggers) e o DML de várias etapas não são mais rejeitados com um erro de "instruções demais".
v4.0.716 de mai. de 2026

A variante MySQL dos exercícios do catálogo voltou a ficar sincronizada com o PostgreSQL — alguns exercícios em MySQL eram corrigidos com dados desatualizados.

Corrigido
  • A variante MySQL de centenas de exercícios era corrigida com um conjunto de dados desatualizado — os seeds foram reconstruídos e a resposta no MySQL volta a coincidir com o PostgreSQL.
  • Seis exercícios que funcionavam apenas no PostgreSQL agora têm uma variante MySQL operacional.
  • Os exercícios de CREATE TABLE / CREATE INDEX / ALTER são corrigidos pelo esquema final das tabelas — uma estrutura incorreta não é mais aceita como correta.
  • Os exercícios de INSERT com CURRENT_TIMESTAMP / NOW() não rejeitam mais uma resposta correta por uma diferença no momento de execução.
  • Os exemplos de saída que mostravam por acidente a resposta exata foram substituídos por amostras sem spoiler; a ordem das linhas é verificada onde o exercício exige.
  • Uma auditoria de todo o catálogo realinhou o enunciado, os dados de correção e a solução de referência em várias dezenas de exercícios onde tinham se desalinhado entre si.
v4.0.616 de mai. de 2026

Corrigimos a verificação de soluções em exercícios com várias instruções — um DELETE/UPDATE com um SELECT final agora é corrigido corretamente.

Alterado
  • As datas e horas nos resultados das consultas agora aparecem de forma limpa como 2024-01-15 08:00:00 em vez do formato ISO técnico.
Corrigido
  • Os exercícios com DML (DELETE, UPDATE, INSERT) e um SELECT de verificação não rejeitam mais uma resposta correta por "colunas a mais".
  • Exercício #768: o enunciado agora corresponde à resposta corrigida.
  • A dica ao errar uma solução não sugere mais comparar com o bloco de exemplo, que é intencionalmente impreciso.
  • Os exercícios de UPDATE / DELETE / INSERT puro agora são corrigidos pelo estado final das tabelas — uma mutação incorreta não é mais aceita como correta.
v4.0.516 de mai. de 2026

Corrigimos cinco exercícios em que o texto do enunciado não correspondia ao esquema nem à resposta.

Corrigido
  • Exercícios #762, #763, #764, #765, #809: o enunciado foi reescrito para corresponder ao esquema real e à resposta esperada.
  • Geração de exercícios com IA, AI Mentor e o formulário de reporte de bugs: ao atingir o limite de requisições, agora mostram "tente novamente em N segundos" em vez de "ThrottlerException".
v4.0.415 de mai. de 2026

Corrigimos o exercício #17: o corretor retornava NULL por causa de um erro no esquema.

Corrigido
  • Exercício #17 (average-post-hiatus): o esquema foi alinhado ao seed e o corretor voltou a funcionar.
v4.0.315 de mai. de 2026

No exercício "Mova as linhas antigas para o arquivo de uma só vez, sem condições de corrida" (#789), o enunciado pedia uma coluna customer_id que não existe no esquema. O texto agora corresponde ao esquema e ao corretor reais: id, status, amount.

Corrigido
  • Exercício #789 (hard-cte-atomic-archive): o enunciado mencionava uma coluna customer_id inexistente. Agora o texto corresponde ao esquema orders / orders_archive e às colunas esperadas id, status, amount.
v4.0.215 de mai. de 2026

A mensagem "muitas requisições" agora mostra o limite exato e os segundos restantes até a reinicialização, em vez do enigmático "ThrottlerException". Aumentamos o limite de requisições do servidor para que a navegação rápida por uma trilha não atinja mais o teto.

Alterado
  • O limite de requisições do servidor para chamadas de API comuns foi multiplicado por 5. A navegação rápida entre exercícios de uma trilha (mais de 10 requisições paralelas ao montar) não atinge mais o teto nem retorna erros 429.
Corrigido
  • Ao atingir o limite de requisições em Submit ou Run, a mensagem agora mostra o limite real e os segundos exatos para tentar de novo. Antes só aparecia o enigmático "ThrottlerException: Too Many Requests" sem indicar quanto esperar.
v4.0.114 de mai. de 2026

O botão "Começar" no cartão da trilha volta a iniciar a trilha: uma camada de link invisível interceptava o clique e o redirecionava para a página de detalhes da trilha.

Corrigido
  • Em /trainer/tracks, o botão "Começar" no cartão da trilha não leva mais à página de detalhes em vez de iniciar a trilha. O clique em qualquer ponto do cartão para ver os detalhes foi mantido.
v4.0.013 de mai. de 2026

Ambiente de testes SQL: traga suas próprias tabelas e consultas, sem exercício nem correção. Além disso, um layout bento amplo e unificado em classificação, progresso, trilhas, exercícios e sessões.

Adicionado
  • Nova página /sandbox: editor Monaco, painel de esquema, painel de resultados, abas de dados por tabela e trechos de aquecimento. As sessões anônimas expiram após 30 min de inatividade; usuários conectados têm 7 dias.
  • Ambientes salvos: até 5 no plano gratuito, ilimitados no Premium. Biblioteca com busca, cópia de link, exclusão e alternância de privacidade.
Alterado
  • Layout amplo unificado nas páginas do espaço pessoal: Meus ambientes, Progresso, Classificação, Sessões, Exercícios, Trilhas e a página de detalhes de uma trilha agora compartilham o mesmo contêiner com um hero em degradê e uma grade de cartões consistente.
v3.0.413 de mai. de 2026

As setas de mudança de posição na classificação voltaram: antes a coluna ficava vazia porque não havia um snapshot de referência para comparar.

Corrigido
  • O indicador "subiu / desceu / sem alteração" voltou ao lado de cada linha da classificação. O snapshot de referência da semana anterior foi gerado; a partir de agora o cron semanal o manterá atualizado.
v3.0.313 de mai. de 2026

Corrigimos um erro pelo qual reenviar um exercício já resolvido removia Power silenciosamente: o bônus de "resolvido na primeira tentativa" era apagado. O Power de todos os usuários afetados foi recalculado.

Corrigido
  • Reenviar uma solução de um exercício já resolvido não remove mais o bônus de "resolvido na primeira tentativa": o Power desse exercício continua igual ao que era logo após o primeiro envio correto.
  • O exercício #107 (detalhamento de gastos por gênero em 2005) não exige mais uma ordem específica do resultado: agora qualquer ordem de linhas é aceita, conforme o enunciado.
v3.0.212 de mai. de 2026

Corrigimos o painel de esquema do banco de dados em vários exercícios: as linhas laranja de relacionamento entre tabelas vinculadas não eram desenhadas.

Corrigido
  • Em alguns exercícios o painel "Esquema" não mostrava os relacionamentos entre tabelas (as setas laranja 1:N): adicionamos os relacionamentos faltantes aos datasets.
v3.0.112 de mai. de 2026

Corrigimos o exercício "Divida os clientes em gasto baixo / médio / alto": a resposta de exemplo e a solução de referência tinham se desviado do enunciado; agora tudo usa o id do cliente e os segmentos low / mid / high.

Corrigido
  • Exercício "Divida os clientes em gasto baixo / médio / alto" (#757): a resposta de exemplo e a solução de referência agora correspondem ao enunciado: colunas customer_id, segment, segmentos low / mid / high, ordenado por customer_id.
v3.0.012 de mai. de 2026

Um grande rebranding "Arena": nova página inicial, uma classificação refeita do zero com pódio e atualizações ao vivo, os pontos renomeados como "Power" com um logo de machado de combate, trilhas de aprendizado reconstruídas e uma geração de exercícios com IA adaptativa que realmente lê seus envios recentes.

Adicionado
  • Nova aba "Liga": os 30 usuários mais próximos de você por Power. Filtros de dificuldade na aba global (o Power é recalculado para cada escala). Setas de subida / descida ao lado de cada posição: o movimento de uma semana para a outra.
  • Conquistas: os emojis foram substituídos por ícones vetoriais na cor da categoria, e os tooltips do navegador mostram nomes localizados; em /stats há uma grade com pop-ups ao toque no celular. Nova conquista "10 Experts".
  • Passe o cursor sobre um nome na classificação e abre-se um minicartão do usuário. Um botão "Compartilhar ranque": o link leva ao seu perfil público com uma pré-visualização OG.
Alterado
  • Página inicial reescrita sob a marca "Arena": um título impactante "Afie seu SQL. Consiga a oferta.", um placar ao vivo no hero, uma escala de ranques com um marcador "Você", seções sobre o treinador / as trilhas / a IA / o modo entrevista / o progresso e uma faixa final "O machado já está na sua mão. Ataque.". Pronta para celulares.
  • Os pontos passam a se chamar "Power". O raio foi substituído por um machado de combate, que agora aparece no logo, no favicon e na pré-visualização ao compartilhar links.
  • A página de classificação foi reescrita do zero: pódio para o top 3 (ouro / prata / bronze), cartão de progresso pessoal com uma barra até o próximo ranque, uma única barra de filtros fixa, a escala de ranques logo abaixo do cabeçalho, uma linha "você" fixada quando você está fora do top 50 e atualizações em tempo real: a tabela reage de forma fluida às soluções de outras pessoas sem recarregar.
  • Trilhas de aprendizado reconstruídas. Analista / Backend / QA / Data Engineering: cerca de 50 exercícios selecionados por trilha, com vários representantes para cada combinação tema×dificuldade, do aquecimento até EXPERT e com ênfase em problemas de entrevistas reais. Adicionamos uma trilha de Data Engineering e outra dedicada à preparação para entrevistas.
  • O botão "Gerar para mim" agora é realmente adaptativo: lê seus últimos 40 envios, escolhe o tópico com a pior precisão recente e calibra a dificuldade ao seu nível: se você empaca, o próximo desce um nível; se emenda acertos, sobe.
  • Os novos visitantes começam com o tema "Noite" por padrão (antes era "Tarde"). Se você já escolheu um tema, sua escolha é mantida.
Corrigido
  • Exercício "Diga em um único número: quantos clientes ativos temos": a solução de referência exigia clientes com ≥2 pedidos pagos, enquanto o enunciado diz "pelo menos uma vez". Foi corrigido para corresponder ao enunciado.
v2.4.512 de mai. de 2026

Os exercícios EXPERT agora concedem 75 power reais por solução (até 281 com bônus), em vez dos 10 do nível EASY. O power total dos usuários que já tinham resolvido um EXPERT foi recalculado retroativamente.

Corrigido
  • A tabela de recompensas não tinha uma linha para EXPERT, então o corretor recorria a um valor padrão de 10 e cada exercício EXPERT pagava o mesmo que um EASY. Agora a base de EXPERT é 75 power, sobre a qual se aplicam os mesmos multiplicadores (primeira tentativa ×2, aprovação no Mock Interview ×1.25, solução com Premium ×1.5): até 281 power por exercício EXPERT. Uma migração recalculou xp_total em todos os perfis com as regras corrigidas, então quem já tinha resolvido um EXPERT recebe o power que faltava automaticamente.
v2.4.412 de mai. de 2026

Fechamos a brecha pela qual um exercício podia ser "resolvido" fixando manualmente a saída de exemplo: em 25 datasets o corretor agora verifica sua consulta contra linhas ocultas diferentes das mostradas no enunciado.

Alterado
  • As soluções continuam sendo executadas contra as mesmas tabelas e colunas de antes, mas as linhas do seed de correção diferem do exemplo visível. Qualquer resposta autêntica baseada em consulta continua passando, enquanto um SELECT … UNION ALL … fixado manualmente que copiou os literais do exemplo agora é avaliado como "wrong". Estão cobertos 25 datasets do último lote do catálogo (listas, CTE, funções de janela, pivôs, DML, experts).
v2.4.39 de mai. de 2026

Corrigimos dois problemas de exercícios reportados por estudantes: o exemplo fora de ordem em "Estudantes por região" e a descrição que tinha se desviado do esquema no exercício de receita líquida.

Corrigido
  • Exercício "Estudantes por região" (#357): o exemplo agora segue ordem crescente por rn (Jack / Kim / Lars na primeira linha), e a solução de referência inclui um ORDER BY rn explícito para produzir a mesma ordem.
  • Exercício "Encontre os usuários com receita líquida de no mínimo 100" (#783): o título e a descrição agora correspondem aos dados reais: são usuários e eventos purchase/refund, não produtos e sale/refund, e o limite é 100, não 1000.
v2.4.29 de mai. de 2026

Seis exercícios avançados agora incluem uma tabela pré-carregada: as soluções não começam mais com um preâmbulo CREATE TABLE.

Alterado
  • Seis exercícios de nível Difícil e Expert (UPSERT por chave única e composta, CTE com RETURNING, INSERT … RETURNING em lote, fila com SKIP LOCKED, expansão de array com UNNEST) se alinham ao restante do catálogo avançado: a tabela é criada e preenchida no dataset, e a solução contém apenas a operação avaliada mais um SELECT final para a correção.
Corrigido
  • A descrição do exercício "Contador de visualizações" não se desvia mais da resposta esperada: o texto e a correção agora falam da mesma tabela counters(id, count) e de cinco execuções sobre a mesma linha.
v2.4.19 de mai. de 2026

Os exercícios DDL não mostram mais tabelas alheias no painel lateral de esquema.

Corrigido
  • Em 10 exercícios com CREATE TABLE (de fáceis até nível Expert) o painel lateral de esquema mostrava tabelas de um dataset alheio; por exemplo, um exercício sobre artigos mostrava orders. Agora o painel aparece vazio, como deve ser quando um exercício pede para construir a tabela do zero.
v2.4.09 de mai. de 2026

115 exercícios novos, um seletor de tema com três modos (Dia / Tarde / Noite) e uma paleta escura mais suave.

Adicionado
  • O catálogo cresceu em 115 exercícios: 20 fáceis, 35 médios, 45 difíceis e 15 de nível Expert: subconsultas, CTEs, funções de janela, DML/DDL, MERGE, otimização de consultas, transações, JSONB, recursão e LATERAL.
  • Novo nível de dificuldade "Expert" com uma etiqueta violeta e seu próprio filtro no catálogo.
  • Seletor de tema com três modos: Dia (claro), Tarde (escuro suave) e Noite (profundo): escolha conforme a luz do ambiente para não cansar a vista.
Alterado
  • O tema escuro foi suavizado: o fundo passou a um cinza azulado no estilo Linear (#1B1B1F) em vez do near-black anterior, e o texto principal foi para zinc-300, com menos halo em sessões longas.
  • No modo "Noite", o painel do editor SQL fica três tons mais escuro que o fundo, com uma leve inclinação para o preto puro: lê-se como um painel rebaixado dentro da mesma paleta.
  • O resumo de tópico dentro do exercício agora leva em conta a dificuldade: nos níveis Difícil e Expert ele oculta os básicos SELECT/WHERE/ORDER BY/LIMIT e mostra em seu lugar padrões avançados: STRING_AGG, ARRAY_AGG, GROUPING SETS, LATERAL, JSONB, índices parciais, etc.
  • As pílulas ativas do filtro de dificuldade passaram a um preenchimento suave com a cor da marca em vez do preto sólido: não destoam mais do estilo do tema claro.
  • Rótulos de dificuldade na versão russa: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
v2.3.08 de mai. de 2026

24 novos artigos do blog para iniciantes.

Adicionado
  • A cobertura de temas foi ampliada: DML (INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), agregações, DISTINCT, tratamento de NULL (CASE WHEN/COALESCE/NULLIF), CTEs e subconsultas, funções de janela, strings e datas.
Alterado
  • Resumo do treinador: cada item leva agora ao seu próprio artigo. Antes os quatro itens de funções de janela apontavam para uma visão geral comum; agora ROW_NUMBER, RANK/DENSE_RANK, PARTITION BY e LAG/LEAD têm cada um o seu.
Corrigido
  • Exercício #114 "Quantas alas de cardiologia": a coluna esperada foi renomeada de count para wards_count para não se confundir visualmente com a palavra reservada.
v2.2.28 de mai. de 2026

Fechamos a brecha de respostas ajustadas manualmente: os exercícios agora são corrigidos contra um dataset oculto.

Alterado
  • O corretor agora pode avaliar um exercício contra um conjunto de dados oculto. A consulta de referência é recalculada sobre esses mesmos dados, então as soluções corretas continuam passando, enquanto os truques com constantes copiadas do exemplo não.
Corrigido
  • O exercício "O membro mais antigo do clube" não aceita mais um LIMIT fixado manualmente para coincidir com o exemplo visível: só passa uma consulta que expresse "todas as linhas com a data de nascimento mínima".
v2.2.18 de mai. de 2026

Ajustes nos cartões de preços e correções no botão "Entre e assine" logo após a v2.2.0.

Alterado
  • O preço e o botão dos cartões Free e Premium agora ficam alinhados na mesma linha.
  • Encurtamos as notas abaixo do preço para Crypto e Visa/MC: só ficou o nome do meio de pagamento.
Corrigido
  • O botão "Entre e assine" volta a ser clicável para usuários sem sessão iniciada.
v2.2.08 de mai. de 2026

Adicionamos pagamentos com criptomoedas e com cartões internacionais Visa/Mastercard, além de reforçar as defesas antibot no fluxo de autenticação.

Adicionado
  • Pagamentos com criptomoedas via NowPayments: BTC, ETH, USDT e outras. $21 trimestral / $28 semestral.
  • Cartão internacional Visa/Mastercard via Paddle com cálculo automático de IVA / imposto sobre vendas. $21 / $28.
  • Seletor de método de pagamento no cartão Premium: cartão russo, Crypto, Visa/MC. A moeda muda conforme o método escolhido.
  • Cloudflare Turnstile no login e no cadastro: invisível para pessoas, bloqueia bots.
Alterado
  • A conta é bloqueada por 15 min após 5 senhas incorretas (depois de forma exponencial até 24 h), com uma contagem regressiva explícita.
  • Os erros de login e cadastro agora são legíveis: acabaram os crus "Forbidden" e "Invalid credentials".
  • Limite de envios: 5/min e 30/15 min por usuário. Não afeta as sessões reais de resolução.
Corrigido
  • Após entrar, você volta para a página de onde clicou em "Entrar", inclusive com OAuth (Google, GitHub, Yandex).
  • Sair da sessão a partir de uma página pública não leva mais você para a página inicial.
v2.1.87 de mai. de 2026

Terminamos de corrigir o salvamento de Telegram, GitHub e LinkedIn na página de perfil. O release anterior corrigiu o normalizador de nome de usuário no backend, mas o componente do frontend interrompia o onBlur e a requisição PATCH nunca chegava a ser enviada. O campo aceitava o texto visualmente, o servidor ficava vazio e, após recarregar, o campo aparecia em branco. Agora a comparação ao perder o foco usa o valor capturado no momento do foco, não o texto em andamento.

Corrigido
  • Os campos "Telegram", "GitHub" e "LinkedIn" do perfil voltam a salvar o valor digitado. Por causa de um useEffect que recalculava o "último valor salvo" a cada tecla pressionada, a verificação onBlur sempre comparava o texto atual consigo mesmo e pulava a requisição PATCH. Agora comparamos com um snapshot capturado ao receber o foco.
v2.1.77 de mai. de 2026

Corrigimos o salvamento dos nomes de usuário de Telegram, GitHub e LinkedIn na página de perfil: ao digitar o formato do placeholder como t.me/username, ele era cortado para lixo como t.me. Agora qualquer entrada — o nome puro, @handle, t.me/handle ou https://t.me/handle — é normalizada para um nome de usuário limpo.

Corrigido
  • Os campos "Telegram", "GitHub" e "LinkedIn" do perfil salvam corretamente o nome de usuário mesmo que o endereço seja digitado sem https://. Antes t.me/durov virava t.me e github.com/octocat virava github.com, porque o normalizador exigia um esquema http(s):// e, sem ele, cortava o valor na primeira barra.
v2.1.65 de mai. de 2026

Removemos o banner de upsell de premium que aparecia por engano no painel de resultados: ele era acionado em exercícios gratuitos e até para usuários premium. Era interface morta desde o início: os exercícios premium são bloqueados ao serem abertos, então o editor nunca chega a vê-los.

Alterado
  • No modal "Correto!" a pílula "+50% Power per solve — go Premium" agora tem um espaçamento horizontal adequado: a coroa e a seta não encostam mais nas bordas.
  • O AI Mentor recebe agora um contexto compacto do exercício: o dialeto SQL ativo, as tabelas, os relacionamentos, as colunas esperadas, a resposta de exemplo e o diff da última correção. O SQL de referência só é usado como contexto privado para explicar erros e para os níveis de dica mais avançados.
Corrigido
  • O banner de upsell "Exercícios de entrevista — Premium" não aparece mais no painel de feedback. Antes, qualquer erro do servidor que contivesse a palavra premium em seu rastreamento (por exemplo, uma coluna solved_as_premium ausente logo após uma migração) acionava uma correspondência de substring e exibia o upsell, mesmo em exercícios gratuitos e para usuários premium.
v2.1.55 de mai. de 2026

O Premium agora concede +50% de Power por cada exercício resolvido: o impulso fica ligado ao exercício para sempre, mesmo depois que a assinatura expirar. O AI Mentor não entrega mais a solução na primeira dica e agora escala a ajuda exercício por exercício. Também removemos o comentário inicial -- Click ▶ Run do editor do primeiro exercício.

Adicionado
  • A assinatura Premium concede um multiplicador de Power ×1.5 em cada exercício resolvido. O impulso fica fixado no momento da resolução, então permanece no seu total mesmo que a assinatura expire mais tarde.
  • O modal "Correto!" mostra agora um aviso de upgrade para os usuários gratuitos, logo abaixo do chip +Power: "Ganhe +50% de Power por exercício — assine o Premium", com link para /pricing.
Alterado
  • O AI Mentor agora escala as dicas por exercício. A primeira solicitação dá apenas uma orientação, sem nomear operadores; as solicitações 2 a 4 acrescentam o conceito e a categoria; a partir da quinta o mentor pode nomear LIKE / WHERE / GROUP BY diretamente. O contador é reiniciado a cada 24 horas.
  • As explicações de respostas incorretas seguem agora os mesmos níveis das dicas comuns: não revelam mais operadores específicos no primeiro envio com erro.
Corrigido
  • Fechamos os pontos pendentes da auditoria de exercícios SQL: corrigimos a referência de "Vencedores do torneio", alinhamos as pré-visualizações de TIMESTAMP em vários exercícios e restauramos a variante de PostgreSQL em um exercício de IA.
Removido
  • Removemos o comentário inicial -- Click ▶ Run — see what's in this table do editor do primeiro exercício. Os exercícios que você abre agora começam com o editor vazio.
v2.1.45 de mai. de 2026

Redesenhamos os filtros do catálogo de exercícios: o estado passou a ser um controle segmentado de três posições (Todos / Sem resolver / Resolvidos) com "Sem resolver" por padrão, adicionamos um filtro de dialeto, os chips de tema e empresa agora mostram a contagem atual de exercícios e os filtros ativos aparecem como pílulas removíveis com um botão "Redefinir tudo".

Adicionado
  • Filtro de dialeto no catálogo: All / PG / MySQL, um segmento próprio ao lado do controle de estado.
  • Os chips de tema e empresa agora mostram quantos exercícios correspondem: "Janelas (43)", "Tinkoff (5)". Os chips com zero exercícios ficam esmaecidos.
  • Linha de pílulas de filtros ativos: cada filtro aplicado (busca, dificuldade, estado, dialeto, favoritos, tema, etiqueta, empresa, região) aparece como uma pílula com ×; o botão "Redefinir tudo" volta tudo aos valores padrão.
Alterado
  • O filtro de estado do exercício agora é um controle segmentado de três posições (Todos / Sem resolver / Resolvidos), com "Sem resolver" por padrão. Substitui o único botão "Ocultar resolvidos".
  • O controle de ordenação foi movido para a barra superior: antes ficava enterrado embaixo e escondido atrás da rolagem.
  • O botão "Favoritos" foi movido para a barra superior de filtros: agora fica ao lado dos outros botões binários.
Corrigido
  • O selo "Filtros N" não mostra mais "1" ao entrar pela primeira vez: a visualização padrão "Sem resolver" não conta como um filtro aplicado.
v2.1.35 de mai. de 2026

Auditoria de todo o catálogo: o corretor não rejeita mais respostas corretas por causa da serialização de DATE versus TIMESTAMP, as pré-visualizações de exemplo de mais de 60 exercícios agora correspondem ao que a solução de referência realmente retorna, e 5 exercícios que usam CURRENT_DATE / NOW() ficam fixados a uma referência constante para que as pré-visualizações parem de mudar dia a dia. Além disso, uma correção de descrição no exercício de transações mensais a partir de um reporte de usuário.

Corrigido
  • Corretor: adicionamos a normalização de data como timestamp (2024-01-01T00:00:00.000Z2024-01-01); as respostas corretas deixam de receber "a contagem coincide, mas o conteúdo difere" por causa do formato do tipo retornado.
  • Exercício "Transações e estornos mensais": a descrição agora esclarece que um estorno pertence ao mês da transação original, não à data do reembolso; a pré-visualização mostra o primeiro dia do mês em vez de timestamps ISO deslocados pelo fuso horário.
  • Regeneramos as pré-visualizações de exemplo de mais de 60 exercícios: formato numérico (100100.00), fuso horário (+03+00), DATE como TIMESTAMP, INTERVAL como objeto; a pré-visualização agora corresponde ao que o executor real retorna.
  • Cinco exercícios que usam CURRENT_DATE / NOW() / CURRENT_TIMESTAMP em seu seed (#170, #601, #602, #668, #693) ficam agora fixados em 2026-05-05 12:00:00 UTC. As pré-visualizações param de mudar.
v2.1.24 de mai. de 2026

Redesenhamos o blog: busca, navegação por 10 seções e os primeiros 7 tutoriais para iniciantes. Os nomes de comandos no resumo do exercício agora são links que levam aos artigos. A página de releases ganhou uma árvore de versões com destaque ao rolar.

Adicionado
  • Blog: busca por títulos, conteúdo e etiquetas, mais uma barra lateral esquerda com seções. A seção ativa fica destacada ao rolar.
  • Blog: os 7 primeiros tutoriais para iniciantes: SELECT … FROM, WHERE, ORDER BY, LIMIT, INNER JOIN, LEFT JOIN e aliases.
  • Resumo de tópico dentro do exercício: os nomes de comandos agora são links azuis para o tutorial do blog correspondente e abrem em uma nova aba.
  • Página de releases: árvore de versões à esquerda agrupada por major.minor; ao clicar, rola até a versão e atualiza a âncora do hash.
  • Botão "copiar SQL" em cada linha da aba "Envios".
Corrigido
  • Concordância de plural em russo em todas as páginas: "221 задача", "2 задачи", "5 задач" em vez do antigo "221 задач".
  • O resumo de tópico dentro do exercício não treme mais ao ser expandido: agora o espaço da barra de rolagem fica reservado.
  • As tabelas Markdown dos artigos do blog agora são exibidas como tabelas HTML em vez de uma única linha de texto simples.
v2.1.14 de mai. de 2026

Revisão de qualidade de todo o catálogo: 23 exercícios que não podiam ser executados reparados, 66 descrições em inglês reescritas e descrições e pré-visualizações de exemplo alinhadas em mais algumas dezenas. Além disso, uma correção reportada por um usuário.

Alterado
  • As pré-visualizações de exemplo de mais de 50 exercícios agora correspondem ao que a solução de referência retorna.
  • Unificamos as etiquetas de empresa duplicadas nos chips de filtro de exercícios.
Corrigido
  • Reparamos 23 exercícios (pharma-*, loyal-*, hotel-*, qa-*) que não podiam ser resolvidos por uma inconsistência entre o esquema e o seed.
  • Reescrevemos as descrições em inglês de 66 exercícios lc-* / lc2-* que antes só tinham um texto provisório ou um fragmento.
  • O exercício "Salas reservadas em 2 de setembro de 2019" não aceita mais a resposta incorreta.
  • Dez exercícios em que a descrição não concordava com a solução de referência agora estão consistentes.
  • Sete exercícios da Tochka tinham o enunciado de outro exercício: nós os reescrevemos.
v2.1.04 de mai. de 2026

69 exercícios novos extraídos de entrevistas de emprego reais do mercado russo (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat e outras 23 empresas), construídos em torno do universo mais amplo de tipos do PostgreSQL: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC e POINT. Além disso, correções importantes a partir de reportes de usuários e um indicador de ponto vermelho "Novidades" na barra lateral.

Adicionado
  • 69 exercícios novos retirados de entrevistas reais em empresas russas. 33 empregadores: Yandex, Tinkoff / T-Bank, Sber / SberMarket, VTB, Alfa-Bank, Gazprombank, Rosbank, Sovcombank, MTS / MTS Bank, Otkritie, Renaissance Bank, Megafon, VK, Ozon, Avito, Magnit, Lenta, Wildberries, Cian, ivi, Delimobil, Aviasales, Samokat, Domclick, Lesta, Skypro, Uchi.ru, Sravni.ru, Vizor, CloudReports e Yandex Practicum. Todos marcados como Interview e acessíveis com Premium.
  • Tipos de dados ricos nos esquemas dos exercícios. Antes a maioria dos exercícios tinha colunas INT e VARCHAR(100): ótimo para exemplos de manual, mas longe de produção. Os exercícios novos introduzem UUID para as chaves primárias de clientes e pedidos, NUMERIC(15,2) para dinheiro e NUMERIC(12,4) para taxas de câmbio, TIMESTAMPTZ para eventos, INTERVAL para durações de chamadas e sessões, TSTZRANGE / DATERANGE / NUMRANGE para históricos SCD2 e janelas de validade, JSONB para metadados e payloads de eventos, ENUM (com seu CREATE TYPE explícito) para status e categorias, INET para os IPs em exercícios antifraude, POINT para coordenadas GPS, TEXT[] / INTEGER[] para etiquetas e listas de ID. Assim, no treinador você encontra os mesmos tipos que verá em um banco de dados real.
  • Indicador de ponto vermelho na entrada "Novidades" da barra lateral: aparece quando um release que você ainda não abriu foi publicado. O ponto desaparece após uma visita a /releases (o indicador fica salvo no localStorage deste navegador). Antes o indicador só existia na barra superior; nos layouts apenas com barra lateral não era possível vê-lo.
Alterado
  • Exibição correta dos tipos novos na tabela de resultados da consulta. Antes as colunas JSONB, INTERVAL e POINT apareciam como "[object Object]" e os arrays (TEXT[], INTEGER[]) eram reduzidos a strings separadas por vírgulas: a estrutura ficava invisível. Agora JSONB e os arrays são exibidos como JSON legível, INTERVAL no formato 1d 02:30:00 e POINT como (x, y). Os valores booleanos e os UUIDs mantêm sua representação em texto.
  • O diagrama ER da página do exercício recebeu cores para os tipos novos: UUID violeta, JSONB amarelo, INTERVAL roxo (a mesma família dos demais tipos de data e hora), TSTZRANGE / DATERANGE / NUMRANGE rosa, INET ciano, POINT rosa, os ENUMs personalizados em vermelho. Antes esses tipos caíam no cinza padrão e não se distinguiam dos habituais INT / VARCHAR.
  • Os seis exercícios corrigidos acima também receberam um esquema enriquecido no estilo do novo conjunto de entrevistas: chaves primárias UUID, payloads JSONB, tipos ENUM para sexo / categorias / status, NUMERIC(15,2) no lugar de INT para salários e preços, e INTERVAL para as durações. O enunciado foi levemente ajustado para motivar os tipos novos, mas o problema de fundo não muda. Este é o primeiro passo para modernizar os exercícios antigos: haverá mais nos próximos releases.
Corrigido
  • Corrigimos vários exercícios antigos reportados por usuários. "Participantes do projeto, parte 2": o diagrama ER mostrava Employee + Department em vez de Project + Employee, embora o esquema subjacente estivesse correto; ajustamos o diagrama ao esquema. "Publicações denunciadas": a descrição não esclarecia que o motivo da denúncia está na coluna extra; agora esclarece. "Análise de vendas, parte 1": a solução de referência usava SUM(price) mesmo que o esquema tenha uma coluna quantity, o que gerava confusão; reformulamos como SUM(quantity * price), mais próximo da receita real. "Trocar o sexo de todos os funcionários": o exercício estava vinculado ao dataset errado (Employee + Department em vez de Salary(id, name, sex, salary)), o que o tornava insolúvel; revinculamos ao dataset canônico. Aplicamos a mesma correção ao mesmo desvio silencioso do ER em "Participantes do projeto, parte 3" e "Publicações denunciadas, parte 2".
v2.0.03 de mai. de 2026

Release importante: uma nova navegação com barra lateral esquerda, o rigoroso modo Mock Interview com um bônus de +25% de Power, perfis públicos e amigos, notificações por e-mail, etiquetas de empresa nas cores da marca, filtros adicionais e um bloco de cursos de parceiros. Além disso, uma correção importante de privacidade entre contas e dezenas de melhorias de UX.

Adicionado
  • Bloco de cursos de parceiros. Na página de exercícios (em telas largas) aparece uma coluna à direita com uma seleção de cursos relevantes; no celular é um carrossel horizontal acima da lista. Os cartões levam às páginas dos parceiros com etiquetas UTM; para nós, uma forma de manter baixo o preço da assinatura cobrindo os custos de infraestrutura.
  • Novo modo Mock Interview: uma simulação rigorosa de uma entrevista real. Qualquer infração (troca de aba, colar texto, sair da tela cheia, perder o foco da janela por mais de 1 segundo) faz a sessão falhar automaticamente. As dicas, o AI Mentor e o resumo ficam ocultos e bloqueados. Durações: 5 / 10 / 15 / 30 / 60 minutos. Plano gratuito: 1 tentativa por dia; Premium: ilimitado. Enquanto uma sessão está ativa, toda a navegação ao redor (barra lateral, "Exercícios", "Melhores soluções", "Próximo exercício", "Sair da trilha", Prev/Next/Random) fica bloqueada: a única saída é o botão explícito "Finalizar" ou fechar a aba (o que marca a sessão como Abandonada automaticamente).
  • +25% de Power por cada exercício concluído no modo Mock Interview: o bônus é por exercício e é indicado no relatório posterior à sessão. A classificação incorpora uma coluna informativa "Mock" (o mesmo número aparece no cartão de perfil e em /u/<username>); não afeta a ordenação por Power.
  • Perfis públicos em /u/<username>: você escolhe um nome de usuário curto no perfil, ativa o modo público e qualquer visitante anônimo vê seu ranque, seu Power, sua sequência atual, suas conquistas, o mapa de calor de atividade e os links para GitHub / Telegram / LinkedIn. Sem sessão iniciada nenhum dado privado é exposto.
  • Amigos: adicione usuários pelo nome público, gerencie as solicitações recebidas e enviadas e veja uma aba de classificação de amigos com o Power, a sequência e os exercícios resolvidos deles.
  • Favoritos: cada cartão de exercício agora tem uma estrela; ao clicar, o exercício entra no filtro "Apenas favoritos". A lista fica salva no servidor, vinculada à sua conta, e não se perde ao trocar de navegador.
  • Notificações por e-mail (caixas de seleção no perfil). "Salve sua sequência": um lembrete à noite quando sua sequência é ≥ 3 dias e você não resolveu nada hoje. "Resumo semanal": no sábado de manhã, com uma retrospectiva dos exercícios resolvidos na última semana, sua sequência atual e sua categoria mais fraca.
  • Os usuários Premium ficam destacados visualmente onde quer que apareçam os avatares: um anel em degradê holográfico (classificação, amigos, perfil, barra lateral, página pública /u/<username>); nos avatares grandes, uma pequena coroa no canto. Não afeta a ordenação.
  • Etiquetas de empresa com cores de marca nos cartões de exercícios: amarelo para Yandex / Tinkoff / Beeline, verde para Sberbank / Spotify / OpenAI, azul para VK / Ozon / Google / Meta, vermelho para MTS / Alfa / Tesla, roxo para Stripe / Skypro / Wayfair, laranja para Amazon / Alibaba, etc. Antes todas as etiquetas eram de um mesmo roxo.
  • Chips adicionais de cláusulas SQL no filtro "Tema" da página de exercícios: junto às 8 categorias amplas (SELECT, JOIN, subconsultas, janela, agregados, CTE, DML, DDL) agora você pode ativar GROUP BY, COUNT, HAVING. Combine-os com as categorias para filtrar com mais precisão.
  • O painel "Esquema do banco de dados" da página do exercício agora pode ser recolhido. O botão ao lado do título do exercício oculta a coluna e libera largura para o editor e a tabela de resultados. O estado recolhido fica salvo por navegador, então no próximo exercício o esquema abre do mesmo jeito.
  • 8 exercícios de entrevista novos da Tochka, de EASY a HARD. Cenários de CRM (encontrar clientes com uma solicitação ativa), cálculos de carteira (estrutura, prazo médio ponderado de vencimento, evolução do valor) e consultas sobre títulos com funções de janela. Soluções para PostgreSQL e MySQL.
  • Seção "Blog" em /blog. Tutoriais longos: começamos com uma análise aprofundada das funções de janela. Conteúdo bilíngue, URLs com slug e cartões OG para compartilhar nas redes. Acessível pelo rodapé e pela parte inferior da barra lateral.
  • Página 404 personalizada. A antiga do Next.js exibia texto preto sobre fundo branco, ilegível no tema escuro. A nova página usa os tokens do tema e fica dentro do contêiner comum, mantendo a navegação à mão.
Alterado
  • Redesenho completo da navegação. Para os usuários conectados dentro do aplicativo, o menu principal foi movido para uma barra lateral esquerda: ali se agrupam Treinador, Progresso, Classificação e as demais seções, com o Power e a sequência abaixo do seu avatar e os seletores de idioma e tema embaixo. A página inicial, a de preços e os fluxos de autenticação mantêm a barra superior fina. As páginas de conteúdo (Novidades / Reportar um bug / Blog) herdam o tipo de menu conforme de onde você veio.
Corrigido
  • O anel em degradê do Premium ao redor do avatar agora aparece em todas as abas da classificação: antes o anel só aparecia na aba "De todos os tempos" e sumia em "Semana" e "Mês" porque o backend não enviava o status da assinatura para as classificações periódicas.
  • O nome e o avatar que você altera no perfil agora se refletem imediatamente na barra lateral, sem recarregar a página. Antes o cartão de usuário antigo podia permanecer até uma recarga completa.
  • Vazamentos de dados entre contas ao trocar de usuário no mesmo navegador. Antes, depois de sair e entrar com outra conta, podiam permanecer: o histórico de chat com o AI Mentor, os rascunhos de SQL do editor, as marcas de "resolvido" dos exercícios, as sessões de mock interview ativas, o contador de geração com IA e o cache de favoritos. Agora, ao sair da sessão e em qualquer login (formulário, OAuth, verificação de e-mail), tudo o que estava ligado ao usuário anterior é apagado.
  • O link "Classificação de amigos" do perfil leva agora diretamente à aba "Amigos": antes deixava você na classificação global e era preciso trocar de aba manualmente. A faixa para iniciantes "Comece aqui" não reaparece mais depois de ser dispensada; antes a dispensa era reiniciada a cada saída e login.
  • Dezenas de ajustes de layout e interação no celular: um modal de relatório pós-sessão mais compacto, espaçamentos de filtro corretos em telas estreitas, o banner de feedback não se sobrepõe mais ao painel lateral em 1024px e campos de nome e e-mail na página de reporte de bugs para quem envia sem sessão iniciada.
v1.2.93 de mai. de 2026

Correção urgente de UX do editor em telas estreitas: a janela "Configurações do editor" não é mais cortada pelo painel de código nem ultrapassa a borda da tela no celular. O mesmo botão de engrenagem do desktop agora aparece também na barra de ferramentas móvel, e o ajuste de tamanho de fonte enfim se aplica ao editor móvel.

Corrigido
  • A janela "Configurações do editor" podia ficar cortada pelas bordas da página e não tinha rolagem interna: em um notebook estreito, e ainda mais em um celular, metade das configurações simplesmente não aparecia. Agora a janela é exibida sobre toda a página (por meio de um portal), ajusta-se automaticamente à área visível e adiciona uma barra de rolagem interna quando seu conteúdo ultrapassa a altura da tela. O cabeçalho com o título e o botão de fechar permanece fixo ao rolar.
  • Na visualização móvel do editor (≤1024px) a barra de ferramentas não tinha a engrenagem de configurações do editor: "Tamanho da fonte" só podia ser aberto pelo desktop. Agora a engrenagem fica ao lado de PG/MySQL e Format, e o ajuste de tamanho de fonte realmente altera o tamanho do campo de texto móvel.
v1.2.71 de mai. de 2026

Correção urgente a partir de um reporte de bug: o exercício #240 ("Bônus da equipe") exibia o esquema errado: aparecia Employee + Department em vez do real Employee + Bonus, o que tornava o enunciado ilegível.

Corrigido
  • Exercício #240 "Bônus da equipe": o visualizador de esquema exibia tabelas desatualizadas Employee + Department (com os campos department_id, manager_id) e uma aba Department vazia. O ambiente de testes e a solução de referência funcionavam corretamente desde o início: o erro estava só nos metadados do visualizador. Agora o esquema mostra as tabelas reais Employee + Bonus com o relacionamento Bonus.empId → Employee.empId.
v1.2.61 de mai. de 2026

Enriquecemos os datasets de 268 dos 339 exercícios: tabelas de origem mais completas, linhas mais significativas no resultado esperado e exercícios que não parecem mais quebrados.

Alterado
  • Enriquecimento em massa de datasets: 268 dos 339 exercícios receberam dados de seed mais completos, normalmente entre 6 e 12 linhas nas tabelas principais em vez de 2 a 4, com variedade nos eixos de filtro/JOIN/GROUP BY que a solução de referência exercita. Foram modificados 137 datasets únicos. As soluções de referência e os esquemas NÃO mudaram. O progresso dos usuários é preservado: os exercícios já resolvidos continuam resolvidos, e o Power e as conquistas não são recalculados.
  • Cada exercício enriquecido foi validado: a solução de referência foi executada contra o novo seed por meio do executor, e o sample_output foi regenerado a partir do resultado real.
Corrigido
  • De passagem, uma correção do exercício #38 (well-paid-employees): era uma correção independente da v1.2.4 e agora faz parte da revisão geral.
v1.2.51 de mai. de 2026

Correção urgente a partir de um reporte de bug: o painel "Exemplo de resposta esperada" agora esclarece que o número de linhas não precisa corresponder às tabelas do esquema.

Corrigido
  • Acima do painel "Exemplo de resposta esperada" adicionamos uma nota: "é assim que se parece uma resposta correta; tem seu próprio número de linhas e não precisa corresponder às tabelas do esquema". Antes os usuários contavam as linhas de uma das tabelas do esquema e achavam que o exercício estava quebrado se o número não coincidisse com o do exemplo.
v1.2.430 de abr. de 2026

Correção urgente a partir de um reporte de bug: o exercício #38 "Salário maior que o do chefe" agora roda sobre um dataset adequado com três casos reais. Além disso, um pequeno ponto laranja em "Novidades?" quando um release novo é publicado.

Adicionado
  • No item "Novidades?" da barra de navegação aparece um pequeno ponto laranja quando um release novo é publicado. Uma visita a /releases o apaga até o próximo release.
Corrigido
  • Exercício #38 (well-paid-employees): o dataset era escasso demais, apenas 6 funcionários e um único caso de "subordinado ganha mais que o chefe", o que dava a impressão de que os dados estavam errados. Nós o ampliamos para 9 funcionários em dois departamentos com três casos claros (Eve > Alice, Frank > Dave, Henry > Bob).
v1.2.330 de abr. de 2026

Nova página "Reportar um bug" com anexos de capturas de tela, um grupo de navegação secundário e uma faixa "Comece aqui" mais compacta no celular.

Adicionado
  • Nova página "Reportar um bug" na barra de navegação: um formulário com assunto, descrição e até 5 capturas de tela ou clipes curtos (com arrastar e soltar). O reporte chega ao nosso e-mail para que possamos analisá-lo rápido.
  • A barra de navegação ganha um grupo secundário — "Novidades?" e "Reportar um bug" — separado das abas principais por uma fina linha vertical.
Alterado
  • No celular, a faixa para iniciantes "Comece aqui" é mais compacta: título mais curto, descrição oculta e cartões mais estreitos. Deixa mais espaço para a própria lista de exercícios.
Corrigido
  • A faixa para iniciantes "Comece aqui" não pisca mais por uma fração de segundo ao abrir a página de exercícios: agora é exibida só depois que /progress responde.
  • O resumo das notas de release (a linha superior) agora exibe corretamente as crases: antes mostrava o literal "?lang=" em vez de uma pílula de código estilizada.
  • Removemos a barra de rolagem vertical fantasma da página "Trilhas de aprendizado": min-h-screen junto com a barra de navegação forçava cerca de 60px de altura a mais mesmo quando o conteúdo cabia.
v1.2.230 de abr. de 2026

Ajustes de UX em todo o treinador, mais um parâmetro de URL ?lang= para anúncios e links diretos a um idioma específico.

Adicionado
  • Você pode abrir o site diretamente em um idioma específico com ?lang=en ou ?lang=ru na URL: https://sql.coderang.dev/?lang=en. Útil para anúncios e para compartilhar links a um idioma específico; a escolha fica salva por um ano.
Alterado
  • Quando as dicas de IA do dia se esgotam, o botão "Explicar" do banner vira "Resumo" e abre a referência do tópico.
  • A estrela de favoritos agora aparece no celular e fica levemente transparente no desktop, em vez de ficar invisível até passar o cursor.
  • A descrição do exercício não dá mais saltos ao expandir o resumo. A estrela fica mais brilhante ao passar o cursor.
  • Nos exercícios DDL, o painel de esquema mostra "não há tabelas iniciais; você precisa criá-las" em vez de um canvas vazio.
  • O botão de IA agora realmente pulsa apenas em caso de erro (antes a classe de animação não estava definida no CSS).
  • O Power e a sequência da barra de navegação são carregados do localStorage antes da requisição ao servidor: acabou o piscar de "0 ⚡".
  • O contador de geração com IA não é mais reiniciado para 0 após o redirecionamento ao exercício gerado.
  • Detalhes no celular: selos de dificuldade com a mesma largura (a estrela fica alinhada), o texto da barra de abas inferior cabe, animação suave do contador diário, tooltip no ícone de sequência e regras de plural em russo.
Corrigido
  • Os nomes das empresas russas (Сбербанк, Яндекс, Авито…) agora aparecem em transliteração latina (Sberbank, Yandex, Avito) na interface em inglês; em russo continuam em cirílico como antes.
  • Os nomes das entradas do resumo (Aliases, Subconsulta escalar, etc.) agora são traduzidos corretamente ao trocar de idioma.
  • A classificação semanal e mensal agora aplica o bônus de primeira tentativa ×2 e ignora os reenvios, igual ao cálculo do Power total. Antes a visualização por período mostrava aproximadamente metade do total: era um erro no cálculo, não nos dados.
  • Removemos uma aba "Solutions" morta do painel esquerdo: nenhum botão a abria, mas ela carregava dados em paralelo com "Top solutions".
  • As crases nas descrições não deixam mais um espaço antes da pontuação ("Action.").
  • Os estados vazios do painel de resultados ("Aqui aparecerá o resultado…") agora são traduzidos corretamente para o inglês.
v1.2.130 de abr. de 2026

Ajustes nos exercícios de modificação de dados e na renderização geral das descrições.

Adicionado
  • Aviso para os exercícios DDL/DML: os exercícios com UPDATE/INSERT/DELETE e CREATE/ALTER/DROP agora mostram uma nota breve "não é preciso um SELECT no final"; acabou ter que adivinhar o que retornar.
Alterado
  • O resumo de tópico agora leva em conta o tipo de exercício: nos exercícios DML não mostra SELECT/ORDER BY/LIMIT (que aqui não são usados) e nos DDL mostra apenas os comandos de modificação de esquema.
  • Os trechos entre crases nas descrições dos exercícios (\id = 4\, \users.email\) agora aparecem como pílulas de código com cor de destaque em vez de texto puro: as descrições são lidas exatamente como os autores as escrevem.
  • Os blocos de código do resumo agora têm uma barra de destaque à esquerda e uma borda sutil: parecem trechos de código de verdade e não manchas cinzas.
v1.2.030 de abr. de 2026

Boas-vindas para os novatos: uma faixa "Comece aqui", SQL inicial no seu primeiro exercício e um resumo de tópico dentro de cada exercício. As dicas diante de respostas incorretas agora são específicas e não consomem sua cota de IA.

Adicionado
  • Faixa "Comece aqui" no topo da página de exercícios: 8 exercícios simples de SELECT para quem está começando. Aparece até você resolver algo; rola arrastando, com um cursor de mão.
  • SQL inicial no editor. O primeiro exercício que você abre preenche o editor com SELECT * FROM <first_table> LIMIT 5; para você apertar ▶ na hora e ver como são os dados.
  • Resumo de tópico. Abaixo da descrição do exercício aparece um bloco recolhível com os comandos SQL relevantes, sua sintaxe e uma breve explicação, adaptado a cada tema: SELECT, JOIN, agregados, subconsultas, funções de janela, CTE, DML, DDL.
Alterado
  • O banner vermelho de resposta incorreta agora é específico: indica as colunas a mais ou a menos, as diferenças por linhas, os problemas de ordenação e os erros de SQL mais comuns. Funciona localmente, sem consumir requisições de IA.
v1.1.030 de abr. de 2026

Autocompletar ciente dos aliases no editor SQL e grandes melhorias no layout para celular.

Adicionado
  • Página de releases: o histórico de atualizações já pode ser visto em /releases.
  • Autocompletar ciente dos aliases. Depois de <alias>. as sugestões se limitam às colunas daquela única tabela. Os próprios aliases são autocompletados com Tab.
  • O ponto . virou um caractere de ativação: as sugestões aparecem automaticamente depois dele, sem Ctrl+Space.
Alterado
  • O menu no celular se sobrepõe ao conteúdo em vez de empurrar a página para baixo. Fecha ao tocar fora.
  • Mais de 300 descrições de exercícios reescritas: foi adicionado contexto de negócio, listadas as colunas de saída e indicados de forma explícita a ordenação e o arredondamento.
Corrigido
  • A descrição do exercício no celular agora rola corretamente quando o texto é longo. Antes ela travava e impedia chegar às abas de baixo.
  • A barra de abas inferior do treinador fica sempre visível em qualquer navegador móvel (Yandex Browser, MIUI, Samsung Internet). Antes ela ficava cortada abaixo da área visível.
  • O menu móvel agora é totalmente opaco. Antes 5% do conteúdo de fundo ficava transparente nos navegadores sem suporte a backdrop-filter.
  • Em telas estreitas (320px ou menos), o menu suspenso de ordenação de exercícios não ultrapassa mais a borda direita.
  • Antigo erro de autocompletar: ao digitar t.e depois de FROM employee t, era inserido t.employee.salary (SQL inválido). Agora o alias é respeitado.
v1.0.010 de abr. de 2026

Primeira versão estável do SQL Arena.

Adicionado
  • 259 exercícios de SQL selecionados em 6 categorias: SELECT, JOIN, agregação, subconsultas, funções de janela e DML.
  • 96 exercícios de entrevista de grandes empresas de tecnologia (Google, Meta, Amazon, Stripe, etc.).
  • Suporte a dois dialetos de SQL: PostgreSQL e MySQL, com troca instantânea.
  • Geração de exercícios com IA: exercícios únicos adaptados ao seu nível.
  • AI Mentor: dicas contextuais sem revelar a resposta.
  • 3 trilhas de aprendizado: percursos estruturados do básico ao SQL avançado.
  • Execução de SQL em tempo real em um ambiente isolado com correção do resultado (diferenças de colunas, linhas e ordem).
  • Autenticação OAuth com GitHub, Google e Yandex, além de cadastro com e-mail e senha.
  • Classificação por XP (Power), perfis de usuário, conquistas e temas claro e escuro.
  • Assinatura Premium com integração do YooKassa e limite de requisições contra bots.
  • Diagramas ER interativos dos esquemas e editor Monaco com realce e formatação de SQL.
  • Interface bilíngue: russo e inglês.