Skip to content

Releases: phpcfdi/finkok

Versión 0.6.0

08 Nov 21:34
1f2e125

Choose a tag to compare

Esta versión tiene cambios importantes dado que:

  • Elimina la compatibilidad con PHP 7.3, PHP 7.4 y PHP 8.0.
  • Agrega la compatibilidad con PHP 8.4.

Al realizar esta actualización, también cambiaron algunos nombres de parámetros, específicamente:

  • PhpCfdi\Finkok\Finkok#__construct parámetro factory a settings.
  • PhpCfdi\Finkok\QuickFinkok#__construct() parámetro factory a settings.
  • PhpCfdi\Finkok\Services\Registration\Customer#__construct() parámetro raw a data.
  • PhpCfdi\Finkok\Services\Stamping\StampingAlert#__construct() parámetro raw a data.
  • PhpCfdi\Finkok\Services\Cancel\CancelledDocument#__construct() parámetro raw a data.

Se hacen varios cambios menores:

  • Se mejora la documentación de los servicios de cancelación. Gracias @aarongmx.
  • Se actualiza el año de licencia a 2025.
  • Se actualizan las insignias a las comúnmente usadas en PhpCfdi.

Se hacen varios cambios al entorno de desarrollo:

  • Se corrige la documentación de pruebas de integración contínua y pruebas funcionales.
  • Se elimina la integración con Scrutinizer CI. Gracias por todo.
  • Se agrega la integración con SonarQube Cloud.
  • Se actualizan los estándares de código a los comúnmente usados en PhpCfdi.
  • Se ejecutan los flujos de trabajo en PHP 8.4.
  • Se agrega PHP 8.4 a la matriz de pruebas.
  • Se elimina PHP 7.3, 7.4 y 8.0 de la matriz de pruebas.
  • Se actualizan las herramientas de desarrollo.

Versión 0.5.5

24 May 19:31
aac461a

Choose a tag to compare

  • Se mueve PhpCfdi\Finkok\Tests\LoggerPrinter a PhpCfdi\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ón print_r. Se puede configurar para enviar también el mensaje JSON.
  • Se normaliza el formato de los mensajes JSON para usar JSON_PRETTY_PRINT y JSON_UNESCAPED_SLASHES.
  • Se actualiza la documentación en el README.

Versión 0.5.4

13 Apr 04:59

Choose a tag to compare

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

07 Jun 15:52
cfbce68

Choose a tag to compare

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

04 Jan 00:21
a8d7093

Choose a tag to compare

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

04 Jan 00:17
b480f2d

Choose a tag to compare

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

13 Aug 02:42
1fd560d

Choose a tag to compare

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 para MicroCatalog<TEntry> en AcceptRejectUuidStatus.
  • 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

29 Jun 23:14
8376744

Choose a tag to compare

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

27 Jun 17:27
ee0ef2c

Choose a tag to compare

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

30 May 21:42
fd42908

Choose a tag to compare

  • Se corrige Finkok::checkCommand pues podría llamar a la función is_a con un parámetro que no es un objeto.
  • Se actualizan las versiones de herramientas de desarrollo phpstan y php-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 en phpcs.xml.dist.
    • Las acciones de github se actualizan a la versión 3.