Releases: phpcfdi/finkok
Versión 0.5.5
- Se mueve
PhpCfdi\Finkok\Tests\LoggerPrinter
aPhpCfdi\Finkok\Helpers\FileLogger
para permitir la distribución de la herramienta dentro de la librería. - Se crea la utilería
PhpCfdi\Finkok\Helpers\JsonDecoderLogger
para transformar un mensaje JSON a texto simple generado por la funciónprint_r
. Se puede configurar para enviar también el mensaje JSON. - Se normaliza el formato de los mensajes JSON para usar
JSON_PRETTY_PRINT
yJSON_UNESCAPED_SLASHES
. - Se actualiza la documentación en el
README
.
Versión 0.5.4
Se actualiza el año de la licencia a 2024.
Se agrega una sección Capturar conversación HTTP al archivo README.md
.
Se agrega la documentación del problema: Al timbrar con un texto &
devuelve 705 - XML Estructura inválida
.
Se actualizan las reglas del estándar de código.
Se permite usar symfony/dotenv:^7.0
en desarrollo.
Se omite la detección de lenguaje en el directorio tests/_files
.
Se actualizan los flujos de trabajo de GitHub:
- Se agrega PHP 8.3 a la matriz de pruebas.
- Se ejecutan los procesos en PHP 8.3.
- Se usan las acciones de GitHub versión 4.
Se actualizan las herramientas de desarrollo.
Versión 0.5.3
Se agrega la información de la excepción al momento de hacer la llamada SOAP.
Si la excepción no implementa JsonSerializable
se exporta como texto resultado de print_r
.
Se realizan los siguientes cambios en desarrollo:
- Se cambian las pruebas de CFDI de Retenciones y pagos a versión 2.0.
- Se corrige el método
QuickFinkokTest#obtainParameterFromLatestCall
para que devuelva una cadena de texto.
Con este cambio se corrige el problema detectado por PHPStan. - En el proceso de integración continua, en el trabajo
php-cs-fixer
se usa PHP 8.2. - Se cambian los comentarios de ubicación de la imagen
shivammathur/setup-php@v2
al inicio. - Se corrige la acción de composer
dev:coverage
, faltaba-dxdebug.mode=coverage
. - Se permite ejecutar los trabajos a voluntad, agregando
workflow_dispatch
. - Se quita el paso para remover dependencias de desarrollo que ya no existen.
Versión 0.5.2
Se reportó que el webservice Registration#Get
no estaba aceptando un RFC vacío para devolver el listado
de clientes. La respuesta de Finkok fue implementar un nuevo método Registration#Customers
que devuelve
el listado de clientes paginado. El método Registration#Get
ya no permitirá devolver un listado de clientes.
Se agregan los métodos Finkok::registrationCustomers
y QuickFinkok::customersObtainAll
para consumir Registration#Customers
.
El método Finkok::registrationCustomers(ObtainCustomersCommand $command): ObtainCustomersResult
devuelve
el resultado de una sola página, con toda la información: mensaje e información de paginado.
El método QuickFinkok::customersObtainAll
devuelve solamente el listado de clientes consumiendo
todas las páginas necesarias.
Se actualizó el estado del documento de problemas: El método Registration#Get
con taxpayer_id
vacío no devuelve el listado de clientes.
Se cambió el año en el archivo de licencia, ¡Feliz 2023!.
Versión 0.5.1
Se actualiza phpcfdi/xml-cancelacion
a la versión ^2.0.2
.
Esta actualización remueve el atributo vacío FolioSustitucion
en la solicitud de cancelación firmada.
Se aplican los cambios necesarios en las pruebas.
Se documenta el error de funcionamiento en Finkok en el método Registration#Get
.
Versión 0.5.0
Implementación del método get_contracts_snid
Se utiliza el nuevo método get_contracts_snid
en lugar del obsoleto get_contracts
.
Esto lleva a que la clase PhpCfdi\Finkok\Services\Manifest\GetContractsCommand
ahora requiere de $snid
.
Igualmente, PhpCfdi\Finkok\QuickFinkok#customerGetContracts()
requiere de $snid
.
Mejorar la dependencia de PSR-3
Ahora se permite compatibilidad del paquete psr/log
con las versiones ^1.1
, ^2.0
o ^3.0
.
Mejorar la dependencia de symfony/dotenv
Se permite la compatibilidad de desarrollo de la librería symfony/dotenv
con ^5.0
o ^6.0
.
Saltar las pruebas de integración de cancelación que fallen
A menudo el servicio de pruebas del SAT relacionado con cancelaciones presenta fallas.
Por esto, las pruebas de integración relacionadas con tocar este servicio, en lugar de marcarlas como fallidas se marcarán como brincadas.
PhpCfdi\Finkok\Tests\Integration\Services\Cancel\CancelServicesTest::testCreateCfdiThenGetSatStatusThenCancelSignatureThenGetReceipt()
.PhpCfdi\Finkok\Tests\Integration\Services\Cancel\GetRelatedSignatureServiceTest::testConsumeServiceWithRelated()
.PhpCfdi\Finkok\Tests\Integration\Services\Retentions\CancelSignatureServiceTest::testCancelSignatureRecentlyCreatedDocument()
.
Pruebas largas tienen duración definida
Las pruebas largas que reintentan varias veces una tarea ahora tienen un límite de tiempo definido en la variable de entorno FINKOK_LONGTEST_TIMEOUT
. Debe ser un valor entero en segundos, el valor si no existe es 30, mínimo 30 y máximo 600.
Búsqueda de RFC libre en pruebas
Se implementa una búsqueda binaria en un espacio consecutivo de RFC para hacer únicamente 16 búsquedas.
Anteriormente, se usaba un espacio que podía conducir a muchas más búsquedas y la prueba PhpCfdi\Finkok\Tests\Integration\Services\Registration\AddServiceTest::testConsumeAddServiceWithRandomRfc
no era ejecutada a menos que se permitieran pruebas de larga duración.
Normalización de composer.json
Se incluye la herramienta composer-normalize
para revisar y normalizar el archivo composer.json
.
Se integran los cambios previos no liberados
2022-08-08
Corregir el proceso de construcción:
- Se define el tipo de dato
TEntry
paraMicroCatalog<TEntry>
enAcceptRejectUuidStatus
. - Actualizar librerías de desarrollo.
2022-07-18
Corregir el proceso de construcción:
- Corregir
tests/stamp-precfdi-devenv.php
en su inicialización y estilo de código. - Actualizar librerías de desarrollo.
2022-07-04
Estos cambios están presentes únicamente en desarrollo, no es necesaria una nueva versión:
- Se agregan pruebas unitarias para CFDI 4.0.
- Se corrigen las instrucciones de construcción en el archivo
CONTRIBUTING.md
.
Versión 0.4.4
El servidor de producción de Quadrum (para firmar manifiestos) es más estricto que el servidor de pruebas y no acepta la URL https://manifiesto.cfdiquadrum.com.mx//servicios/soap/firmar.wsdl
.
En esta versión se elimina la doble diagonal.
Versión 0.4.3
Se agrega CFDI 4.0 al extractor de información GetSatStatusExtractor
.
Con este cambio el servicio https://wiki.finkok.com/doku.php?id=get_sat_status
ya soporta CFDI 4.0.
Se actualiza phpcfdi/cfdi-expresiones
a la versión 3.2.0.
Versión 0.4.2
- Se corrige
Finkok::checkCommand
pues podría llamar a la funciónis_a
con un parámetro que no es un objeto. - Se actualizan las versiones de herramientas de desarrollo
phpstan
yphp-cs-fixer
. - Correcciones al proceso de integración continua
build
:- Los trabajos se ejecutan en PHP 8.1.
- Se agrega PHP 8.1 a la matriz de pruebas.
phpcs
usa los directorios configurados enphpcs.xml.dist
.- Las acciones de github se actualizan a la versión 3.
Version 0.4.1
Lea los cambios introducidos en la versión 0.4.0
Se hacen cambios menores y de mantenimiento:
- Se remueven conversiones de tipos innecesarios.
- Se corrige el ejemplo de cancelación usando
QuickFinkok
. - Se actualizan las pruebas para un mejor entendimiento y ya no se usan métodos deprecados.
- Se corrige el nombre del grupo mantenedor de PhpCfdi.
- Se cambia el flujo de integración continua de pasos en el trabajo a trabajos separados.