Proyecto /
Cambios
Qué cambió en cada versión de Gresbase, de la más reciente a la más antigua.
En esta página
La v0.3.0 es la primera versión pública; la v0.1.0 y la v0.2.0 nunca se publicaron.
v0.3.0 (2026-10-14)#
Pulido del producto base y arreglos de usarlo en proyectos reales.
Novedades#
- Edición de estructura: crear tablas, y añadir, renombrar, cambiar de tipo o borrar columnas. También índices, restricciones únicas y de check, y claves foráneas. Cada cambio enseña el SQL exacto y sus avisos antes de ejecutarse. Para borrar hay que escribir el nombre.
- Columnas: ocultar, reordenar, cambiar de ancho y restablecer la vista. Se guardan por conexión y tabla, junto con las columnas y filas fijadas.
- Selección rectangular, copiar como TSV, CSV, JSON o
INSERT, y pegar desde una hoja de cálculo en la cola de cambios. - Pestañas de tablas, favoritos y recientes por conexión, también en la paleta de comandos.
- Pestañas del editor SQL por conexión, y parámetros
:nombreenviados como parámetros enlazados. - Pantalla de ajustes con secciones de general, conexiones, seguridad, editor SQL y acerca de. Los ajustes fijados por variables de entorno quedan bloqueados.
- Selección de filas con un clic, lista de tablas con ancho ajustable, y menús contextuales en la lista de tablas, el historial SQL y las consultas guardadas.
- Modo libre: consultas guardadas privadas para cada usuario y servidor, y un menú de sesión con Cambiar de conexión y Desconectar.
GRESBASE_DB_NAMEyGRESBASE_DB_USERfijan la base de datos y el usuario de los formularios de conexión. Con servidor, base y usuario fijados, el modo libre solo pide la contraseña.GRESBASE_TRUSTED_PROXIES: detrás de esos proxies, el límite de inicio de sesión usa la IP de cada cliente.- Token de configuración: el log trae un enlace
/setup#token=…listo, ygresbase setup-tokenimprime el token dentro del contenedor. - Las consultas SQL, importaciones CSV y cambios de estructura largos siguen vivos detrás de Nginx o Cloudflare, sin subir ningún timeout del proxy.
Cambios#
- La mitad de JavaScript inicial (510 → 275 KB gzip): las pantallas pesadas se cargan al abrirlas. Arreglos de maquetación en tableta.
- Un valor escrito que no cabe en su columna ahora bloquea el guardado, en vez de fallar en el servidor.
- Las tablas con clave primaria muestran primero las filas más nuevas.
- Licencia Apache 2.0.
Arreglos#
- La línea activa tapaba la selección del editor SQL.
- El editor de celda tiene un solo borde de acento, las dos banderas de idioma miden lo mismo y el pie del panel de fila queda abajo.
- El fallo de conexión
host_not_allowedtiene su propio mensaje. - Un
GRESBASE_DATA_DIRrelativo ya no muestra el aviso de datos que no se conservan.
Seguridad#
- Un rol con
default_transaction_read_onlypodía levantarlo desde el editor SQL. Ahora el editor trata ese rol como de solo lectura. - El límite de inicio de sesión solo cuenta los intentos fallidos.
- El aviso de datos que no se conservan detecta ahora un volumen anónimo, la capa del contenedor y tmpfs, y dice cuándo se perderían los datos.
v0.2.0 (sin publicar)#
Compatibilidad, acceso y configuración.
Novedades#
- PostgreSQL 12 a 19, con capacidades por versión. Avisos para servidores heredados y previos a su salida, y rechazo claro de la 11 y anteriores.
- Ninguna variable obligatoria: ajustes en
gresbase.json, con los secretos cifrados. Las variables de entorno mandan sobre el fichero, y el fichero sobre los valores por defecto. - Cuenta de administrador local y cambio de contraseña que cierra las demás sesiones.
- Gestor de conexiones: un pool por conexión, y los pools inactivos se cierran.
- Asistente de configuración en el primer arranque, protegido con un token de setup salvo que la petición sea local.
- Modo libre, como Adminer (
GRESBASE_MODE_FREE), conGRESBASE_ALLOWED_DB_HOSTSy límite de sesiones. - Conexiones guardadas con etiquetas de color, selector en la tarjeta de conexión y en ⌘ K, y una conexión por pestaña del navegador.
Correcciones#
- El detector de SQL destructivo avisa con
MERGE … THEN DELETE/UPDATEy con unWHEN NOT MATCHED BY SOURCEsin condición. - Cancelar una consulta mientras esperaba una conexión del pool no tenía efecto.
- El tiempo de inactividad de los pools usaba el reloj de pared.
- Los contenedores de test ya no se atascan cuando el disco va justo.
v0.1.0 (2026-10-10, sin publicar)#
Primera versión (MVP).
Novedades#
- Una imagen y un binario con el frontend dentro. Configuración por variables de entorno,
/healthzygresbase healthcheck. - Barra lateral flotante y plegable, temas claro, oscuro y automático, inglés y español, y el estado guardado en la URL.
- Inicio de sesión opcional con cookies firmadas, límite de intentos, cabecera CSRF y guardia de
Hostcuando no hay inicio de sesión. - Explorador de tablas y grid de datos: filtros, orden por varias columnas, paginación por keyset, recuento exacto, valores largos y binarios, y el SQL equivalente.
- Edición segura: cola de cambios con diff, una transacción por guardado, detección de conflictos, deshacer y rehacer, impacto en cascada y confirmación escrita para vaciar o borrar una tabla.
- Pestañas de estructura y relaciones, DDL generado, saltos por clave foránea y «referenciada por».
- Editor SQL: autocompletado, ejecutar una sentencia o todas, cancelar, posición del error, transacciones, confirmación del SQL destructivo, historial y consultas guardadas.
- Paleta de comandos (⌘ K) y ayuda de atajos de teclado.
- Exportación a CSV y JSON en streaming, e importación de CSV a tablas existentes con informe de errores por fila.
- Modo solo lectura en dos capas.
- Columnas y filas fijadas, guardadas por tabla en el navegador.
Refuerzos antes de publicar#
- La exportación a CSV ejecuta una consulta parametrizada y escribe el CSV en Go.
- Una transacción SQL abierta se deshace al salir de la página. Al cargar, el editor ofrece continuar o deshacer las que siguen abiertas.
- La importación de CSV tiene su propio timeout (
GRESBASE_IMPORT_TIMEOUT,10mpor defecto) y se para si el cliente se desconecta. - El autocompletado SQL sugiere columnas sin cualificar de las tablas de la sentencia actual.
- El DDL generado incluye las secuencias de las columnas
serialy suOWNED BY. - Tema oscuro: el texto atenuado llega a un contraste de 4,5:1 en las celdas editadas.
La lista completa está en CHANGELOG.md.