Changelog
Changelog
Todos los cambios notables de este proyecto se documentan en este archivo.
El formato está basado en Keep a Changelog y este proyecto adhiere a Semantic Versioning.
[1.3.2] - 2026-05-04
Agregado
- Tests — cobertura ampliada: De 9 → 82 tests (153 assertions) en
packages/core. Nuevos suites:RecipientTest—withTaxId,finalConsumer, fluent setters,isFinalConsumerInvoiceTest— builder,getType, totales,validate()guards, cancel sin emisión previaCreditNoteTest— tipo,for(),reason(), delegación a factura origen, 3 guards de validaciónDebitNoteTest— espejo de CreditNote para NDEBSmallTaxpayerInvoiceTest— FPEQ, mismo patrón de builder y guardsFelConfigTest— credenciales, todos los defaults (sandbox, unified, 3 retries, fallback), endpointsCertificationResponseTest— propiedades,remainingCredits(), defaultissuedAtIdempotencyKeyTest— formato UUID4, unicidad en 50 generaciones, longitud 36
[1.3.1] - 2026-05-04
Corregido
- WordPress — Emisión de facturas: Corregido el método
OrderInvoiceHook::issueInvoice()que llamaba a métodos inexistentes (getUuid(),getSerie(),getNumero()) enInvoice. Ahora utiliza correctamente las propiedades delCertificationResponseque devuelveissue(). - WordPress — Lista de facturas: Reemplazada la consulta SQL cruda a
wp_posts(incompatible con HPOS de WooCommerce) porwc_get_orders()conmeta_query. Las facturas emitidas ahora aparecen correctamente en WooCommerce > FEL Invoices. - WordPress — Seguridad: Los campos
LlaveFirmayLlaveApien la página de configuración ahora se renderizan comotype="password"conautocomplete="new-password"para evitar exposición visual y autocompletado de credenciales. - WordPress — Dependencias PSR-7: Reemplazada la implementación custom de PSR-7/PSR-17 (incompatible con
psr/http-message: ^2.0) pornyholm/psr7, que soporta nativamente PSR-7 v1 y v2 en PHP 7.4+.
Eliminado
- WordPress — FEL Studio: Removido el submenú y la integración de FEL Studio del plugin de WordPress. La SPA de React es incompatible con el sistema de assets de WordPress (conflicto
type="module"/ CORS / CSP). FEL Studio sigue disponible en los adaptadores Laravel y Symfony donde tiene sentido como herramienta de desarrollo. El plugin queda más ligero sin dependencias de Node.js o React.
[1.3.0] - 2026-05-04
Agregado
- FEL Studio: Interfaz web local para desarrollo y depuración (Timeline, Builder).
- Seguridad en Studio: Implementación de Gate de autorización (
viewFelStudio) para acceso controlado en entornos no locales, y protección nativa CSRF para la SPA en React. - Persistencia Flexible: Soporte nativo de base de datos (
databasedriver) mediante migraciones para el Timeline de eventos, manteniendo retrocompatibilidad con SQLite. - Alertas Proactivas de Contingencia: Advertencias al usuario en comandos
fel:installyfel:statussi el modo contingencia (fallback) está activo pero el driver de colas essync.
[1.2.0] - 2026-05-03
Agregado
- Integración PSR-18, PSR-17 y PSR-7: El núcleo del SDK ahora es completamente agnóstico al cliente HTTP, eliminando la dependencia dura de Guzzle (
guzzlehttp/guzzle). - Adaptadores de Frameworks Actualizados:
laravel: Inyecta la factoría HTTP nativa y de Guzzle haciaInfilePhp::configure().symfony: Registra y auto-descubre las implementaciones PSR a través del Contenedor de Inyección de Dependencias.wordpress: Utiliza una implementación custom ligera de PSR-18 usandowp_remote_requestpara lograr un peso mínimo de dependencias.
- Tipado Estricto (PHPStan Level 9): Las resoluciones de tipos (
mixed) fueron limpiadas en la inyección de configuración de Symfony para pasar los estándares de análisis estático.
[1.0.9] - 2026-05-03
Modificado
- Eliminación de la palabra "oficial" en la documentación y READMEs para evitar temas legales, dejando claro que es un SDK "open-source" y "nativo" comunitario.
[1.0.8] - 2026-05-03
Modificado
- Traducción de los README de sub-paquetes al español profesional.
[1.0.7] - 2026-05-03
Agregado
- Archivos README dedicados para cada sub-paquete (Core, Laravel, Symfony) para publicación en Packagist.
[1.0.6] - 2026-05-03
Agregado
- Paquete
corecon API fluida para emitir FACT, NCRE, NDEB y FPEQ - Cliente HTTP con Guzzle para flujo unificado y separado
- Idempotencia automática con
ramsey/uuid - Consultas RTU (NIT) y CUI con caché de token JWT
- Jerarquía completa de excepciones tipadas
- Seis eventos PSR-14 para el ciclo de vida del DTE
- Paquete
laravelcon ServiceProvider, Facade, FelFake y comandos Artisan - Paquete
symfonycon Bundle, Messenger, DataCollector y EventSubscriber - Paquete
wordpresscon plugin WP y WooCommerce (PHP 7.4+) - Directorio
spec/con fixtures de prueba y códigos de error Infile - Documentación completa en VitePress
- Pipeline CI con PHPStan nivel 9, CS Fixer, CodeQL y auditoría Composer
- Workflow de publicación automática a GitHub Pages