Versiones

Novedades

Historial de actualizaciones de SQL Arena. Las versiones más recientes, arriba.

v4.1.623 may 2026Actual
Cambiado
  • El Mapa de habilidades ahora cubre todas las categorías de ejercicios (añadidos CTE, DDL, transacciones, optimización) y es más grande y legible.
Corregido
  • La sugerencia «qué reforzar» del Mapa de habilidades ahora apunta al tema con más ejercicios sin resolver, no a uno al azar.
  • El gráfico de actividad anual vuelve a mostrar los nombres de los meses completos en lugar de recortarlos a una letra.
v4.1.523 may 2026
Corregido
  • Las soluciones que devuelven un intervalo de tiempo (p. ej. la diferencia de dos horas) ya no fallan al enviar.
v4.1.421 may 2026
Corregido
  • Ejercicio #88: datos corregidos — las salidas de París ahora tienen duraciones distintas en lugar de tres filas idénticas.
v4.1.320 may 2026
Corregido
  • Deshacer (Ctrl+Z) en el editor ahora mantiene un historial separado por cada pestaña de consulta.
v4.1.220 may 2026
Cambiado
  • Ejercicio #624: el enunciado ahora indica que el precio medio debe redondearse a 2 decimales.
Corregido
  • Las sugerencias del editor SQL ya no se duplican al cambiar entre ejercicios.
  • Ejercicio #621: los clubes sin miembros ahora aparecen en el resultado con ingresos cero.
v4.1.120 may 2026
Cambiado
  • El ejercicio #831 cambió de dificultad EXPERT a MEDIA.
v4.1.016 may 2026

SQL Arena ahora es multilingüe: inglés, español y portugués, cada uno con sus propias URL de página y detección automática de región.

Añadido
  • Selector de idioma: ruso, inglés, español (España y América Latina) y portugués.
  • En la primera visita el sitio se abre en el idioma de tu región, y tu elección se recuerda.
  • Cada idioma tiene sus propias URL de página (/en, /es, /es-419, /pt-br) que se pueden compartir sin problemas.
  • Pago de Premium en tu moneda local: RUB, USD, EUR o BRL según la región.
Cambiado
  • La versión en inglés del sitio está completa; las traducciones al español y al portugués se publican de forma gradual.
v4.0.1118 may 2026

Los ejercicios de creación de tablas aceptan cualquier forma de escritura válida, las pistas de error ahora son pertinentes y se corrigió un ejercicio con respuesta ambigua.

Corregido
  • El ejercicio del «par de cursos más popular»: los datos de prueba permitían varias respuestas igual de válidas mientras que la corrección aceptaba solo una. Ahora el ejercicio tiene una única respuesta correcta.
  • Los ejercicios de CREATE TABLE rechazaban una solución correcta cuando el alumno nombraba una restricción (por ejemplo, CONSTRAINT ... PRIMARY KEY). La corrección ahora compara la estructura de la tabla — los nombres de las restricciones ya no se tienen en cuenta.
  • Un ejercicio de creación de tablas fallido mostraba una pista irrelevante sobre ORDER BY. Ahora la pista es pertinente — sobre columnas, tipos, NOT NULL y claves.
v4.0.1017 may 2026

Los ejercicios de modificación de datos se resuelven exactamente como dice el enunciado — sin un SELECT de verificación no declarado.

Corregido
  • Los ejercicios de INSERT/UPDATE/DELETE y de transacciones (incluidos UPSERT, MERGE, SKIP LOCKED) ya no exigían añadir un SELECT de verificación que el enunciado no mencionaba. Ahora se corrigen por el estado final de las tablas, y la página del ejercicio muestra el aviso «no hace falta un SELECT al final».
  • Top de soluciones: las soluciones de cuentas internas ya no aparecen en la lista — igual que en la clasificación pública.
v4.0.917 may 2026

Los ejercicios de creación de tablas e índices ahora se resuelven exactamente como dice el enunciado — sin un SELECT no declarado; se restauró la actualización en vivo de la clasificación.

Corregido
  • Los ejercicios DDL (CREATE TABLE, ALTER, CREATE INDEX, claves foráneas) ya no exigían añadir un SELECT de verificación que el enunciado no mencionaba. Ahora se corrigen por el esquema final de la base de datos, y la página del ejercicio muestra el aviso «no hace falta un SELECT al final».
  • Página de clasificación: actualización en vivo restaurada — la conexión WebSocket de la clasificación ya no se interrumpe.
  • Diagrama de esquema: algunos ejercicios no mostraban los vínculos entre tablas — ahora las flechas de claves foráneas aparecen en el diagrama.
  • La ventana «¡Correcto!» ya no muestra una bajada de rango como un ascenso con flecha hacia arriba — la insignia de rango aparece solo en un ascenso real.
v4.0.816 may 2026

Los ejercicios de CREATE / ALTER TABLE y otras soluciones de varios pasos se pueden enviar de nuevo — el límite de sentencias por envío era demasiado estricto.

Corregido
  • El límite de sentencias SQL por envío subió de 3 a 20: los ejercicios DDL (CREATE TABLE, ALTER, índices, triggers) y el DML de varios pasos ya no se rechazan con un error de «demasiadas sentencias».
v4.0.716 may 2026

La variante MySQL de los ejercicios del catálogo vuelve a estar sincronizada con PostgreSQL — algunos ejercicios en MySQL se corregían con datos desactualizados.

Corregido
  • La variante MySQL de cientos de ejercicios se corregía con un conjunto de datos desactualizado — los seeds se reconstruyeron y la respuesta en MySQL vuelve a coincidir con PostgreSQL.
  • Seis ejercicios que funcionaban solo en PostgreSQL ahora tienen una variante MySQL operativa.
  • Los ejercicios de CREATE TABLE / CREATE INDEX / ALTER se corrigen por el esquema final de las tablas — una estructura incorrecta ya no se acepta como correcta.
  • Los ejercicios de INSERT con CURRENT_TIMESTAMP / NOW() ya no rechazan una respuesta correcta por una diferencia en el momento de ejecución.
  • Los ejemplos de salida que mostraban por accidente la respuesta exacta se sustituyeron por muestras sin spoiler; el orden de las filas se verifica donde el ejercicio lo requiere.
  • Una auditoría de todo el catálogo realineó el enunciado, los datos de corrección y la solución de referencia en varias decenas de ejercicios donde se habían desincronizado entre sí.
v4.0.616 may 2026

Corregimos la verificación de soluciones en ejercicios con varias sentencias — un DELETE/UPDATE con un SELECT final ahora se corrige correctamente.

Cambiado
  • Las fechas y horas en los resultados de las consultas ahora se muestran de forma limpia como 2024-01-15 08:00:00 en lugar del formato ISO técnico.
Corregido
  • Los ejercicios con DML (DELETE, UPDATE, INSERT) y un SELECT de verificación ya no rechazan una respuesta correcta por «columnas de más».
  • Ejercicio #768: el enunciado ahora coincide con la respuesta corregida.
  • La pista al fallar una solución ya no sugiere compararse con el bloque de ejemplo, que es intencionadamente inexacto.
  • Los ejercicios de UPDATE / DELETE / INSERT puro ahora se corrigen por el estado final de las tablas — una mutación incorrecta ya no se acepta como correcta.
v4.0.516 may 2026

Corregimos cinco ejercicios donde el texto del enunciado no coincidía con el esquema ni con la respuesta.

