Versioner

Vad är nytt

Uppdateringshistorik för SQL Arena. De nyaste versionerna överst.

v5.2.05 juni 2026Aktuell

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

Tillagt
  • 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.
Ändrat
  • 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 juni 2026
Åtgärdat
  • 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 juni 2026
Ändrat
  • 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 juni 2026
Åtgärdat
  • Removed a stray privacy notice banner on the user profile page.
v5.1.03 juni 2026

Gränssnittet talar nu alla EU-språk — 21 nya språk.

Tillagt
  • Lade till 21 EU-språk: tyska, franska, italienska, nederländska, polska, rumänska, grekiska, tjeckiska, ungerska, svenska, danska, finska, slovakiska, bulgariska, kroatiska, litauiska, slovenska, lettiska, estniska, irländska och maltesiska. Välj ett i språkväljaren, eller låt det identifieras automatiskt utifrån ditt land och webbläsarspråk.
  • Sidan ”Rapportera ett fel” heter nu ”Feedback” (på /feedback) med två flikar: ”Rapportera ett fel” och ”Föreslå en förbättring”. Förbättringsförslag når teamet på samma sätt som felrapporter.
Ändrat
  • I profilinställningarna visas nu prenumerationens slutdatum, och formuleringen ”engångsbetalning” har tagits bort.
  • Rullgardinsmenyn för språkväljaren är nu mer kompakt.
Åtgärdat
  • Profiler öppnas igen från topplistan för inloggade användare — integriteten döljer en profil endast för anonyma besökare. Profilens URL-namn kan inte längre tas bort, så varje profil förblir nåbar via länk.
v5.0.11 juni 2026
Åtgärdat
  • Betalning med utländskt kort (fliken Visa/MC) på den ryska sajten prissätts nu korrekt i USD och hanteras via Paddle, i stället för att öppna YooKassa med ett rubelbelopp.
v5.0.01 juni 2026

Certifiering: klara ett tidsbestämt prov och få ett verifierbart nivåcertifikat.

Tillagt
  • Certifieringsprov: tre nivåer (Foundations / Practitioner / Expert), 8 uppgifter vardera, en timer per uppgift, godkäntgräns 7 av 8. Varje försök får sin egen datamängd, så svaren går inte att lära sig utantill i förväg.
  • Ett verifierbart certifikat med en QR-kod som länkar till din offentliga profil; en certifikatsektion visas nu på profilen.
  • Radera ditt konto direkt från profilinställningarna.
Ändrat
  • Profilinställningarna har fått en ny utformning i en ren, sektionsindelad liststil; Premium-användare får en animerad ring runt sin avatar.
v4.1.1129 maj 2026
Ändrat
  • Rättningen har skärpts på 324 uppgifter: den körs nu mot en dold datamängd, så du kan inte längre bli godkänd genom att anpassa lösningen till det synliga exemplet.
v4.1.1029 maj 2026
Ändrat
  • Editorns autokomplettering föreslår nu CTE-namn deklarerade via WITH när du skriver FROM/JOIN.
v4.1.929 maj 2026
Ändrat
  • AI Mentor ser nu ditt fel och din aktuella fråga även efter Run — en ny knapp "Explain my error" låter dig diskutera vilket fel som helst, inklusive syntaxfel.
v4.1.829 maj 2026
Ändrat
  • Uppgift #91: rättningen körs nu mot en dold datamängd — du kan inte längre bli godkänd genom att anpassa lösningen till det synliga exemplet (t.ex. via LIMIT eller en hårdkodad längd).
v4.1.726 maj 2026
Ändrat
  • Uppgift #13: den avslöjande filtertipset togs bort från uppgiftstexten — du härleder nu lösningen själv.
v4.1.623 maj 2026
Ändrat
  • Kompetenskartan täcker nu alla uppgiftskategorier (CTE, DDL, transaktioner och optimering har lagts till) och är större och lättare att läsa.
Åtgärdat
  • Kompetenskartans tips om "vad du bör förbättra" pekar nu på ämnet med flest olösta uppgifter i stället för ett slumpmässigt.
  • Årsaktivitetsgrafen visar åter fullständiga månadsnamn i stället för att klippa dem till en enda bokstav.
v4.1.523 maj 2026
Åtgärdat
  • Lösningar som returnerar ett tidsintervall (t.ex. skillnaden mellan två tider) ger inte längre fel vid inlämning.
v4.1.421 maj 2026
Åtgärdat
  • Uppgift #88: data åtgärdad — avgångar från Paris har nu olika restider i stället för tre identiska rader.
v4.1.320 maj 2026
Åtgärdat
  • Ångra (Ctrl+Z) i editorn håller nu separat historik per frågeflik.
v4.1.220 maj 2026
Ändrat
  • Uppgift #624: uppgiftstexten anger nu att medelpriset ska avrundas till 2 decimaler.
Åtgärdat
  • SQL-editorns förslag dubbleras inte längre efter navigering mellan uppgifter.
  • Uppgift #621: klubbar utan medlemmar visas nu i resultatet med noll intäkt.
v4.1.120 maj 2026
Ändrat
  • Uppgift #831 har bytt svårighetsgrad från EXPERT till MEDIUM.
v4.1.016 maj 2026

SQL Arena är nu flerspråkig: engelska, spanska och portugisiska, var och en med egna sid-URL:er och automatisk regiondetektering.

Tillagt
  • Språkväljare: ryska, engelska, spanska (Spanien och Latinamerika) och portugisiska.
  • Vid första besöket öppnas sajten på din regions språk, och ditt val sparas.
  • Varje språk har egna sid-URL:er (/en, /es, /es-419, /pt-br) som är trygga att dela.
  • Premium-betalning i din lokala valuta: RUB, USD, EUR eller BRL beroende på region.
Ändrat
  • Den engelska sajten har fullt stöd; spanska och portugisiska översättningar rullas ut.
v4.0.1118 maj 2026

Uppgifter om tabellskapande godtar alla giltiga skrivsätt, feltips är nu relevanta, och en uppgift med ett tvetydigt svar har åtgärdats.

Åtgärdat
  • Uppgiften "mest populära kurspar": exempeldatan tillät flera lika giltiga svar medan rättningen bara godtog ett. Uppgiften har nu ett enda korrekt svar.
  • CREATE TABLE-uppgifter avvisade en korrekt lösning när eleven namngav en constraint (t.ex. CONSTRAINT ... PRIMARY KEY). Rättningen jämför nu tabellstrukturen — constraint-namn ignoreras.
  • En misslyckad uppgift om tabellskapande visade ett irrelevant tips om att "lägga till ORDER BY". Tipset är nu relevant — om kolumner, typer, NOT NULL och nycklar.
v4.0.1017 maj 2026

Uppgifter om datamutation löses exakt så som uppgiftstexten säger — ingen odokumenterad verifierande SELECT.

Åtgärdat
  • INSERT/UPDATE/DELETE- och transaktionsuppgifter (inklusive UPSERT, MERGE, SKIP LOCKED) krävde inte längre en odokumenterad verifierande SELECT. De rättas nu utifrån tabellernas sluttillstånd, och uppgiftssidan visar en notis om "ingen avslutande SELECT behövs".
  • Topplösningar: servicekonton visas inte längre i listan — i linje med den offentliga topplistan.
v4.0.917 maj 2026

Uppgifter om tabell- och indexskapande löses nu exakt så som uppgiftstexten säger — ingen odokumenterad SELECT; topplistans liveuppdatering fungerar igen.

