# Changelog - zcatsql Todos los cambios notables en esta librería se documentan aquí. --- ## [Unreleased] ### Changed - **2026-01-12:** WAL mode automático en `open()` - `open()` ahora configura automáticamente para alta disponibilidad: - `journal_mode = WAL` (lecturas concurrentes durante escrituras) - `synchronous = NORMAL` (balance rendimiento/durabilidad) - `busy_timeout = 5000ms` (reintenta 5s en vez de fallar inmediatamente) - Se salta para bases de datos `:memory:` - Nueva función `openRaw()` para comportamiento legacy sin auto-config - **Cambio realizado por:** Conversación Director - **Motivo:** Incidente 502 en Solo2 por "Database is locked" bajo carga - **Impacto en proyectos:** - zsimifactu, menzuri-pay: Recompilar para beneficiarse - Backups: Copiar también `.db-wal` y `.db-shm`, o usar `PRAGMA wal_checkpoint(TRUNCATE)` ### Added - **2026-01-08:** Export de módulo para dependientes externos - Añadida línea `b.modules.put("zcatsql", zcatsql_mod)` en build.zig - Permite que otros proyectos usen zcatsql como dependencia via build.zig.zon - Ejemplo de uso en Solo2 backend (waitlist) - **Cambio realizado por:** Conversación Solo2 - **Motivo:** El módulo se creaba internamente pero no se exportaba, impidiendo su uso como dependencia externa --- ## Notas de uso como dependencia Para usar zcatsql en otro proyecto: **build.zig.zon:** ```zig .dependencies = .{ .zcatsql = .{ .path = "ruta/a/zcatsql", }, }, ``` **build.zig:** ```zig const zcatsql_dep = b.dependency("zcatsql", .{ .target = target, .optimize = optimize, }); const root_mod = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, .imports = &.{ .{ .name = "zcatsql", .module = zcatsql_dep.module("zcatsql") }, }, }); ``` --- *Formato basado en [Keep a Changelog](https://keepachangelog.com/)*