Corregido
  • Ejercicios #762, #763, #764, #765, #809: el enunciado se reescribió para coincidir con el esquema real y la respuesta esperada.
  • Generación de ejercicios con IA, AI Mentor y el formulario de reporte de errores: al alcanzar el límite de peticiones ahora muestran «reinténtalo en N segundos» en lugar de «ThrottlerException».
v4.0.415 may 2026

Corregimos el ejercicio #17: el corrector devolvía NULL por un error en el esquema.

Corregido
  • Ejercicio #17 (average-post-hiatus): el esquema se ajustó al seed y el corrector vuelve a funcionar.
v4.0.315 may 2026

En el ejercicio «Mueve las filas antiguas al archivo de una vez, sin condiciones de carrera» (#789), el enunciado pedía una columna customer_id que no existe en el esquema. La redacción ahora coincide con el esquema y el corrector reales: id, status, amount.

Corregido
  • Ejercicio #789 (hard-cte-atomic-archive): el enunciado mencionaba una columna customer_id inexistente. Ahora el texto coincide con el esquema orders / orders_archive y con las columnas esperadas id, status, amount.
v4.0.215 may 2026

El mensaje «demasiadas peticiones» ahora muestra el límite exacto y los segundos que faltan para el reinicio, en lugar del críptico «ThrottlerException». Subimos el límite de peticiones del servidor para que la navegación rápida por una ruta deje de chocar con el tope.

Cambiado
  • El límite de peticiones del servidor para las consultas API normales se multiplicó por 5. La navegación rápida entre ejercicios de una ruta (más de 10 peticiones paralelas al montar) ya no choca con el tope ni devuelve errores 429.
Corregido
  • Al alcanzar el límite de peticiones en Submit o Run, el mensaje ahora muestra el límite real y los segundos exactos para reintentar. Antes solo aparecía el críptico «ThrottlerException: Too Many Requests» sin indicar cuánto esperar.
v4.0.114 may 2026

El botón «Empezar» de la tarjeta de ruta vuelve a iniciar la ruta: una capa de enlace invisible se tragaba el clic y lo redirigía a la página de detalle de la ruta.

Corregido
  • En /trainer/tracks, el botón «Empezar» de la tarjeta de ruta ya no lleva a la página de detalle en lugar de iniciar la ruta. El clic en cualquier punto de la tarjeta para ver los detalles se mantiene.
v4.0.013 may 2026

Entorno de pruebas SQL: trae tus propias tablas y consultas, sin ejercicio ni corrección. Además, un diseño bento amplio y unificado en clasificación, progreso, rutas, ejercicios y sesiones.

Añadido
  • Nueva página /sandbox: editor Monaco, panel de esquema, panel de resultados, pestañas de datos por tabla y fragmentos para calentar. Las sesiones anónimas caducan tras 30 min de inactividad; los usuarios con sesión iniciada disponen de 7 días.
  • Entornos guardados: hasta 5 en el plan gratuito, ilimitados en Premium. Biblioteca con búsqueda, copia de enlace, eliminación y conmutador de privacidad.
Cambiado
  • Diseño amplio unificado en las páginas del espacio personal: Mis entornos, Progreso, Clasificación, Sesiones, Ejercicios, Rutas y la página de detalle de una ruta comparten ahora un mismo contenedor con un hero degradado y una cuadrícula de tarjetas coherente.
v3.0.413 may 2026

Las flechas de cambio de posición en la clasificación están de vuelta: antes la columna aparecía vacía porque no había una instantánea de referencia con la que comparar.

Corregido
  • El indicador «subió / bajó / sin cambios» vuelve a aparecer junto a cada fila de la clasificación. Se generó la instantánea de referencia de la semana anterior; a partir de ahora el cron semanal la mantendrá actualizada.
v3.0.313 may 2026

Corregimos un error por el que reenviar un ejercicio ya resuelto restaba Power de forma silenciosa: se borraba el bono de «resuelto al primer intento». A todos los usuarios afectados se les recalculó el Power.

Corregido
  • Reenviar una solución de un ejercicio ya resuelto ya no elimina el bono de «resuelto al primer intento»: el Power de ese ejercicio se mantiene igual que tras el primer envío correcto.
  • El ejercicio #107 (desglose de gasto por género en 2005) ya no exige un orden concreto del resultado: ahora se acepta cualquier orden de filas, tal como indica el enunciado.
v3.0.212 may 2026

Corregimos el panel de esquema de BD en varios ejercicios: las líneas naranjas de relación entre tablas enlazadas no se dibujaban.

Corregido
  • En algunos ejercicios el panel «Esquema» no mostraba las relaciones entre tablas (las flechas naranjas 1:N): añadimos las relaciones que faltaban a los datasets.
v3.0.112 may 2026

Corregimos el ejercicio «Divide a los clientes en gasto bajo / medio / alto»: la respuesta de ejemplo y la solución de referencia se habían desviado del enunciado; ahora todo usa el id del cliente y los segmentos low / mid / high.

Corregido
  • Ejercicio «Divide a los clientes en gasto bajo / medio / alto» (#757): la respuesta de ejemplo y la solución de referencia ahora coinciden con el enunciado: columnas customer_id, segment, segmentos low / mid / high, ordenado por customer_id.
v3.0.012 may 2026

Un gran rebranding «Arena»: nueva página principal, una clasificación rehecha desde cero con podio y actualizaciones en vivo, los puntos renombrados como «Power» con un logo de hacha de combate, rutas de aprendizaje reconstruidas y una generación de ejercicios con IA adaptativa que de verdad lee tus envíos recientes.

Añadido
  • Nueva pestaña «Liga»: los 30 usuarios más cercanos a ti por Power. Filtros de dificultad en la pestaña global (el Power se recalcula para cada escala). Flechas de subida / bajada junto a cada posición: el movimiento semana a semana.
  • Logros: los emojis se sustituyen por iconos vectoriales con el color de su categoría, y los tooltips del navegador muestran nombres localizados; en /stats hay una cuadrícula con ventanas emergentes al tocar en móvil. Nuevo logro «10 Expertos».
  • Pasa el cursor sobre un nombre en la clasificación y se abre una minitarjeta de usuario. Un botón «Compartir rango»: el enlace lleva a tu perfil público con una vista previa OG.
Cambiado
  • Página principal reescrita bajo la marca «Arena»: un titular contundente «Afila tu SQL. Consigue la oferta.», un marcador en vivo en el hero, una escala de rangos con un marcador «Tú», secciones sobre el entrenador / las rutas / la IA / el modo entrevista / el progreso y una banda final «El hacha ya está en tu mano. Golpea.». Lista para móviles.
  • Los puntos pasan a llamarse «Power». El rayo se sustituye por un hacha de combate, que ahora aparece en el logo, el favicon y la vista previa al compartir enlaces.
  • La página de clasificación se reescribió desde cero: podio para el top 3 (oro / plata / bronce), tarjeta de progreso personal con una barra hasta el siguiente rango, una única barra de filtros fija, la escala de rangos justo debajo de la cabecera, una fila «tú» fijada cuando estás fuera del top 50 y actualizaciones en tiempo real: la tabla reacciona de forma fluida a las soluciones de otros sin recargar.
  • Rutas de aprendizaje reconstruidas. Analista / Backend / QA / Data Engineering: unos 50 ejercicios seleccionados por ruta, con varios representantes por cada combinación tema×dificultad, desde el calentamiento hasta EXPERT y con énfasis en problemas de entrevistas reales. Añadimos una ruta de Data Engineering y otra dedicada a la preparación de entrevistas.
  • El botón «Generar para mí» ahora es realmente adaptativo: lee tus últimos 40 envíos, elige el tema con la peor precisión reciente y calibra la dificultad a tu nivel: si te atascas, el siguiente baja un escalón; si encadenas aciertos, sube.
  • Los nuevos visitantes empiezan con el tema «Noche» por defecto (antes era «Tarde»). Si ya elegiste un tema, se mantiene tu elección.
Corregido
  • Ejercicio «Dilo en un solo número: cuántos clientes activos tenemos»: la solución de referencia exigía clientes con ≥2 pedidos pagados, mientras que el enunciado dice «al menos una vez». Se corrigió para que coincida con el enunciado.
v2.4.512 may 2026

Los ejercicios EXPERT ahora otorgan 75 power reales por solución (hasta 281 con bonos), en lugar de los 10 del nivel EASY. El power total de los usuarios que ya habían resuelto un EXPERT se recalculó de forma retroactiva.

Corregido
  • La tabla de recompensas no tenía una fila para EXPERT, así que el corrector recurría a un valor por defecto de 10 y cada ejercicio EXPERT pagaba lo mismo que uno EASY. Ahora la base de EXPERT es 75 power, sobre la que se aplican los mismos multiplicadores (primer intento ×2, aprobado en Mock Interview ×1.25, solución con Premium ×1.5): hasta 281 power por ejercicio EXPERT. Una migración recalculó xp_total en todos los perfiles con las reglas corregidas, así que cualquiera que ya hubiera resuelto un EXPERT recibe el power que faltaba de forma automática.
v2.4.412 may 2026

Cerramos el resquicio por el que un ejercicio se podía «resolver» fijando a mano la salida de ejemplo: en 25 datasets el corrector ahora comprueba tu consulta contra filas ocultas distintas de las que se muestran en el enunciado.

Cambiado
  • Las soluciones se siguen ejecutando contra las mismas tablas y columnas que antes, pero las filas del seed de corrección difieren del ejemplo visible. Cualquier respuesta auténtica basada en una consulta sigue pasando, mientras que un SELECT … UNION ALL … fijado a mano que copió los literales del ejemplo ahora se evalúa como «wrong». Quedan cubiertos 25 datasets del último lote del catálogo (listas, CTE, funciones de ventana, pivotes, DML, expertos).
v2.4.39 may 2026

Corregimos dos problemas de ejercicios reportados por estudiantes: el ejemplo desordenado en «Estudiantes por región» y la descripción que se había desviado del esquema en el ejercicio de ingresos netos.

Corregido
  • Ejercicio «Estudiantes por región» (#357): el ejemplo ahora va en orden ascendente por rn (Jack / Kim / Lars en la primera fila), y la solución de referencia incluye un ORDER BY rn explícito para producir el mismo orden.
  • Ejercicio «Encuentra los usuarios con ingresos netos de al menos 100» (#783): el título y la descripción ahora coinciden con los datos reales: son usuarios y eventos purchase/refund, no productos y sale/refund, y el umbral es 100, no 1000.
v2.4.29 may 2026

Seis ejercicios avanzados ahora incluyen una tabla precargada: las soluciones ya no empiezan con un preámbulo CREATE TABLE.

Cambiado
  • Seis ejercicios de nivel Difícil y Experto (UPSERT por clave única y compuesta, CTE con RETURNING, INSERT … RETURNING en bloque, cola con SKIP LOCKED, expansión de array con UNNEST) se alinean con el resto del catálogo avanzado: la tabla se crea y se llena en el dataset, y la solución solo contiene la operación que se evalúa más un SELECT final para la corrección.
Corregido
  • La descripción del ejercicio «Contador de vistas» ya no se desvía de la respuesta esperada: el texto y la corrección ahora hablan de la misma tabla counters(id, count) y de cinco ejecuciones sobre la misma fila.
v2.4.19 may 2026

Los ejercicios DDL ya no muestran tablas ajenas en el panel lateral de esquema.

Corregido
  • En 10 ejercicios con CREATE TABLE (de fáciles a nivel Experto) el panel lateral de esquema mostraba tablas de un dataset ajeno; por ejemplo, un ejercicio sobre artículos mostraba orders. Ahora el panel aparece vacío, como debe ser cuando un ejercicio pide construir la tabla desde cero.
v2.4.09 may 2026

115 ejercicios nuevos, un selector de tema con tres modos (Día / Tarde / Noche) y una paleta oscura más suave.

Añadido
  • El catálogo creció en 115 ejercicios: 20 fáciles, 35 medios, 45 difíciles y 15 de nivel Experto: subconsultas, CTE, funciones de ventana, DML/DDL, MERGE, optimización de consultas, transacciones, JSONB, recursión y LATERAL.
  • Nuevo nivel de dificultad «Experto» con una etiqueta violeta y su propio filtro en el catálogo.
  • Selector de tema con tres modos: Día (claro), Tarde (oscuro suave) y Noche (profundo): elige según la luz ambiente para no cansar la vista.
Cambiado
  • El tema oscuro se suavizó: el fondo pasó a un gris azulado al estilo Linear (#1B1B1F) en lugar del near-black anterior, y el texto principal bajó a zinc-300, con menos halo en las sesiones largas.
  • En el modo «Noche», el panel del editor SQL se sitúa tres tonos más oscuro que el fondo, con un leve giro hacia el negro puro: se lee como un panel hundido dentro de la misma paleta.
  • La chuleta de tema dentro del ejercicio ahora tiene en cuenta la dificultad: en los niveles Difícil y Experto oculta los básicos SELECT/WHERE/ORDER BY/LIMIT y muestra en su lugar patrones avanzados: STRING_AGG, ARRAY_AGG, GROUPING SETS, LATERAL, JSONB, índices parciales, etc.
  • Las píldoras activas del filtro de dificultad pasaron a un relleno suave con el color de marca en lugar del negro sólido: ya no rompen el estilo del tema claro.
  • Etiquetas de dificultad en la versión rusa: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
v2.3.08 may 2026

24 artículos nuevos del blog para principiantes.

Añadido
  • Se amplió la cobertura de temas: DML (INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), agregaciones, DISTINCT, manejo de NULL (CASE WHEN/COALESCE/NULLIF), CTE y subconsultas, funciones de ventana, cadenas y fechas.
Cambiado
  • Chuleta del entrenador: cada elemento lleva ahora a su propio artículo. Antes los cuatro elementos de funciones de ventana enlazaban a una visión general común; ahora ROW_NUMBER, RANK/DENSE_RANK, PARTITION BY y LAG/LEAD tienen cada uno el suyo.
Corregido
  • Ejercicio #114 «Cuántas salas de cardiología»: la columna esperada se renombró de count a wards_count para que no se confunda visualmente con la palabra reservada.
v2.2.28 may 2026

Cerramos el resquicio de respuestas ajustadas a mano: los ejercicios ahora se corrigen contra un dataset oculto.

Cambiado
  • El corrector ahora puede evaluar un ejercicio contra un conjunto de datos oculto. La consulta de referencia se recalcula sobre esos mismos datos, así que las soluciones correctas siguen pasando, mientras que los trucos con constantes copiadas del ejemplo no.
Corregido
  • El ejercicio «El miembro más antiguo del club» ya no acepta un LIMIT fijado a mano para coincidir con el ejemplo visible: solo pasa una consulta que exprese «todas las filas con la fecha de nacimiento mínima».
v2.2.18 may 2026

Pulido de las tarjetas de precios y arreglos del botón «Inicia sesión y suscríbete» justo después de la v2.2.0.

Cambiado
  • El precio y el botón de las tarjetas Free y Premium quedan ahora alineados en la misma línea.
  • Acortamos las notas bajo el precio para Crypto y Visa/MC: solo queda el nombre del medio de pago.
Corregido
  • El botón «Inicia sesión y suscríbete» vuelve a ser clicable para los usuarios sin sesión iniciada.
v2.2.08 may 2026

Añadimos pagos con criptomonedas y con tarjetas internacionales Visa/Mastercard, además de reforzar las defensas antibot en el flujo de autenticación.

Añadido
  • Pagos con criptomonedas a través de NowPayments: BTC, ETH, USDT y otras. $21 trimestral / $28 semestral.
  • Tarjeta internacional Visa/Mastercard a través de Paddle con cálculo automático de IVA / impuesto sobre las ventas. $21 / $28.
  • Selector de método de pago en la tarjeta Premium: tarjeta rusa, Crypto, Visa/MC. La moneda cambia según el método elegido.
  • Cloudflare Turnstile en el inicio de sesión y el registro: invisible para las personas, bloquea a los bots.
Cambiado
  • La cuenta se bloquea durante 15 min tras 5 contraseñas incorrectas (luego de forma exponencial hasta 24 h), con una cuenta atrás explícita.
  • Los errores de inicio de sesión y registro ahora son legibles: se acabaron los crudos «Forbidden» e «Invalid credentials».
  • Límite de envíos: 5/min y 30/15 min por usuario. No afecta a las sesiones reales de resolución.
Corregido
  • Tras iniciar sesión vuelves a la página desde la que pulsaste «Iniciar sesión», incluso con OAuth (Google, GitHub, Yandex).
  • Cerrar sesión desde una página pública ya no te lleva a la página principal.
v2.1.87 may 2026

Terminamos de arreglar el guardado de Telegram, GitHub y LinkedIn en la página de perfil. El release anterior corrigió el normalizador de nombre de usuario en el backend, pero el componente del frontend cortocircuitaba el onBlur y la petición PATCH nunca llegaba a enviarse. El campo aceptaba el texto a la vista, el servidor quedaba vacío y, tras recargar, el campo aparecía en blanco. Ahora la comparación al perder el foco usa el valor capturado en el momento del foco, no el texto en curso.

Corregido
  • Los campos «Telegram», «GitHub» y «LinkedIn» del perfil vuelven a guardar el valor introducido. Por culpa de un useEffect que recalculaba el «último valor guardado» en cada pulsación de tecla, la comprobación onBlur siempre comparaba el texto actual consigo mismo y se saltaba la petición PATCH. Ahora comparamos contra una instantánea tomada al recibir el foco.
v2.1.77 may 2026

Corregimos el guardado de los nombres de usuario de Telegram, GitHub y LinkedIn en la página de perfil: al escribir el formato del marcador de posición como t.me/username, se recortaba a basura como t.me. Ahora cualquier entrada —el nombre a secas, @handle, t.me/handle o https://t.me/handle— se normaliza a un nombre de usuario limpio.

Corregido
  • Los campos «Telegram», «GitHub» y «LinkedIn» del perfil guardan correctamente el nombre de usuario aunque la dirección se escriba sin https://. Antes t.me/durov se convertía en t.me y github.com/octocat en github.com, porque el normalizador exigía un esquema http(s):// y, sin él, cortaba el valor en la primera barra.
v2.1.65 may 2026

Eliminamos el banner de upsell de premium que aparecía por error en el panel de resultados: se activaba en ejercicios gratuitos e incluso para usuarios premium. De entrada era interfaz muerta: los ejercicios premium se bloquean al abrirlos, así que el editor nunca llega a verlos.

Cambiado
  • En el modal «¡Correcto!» la píldora «+50% Power per solve — go Premium» tiene ahora un relleno horizontal adecuado: la corona y la flecha ya no se pegan a los bordes.
  • AI Mentor recibe ahora un contexto compacto del ejercicio: el dialecto SQL activo, las tablas, las relaciones, las columnas esperadas, la respuesta de ejemplo y el diff de la última corrección. El SQL de referencia solo se usa como contexto privado para explicar errores y para los niveles de pista más avanzados.
Corregido
  • El banner de upsell «Ejercicios de entrevista — Premium» ya no aparece en el panel de feedback. Antes, cualquier error del servidor que contuviera la palabra premium en su traza (por ejemplo, una columna solved_as_premium ausente justo después de una migración) activaba una coincidencia de subcadena y mostraba el upsell, incluso en ejercicios gratuitos y para usuarios premium.
v2.1.55 may 2026

Premium ahora otorga +50% de Power por cada ejercicio resuelto: el impulso queda ligado al ejercicio para siempre, incluso después de que caduque la suscripción. AI Mentor ya no suelta la solución en la primera pista y ahora escala la ayuda ejercicio por ejercicio. También quitamos el comentario inicial -- Click ▶ Run del editor del primer ejercicio.

Añadido
  • La suscripción Premium otorga un multiplicador de Power ×1.5 en cada ejercicio resuelto. El impulso queda fijado en el momento de resolverlo, así que permanece en tu total aunque la suscripción caduque más adelante.
  • El modal «¡Correcto!» muestra ahora un aviso de mejora para los usuarios gratuitos, justo debajo del chip +Power: «Consigue +50% de Power por ejercicio — pásate a Premium», con enlace a /pricing.
Cambiado
  • AI Mentor ahora escala las pistas por ejercicio. La primera petición da solo una orientación, sin nombrar operadores; las peticiones 2 a 4 añaden el concepto y la categoría; a partir de la quinta el mentor puede nombrar LIKE / WHERE / GROUP BY directamente. El contador se reinicia cada 24 horas.
  • Las explicaciones de respuestas incorrectas siguen ahora los mismos niveles que las pistas normales: ya no revelan operadores concretos en el primer envío fallido.
Corregido
  • Cerramos los puntos pendientes de la auditoría de ejercicios SQL: corregimos la referencia de «Ganadores del torneo», alineamos las vistas previas de TIMESTAMP en varios ejercicios y restauramos la variante de PostgreSQL en un ejercicio de IA.
Eliminado
  • Quitamos el comentario inicial -- Click ▶ Run — see what's in this table del editor del primer ejercicio. Los ejercicios que abres ahora empiezan con el editor vacío.
v2.1.45 may 2026

Rediseñamos los filtros del catálogo de ejercicios: el estado pasó a ser un control segmentado de tres posiciones (Todos / Sin resolver / Resueltos) con «Sin resolver» por defecto, añadimos un filtro de dialecto, los chips de tema y empresa muestran ahora su recuento actual de ejercicios y los filtros activos aparecen como píldoras eliminables con un botón «Restablecer todo».

Añadido
  • Filtro de dialecto en el catálogo: All / PG / MySQL, un segmento propio junto al control de estado.
  • Los chips de tema y empresa muestran ahora cuántos ejercicios coinciden: «Ventanas (43)», «Tinkoff (5)». Los chips con cero ejercicios se atenúan.
  • Fila de píldoras de filtros activos: cada filtro aplicado (búsqueda, dificultad, estado, dialecto, favoritos, tema, etiqueta, empresa, región) aparece como una píldora con ×; el botón «Restablecer todo» devuelve todo a los valores por defecto.
Cambiado
  • El filtro de estado del ejercicio es ahora un control segmentado de tres posiciones (Todos / Sin resolver / Resueltos), con «Sin resolver» por defecto. Sustituye al único interruptor «Ocultar resueltos».
  • El control de ordenación se movió a la barra superior: antes quedaba enterrado abajo y oculto tras el desplazamiento.
  • El interruptor «Favoritos» se movió a la barra superior de filtros: ahora está junto a los demás interruptores binarios.
Corregido
  • La insignia «Filtros N» ya no muestra «1» al entrar por primera vez: la vista por defecto «Sin resolver» no cuenta como un filtro aplicado.
v2.1.35 may 2026

Auditoría de todo el catálogo: el corrector ya no rechaza respuestas correctas por la serialización de DATE frente a TIMESTAMP, las vistas previas de ejemplo de más de 60 ejercicios ahora coinciden con lo que devuelve realmente la solución de referencia, y 5 ejercicios que usan CURRENT_DATE / NOW() quedan fijados a una referencia constante para que las vistas previas dejen de cambiar día a día. Además, una corrección de descripción en el ejercicio de transacciones mensuales a partir de un reporte de usuario.

Corregido
  • Corrector: añadimos la normalización de fecha como timestamp (2024-01-01T00:00:00.000Z2024-01-01); las respuestas correctas dejan de recibir «el recuento coincide, pero el contenido difiere» por el formato del tipo devuelto.
  • Ejercicio «Transacciones y devoluciones mensuales»: la descripción ahora aclara que un contracargo pertenece al mes de la transacción original, no a la fecha de la devolución; la vista previa muestra el primer día del mes en lugar de marcas de tiempo ISO desplazadas por la zona horaria.
  • Regeneramos las vistas previas de ejemplo de más de 60 ejercicios: formato numérico (100100.00), zona horaria (+03+00), DATE como TIMESTAMP, INTERVAL como objeto; la vista previa ahora coincide con lo que devuelve el ejecutor real.
  • Cinco ejercicios que usan CURRENT_DATE / NOW() / CURRENT_TIMESTAMP en su seed (#170, #601, #602, #668, #693) quedan ahora fijados a 2026-05-05 12:00:00 UTC. Las vistas previas dejan de cambiar.
v2.1.24 may 2026

Rediseñamos el blog: búsqueda, navegación por 10 secciones y los primeros 7 tutoriales para principiantes. Los nombres de comandos en la chuleta del ejercicio son ahora enlaces que llevan a los artículos. La página de releases incorpora un árbol de versiones con resaltado al desplazarse.

Añadido
  • Blog: búsqueda por títulos, contenido y etiquetas, más una barra lateral izquierda con secciones. La sección activa se resalta al desplazarse.
  • Blog: los 7 primeros tutoriales para principiantes: SELECT … FROM, WHERE, ORDER BY, LIMIT, INNER JOIN, LEFT JOIN y alias.
  • Chuleta de tema dentro del ejercicio: los nombres de comandos son ahora enlaces azules al tutorial del blog correspondiente y se abren en una pestaña nueva.
  • Página de releases: árbol de versiones a la izquierda agrupado por major.minor; al hacer clic se desplaza a la versión y actualiza el ancla del hash.
  • Botón «copiar SQL» en cada fila de la pestaña «Envíos».
Corregido
  • Concordancia de plurales en ruso en todas las páginas: «221 задача», «2 задачи», «5 задач» en lugar del antiguo «221 задач».
  • La chuleta de tema dentro del ejercicio ya no da saltos al desplegarse: ahora se reserva el espacio de la barra de desplazamiento.
  • Las tablas Markdown de los artículos del blog se muestran ahora como tablas HTML en lugar de una sola línea de texto plano.
v2.1.14 may 2026

Revisión de calidad de todo el catálogo: 23 ejercicios que no se podían ejecutar reparados, 66 descripciones en inglés reescritas y descripciones y vistas previas de ejemplo alineadas en unas cuantas decenas más. Además, una corrección reportada por un usuario.

Cambiado
  • Las vistas previas de ejemplo de más de 50 ejercicios ahora coinciden con lo que devuelve la solución de referencia.
  • Unificamos las etiquetas de empresa duplicadas en los chips de filtro de ejercicios.
Corregido
  • Reparamos 23 ejercicios (pharma-*, loyal-*, hotel-*, qa-*) que no se podían resolver por una incoherencia entre el esquema y el seed.
  • Reescribimos las descripciones en inglés de 66 ejercicios lc-* / lc2-* que antes solo tenían un texto provisional o un fragmento.
  • El ejercicio «Salas reservadas el 2 de septiembre de 2019» ya no da por válida la respuesta incorrecta.
  • Diez ejercicios en los que la descripción no concordaba con la solución de referencia ahora son coherentes.
  • Siete ejercicios de Tochka tenían el enunciado de otro ejercicio: los reescribimos.
v2.1.04 may 2026

69 ejercicios nuevos extraídos de entrevistas de trabajo reales del mercado ruso (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat y otras 23 empresas), construidos en torno al universo más amplio de tipos de PostgreSQL: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC y POINT. Además, correcciones clave a partir de reportes de usuarios y un indicador de punto rojo «Novedades» en la barra lateral.

Añadido
  • 69 ejercicios nuevos tomados de entrevistas reales en empresas rusas. 33 empleadores: 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 y Yandex Practicum. Todos etiquetados como Interview y accesibles con Premium.
  • Tipos de datos ricos en los esquemas de los ejercicios. Antes la mayoría de los ejercicios tenían columnas INT y VARCHAR(100): bien para ejemplos de manual, pero lejos de producción. Los ejercicios nuevos introducen UUID para las claves primarias de clientes y pedidos, NUMERIC(15,2) para el dinero y NUMERIC(12,4) para los tipos de cambio, TIMESTAMPTZ para los eventos, INTERVAL para las duraciones de llamadas y sesiones, TSTZRANGE / DATERANGE / NUMRANGE para historiales SCD2 y ventanas de validez, JSONB para metadatos y payloads de eventos, ENUM (con su CREATE TYPE explícito) para estados y categorías, INET para las IP en ejercicios antifraude, POINT para coordenadas GPS, TEXT[] / INTEGER[] para etiquetas y listas de ID. Así, en el entrenador te encuentras con los mismos tipos que verás en una base de datos real.
  • Indicador de punto rojo en la entrada «Novedades» de la barra lateral: aparece cuando se ha publicado un release que aún no has abierto. El punto desaparece tras una visita a /releases (el indicador se guarda en el localStorage de este navegador). Antes el indicador solo existía en la barra superior; en los diseños con solo barra lateral no se podía ver.
Cambiado
  • Visualización correcta de los tipos nuevos en la tabla de resultados de la consulta. Antes las columnas JSONB, INTERVAL y POINT se mostraban como «[object Object]» y los arrays (TEXT[], INTEGER[]) se reducían a cadenas separadas por comas: la estructura quedaba invisible. Ahora JSONB y los arrays se muestran como JSON legible, INTERVAL en el formato 1d 02:30:00 y POINT como (x, y). Los valores booleanos y los UUID conservan su representación en texto.
  • El diagrama ER de la página del ejercicio recibió colores para los tipos nuevos: UUID violeta, JSONB amarillo, INTERVAL morado (la misma familia que los demás tipos de fecha y hora), TSTZRANGE / DATERANGE / NUMRANGE rosa, INET cian, POINT rosa, los ENUM personalizados en rojo. Antes estos tipos caían en el gris por defecto y no se distinguían de los habituales INT / VARCHAR.
  • Los seis ejercicios corregidos de arriba también recibieron un esquema enriquecido al estilo del nuevo conjunto de entrevistas: claves primarias UUID, payloads JSONB, tipos ENUM para sexo / categorías / estados, NUMERIC(15,2) en lugar de INT para salarios y precios, e INTERVAL para las duraciones. El enunciado se ajustó ligeramente para motivar los tipos nuevos, pero el problema de fondo no cambia. Este es el primer paso para modernizar los ejercicios antiguos: habrá más en los próximos releases.
Corregido
  • Corregimos varios ejercicios antiguos reportados por usuarios. «Participantes del proyecto, parte 2»: el diagrama ER mostraba Employee + Department en lugar de Project + Employee, aunque el esquema subyacente era correcto; ajustamos el diagrama al esquema. «Publicaciones con denuncias»: la descripción no aclaraba que el motivo de la denuncia está en la columna extra; ahora sí lo hace. «Análisis de ventas, parte 1»: la solución de referencia usaba SUM(price) aunque el esquema tiene una columna quantity, lo que generaba confusión; lo replanteamos como SUM(quantity * price), más cercano a los ingresos reales. «Cambiar el sexo a todos los empleados»: el ejercicio estaba vinculado al dataset equivocado (Employee + Department en lugar de Salary(id, name, sex, salary)), lo que lo hacía irresoluble; lo revinculamos al dataset canónico. Aplicamos la misma corrección al mismo desfase silencioso del ER en «Participantes del proyecto, parte 3» y «Publicaciones con denuncias, parte 2».
v2.0.03 may 2026

Release importante: una nueva navegación con barra lateral izquierda, el estricto modo Mock Interview con un bono de +25% de Power, perfiles públicos y amigos, notificaciones por correo, etiquetas de empresa con los colores de marca, filtros adicionales y un bloque de cursos de partners. Además, una corrección importante de privacidad entre cuentas y decenas de mejoras de UX.

Añadido
  • Bloque de cursos de partners. En la página de ejercicios (en pantallas anchas) aparece una columna a la derecha con una selección de cursos relevantes; en móvil es un carrusel horizontal sobre la lista. Las tarjetas enlazan a las páginas de los partners con etiquetas UTM; para nosotros, una forma de mantener bajo el precio de la suscripción cubriendo los costes de infraestructura.
  • Nuevo modo Mock Interview: una simulación estricta de una entrevista real. Cualquier infracción (cambio de pestaña, pegar texto, salir de pantalla completa, perder el foco de la ventana más de 1 segundo) hace que la sesión falle automáticamente. Las pistas, AI Mentor y la chuleta están ocultos y bloqueados. Duraciones: 5 / 10 / 15 / 30 / 60 minutos. Plan gratuito: 1 intento al día; Premium: ilimitado. Mientras una sesión está activa, toda la navegación de alrededor (barra lateral, «Ejercicios», «Mejores soluciones», «Siguiente ejercicio», «Salir de la ruta», Prev/Next/Random) queda bloqueada: la única salida es el botón explícito «Finalizar» o cerrar la pestaña (lo que marca la sesión como Abandonada automáticamente).
  • +25% de Power por cada ejercicio superado en el modo Mock Interview: el bono va por ejercicio y se indica en el informe posterior a la sesión. La clasificación incorpora una columna informativa «Mock» (el mismo número aparece en la tarjeta de perfil y en /u/<username>); no afecta al orden por Power.
  • Perfiles públicos en /u/<username>: eliges un nombre de usuario corto en el perfil, activas el modo público y cualquier visitante anónimo ve tu rango, tu Power, tu racha actual, tus logros, el mapa de calor de actividad y los enlaces a GitHub / Telegram / LinkedIn. Sin sesión iniciada no se expone ningún dato privado.
  • Amigos: añade usuarios por su nombre público, gestiona las solicitudes entrantes y salientes y consulta una pestaña de clasificación de amigos con su Power, su racha y sus ejercicios resueltos.
  • Favoritos: cada tarjeta de ejercicio tiene ahora una estrella; al hacer clic, el ejercicio entra en el filtro «Solo favoritos». La lista se guarda en el servidor, ligada a tu cuenta, y no se pierde al cambiar de navegador.
  • Notificaciones por correo (casillas en el perfil). «Salva tu racha»: un recordatorio por la tarde cuando tu racha es ≥ 3 días y hoy no has resuelto nada. «Resumen semanal»: el sábado por la mañana, con un repaso de los ejercicios resueltos la última semana, tu racha actual y tu categoría más débil.
  • Los usuarios Premium quedan resaltados visualmente allá donde aparecen los avatares: un anillo degradado holográfico (clasificación, amigos, perfil, barra lateral, página pública /u/<username>); en los avatares grandes, una pequeña corona en la esquina. No afecta al orden.
  • Etiquetas de empresa con colores de marca en las tarjetas de ejercicios: amarillo para Yandex / Tinkoff / Beeline, verde para Sberbank / Spotify / OpenAI, azul para VK / Ozon / Google / Meta, rojo para MTS / Alfa / Tesla, morado para Stripe / Skypro / Wayfair, naranja para Amazon / Alibaba, etc. Antes todas las etiquetas eran de un mismo morado.
  • Chips adicionales de cláusulas SQL en el filtro «Tema» de la página de ejercicios: junto a las 8 categorías amplias (SELECT, JOIN, subconsultas, ventana, agregados, CTE, DML, DDL) ahora puedes activar GROUP BY, COUNT, HAVING. Combínalos con las categorías para filtrar con más precisión.
  • El panel «Esquema de BD» de la página del ejercicio ahora se puede plegar. El botón junto al título del ejercicio oculta la columna y libera ancho para el editor y la tabla de resultados. El estado plegado se recuerda por navegador, así que en el siguiente ejercicio el esquema se abre del mismo modo.
  • 8 ejercicios de entrevista nuevos de Tochka, desde EASY hasta HARD. Escenarios de CRM (encontrar clientes con una solicitud activa), cálculos de cartera (estructura, vencimiento medio ponderado, evolución del valor) y consultas sobre bonos con funciones de ventana. Soluciones para PostgreSQL y MySQL.
  • Sección «Blog» en /blog. Tutoriales largos: empezamos con un análisis a fondo de las funciones de ventana. Contenido bilingüe, URL con slug y tarjetas OG para compartir en redes. Accesible desde el pie de página y la parte inferior de la barra lateral.
  • Página 404 personalizada. La antigua de Next.js mostraba texto negro sobre fondo blanco, ilegible en el tema oscuro. La nueva página usa los tokens del tema y vive dentro del contenedor común, así que la navegación queda a mano.
Cambiado
  • Rediseño completo de la navegación. Para los usuarios con sesión iniciada dentro de la aplicación, el menú principal se movió a una barra lateral izquierda: allí se agrupan Entrenador, Progreso, Clasificación y las demás secciones, con el Power y la racha bajo tu avatar y los selectores de idioma y tema abajo. La página de inicio, la de precios y los flujos de autenticación conservan la barra superior delgada. Las páginas de contenido (Novedades / Reportar un error / Blog) heredan el tipo de menú según desde dónde llegaste.
Corregido
  • El anillo degradado de Premium alrededor del avatar se muestra ahora en todas las pestañas de la clasificación: antes el anillo solo aparecía en la pestaña «De siempre» y desaparecía en «Semana» y «Mes» porque el backend no enviaba el estado de la suscripción para las clasificaciones periódicas.
  • El nombre y el avatar que cambias en el perfil se reflejan ahora de inmediato en la barra lateral, sin recargar la página. Antes la tarjeta de usuario antigua podía quedarse hasta una recarga completa.
  • Fugas de datos entre cuentas al cambiar de usuario en el mismo navegador. Antes, tras cerrar sesión e iniciar sesión con otra cuenta, podían quedarse: el historial de chat con AI Mentor, los borradores de SQL del editor, las marcas de «resuelto» de los ejercicios, las sesiones de mock interview activas, el contador de generación con IA y la caché de favoritos. Ahora, al cerrar sesión y en cualquier inicio de sesión (formulario, OAuth, verificación de correo) se borra todo lo ligado al usuario anterior.
  • El enlace «Clasificación de amigos» del perfil lleva ahora directamente a la pestaña «Amigos»: antes te dejaba en la clasificación global y había que cambiar de pestaña a mano. La franja para principiantes «Empieza aquí» ya no reaparece después de descartarla; antes el descarte se reiniciaba en cada cierre e inicio de sesión.
  • Decenas de retoques de diseño e interacción en móvil: un modal de informe post-sesión más compacto, márgenes de filtro correctos en pantallas estrechas, el banner de feedback ya no se solapa con el panel lateral a 1024px y campos de nombre y correo en la página de reporte de errores para quienes envían sin sesión iniciada.
v1.2.93 may 2026

Corrección urgente de UX del editor en pantallas estrechas: la ventana «Ajustes del editor» ya no la recorta el panel de código ni se sale del borde de la pantalla en móvil. El mismo botón de engranaje del escritorio aparece ahora también en la barra de herramientas móvil, y el ajuste de tamaño de letra por fin se aplica al editor móvil.

Corregido
  • La ventana «Ajustes del editor» podía quedar recortada por los bordes de la página y no tenía desplazamiento interno: en un portátil estrecho, y más aún en un teléfono, la mitad de los ajustes simplemente no se veían. Ahora la ventana se muestra sobre toda la página (mediante un portal), se ajusta automáticamente al área visible y añade una barra de desplazamiento interna cuando su contenido supera la altura de la pantalla. La cabecera con el título y el botón de cerrar permanece fija al desplazarse.
  • En la vista móvil del editor (≤1024px) la barra de herramientas no tenía el engranaje de ajustes del editor: «Tamaño de letra» solo se podía abrir desde el escritorio. Ahora el engranaje está junto a PG/MySQL y Format, y el ajuste de tamaño de letra sí cambia el tamaño del campo de texto móvil.
v1.2.71 may 2026

Corrección urgente a partir de un reporte de error: el ejercicio #240 («Bonos del personal») mostraba el esquema equivocado: aparecía Employee + Department en lugar del real Employee + Bonus, lo que hacía ilegible el enunciado.

Corregido
  • Ejercicio #240 «Bonos del personal»: el visor de esquema mostraba tablas obsoletas Employee + Department (con los campos department_id, manager_id) y una pestaña Department vacía. El entorno de pruebas y la solución de referencia funcionaban bien desde el principio: el error estaba solo en los metadatos del visor. Ahora el esquema muestra las tablas reales Employee + Bonus con la relación Bonus.empId → Employee.empId.
v1.2.61 may 2026

Enriquecimos los datasets de 268 de 339 ejercicios: tablas de origen más completas, filas más significativas en el resultado esperado y ejercicios que ya no parecen rotos.

Cambiado
  • Enriquecimiento masivo de datasets: 268 de 339 ejercicios recibieron datos de seed más completos, normalmente entre 6 y 12 filas en las tablas principales en lugar de 2 a 4, con variedad en los ejes de filtro/JOIN/GROUP BY que ejercita la solución de referencia. Se modificaron 137 datasets únicos. Las soluciones de referencia y los esquemas NO cambiaron. El progreso de los usuarios se conserva: los ejercicios ya resueltos siguen resueltos, y el Power y los logros no se recalculan.
  • Cada ejercicio enriquecido se validó: la solución de referencia se ejecutó contra el nuevo seed mediante el ejecutor, y el sample_output se regeneró a partir del resultado real.
Corregido
  • De paso, una corrección del ejercicio #38 (well-paid-employees): era una corrección independiente de la v1.2.4 y ahora forma parte de la revisión general.
v1.2.51 may 2026

Corrección urgente a partir de un reporte de error: el panel «Ejemplo de respuesta esperada» ahora aclara que el número de filas no tiene por qué coincidir con las tablas del esquema.

Corregido
  • Sobre el panel «Ejemplo de respuesta esperada» añadimos una nota: «así se ve una respuesta correcta; tiene su propio número de filas y no tiene por qué coincidir con las tablas del esquema». Antes los usuarios contaban las filas de una de las tablas del esquema y pensaban que el ejercicio estaba roto si el número no coincidía con el del ejemplo.
v1.2.430 abr 2026

Corrección urgente a partir de un reporte de error: el ejercicio #38 «Salario más alto que el del jefe» ahora se ejecuta sobre un dataset adecuado con tres casos reales. Además, un pequeño punto naranja en «¿Novedades?» cuando se publica un release nuevo.

Añadido
  • En el elemento «¿Novedades?» de la barra de navegación aparece un pequeño punto naranja cuando se publica un release nuevo. Una visita a /releases lo borra hasta el siguiente release.
Corregido
  • Ejercicio #38 (well-paid-employees): el dataset era demasiado escaso, solo 6 empleados y un único caso de «subordinado gana más que su jefe», lo que daba la impresión de que los datos estaban mal. Lo ampliamos a 9 empleados en dos departamentos con tres casos claros (Eve > Alice, Frank > Dave, Henry > Bob).
v1.2.330 abr 2026

Nueva página «Reportar un error» con adjuntos de capturas de pantalla, un grupo de navegación secundario y una franja «Empieza aquí» más compacta en móvil.

Añadido
  • Nueva página «Reportar un error» en la barra de navegación: un formulario con asunto, descripción y hasta 5 capturas de pantalla o clips cortos (con arrastrar y soltar). El reporte nos llega al correo para que podamos revisarlo rápido.
  • La barra de navegación incorpora un grupo secundario —«¿Novedades?» y «Reportar un error»— separado de las pestañas principales por una fina línea vertical.
Cambiado
  • En móvil, la franja para principiantes «Empieza aquí» es más compacta: título más corto, descripción oculta y tarjetas más estrechas. Deja más espacio para la propia lista de ejercicios.
Corregido
  • La franja para principiantes «Empieza aquí» ya no parpadea durante una fracción de segundo al abrir la página de ejercicios: ahora se muestra solo después de que responda /progress.
  • El resumen de las notas de release (la línea superior) ahora muestra correctamente las comillas invertidas: antes mostraba el literal «?lang=» en lugar de una píldora de código con estilo.
  • Eliminamos la barra de desplazamiento vertical fantasma de la página «Rutas de aprendizaje»: min-h-screen junto con la barra de navegación forzaba unos 60px de altura de más aunque el contenido cupiera.
v1.2.230 abr 2026

Pulido de UX en todo el entrenador, más un parámetro de URL ?lang= para anuncios y enlaces directos a un idioma concreto.

Añadido
  • Puedes abrir el sitio directamente en un idioma concreto con ?lang=en o ?lang=ru en la URL: https://sql.coderang.dev/?lang=en. Útil para anuncios y para compartir enlaces a un idioma específico; la elección se recuerda durante un año.
Cambiado
  • Cuando se agotan las pistas de IA del día, el botón «Explica» del banner se convierte en «Chuleta» y abre la referencia del tema.
  • La estrella de favoritos ahora se ve en móvil y se transparenta ligeramente en escritorio, en lugar de quedar invisible hasta pasar el cursor.
  • La descripción del ejercicio ya no da saltos al desplegar la chuleta. La estrella es más brillante al pasar el cursor.
  • En los ejercicios DDL, el panel de esquema muestra «no hay tablas iniciales; debes crearlas» en lugar de un lienzo vacío.
  • El botón de IA ahora sí parpadea solo en caso de error (antes la clase de animación no estaba definida en el CSS).
  • El Power y la racha de la barra de navegación se cargan desde el localStorage antes de la petición al servidor: se acabó el parpadeo de «0 ⚡».
  • El contador de generación con IA ya no se reinicia a 0 tras la redirección al ejercicio generado.
  • Detalles en móvil: insignias de dificultad del mismo ancho (la estrella queda alineada), el texto de la barra de pestañas inferior cabe, animación suave del contador diario, tooltip en el icono de racha y reglas de plural en ruso.
Corregido
  • Los nombres de las empresas rusas (Сбербанк, Яндекс, Авито…) se muestran ahora en transliteración latina (Sberbank, Yandex, Avito) en la interfaz en inglés; en ruso siguen en cirílico como antes.
  • Los nombres de las entradas de la chuleta (Alias, Subconsulta escalar, etc.) ahora se traducen correctamente al cambiar de idioma.
  • La clasificación semanal y mensual aplica ahora el bono de primer intento ×2 e ignora los reenvíos, igual que el cálculo del Power de siempre. Antes la vista por periodo mostraba aproximadamente la mitad del total: era un error en el cálculo, no en los datos.
  • Eliminamos una pestaña «Solutions» muerta del panel izquierdo: ningún botón la abría, pero cargaba datos en paralelo con «Top solutions».
  • Las comillas invertidas en las descripciones ya no dejan un espacio antes de la puntuación («Action.»).
  • Los estados vacíos del panel de resultados («Aquí aparecerá el resultado…») ahora se traducen correctamente al inglés.
v1.2.130 abr 2026

Pulido de los ejercicios de modificación de datos y de la representación general de las descripciones.

Añadido
  • Aviso para los ejercicios DDL/DML: los ejercicios con UPDATE/INSERT/DELETE y CREATE/ALTER/DROP muestran ahora una nota breve «no hace falta un SELECT al final»; se acabó adivinar qué hay que devolver.
Cambiado
  • La chuleta de tema tiene ahora en cuenta el tipo de ejercicio: en los ejercicios DML no muestra SELECT/ORDER BY/LIMIT (que aquí no se usan) y en los DDL muestra solo los comandos de modificación de esquema.
  • Los fragmentos entre comillas invertidas de las descripciones de los ejercicios (\id = 4\, \users.email\) se muestran ahora como píldoras de código con color de acento en lugar de texto plano: las descripciones se leen exactamente como las escriben los autores.
  • Los bloques de código de la chuleta tienen ahora una barra de acento a la izquierda y un borde sutil: se ven como fragmentos de código de verdad y no como manchas grises.
v1.2.030 abr 2026

Bienvenida para los nuevos: una franja «Empieza aquí», SQL inicial en tu primer ejercicio y una chuleta de tema dentro de cada ejercicio. Las pistas ante respuestas incorrectas son ahora concretas y no consumen tu cuota de IA.

Añadido
  • Franja «Empieza aquí» en la parte superior de la página de ejercicios: 8 ejercicios sencillos de SELECT para quienes empiezan. Aparece hasta que resuelves algo; se desplaza arrastrando, con un cursor de mano.
  • SQL inicial en el editor. El primer ejercicio que abres rellena el editor con SELECT * FROM <first_table> LIMIT 5; para que pulses ▶ enseguida y veas qué aspecto tienen los datos.
  • Chuleta de tema. Bajo la descripción del ejercicio aparece un bloque plegable con los comandos SQL relevantes, su sintaxis y una breve explicación, adaptado a cada tema: SELECT, JOIN, agregados, subconsultas, funciones de ventana, CTE, DML, DDL.
Cambiado
  • El banner rojo de respuesta incorrecta es ahora concreto: indica las columnas de más o de menos, las diferencias por filas, los problemas de ordenación y los errores de SQL más comunes. Funciona en local, sin consumir peticiones de IA.
v1.1.030 abr 2026

Autocompletado consciente de los alias en el editor SQL y grandes mejoras del diseño en móvil.

Añadido
  • Página de releases: el historial de actualizaciones ya se puede ver en /releases.
  • Autocompletado consciente de los alias. Después de <alias>. las sugerencias se limitan a las columnas de esa única tabla. Los propios alias se autocompletan con Tab.
  • El punto . se convirtió en un carácter de activación: las sugerencias aparecen automáticamente después de él, sin Ctrl+Space.
Cambiado
  • El menú en móvil se despliega sobre el contenido en lugar de empujar la página hacia abajo. Se cierra al tocar fuera.
  • Más de 300 descripciones de ejercicios reescritas: se añadió contexto de negocio, se listaron las columnas de salida y se indicaron de forma explícita la ordenación y el redondeo.
Corregido
  • La descripción del ejercicio en móvil ahora se desplaza correctamente cuando el texto es largo. Antes se atascaba e impedía llegar a las pestañas de abajo.
  • La barra de pestañas inferior del entrenador es siempre visible en cualquier navegador móvil (Yandex Browser, MIUI, Samsung Internet). Antes se salía por debajo del área visible.
  • El menú móvil es ahora totalmente opaco. Antes se transparentaba un 5% del contenido de fondo en los navegadores sin soporte de backdrop-filter.
  • En pantallas estrechas (320px o menos), el desplegable de ordenación de ejercicios ya no se sale por el borde derecho.
  • Antiguo error de autocompletado: al escribir t.e después de FROM employee t se insertaba t.employee.salary (SQL no válido). Ahora se respeta el alias.
v1.0.010 abr 2026

Primera versión estable de SQL Arena.

Añadido
  • 259 ejercicios de SQL seleccionados en 6 categorías: SELECT, JOIN, agregación, subconsultas, funciones de ventana y DML.
  • 96 ejercicios de entrevista de grandes empresas tecnológicas (Google, Meta, Amazon, Stripe, etc.).
  • Soporte de dos dialectos de SQL: PostgreSQL y MySQL, con cambio instantáneo.
  • Generación de ejercicios con IA: ejercicios únicos adaptados a tu nivel.
  • AI Mentor: pistas contextuales sin revelar la respuesta.
  • 3 rutas de aprendizaje: itinerarios estructurados desde lo básico hasta el SQL avanzado.
  • Ejecución de SQL en tiempo real en un entorno aislado con corrección del resultado (diferencias de columnas, filas y orden).
  • Autenticación OAuth con GitHub, Google y Yandex, además de registro con correo y contraseña.
  • Clasificación por XP (Power), perfiles de usuario, logros y temas claro y oscuro.
  • Suscripción Premium con integración de YooKassa y límite de peticiones contra bots.
  • Diagramas ER interactivos de los esquemas y editor Monaco con resaltado y formateo de SQL.
  • Interfaz bilingüe: ruso e inglés.