Aurora Catalyst CLI
Novedades visibles para quien usa el CLI — packages/cli dentro del monorepo aurora-catalyst desde que se consolidó ahí (el repo independiente aurora-catalyst-cli está ahora congelado, solo con valor histórico). Los refactors internos, mejoras de rendimiento y corrección de bugs se omiten a propósito: este log se centra en lo que cambia cómo se usa la plataforma. Cada entrada enlaza a la propuesta original en el repo fuente.
Las entradas se agrupan por el tag semver que las publica, las más recientes arriba. Los cambios archivados desde el último tag aparecen en Sin publicar hasta que se corte una nueva versión.
Sin publicar
- Ancho de diálogo configurable Funcionalidad · 2026-07-16
Nuevo campo opcional front.dialogWidth en el YAML que fija un ancho definido y responsive para los diálogos de crear/editar, y corrige que el diálogo cambiara de tamaño al rellenar el formulario.
- Campo de password rico por defecto Funcionalidad · 2026-06-17
Los campos de password generados ahora emiten un aurora-password-input compartido con mostrar/ocultar, generador seguro y medidor de fuerza — sin cablear a mano.
- Tipo dateTime + remodelado de timestamp Breaking · 2026-06-16
Un nuevo tipo de propiedad dateTime para strings de fecha-hora ISO, y un remodelado breaking de timestamp a epoch numérico (TypeScript number, Sequelize BIGINT).
- Adiós a las preservation regions Breaking · 2026-06-14
Se elimina la preservation region AURORA:FORM-FIELDS y todo su motor — la reconciliación .origin pasa a ser la única costura para personalizar el código generado.
- Instalador Identity frontend Funcionalidad · 2026-06-04
catalyst add frontend ahora instala el paquete combinado Identity (IAM + OAuth), cableando rutas, navegación, iconos y el adaptador de cuenta IAM en un frontend limpio.
- Instalador Identity backend Funcionalidad · 2026-06-04
catalyst add backend ahora instala iam + o-auth juntos en modo local-provider, cablea el composition root de bridges y deja un login local funcionando.
- Nombres de BD en snake_case Breaking · 2026-05-22
Los modelos Sequelize generados ahora emiten nombres físicos en snake_case (tablas, columnas, claves foráneas) mientras TypeScript mantiene camelCase — breaking para bases de datos existentes.
- Widgets de formulario M2M Funcionalidad · 2026-05-20
Las relaciones muchos-a-muchos declaradas con un widget de formulario ahora generan un FormControl funcional en vez de lanzar 'Cannot find control' en runtime.
- Pipe ToOptions para labels Funcionalidad · 2026-05-19
Un nuevo ToOptionsPipe en @aurora mapea listas a Option[] con una plantilla basada en displayField, para que los selects generados muestren el label correcto sin un campo name fijo.
- Tema origin con seis verbos Breaking · 2026-05-12
`catalyst origin` aparece con seis verbos idempotentes y `catalyst generate` deja de ejecutar la revisión interactiva; el flag `--no-review` desaparece.
- Codegen frontend one-to-one Funcionalidad · 2026-05-12
El codegen del frontend ahora emite GraphQL, columnas y formulario correctos para las dos variantes de one-to-one: HasOne (navegación) y BelongsTo (FK).
- Rename load a generate Breaking · 2026-05-12
El verbo `catalyst load` desaparece y se reemplaza por `catalyst generate` — sin alias, sin deprecación, corte limpio con subida de major version.
- Aggregator de iconos por BC Funcionalidad · 2026-05-08
El codegen ahora emite un `<bc>-icons.providers.ts` y sincroniza `nav-main.ts`, eliminando la deriva silenciosa de iconos sin registrar.
- Traducción de lista vacía seedada Funcionalidad · 2026-05-08
El codegen seedea `No<Plural>Found` en EN + ES para que las listas vacías muestren un mensaje legible en vez de la clave cruda.
- Columnas data-table responsive Funcionalidad · 2026-05-08
Las columnas generadas declaran `size`, `minSize` y `sticky: 'left'` en actions/select, con fallback null-safe en la celda.
- Componente `<au-data-table>` compartido Funcionalidad · 2026-05-07
Los list components y los widgets m2m consumen ahora un único `<au-data-table>` en vez de duplicar el markup inline de `<table hlmTable>`.
- Patrón manager para grid-multi Funcionalidad · 2026-05-07
El widget `grid-select-multiple-elements` se re-habilita con emisión manager-pattern y un orchestrator `useRelationshipPivot` en el detail shell.
- Grid-multi como sección del shell Breaking · 2026-05-07
El widget manager m2m sale del form-body y pasa a renderizarse en una `<section hlmCard>` dedicada y a ancho completo en el detail shell.
- Schema `displayField` unificado Breaking · 2026-05-07
`front.templateDisplayField` desaparece — `front.displayField` ahora autodetecta identificador simple vs plantilla `{placeholder}`.
- Display field para agregados Funcionalidad · 2026-05-06
Nuevos atributos `front.displayField` y `front.templateDisplayField` para que los agregados sin `name` declaren su etiqueta de display.
- Pivots sin emisión frontend Breaking · 2026-05-06
Los pivots auto-derivados de relaciones m2m dejan de recibir componentes de list, detail, form y columns. El data-access se mantiene.
- Pestañas y orden en formularios Funcionalidad · 2026-05-06
Tres campos del schema que estaban muertos pasan a regir el rendering — `widget.tab` agrupa en pestañas, `widget.detailSort` ordena, `widget.isDetailHidden` oculta.
- Cell con icono para columnas boolean Funcionalidad · 2026-05-02
Las columnas boolean en las listas generadas renderizan un icono mediante el nuevo componente compartido `BooleanCell` en lugar del texto literal `true` / `false`.
- Widget grid-elements-manager Funcionalidad · 2026-04-30
El widget grid-elements-manager se activa — declaras front.embedSupport: true en el child y el detail shell del padre embebe la lista del hijo.
- Familia de widgets search-select Breaking · 2026-04-30
Tres widgets search-select sync/multi nuevos, el componente existente se renombra a la convención `au-*` y los cuatro wrappers ganan un output `touched`.
- Columnas FK automáticas en listas Funcionalidad · 2026-04-30
Las listas muestran una columna por cada FK many-to-one y el codegen cablea `getRelationIncludes` con los includes Sequelize en la llamada a paginate.
- Renombrado `webComponent` a `widget` Breaking · 2026-04-26
BREAKING — el namespace YAML `webComponent` se renombra a `widget` en todas partes. Cutover en duro, sin alias y sin período de deprecación.
- Dispatch de widgets relacionales Funcionalidad · 2026-04-26
El generador del form ahora dispatcha cada widget.type relacional a una partial Spartan, declara inputs Options por relación y los precarga en el resolver.
- Detail mode: view o dialog Breaking · 2026-04-25
El form del agregado pasa a un *-form.component.ts independiente y un nuevo front.detailMode en el YAML elige entre página enrutada y CRUD modal en la lista.
- FieldSchema emite entries de relación Funcionalidad · 2026-04-24
El CLI ahora emite una entry de relación por cada relationship del YAML en *.field-schema.ts, activando saneo y validación recursiva de agregados anidados.
- Preservation regions en HTML Funcionalidad · 2026-04-18
Las preservation regions marcan zonas de HTML generado con marcadores AURORA:NAME. Tus ediciones manuales o de IA sobreviven a la regeneración, mientras que las regiones que no tocaste siguen recibiendo mejoras del template.
v1.0.2
- Revisión automática en TTY Funcionalidad · 2026-06-09
catalyst generate ahora abre la revisión interactiva de .origin automáticamente en un terminal, con los nuevos flags --review / --no-review para forzar el modo.