Åtgärdat
  • DDL-uppgifter (CREATE TABLE, ALTER, CREATE INDEX, främmande nycklar) krävde inte längre en odokumenterad verifierande SELECT. De rättas nu utifrån databasens slutschema, och uppgiftssidan visar en notis om "ingen avslutande SELECT behövs".
  • Topplistesidan: liveuppdatering återställd — WebSocket-anslutningen för topplistan bryts inte längre.
  • Schemadiagram: vissa uppgifter visade inga länkar mellan tabeller — pilar för främmande nycklar visas nu i diagrammet.
  • Dialogrutan "Korrekt!" visar inte längre ett rangtapp som en uppflyttning — rangmärket visas endast vid en verklig uppflyttning.
v4.0.816 maj 2026

CREATE / ALTER TABLE-uppgifter och andra flerstegslösningar kan skickas in igen — gränsen för antal satser per inlämning var för strikt.

Åtgärdat
  • Gränsen för antal satser per inlämning höjdes från 3 till 20: DDL-uppgifter (CREATE TABLE, ALTER, index, triggers) och flerstegs-DML avvisas inte längre med felet "för många satser".
v4.0.716 maj 2026

MySQL-varianten av kataloguppgifterna är åter synkad med PostgreSQL — vissa MySQL-uppgifter rättades mot inaktuella data.

Åtgärdat
  • MySQL-varianten av hundratals uppgifter kördes mot en inaktuell datamängd — seeds har synkats om, MySQL-svaret matchar åter PostgreSQL.
  • Sex uppgifter som tidigare bara fungerade i PostgreSQL har nu en fungerande MySQL-variant.
  • CREATE TABLE / CREATE INDEX / ALTER-uppgifter rättas utifrån det resulterande tabellschemat — en felaktig struktur godtas inte längre som korrekt.
  • INSERT-uppgifter som använder CURRENT_TIMESTAMP / NOW() avvisar inte längre ett korrekt svar på grund av en tidsskillnad vid körning.
  • Exempelresultat som av misstag avslöjade det exakta svaret har ersatts med icke-avslöjande exempel; radordning kontrolleras där en uppgift kräver det.
  • En katalogtäckande granskning samordnade uppgiftstexten, rättningsdatan och referenslösningen i flera dussin uppgifter där de hade glidit isär.
v4.0.616 maj 2026

Rättat rättningen av flersatslösningar — en DELETE/UPDATE med en avslutande SELECT rättas nu korrekt.

Ändrat
  • Datum och tider i frågeresultat visas nu rent som 2024-01-15 08:00:00 i stället för det tekniska ISO-formatet.
Åtgärdat
  • DML-uppgifter (DELETE, UPDATE, INSERT) med en verifierande SELECT avvisar inte längre ett korrekt svar som "extra kolumner".
  • Uppgift #768: uppgiftstexten matchar nu det rättade svaret.
  • Tipset vid felaktigt svar föreslår inte längre att jämföra mot exempelblocket, som avsiktligt inte är exakt.
  • Rena UPDATE / DELETE / INSERT-uppgifter rättas nu utifrån tabellernas sluttillstånd — en felaktig mutation godtas inte längre som korrekt.
v4.0.516 maj 2026

Rättade fem uppgifter där uppgiftstexten inte matchade schemat och svaret.

Åtgärdat
  • Uppgifterna #762, #763, #764, #765, #809: uppgiftstexten omskriven för att matcha det faktiska schemat och det förväntade svaret.
  • AI-uppgiftsgenerering, AI Mentor och buggrapportformuläret: vid rate-limit visar de nu "försök igen om N sekunder" i stället för "ThrottlerException".
v4.0.415 maj 2026

Rättade uppgift #17 — rättningen returnerade NULL på grund av en schemabugg.

Åtgärdat
  • Uppgift #17 (average-post-hiatus): schemat samordnat med seeden, rättningen fungerar igen.
v4.0.315 maj 2026

I uppgiften "Move old rows to archive in one go — race-free" (#789) bad uppgiftstexten om en kolumn customer_id som inte finns i schemat. Formuleringen är nu samordnad med det faktiska schemat och rättningen: id, status, amount.

Åtgärdat
  • Uppgift #789 (hard-cte-atomic-archive): beskrivningen nämnde en obefintlig kolumn customer_id. Formuleringen matchar nu schemat orders / orders_archive och de förväntade kolumnerna id, status, amount.
v4.0.215 maj 2026

Meddelandet "Too many requests" visar nu den exakta gränsen och antal sekunder till återställning i stället för det kryptiska "ThrottlerException". Serversidans rate-limit har höjts så att snabb navigering i en track inte längre slår i taket.

Ändrat
  • Serversidans rate-limit på vanliga API-anrop har höjts 5×. Snabb fram-och-tillbaka mellan uppgifter inom en track (10+ parallella mount-anrop) slår inte längre i taket och ger inte 429.
Åtgärdat
  • Vid rate-limit på Submit eller Run visar meddelandet nu den faktiska gränsen och exakt antal sekunder till nästa försök. Tidigare dök bara det kryptiska "ThrottlerException: Too Many Requests" upp utan något väntetips.
v4.0.114 maj 2026

"Start" på trackkortet startar åter själva tracken — ett osynligt kortlänksöverlägg fångade upp klicket och dirigerade det till trackens detaljsida.

Åtgärdat
  • /trainer/tracks navigerar knappen "Start" på ett trackkort inte längre till trackens detaljsida i stället för att starta tracken. Klick-var-som-helst-på-kortet → detaljer behålls.
v4.0.013 maj 2026

SQL-sandlåda: ta med egna tabeller och frågor — ingen uppgift, ingen rättning. Plus en enhetlig bred bento-layout över topplista, framsteg, tracks, uppgifter och sessioner.

Tillagt
  • Ny sida /sandbox — Monaco-editor, schemapanel, resultatpanel, dataflikar per tabell, uppvärmningssnuttar. Anonyma sessioner stängs efter 30 min inaktivitet, inloggade användare får 7 dagar.
  • Sparade fiddles: upp till 5 i gratisversionen, obegränsat i Premium. Bibliotek med sökning, kopiera-länk, radera och växling för sekretess.
Ändrat
  • Enhetlig bred layout över de personliga sidorna — My Fiddles, Framsteg, Topplista, Sessioner, Uppgifter, Tracks och trackens detaljsida delar nu ett skal med en gradient-hero och ett konsekvent kortrutnät.
v3.0.413 maj 2026

Pilarna för positionsförändring på topplistan är tillbaka — tidigare var kolumnen tom eftersom det inte fanns någon baslinje att jämföra mot.

Åtgärdat
  • Indikatorn "klättrat / fallit / oförändrat" är tillbaka bredvid varje rad på topplistan. En baslinje från föregående vecka har seedats; det vanliga veckovisa cron-jobbet håller den uppdaterad.
v3.0.313 maj 2026

Rättade en bugg där en ny inlämning av en redan löst uppgift tyst tog bort Power — bonusen "löst på första försöket" raderades. Alla berörda användare har fått sin Power omräknad.

Åtgärdat
  • Att skicka in en lösning på nytt för en redan löst uppgift raderar inte längre bonusen "löst på första försöket" — Power för den uppgiften förblir densamma som direkt efter den första lyckade inlämningen.
  • Uppgift #107 (utgiftsfördelning per bokgenre för 2005) kräver inte längre en specifik radordning — valfri ordning godtas nu, i linje med uppgiftstextens formulering.
v3.0.212 maj 2026

Rättade DB-schemapanelen på flera uppgifter — de orange relationslinjerna mellan länkade tabeller ritades inte ut.

Åtgärdat
  • På vissa uppgifter visade panelen "Schema" inte relationerna mellan tabeller (de orange 1:N-pilarna) — de saknade relationerna har lagts till i datamängderna.
v3.0.112 maj 2026

Rättade uppgiften "Split customers into low / mid / high spenders": exempelsvaret och referenslösningen hade glidit ifrån uppgiftstexten — nu använder allt kund-id och segmenten low / mid / high.

Åtgärdat
  • Uppgift "Split customers into low / mid / high spenders" (#757): exempelsvaret och referenslösningen matchar nu uppgiftstexten — kolumnerna customer_id, segment, segmenten low / mid / high, sorterat efter customer_id.
v3.0.012 maj 2026

En stor "Arena"-rebranding: en ny startsida, en helt ny topplista med pall och liveuppdateringar, poäng omdöpta till "Power" med ett stridsyx-varumärkesmärke, ombyggda learning tracks och adaptiv AI-uppgiftsgenerering som faktiskt läser dina senaste inlämningar.

Tillagt
  • En ny flik "League" — de 30 användare som är närmast dig i Power. Svårighetsfilter på den globala fliken (Power omräknas per stege). Klättra/falla-pilar bredvid varje position — rörelse vecka för vecka.
  • Achievements: emoji ersatta med vektorikoner färgade efter kategori, webbläsarens tooltips visar lokaliserade namn; på /stats är det ett rutnät med tryck-popovers på mobil. Ny achievement "10 Expert".
  • Håll muspekaren över ett namn på topplistan för ett miniatyranvändarkort. En knapp "Share rank" — länken pekar till din offentliga profil med en OG-förhandsvisning.
Ändrat
  • Startsidan omskriven under varumärket "Arena": en slagkraftig rubrik "Sharpen SQL. Take the offer.", en live-resultattavla i heron, en rangstege med en "You"-markör, sektioner om tränaren / tracks / AI / interview-läget / framsteg, och ett avslutande band "The axe is in your hand. Swing.". Mobilanpassad.
  • Poäng omdöpta till "Power". Blixten har ersatts med en stridsyxa — nu i logotypen, faviconen och länkdelningsförhandsvisningen.
  • Topplistesidan skrevs om från grunden: en topp-3-pall (guld / silver / brons), ett personligt framstegskort med en stapel mot nästa rang, en enda klistrad filterrad, rangstegen direkt under rubriken, en fastnålad "du"-rad när du är utanför topp 50, och liveuppdateringar — tabellen reagerar mjukt på andras lösningar utan omladdning.
  • Learning tracks ombyggda. Analyst / Backend / QA / Data Engineering — ~50 utvalda uppgifter vardera: ett par representanter per cell av ämne×svårighet, från uppvärmning till EXPERT, viktade mot verkliga intervjuproblem. Lade till en Data Engineering-track plus en särskild track för intervjuförberedelse.
  • Knappen "Generate for me" är nu genuint adaptiv: den läser dina senaste 40 inlämningar, väljer ämnet med sämst aktuell träffsäkerhet och kalibrerar svårigheten efter din nivå — kör du fast sänks nästa ett snäpp, en svit höjer den.
  • Nya besökare landar på temat "Night" som standard (tidigare "Evening"). Har du redan valt ett tema behålls ditt val.
Åtgärdat
  • Uppgift "Say in one number: how many active customers" — den kanoniska lösningen krävde kunder med ≥2 betalda order medan beskrivningen säger "minst en gång". Rättad för att matcha beskrivningen.
v2.4.512 maj 2026

EXPERT-uppgifter ger nu rejäla 75 Power per lösning (upp till 281 med bonusar) i stället för EASY-nivåns 10. Lifetime-Power för användare som redan klarat en EXPERT har räknats om retroaktivt.

Åtgärdat
  • Belöningstabellen saknade en rad för EXPERT, så rättningen föll tillbaka på ett standardvärde på 10 och varje EXPERT-uppgift gav lika mycket som en EASY-uppgift. EXPERT-basen är nu 75 Power, med samma multiplikatorer staplade ovanpå (första försöket ×2, godkänd Mock Interview ×1,25, premiumlösning ×1,5) — upp till 281 Power per EXPERT-uppgift. En migrering räknade om xp_total för varje profil enligt de korrigerade reglerna, så alla som redan löst en EXPERT får den saknade Power automatiskt.
v2.4.412 maj 2026

Stängde kryphålet där en uppgift kunde "lösas" genom att hårdkoda exempelresultatet: på 25 datamängder kontrollerar rättningen nu din fråga mot dolda rader som skiljer sig från dem som visas i uppgiftsbeskrivningen.

Ändrat
  • Lösningar körs fortfarande mot samma tabeller och kolumner som tidigare, men raderna i rättnings-seeden skiljer sig från det synliga exemplet. Alla genuint frågebaserade svar fortsätter att bli godkända, medan en hårdkodad SELECT … UNION ALL … som kopierade exempellitteralerna nu rättas som "fel". 25 datamängder i den senaste katalogomgången omfattas (lists, CTE, window, pivot, DML, expert).
v2.4.39 maj 2026

Åtgärdade två uppgiftsproblem rapporterade av elever: det felordnade exemplet i "Students by region" och beskrivningen som glidit ifrån schemat i nettointäktsuppgiften.

Åtgärdat
  • Uppgift "Students by region" (#357): exemplet stiger nu efter rn (Jack / Kim / Lars på första raden), och referenslösningen har en explicit ORDER BY rn så att den ger samma ordning.
  • Uppgift "Users with net revenue of at least 100" (#783): titel och beskrivning matchar nu de faktiska data — användare och händelserna purchase/refund, inte produkter och sale/refund, med ett tröskelvärde på 100, inte 1000.
v2.4.29 maj 2026

Sex avancerade uppgifter levereras nu med en förseedad tabell — lösningar börjar inte längre med en CREATE TABLE-inledning.

Ändrat
  • Sex Hard/Expert-uppgifter (UPSERT med en och flera kolumner, CTE med RETURNING, bulk-INSERT … RETURNING, SKIP LOCKED-kö, arrayuppveckling via UNNEST) anslöt till resten av den avancerade katalogen: tabellen skapas och seedas i datamängden, och lösningen innehåller bara den operation som testas plus en avslutande SELECT för rättning.
Åtgärdat
  • Beskrivningen av uppgiften "View counter" glider inte längre ifrån det förväntade resultatet: båda beskriver nu samma tabell counters(id, count) och fem körningar av samma rad.
v2.4.19 maj 2026

DDL-uppgifter visar inte längre orelaterade tabeller i schemapanelen vid sidan.

Åtgärdat
  • På 10 CREATE TABLE-uppgifter (från easy till expert) renderade schemapanelen vid sidan tabeller från en orelaterad datamängd — t.ex. visade en artikeluppgift orders. Panelen är nu tom, som den ska vara när en uppgift ber dig bygga tabellen från grunden.
v2.4.09 maj 2026

115 nya uppgifter, en temaväljare med tre lägen — Day / Evening / Night — och en mjukare mörk palett.

Tillagt
  • Katalogen växte med 115 uppgifter: 20 easy, 35 medium, 45 hard och 15 expert — underfrågor, CTE:er, fönsterfunktioner, DML/DDL, MERGE, frågeoptimering, transaktioner, JSONB, rekursion och LATERAL.
  • Ny svårighetsnivå «Expert» med ett violett märke och ett eget filter i katalogen.
  • Temaväljare med tre lägen: Day (ljust), Evening (mjukt mörkt) och Night (djupt) — välj efter omgivningsljuset för att minska ansträngda ögon.
Ändrat
  • Mörkt tema mjukat upp: bakgrunden gick över till en gråblå Linear-aktig nyans (#1B1B1F) i stället för den tidigare nästan svarta, primärtexten sänktes till zinc-300 — mindre halation under långa pass.
  • I läget «Night» ligger SQL-editorrutan tre steg djupare än bakgrunden med en lätt dragning mot helsvart — läses som en nedsänkt panel i samma familj.
  • Ämnesfusklappen i uppgiften tar nu hänsyn till svårighet: på Hard/Expert-nivåer döljer den grundläggande SELECT/WHERE/ORDER BY/LIMIT och lyfter i stället fram avancerade mönster — STRING_AGG, ARRAY_AGG, GROUPING SETS, LATERAL, JSONB, partiella index och så vidare.
  • Aktiva piller för svårighetsfilter bytte till en mjuk fyllning i varumärkesfärg i stället för helsvart — de bryter inte längre mot det ljusa temats utseende.
  • Ryska svårighetsetiketter: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
v2.3.08 maj 2026

24 nya nybörjarartiklar i bloggen.

Tillagt
  • Utökad ämnestäckning: DML (INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), aggregat, DISTINCT, NULL-hantering (CASE WHEN/COALESCE/NULLIF), CTE:er och underfrågor, fönsterfunktioner, sträng och datum.
Ändrat
  • Tränarens fusklapp: varje post pekar nu på sin egen artikel. Tidigare länkade de fyra fönsterfunktionsposterna till en enda översikt — ROW_NUMBER, RANK/DENSE_RANK, PARTITION BY och LAG/LEAD har nu var sin.
Åtgärdat
  • Uppgift #114 "How many cardiology wards" — döpte om den förväntade resultatkolumnen från count till wards_count så att den inte längre visuellt krockar med det reserverade nyckelordet.
v2.2.28 maj 2026

Stängde kryphålet med att fylla ut svar efter exemplet: uppgifter rättas nu mot en dold datamängd.

Ändrat
  • Rättningen kan nu köra en uppgift mot en dold datamängd. Den kanoniska referensen räknas om på samma data, så korrekta lösningar blir fortfarande godkända medan konstanter lånade från det synliga exemplet faller igenom.
Åtgärdat
  • Uppgiften "Oldest club member" godtar inte längre en hårdkodad LIMIT anpassad till det synliga exemplet — endast en fråga som uttrycker "alla rader med det lägsta födelsedatumet" blir godkänd.
v2.2.18 maj 2026

Polering av prissättningskort och rättningar av knappen "Sign in & subscribe" direkt efter v2.2.0.

Ändrat
  • Pris och CTA-knapp i Free- och Premium-korten ligger nu i linje på samma Y.
  • Trimmade prisfotnoterna för Crypto och Visa/MC — bara namnet på betalningssättet kvarstår.
Åtgärdat
  • Knappen "Sign in & subscribe" går åter att klicka på för utloggade användare.
v2.2.08 maj 2026

Lade till betalning med krypto och internationella Visa/Mastercard-kort, plus skärpta antibot-skydd i inloggningsflödet.

Tillagt
  • Kryptobetalningar via NowPayments — BTC, ETH, USDT och andra. $21 per kvartal / $28 per halvår.
  • Internationella Visa/Mastercard via Paddle med automatisk VAT/sales tax. $21 / $28.
  • Väljare för betalningssätt på Premium-kortet: RU-kort, Crypto, Visa/MC. Valutan byts per betalningssätt.
  • Cloudflare Turnstile på inloggning och registrering — osynlig för människor, blockerar bottar.
Ändrat
  • Kontot låses i 15 min efter 5 felaktiga lösenord (exponentiellt upp till 24 h) med en tydlig nedräkning.
  • Fel vid inloggning och registrering har gjorts begripliga — inga fler råa "Forbidden" eller "Invalid credentials".
  • Rate-limit för inlämningar: 5/min, 30/15 min per användare. Påverkar inte verkliga lösningssessioner.
Åtgärdat
  • Efter inloggning återvänder vi till sidan du kom från — inklusive OAuth (Google, GitHub, Yandex).
  • Att logga ut från en offentlig sida sparkar inte längre ut dig till startsidan.
v2.1.87 maj 2026

Slutförde rättningen av sparandet av Telegram, GitHub och LinkedIn på profilsidan. Den tidigare versionen rättade användarnamnsnormaliseraren i backend, men frontend-komponenten kortslöt onBlur — PATCH avfyrades aldrig. Fältet tog visuellt emot inmatning, servern förblev tom, och efter en omladdning var fältet tomt. Nu använder blur-jämförelsen värdet som fångades vid fokus, inte den pågående inmatningen.

Åtgärdat
  • Fälten för Telegram, GitHub och LinkedIn på profilsidan sparar åter. En useEffect skrev över referensen till "senast sparat" vid varje tangenttryck, så onBlur-kontrollen jämförde det aktuella värdet med sig självt och hoppade över PATCH. Blur-kontrollen jämför nu mot en ögonblicksbild tagen vid fokus.
v2.1.77 maj 2026

Rättade sparandet av Telegram-, GitHub- och LinkedIn-handtag på profilsidan: att skriva platshållarformatet som t.me/username kapades ner till skräp som t.me. Nu normaliseras all inmatning — enbart handtag, @handle, t.me/handle eller https://t.me/handle — till ett rent användarnamn.

Åtgärdat
  • Fälten för Telegram, GitHub och LinkedIn på profilsidan sparar nu korrekt när adressen skrivs utan https://. Tidigare lagrades t.me/durov som t.me och github.com/octocat som github.com, eftersom normaliseraren krävde ett http(s)://-schema och annars klippte värdet vid första snedstrecket.
v2.1.65 maj 2026

Tog bort den falskt positiva premium-merförsäljningsbannern i lösningsresultatpanelen: den utlöstes på gratisuppgifter och till och med för premiumanvändare. Det var dött gränssnitt från början — premiumuppgifter blockeras när uppgiften öppnas, så editorn ser dem aldrig.

Ändrat
  • I gratulationsmodalen "Korrekt!" har pillret "+50% Power per solve — go Premium" nu ordentlig horisontell utfyllnad — kronan och pilen rör inte längre pillrets kanter.
  • AI Mentor får nu kompakt uppgiftskontext: aktiv SQL-dialekt, tabeller, relationer, förväntade kolumner, exempelresultat och den senaste rättningsdiffen. Referens-SQL används endast som privat kontext för felförklaringar och senare tipsnivåer.
Åtgärdat
  • Merförsäljningsbannern "Interview tasks — Premium" är borta från feedbackpanelen. Tidigare utlöste varje serverfel som innehöll ordet premium i sin stacktrace (t.ex. en saknad kolumn solved_as_premium direkt efter en migrering) en delsträngsmatchning och renderade merförsäljningen — även på gratisuppgifter och även för premiumanvändare.
v2.1.55 maj 2026

Premium ger nu +50% Power per löst uppgift — boosten fastnar vid uppgiften för alltid, även efter att prenumerationen löpt ut. AI Mentor dumpar inte längre lösningen vid första tipset och eskalerar nu hjälpen per uppgift. Vi tog också bort startkommentaren -- Click ▶ Run ur editorn för den första uppgiften.

Tillagt
  • Premium-prenumerationen ger en ×1,5-multiplikator på Power för varje löst uppgift. Boosten låses fast i lösningsögonblicket, så den stannar i din totalsumma även om prenumerationen senare löper ut.
  • Gratulationsmodalen "Korrekt!" visar nu en uppgraderingsknuff för gratisanvändare direkt under +Power-chippet: "Get +50% Power per solve — go Premium", med länk till /pricing.
Ändrat
  • AI Mentor eskalerar nu tipsen per uppgift. Första förfrågan ger en riktningsangivelse utan operatornamn; förfrågan 2–4 lägger till koncept och kategori; från förfrågan 5 får mentorn nämna LIKE / WHERE / GROUP BY direkt. Räknaren nollställs var 24:e timme.
  • Förklaringar av felaktiga svar följer nu samma tipsnivåer som vanliga tips — de avslöjar inte längre specifika operatorer vid den allra första misslyckade inlämningen.
Åtgärdat
  • Stängde de återstående fynden från SQL-uppgiftsgranskningen: rättade referensen i Tournament Winners, samordnade TIMESTAMP-förhandsvisningar på flera uppgifter och återställde PostgreSQL-varianten för en AI-uppgift.
Borttaget
  • Tog bort startkommentaren -- Click ▶ Run — see what's in this table ur editorn för den första uppgiften. Öppnade uppgifter börjar nu med en tom editor.
v2.1.45 maj 2026

Gjorde om filtren i uppgiftskatalogen: status blev en segmenterad kontroll med 3 lägen (All / Unsolved / Solved) med Unsolved som standard, lade till ett dialektfilter, ämnes- och företagschippen visar nu sitt aktuella uppgiftsantal, aktiva filter visas som borttagbara piller med en "Reset all"-funktion.

Tillagt
  • Dialektfilter i katalogen: All / PG / MySQL — ett eget segment bredvid statuskontrollen.
  • Ämnes- och företagschip visar nu hur många uppgifter som matchar: "Windows (43)", "Tinkoff (5)". Chip med noll uppgifter tonas ut.
  • Rad med aktiva filterpiller: varje tillämpat filter (sökning, svårighet, status, dialekt, favoriter, ämne, tagg, företag, region) renderas som ett borttagbart piller; "Reset all" återställer allt till standard.
Ändrat
  • Uppgiftsstatusfiltret är nu en segmenterad kontroll med 3 lägen (All / Unsolved / Solved), med Unsolved som standard. Ersätter den enskilda "Hide solved"-växeln.
  • Sorteringskontrollen flyttades till den övre raden — tidigare begravd längst ner och dold bakom scroll.
  • Favoritväxeln flyttades till den övre filterraden — nu intill de andra binära växlarna.
Åtgärdat
  • Filtermärket visar inte längre "1" från start — standardvyn "Unsolved" räknas inte som ett tillämpat filter.
v2.1.35 maj 2026

Katalogtäckande granskning: rättningen avvisar inte längre korrekta svar på grund av DATE-mot-TIMESTAMP-serialisering, exempelförhandsvisningar på 60+ uppgifter matchar nu vad referenslösningen faktiskt returnerar, och 5 uppgifter som använder CURRENT_DATE / NOW() är låsta till en fast referens så att förhandsvisningar inte längre driver dag för dag. Plus en beskrivningsrättning i uppgiften om månadstransaktioner från en användarrapport.

Åtgärdat
  • Rättning: lade till normalisering av datum-som-timestamp (2024-01-01T00:00:00.000Z2024-01-01) — korrekta svar slutar få "radantalet matchar, innehållet skiljer sig" på grund av formatering av returtypen.
  • Uppgift "Monthly transactions and chargebacks": beskrivningen klargör nu att en chargeback tillhör den ursprungliga transaktionens månad, inte återbetalningsdatumet; förhandsvisningen visar datum för månadens första dag i stället för TZ-förskjutna ISO-timestamps.
  • Återgenererade exempelförhandsvisningar på 60+ uppgifter: numerisk formatering (100100.00), tidszonsvisning (+03+00), DATE-som-TIMESTAMP, INTERVAL-som-objekt — förhandsvisningen matchar nu vad den faktiska körningen returnerar.
  • Fem uppgifter som använder CURRENT_DATE / NOW() / CURRENT_TIMESTAMP i sin seed (#170, #601, #602, #668, #693) är nu låsta till 2026-05-05 12:00:00 UTC. Förhandsvisningar slutar driva.
v2.1.24 maj 2026

Gjorde om bloggen: sökning, navigering genom 10 sektioner, de första 7 nybörjartutorialerna. Kommandonamn i uppgiftens fusklapp är nu klickbara länkar till artiklar. Releasesidan fick ett versionsträd med scroll-spy.

Tillagt
  • Blogg: sökning över titlar, innehåll och taggar + sektionssidofält till vänster. Aktiv sektion markeras vid scroll.
  • Blogg: 7 första nybörjartutorialer — SELECT … FROM, WHERE, ORDER BY, LIMIT, INNER JOIN, LEFT JOIN, alias.
  • Ämnesfusklapp i uppgiften: kommandonamn är nu blå länkar till motsvarande bloggtutorial — öppnas i en ny flik.
  • Releasesida: versionsträd till vänster grupperat efter major.minor; klick scrollar till versionen och uppdaterar hash-ankaret.
  • Knappen "Copy SQL" på varje rad i fliken Submissions.
Åtgärdat
  • Rysk pluralböjning överallt: "221 задача", "2 задачи", "5 задач" i stället för det gamla "221 задач".
  • Ämnesfusklappen i uppgiften skakar inte längre när den fälls ut — utrymme för scrollbaren är nu reserverat.
  • Markdown-tabeller i bloggartiklar renderas nu som HTML-tabeller i stället för en enda rad ren text.
v2.1.14 maj 2026

Katalogtäckande kvalitetsgenomgång: 23 olösbara uppgifter reparerade, 66 engelska beskrivningar omskrivna, beskrivningar och exempelförhandsvisningar samordnade på ytterligare ett par dussin. Plus en rättning rapporterad av en användare.

Ändrat
  • Exempelförhandsvisningar på 50+ uppgifter matchar nu vad referenslösningen returnerar.
  • Slog ihop dubblerade företagstaggar i uppgiftsfiltrens chip.
Åtgärdat
  • Reparerade 23 uppgifter (pharma-*, loyal-*, hotel-*, qa-*) som inte gick att lösa på grund av en schema/seed-konflikt.
  • Skrev om engelska beskrivningar på 66 lc-* / lc2-*-uppgifter som tidigare levererades med en stub eller ett fragment.
  • Uppgiften "Rooms Booked on September 2, 2019" godtar inte längre det felaktiga svaret.
  • Tio uppgifter där beskrivningen inte stämde med referenslösningen är nu konsekventa.
  • Sju Tochka-uppgifter levererades med någon annans uppgiftstext — skrev om dem.
v2.1.04 maj 2026

69 nya uppgifter hämtade från verkliga jobbintervjuer på den ryska marknaden (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat och 23 företag till) — byggda kring PostgreSQL:s bredare typuniversum: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC och POINT. Plus viktiga rättningar från användarrapporter och en "What's new"-rödprickindikator i sidofältet.

Tillagt
  • 69 nya uppgifter hämtade från verkliga intervjuer på ryska företag. 33 arbetsgivare: 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 och Yandex Practicum. Alla taggade Interview, tillgängliga för Premium.
  • Rika PostgreSQL-typer i uppgiftsscheman. De flesta uppgifter brukade använda INT + VARCHAR(100) — bra för läroboksexempel, långt från produktion. De nya uppgifterna introducerar UUID för PK för kunder och order, NUMERIC(15,2) för pengar och NUMERIC(12,4) för växelkurser, TIMESTAMPTZ för händelser, INTERVAL för samtals- och sessionslängder, TSTZRANGE / DATERANGE / NUMRANGE för SCD2-historik och giltighetsfönster, JSONB för metadata och händelse-payloads, ENUM (med explicit CREATE TYPE) för statusar och kategorier, INET för IP:n i antifraud-uppgifter, POINT för GPS-koordinater, TEXT[] / INTEGER[] för taggar och ID-arrayer. Så tränaren exponerar dig för samma typer som du möter i produktion.
  • Rödprickindikator på sidofältsposten "What's new" — visas när en ny release har kommit som du inte öppnat ännu. Pricken försvinner efter ett besök på /releases (flaggan lagras i den här webbläsarens localStorage). Tidigare fanns indikatorn bara i den övre navbaren; i layouter med enbart sidofält gick den inte att nå.
Ändrat
  • Korrekt rendering av de nya typerna i frågeresultattabellen. Tidigare renderades kolumnerna JSONB, INTERVAL och POINT som "[object Object]" och arrayer (TEXT[], INTEGER[]) reducerades till kommaseparerade strängar — strukturen var osynlig. Nu renderas JSONB och arrayer som läsbar JSON, INTERVAL som 1d 02:30:00, POINT som (x, y). Booleska värden och UUID:er behåller sin textrendering.
  • ER-diagram på uppgiftssidan fick palettposter för de nya typerna: UUID violett, JSONB gult, INTERVAL lila (samma familj som andra datum/tid-typer), TSTZRANGE / DATERANGE / NUMRANGE rosa, INET cyan, POINT rosa, anpassade ENUM:ar rosenrött. Tidigare föll dessa typer tillbaka till standardgrått och gick inte att skilja från vanliga INT / VARCHAR.
  • De sex rättade uppgifterna ovan fick också ett berikat schema i samma stil som den nya intervjuuppsättningen: UUID-primärnycklar, JSONB-payloads, ENUM-typer för kön / kategorier / statusar, NUMERIC(15,2) i stället för INT för löner och priser, INTERVAL för tidslängder. Uppgiftsformuleringen justerades något för att motivera de nya typerna, men det underliggande problemet är oförändrat. Detta är första steget i att uppgradera äldre uppgifter — mer i kommande releaser.
Åtgärdat
  • Rättade en handfull äldre uppgifter rapporterade av användare. "Project Employees II" — ER-diagrammet visade Employee + Department i stället för Project + Employee, medan det underliggande schemat var korrekt; samordnade diagrammet. "Reported Posts" — beskrivningen klargjorde inte att anmälningsorsaken finns i kolumnen extra: nu gör den det. "Sales Analysis I" — referenslösningen använde SUM(price) trots att schemat har en kolumn quantity, vilket var förvirrande; omformulerade som SUM(quantity * price), närmare verklig intäkt. "Swap Salary" — uppgiften var kopplad till fel datamängd (Employee + Department i stället för Salary(id, name, sex, salary)), vilket gjorde den olösbar; kopplade om till den kanoniska datamängden. Samma tysta ER-drift i "Project Employees III" och "Reported Posts II" fick samma rättning.
v2.0.03 maj 2026

Stor release: en ny navigering med vänstersidofält, det strikta Mock Interview-läget med en +25% Power-bonus, offentliga profiler och vänner, e-postaviseringar, varumärkesfärgade företagstaggar, fler filter och ett block med partnerkurser. Plus en viktig sekretessrättning mellan konton och dussintals UX-poleringar.

Tillagt
  • Partnerkursblock. På uppgiftssidan (breda skärmar) visar en högerkolumn ett utvalt urval partnerkurser; på mobil är det en horisontell karusell ovanför listan. Korten länkar ut till partnernas landningssidor med UTM-taggar — för oss ett sätt att hålla nere prenumerationspriset genom att täcka infrastrukturkostnader.
  • Nytt Mock Interview-läge — en strikt simulering av en verklig intervju. Varje enskild överträdelse (flikbyte, inklistring, helskärmsavslut, > 1 sekunds fönsteroskärpa) underkänner sessionen automatiskt. Tips, AI Mentor och fusklapp är dolda och låsta. Längder: 5 / 10 / 15 / 30 / 60 minuter. Gratisnivå — 1 försök per dag; Premium — obegränsat. Medan en session pågår är den omgivande navigeringen (sidofält, "Tasks", "Top solutions", "Next task", "Leave track", Prev/Next/Random) låst — enda vägen ut är den uttryckliga "End"-knappen eller att stänga fliken (vilket automatiskt överger sessionen).
  • +25% Power för varje uppgift som klaras i Mock Interview-läget — bonusen är per uppgift och markerad i rapporten efter sessionen. Topplistan har nu en informativ "Mock"-kolumn (samma antal visas på profilkortet och på /u/<username>); den påverkar inte den Power-baserade sorteringsordningen.
  • Offentliga profiler på /u/<username>: välj ett kort handtag och slå på den offentliga växeln — vilken anonym besökare som helst ser din rang, Power, aktuella streak, antal achievements, aktivitetsheatmap och GitHub-/Telegram-/LinkedIn-länkar. Inga privata data exponeras.
  • Vänner: lägg till användare via deras offentliga handtag, hantera inkommande och utgående förfrågningar, se en särskild flik för vänner-topplista med deras Power, streak och antal lösta uppgifter.
  • Favoriter: varje uppgiftskort har nu en stjärna — klicka på den så hamnar uppgiften i filtret "Favourites only". Listan ligger på servern kopplad till ditt konto och överlever webbläsarbyten.
  • E-postaviseringar (växlar i profilen). "Save your streak" — en kvällspåminnelse när din streak är ≥ 3 dagar och du inte löst något idag. "Weekly digest" — en sammanfattning lördag morgon med förra veckans lösta uppgifter, aktuell streak och svagaste kategori.
  • Premium-användare flaggas visuellt överallt där avatarer visas: en holografisk gradientring (topplista, vänner, profil, sidofält, offentlig sida /u/<username>); ett litet kronmärke i hörnet på stora avatarer. Påverkar inte sorteringsordningen.
  • Varumärkesfärgade företagstaggar på uppgiftskort: gult för Yandex / Tinkoff / Beeline, grönt för Sberbank / Spotify / OpenAI, blått för VK / Ozon / Google / Meta, rött för MTS / Alfa / Tesla, lila för Stripe / Skypro / Wayfair, orange för Amazon / Alibaba och så vidare. Tidigare var varje tagg enbart lila.
  • Extra SQL-satschip i filtret "Topic" på uppgiftssidan: vid sidan av de 8 breda kategorierna (SELECT, JOIN, underfrågor, window, aggregat, CTE, DML, DDL) kan du nu växla GROUP BY, COUNT, HAVING. Blanda dem med kategorier för skarpare filtrering.
  • Panelen "DB Schema" på uppgiftssidan kan nu fällas ihop. Växeln intill uppgiftstiteln döljer kolumnen och frigör bredd för editorn och resultattabellen. Det ihopfällda läget kommer ihåg per webbläsare, så schemat öppnas på samma sätt på nästa uppgift.
  • 8 nya intervjuuppgifter från Tochka — från EASY till HARD. CRM-scenarier (hitta kunder med en aktiv ansökan), portföljberäkningar (struktur, viktad genomsnittlig löptid, värdedynamik), obligationsfrågor med fönsterfunktioner. Lösningar för både PostgreSQL och MySQL.
  • Bloggsektion på /blog. Långa tutorials — vi inleder med en fördjupning i fönsterfunktioner. Tvåspråkigt innehåll, slug-URL:er, OG-kort för delning i sociala medier. Nås från sidfoten och längst ner i sidofältet.
  • Anpassad 404-sida. Den gamla Next.js-standarden renderade svart text på vitt — osynlig i mörkt läge. Den nya sidan använder temats tokens och ligger inuti det gemensamma skalet, så navigeringen finns nära till hands.
Ändrat
  • Navigeringen omdesignad. För inloggade användare inne i appen har primärnavigeringen flyttat till ett vänstersidofält — Trainer, Progress, Leaderboard och de andra sektionerna finns där, med Power + streak under din avatar och språk-/temaväxlar längst ner. Landningssidan, prissättningen och autentiseringsflödena behåller den smala topraden. Verktygssidor (What's new / Report a bug / Blog) ärver vilket chrome du än kom ifrån.
Åtgärdat
  • Premiumgradientringen runt avatarer visas nu på alla topplistflikar — tidigare visades ringen bara på fliken "All time" och föll tyst bort på "Week" och "Month" eftersom backend inte skickade prenumerationsflaggan för de periodiska rankningarna.
  • Namn- och avatarändringar i din profil återspeglas nu omedelbart i sidofältet — ingen sidomladdning krävs. Tidigare kunde det gamla användarkortet dröja kvar tills en full uppdatering.
  • Dataläckor mellan konton vid byte av användare i samma webbläsare. Tidigare kunde dessa finnas kvar efter utloggning/inloggning med ett annat konto: AI Mentor-chatttrådar, SQL-utkast i editorn, "löst"-flaggor per uppgift, aktiva mock-interview-sessioner, AI-genereringsräknare, favoritcache. Nu rensar utloggning och varje inloggningsväg (formulär, OAuth, e-postverifiering) allt knutet till den föregående användaren.
  • Länken "Friends rating" från profilen landar nu direkt på fliken Friends — tidigare hamnade du på den globala topplistan. Nybörjarspåret "Start here" kommer inte längre tillbaka efter att du avfärdat det; tidigare nollställdes avfärdandet vid varje utloggning/inloggning.
  • Dussintals poleringar av mobillayout och interaktion: en mer kompakt rapportmodal efter sessionen, korrekt filteravstånd på smala skärmar, feedbackbannern överlappar inte längre sidopanelen vid 1024px, namn- och e-postfält på buggrapportsidan för anonyma inskickare.
v1.2.93 maj 2026

Hotfix för editorns UX på smala skärmar: popupen "Editor settings" klipps inte längre av kodpanelen och svämmar inte längre över viewportens kant på mobil. Samma kugghjulsknapp som datorn har finns nu också i mobilverktygsfältet, och inställningen för teckenstorlek tillämpas äntligen på mobileditorn.

Åtgärdat
  • Popupen "Editor settings" kunde klippas av sidans kanter och hade ingen intern scroll — på en smal laptop eller en telefon var helt enkelt hälften av inställningarna osynliga. Popupen renderas nu ovanpå hela sidan (via en portal), klamras automatiskt till det synliga området och får en intern scrollbar när innehållet svämmar över viewportens höjd. Rubriken med titeln och stängningsknappen förblir klistrad vid scroll.
  • I mobilvyn av editorn (≤1024px) saknade verktygsfältet kugghjulet för editorinställningar — "Font size" gick bara att nå från datorn. Kugghjulet sitter nu intill PG/MySQL och Format, och inställningen för teckenstorlek skalar faktiskt mobileditorns inmatning.
v1.2.71 maj 2026

Hotfix från en buggrapport: uppgift #240 ("Staff Bonuses") renderade fel schema — den visade Employee + Department i stället för det verkliga Employee + Bonus, vilket gjorde uppgiftstexten obegriplig.

Åtgärdat
  • Uppgift #240 "Staff Bonuses": schemavisaren renderade inaktuella tabeller Employee + Department (med fälten department_id, manager_id) och en tom Department-flik. Sandlådan och referenslösningen var korrekta hela tiden — bara visarens metadata var fel. Nu visar schemat de verkliga tabellerna Employee + Bonus med relationen Bonus.empId → Employee.empId.
v1.2.61 maj 2026

Berikade datamängder över 268 av 339 uppgifter — fylligare källtabeller, mer meningsfulla rader i det förväntade resultatet, uppgifter känns inte längre trasiga.

Ändrat
  • Massberikning av datamängder: 268 av 339 uppgifter fick fylligare seed-data — typiskt 6–12 rader i primärtabeller i stället för 2–4, med variation längs de axlar för filter/JOIN/GROUP BY som referenslösningen utövar. 137 unika datamängder berörda. Referenslösningar och scheman är oförändrade. Användarframsteg bevaras — redan lösta uppgifter förblir lösta, Power och achievements räknas inte om.
  • Varje berikad uppgift validerades: referenslösningen kördes mot den nya seeden via exekveraren, sample_output återgenererades från det faktiska resultatet.
Åtgärdat
  • Uppgift #38 (well-paid-employees) — ursprungligen en v1.2.4-hotfix, nu en del av den bredare genomgången.
v1.2.51 maj 2026

Hotfix från en buggrapport: panelen "Expected output sample" klargör nu att radantalet där inte behöver matcha schematabellerna.

Åtgärdat
  • Lade till en friskrivning ovanför panelen "Expected output sample": "så här ser ett korrekt svar ut — dess radantal är dess eget, det behöver inte matcha schematabellerna". Tidigare räknade användare rader i en av schematabellerna och antog att uppgiften var trasig när siffrorna skilde sig.
v1.2.430 apr. 2026

Hotfix från en buggrapport: uppgift #38 "Salary higher than manager" körs nu på en riktig datamängd med tre verkliga fall. Plus en liten orange prick på "What's new?" när en ny release kommer.

Tillagt
  • En liten orange prick visas på navposten "What's new?" när en ny release kommer. Ett besök på /releases rensar den fram till nästa release.
Åtgärdat
  • Uppgift #38 (well-paid-employees): datamängden var för gles — 6 anställda och ett enda fall av "underordnad tjänar mer än chef", vilket fick det att se ut som att datan var fel. Utökades till 9 anställda över två avdelningar med tre tydliga fall (Eve > Alice, Frank > Dave, Henry > Bob).
v1.2.330 apr. 2026

Ny "Report a bug"-sida med skärmdumpsbilagor, en sekundär navgrupp och ett mer kompakt "Start here"-spår på mobil.

Tillagt
  • Ny "Report a bug"-sida i navbaren: formulär med ämne + beskrivning och upp till 5 skärmdumpar / korta klipp (dra-och-släpp stöds). Rapporter hamnar i vår inkorg för snabb triage.
  • Navbaren får en sekundär grupp — "What's new?" och "Report a bug" — åtskild från de primära flikarna av en tunn vertikal avgränsare.
Ändrat
  • Nybörjarspåret "Start here" är mer kompakt på mobil — kortare titel, dold beskrivning, smalare kort. Frigör utrymme för själva uppgiftslistan.
Åtgärdat
  • Nybörjarspåret "Start here" blinkar inte längre till för en bråkdels sekund när uppgiftssidan öppnas — renderas nu först efter att /progress har laddats.
  • Releasenotens highlight (raden längst upp) renderar nu backticks korrekt — visade tidigare det bokstavliga "?lang=" i stället för ett stiliserat kodpiller.
  • Den fantomvertikala scrollbaren på sidan "Learning Tracks" är borta — min-h-screen i kombination med navbaren tvingade fram ~60px extra höjd även när innehållet rymdes.
v1.2.230 apr. 2026

UX-polering över hela tränaren plus en URL-parameter ?lang= för annonser och direktlänkar för specifika språk.

Tillagt
  • Landa på ett specifikt språk via ?lang=en eller ?lang=ru i URL:en: https://sql.coderang.dev/?lang=en. Praktiskt för annonser och delning av språkspecifika länkar; valet kommer ihåg i ett år.
Ändrat
  • När de dagliga AI-tipsen tar slut blir knappen "Explain" till "Cheatsheet" och öppnar ämnesreferensen.
  • Favoritstjärnan syns nu på mobil och svagt på datorn i stället för att vara dold tills man hovrar.
  • Uppgiftsbeskrivningen hoppar inte längre när fusklappen fälls ut. Stjärnan är ljusare vid hovring.
  • På DDL-uppgifter visar schemapanelen "inga starttabeller; skapa dem" i stället för en tom canvas.
  • AI-knappen pulserar nu faktiskt endast vid fel (animationsklassen var aldrig definierad tidigare).
  • Power och Streak i navbaren förfylls från localStorage före serveranropet — ingen mer blinkning av "0 ⚡".
  • AI-genereringsräknaren nollställs inte längre till 0 efter omdirigering till den genererade uppgiften.
  • Mobilfinesser: svårighetsmärken med samma bredd (stjärnan i linje), texten i den nedre fliken får plats, skalanimation för dagsräknaren, tooltip för streak-ikonen, ryska pluralregler.
Åtgärdat
  • Ryska företagsnamn (Сбербанк, Яндекс, Авито…) renderas nu i latinsk translitterering (Sberbank, Yandex, Avito) i det engelska gränssnittet; kyrilliska behålls på ryska.
  • Namn på fusklappsposter (Aliases, Scalar subquery osv.) översätts nu korrekt vid språkbyte.
  • Vecko-/månadstopplistan tillämpar nu first-try ×2-bonusen och ignorerar nya inlämningar, i linje med hur lifetime-Power beräknas. Tidigare visade periodvyn ungefär hälften av lifetime — en bugg i matematiken, inte i datan.
  • Tog bort en död Solutions-flik — ingen knapp aktiverade den men den dubblerade laddningen.
  • Backticks lämnar inte längre ett mellanrum före efterföljande skiljetecken ("Action.").
  • Tomma tillstånd i resultatpanelen översätts nu korrekt till engelska.
v1.2.130 apr. 2026

Polering av uppgifter om datamodifiering och övergripande rendering av beskrivningar.

Tillagt
  • Heads-up för DDL/DML-uppgifter: UPDATE/INSERT/DELETE- och CREATE/ALTER/DROP-uppgifter visar nu en kort notis om "ingen avslutande SELECT behövs" — inget mer gissande om vad som ska matas ut.
Ändrat
  • Ämnesfusklappen tar nu hänsyn till uppgiftstyp: DML-uppgifter visar inte längre SELECT/ORDER BY/LIMIT, DDL-uppgifter visar endast kommandon för schemamodifiering.
  • Backtick-tokens i uppgiftsbeskrivningar (id = 4, users.email) renderas nu som accentfärgade kodpiller i stället för rå text — beskrivningar läses exakt så som författarna skriver dem.
  • Kodblock i fusklappen har nu en accentfärgad vänsterstapel och en subtil kant — de läses som riktiga kodsnuttar i stället för grå klumpar.
v1.2.030 apr. 2026

Onboarding för nykomlingar: ett "Start here"-spår, start-SQL på din första uppgift och en ämnesfusklapp inuti varje uppgift. Tips vid felaktiga svar är nu specifika och förbrukar inte din AI-kvot.

Tillagt
  • Spåret "Start here" längst upp på uppgiftssidan — 8 enkla SELECT-uppgifter för förstagångsbesökare. Visas tills du löser något; dra-för-att-scrolla med en grip-pekare.
  • Start-SQL i editorn. Den allra första uppgiften du öppnar förifylls med SELECT * FROM <first_table> LIMIT 5; så att du kan trycka ▶ direkt och se hur datan ser ut.
  • Ämnesfusklapp. Uppgiftspanelen har nu ett ihopfällbart referensblock med relevanta SQL-kommandon, syntax och en enradsförklaring — anpassat per ämne: SELECT, JOIN, aggregat, underfrågor, window, CTE, DML, DDL.
Ändrat
  • Bannern för felaktigt svar är nu specifik: den namnger extra/saknade kolumner, raddiffar, sorteringsproblem och vanliga SQL-fel. Körs lokalt, ingen AI-kvot förbrukas.
v1.1.030 apr. 2026

Aliasmedveten autokomplettering i SQL-editorn och stora förbättringar av mobillayouten.

Tillagt
  • Releasesida: uppdateringshistoriken är nu synlig på /releases.
  • Aliasmedveten autokomplettering. Efter <alias>. är förslagen avgränsade till just den tabellens kolumner. Aliasen själva kompletteras med Tab.
  • . är nu ett triggertecken: förslag dyker upp automatiskt efter det, utan att man behöver Ctrl+Space.
Ändrat
  • Mobilmenyn lägger sig nu över innehållet i stället för att trycka ner sidan. Stängs vid tryck utanför.
  • 300+ uppgiftsbeskrivningar omskrivna: lade till affärskontext, listade resultatkolumner, gjorde sortering och avrundning explicita.
Åtgärdat
  • Uppgiftsbeskrivningen på mobil scrollar nu korrekt när texten är lång. Tidigare fastnade den och blockerade åtkomsten till flikarna längst ner.
  • Tränarens nedre flikfält är nu alltid synligt i alla mobila webbläsare (Yandex Browser, MIUI, Samsung Internet). Tidigare klipptes det av under viewporten.
  • Mobilmenyn är nu helt ogenomskinlig. Tidigare lyste 5% av bakgrundsinnehållet igenom i webbläsare utan stöd för backdrop-filter.
  • På smala skärmar (320px och mindre) svämmar uppgiftens sorteringsmeny inte längre över högerkanten.
  • Gammal autokompletteringsbugg: att skriva t.e efter FROM employee t infogade t.employee.salary (ogiltig SQL). Aliaset respekteras nu.
v1.0.010 apr. 2026

Första stabila releasen av SQL Arena.

Tillagt
  • 259 utvalda SQL-uppgifter över 6 kategorier: SELECT, JOIN, aggregat, underfråga, window, DML.
  • 96 intervjuuppgifter från ledande techföretag (Google, Meta, Amazon, Stripe m.fl.).
  • Stöd för två SQL-dialekter — PostgreSQL och MySQL med omedelbar växling.
  • AI-uppgiftsgenerering: unika uppgifter anpassade till din kompetensnivå.
  • AI Mentor: kontextuella tips utan att avslöja svaret.
  • 3 learning tracks: strukturerade vägar från grunderna till avancerad SQL.
  • SQL-exekvering i realtid i en sandlådemiljö med resultaträttning (kolumn-/rad-/ordningsdiff).
  • OAuth-autentisering via GitHub, Google, Yandex, plus registrering med e-post/lösenord.
  • XP-baserad (Power) topplista, användarprofiler, achievements, mörkt och ljust tema.
  • Premium-prenumeration med YooKassa-integration och antibot-rate-limiting.
  • Interaktiva ER-schemadiagram, Monaco-editor med SQL-markering och formatering.
  • Tvåspråkigt gränssnitt: ryska och engelska.