Skip to content

Releases: phpcfdi/cfdi-sat-scraper

Versión 3.3.3

03 Oct 16:57
fb036da
Compare
Choose a tag to compare
  • Se agrega la documentación principal para usar el resolvedor de captchas
    phpcfdi/image-captcha-resolver-boxfactura-ai.
  • Se agrega la documentación de docs/EjemploConsumo.md para usar el resolvedor de captchas BoxFacturaAIResolver,
    con todos los pasos para hacer correr el ejemplo.
  • En el archivo composer.json se recomienda phpcfdi/image-captcha-resolver-boxfactura-ai.

Los siguientes cambios aplican para el entorno de desarrollo:

  • Se modifica el archivo composer.json para:
    • Requiere phpcfdi/image-captcha-resolver-boxfactura-ai.
    • Utiliza phpcfdi/image-captcha-resolver-boxfactura-ai para PHP 8.1 en adelante.
    • Desinstala phpcfdi/image-captcha-resolver-boxfactura-ai para menores de PHP 8.1.
  • Se actualiza la documentación de develop/TestIntegracion.md donde se remueve eclipxe/captcha-local-resolver
    y se menciona phpcfdi/image-captcha-resolver-boxfactura-ai.
  • Se cambian las pruebas de integración para usar phpcfdi/image-captcha-resolver-boxfactura-ai.
  • Se actualizan las herramientas de desarrollo.

Esta actualización únicamente se ha podido hacer gracias al trabajo de investigación y entrenamiento de un modelo Onnx de inteligencia artificial de nuestros amigos de BOX Factura. Su trabajo en el repositorio BoxFactura/sat-captcha-ai-model permitió crear el resolvedor BoxFacturaAIResolver, pero, sobre todo, simplificar la resolución de captchas, tanto en forma local como en producción. Muchas gracias.

Versión 3.3.2

09 Sep 19:09
356c0bb
Compare
Choose a tag to compare
  • PHPStan encontró una comparación superflua que fue eliminada para corregir el proceso de integración continua.
  • Se agregan comentarios a clases Null para mejorar la mantenibilidad.
  • Se actualiza el año del archivo de licencia a 2024.
  • Se corrige la variable php-versions por php-version en el flujo de trabajo tests.
  • Se actualizan las herramientas de desarrollo.

Versión 3.3.1

22 May 17:06
976f543
Compare
Choose a tag to compare
  • PHPStan encontró un problema en una especificación de tipo en un método de prueba, se ha corregido solo para que el proceso de integración continua no falle.
  • Se actualizan las dependencias de los componentes de Symfony para soportar la versión 7.
  • Se actualizan los flujos de trabajo de GitHub para usar las acciones versión 4.
  • Se usa php-version en singular, en lugar de php-versions.
  • Se actualizan las herramientas de desarrollo.

Versión 3.3.0

04 Dec 05:11
4e28300
Compare
Choose a tag to compare

Se agregó la interfaz MetadataMessageHandler que permite recibir notificaciones de la descarga de Metadata.
Dentro de las notificaciones se incluye la que ocurre cuando se encontraron 500 registros en un solo segundo.

Se deprecó la interfaz MaximumRecordsHandler, es sustituida por MetadataMessageHandler.

Se deprecó el método SatScraper::getMaximumRecordsHandler() a favor de SatScraper::getMetadataMessageHandler().

Para no introducir un cambio que rompa la compatibilidad, el constructor de SatScraper sigue soportando la creación del objeto con el argumento MaximumRecordsHandler $maximumRecordsHandler.
En su lugar, debería enviar un objeto que implemente la interfaz MetadataMessageHandler.

Se introduce el objeto NullMetadataMessageHandler que implementa la interfaz MetadataMessageHandler,
pero no realiza ninguna acción en sus métodos.

Otros cambios al entorno de desarrollo:

  • Se actualizan las dependencias de desarrollo.
  • Se agrega PHP 8.3 a la matrix de pruebas.
  • Los trabajos se ejecutan con PHP 8.3.
  • Para php-cs-fixer se sustituye function_typehint_space con type_declaration_spaces.

Versión 3.2.5

03 Jul 19:00
b739661
Compare
Choose a tag to compare

Algunos métodos intentaban atrapar una excepción RuntimeException proveniente de Crawler, sin embargo, la excepción no era correcta, se atrapa ahora Throwable. Gracias a PHPStan por detectar el problema.

Se actualizan las dependencias de desarrollo.

Versión 3.2.4

22 Jun 17:36
e052209
Compare
Choose a tag to compare

Se corrige el mensaje relacionado con el envío de datos incorrectos al iniciar sesión usando CIEC.

Se corrige la dependencia de CaptchaImage por CaptchaImageInterface en CiecLoginException.

Se extrae la lógica para hacer la petición de acceso vía CIEC a un método separado.
En una prueba de concepto esto ayuda a crear la sesión usando un valor conocido de Captcha.

Se agregan los siguientes cambios en el entorno de desarrollo:

  • Se corrige la liga del proyecto en el archivo CONTRIBUTING.md.
  • Se actualizan las herramientas de desarrollo.
  • Se agrega la herramienta composer-normalize.
  • En el flujo de trabajo de cobertura de código se ejecuta usando PHP 8.2.
  • Se elimina PHP_CS_FIXER_IGNORE_ENV del flujo de trabajo principal en el trabajo php-cs-fixer.
  • Se agrega la opción para ejecutar flujos de trabajo a solicitud.

Versión 3.2.3

25 May 18:43
7ce13d3
Compare
Choose a tag to compare
  • Se actualiza la dependencia de guzzlehttp/promises a versión mínima 2.0.
  • Se actualiza la dependencia de psr/http-message a versiones mínimas 1.1 o 2.0.
  • Se actualiza la dependencia de phpcfdi/image-captcha-resolver a versión mínima 0.2.3.

Los siguientes cambios aplican al entorno de desarrollo:

  • La ejecución de php-cs-fixer dentro de composer se condiciona a mínimo PHP 8.0.
  • Se refactoriza la clase RepositoryItem para que las responsabilidades de la creación de una instancia a partir de un arreglo se realizen en la clase RepositoryItemFactory.
  • Se corrigen las pruebas para usar psr/http-message:^2.0.
  • Se corrige el issue falso positivo encontrado por PHPStan al convertir un objeto a cadena de caracteres.
  • Actualización de herramientas de desarrollo.

También se concluyen los siguientes cambios previos no liberados.

Cambios no liberados: 2023-02-13

  • Actualización de herramientas de desarrollo.
  • Se agrega la configuración en composer.json para no permitir el uso de plugins de php-http/discovery.
  • En las pruebas, se refactoriza SatHttpGatewayTest::testMethodPostLoginDataIsDeprecated para probar que el método postLoginData está deprecado, dado que PHPUnit 9.6 descontinuó el método expectDeprecation.

Cambios no liberados: 2023-01-31

  • Actualización de herramientas de desarrollo.
  • En las pruebas, se elimina una anotación para PHPStan para ignorar un error al realizar unset sobre una variable indefinida en un objeto de tipo Metadata.

Versión 3.2.2

14 Jan 02:20
d4e9308
Compare
Choose a tag to compare

Se regresa la lectura de Motivo de cancelación (motivoCancelacion) y Folio de sustitución (folioSustitucion).
Aparentemente, en la fecha 2023-01-12 el SAT ha regresado estas columnas.

Otros cambios:

  • Los flujos de trabajo corren en PHP 8.0
  • Se actualizan las herramientas de desarrollo

Versión 3.2.1

04 Jan 19:02
4e47e8c
Compare
Choose a tag to compare

Quitar Motivo de cancelación y Folio de sustitución

Se elimina la lectura de Motivo de cancelación (motivoCancelacion) y Folio de sustitución (folioSustitucion).
Aparentemente, en la fecha 2023-01-04 el SAT ha eliminado estas columnas.

Otros cambios menores

  • Actualización de licencia a 2023. ¡Feliz año!.
  • Actualización de flujos de trabajo sustituyendo la directiva ::set-output con $GITHUB_OUTPUT.
  • Corrección de la insignia del flujo de construcción build.

Cambios previos

2022-11-09: Corrección de construcción de integración continua

  • Se actualizaron las herramientas de desarrollo.
  • Se agrega PHP 8.2 a la matriz de pruebas en el proceso de integración continua.
  • Se corrige la firma (phpdoc) del método HttpLogger::bodyToVars.
  • Se corrige el método Repository::randomize pues perdía las llaves del arreglo.
  • Se corrige el archivo de configuración de php-cs-fixer porque la regla no_trailing_comma_in_singleline_array está deprecada.

2022-10-22: Corrección de construcción de integración continua

  • Se actualizaron las herramientas de desarrollo.
  • Se aplicó la corrección de php-cs-fixer.
  • Se corrigió el nombre de usuario de @git-micotito en este mismo archivo.

Versión 3.2.0

06 Aug 01:17
e628dda
Compare
Choose a tag to compare

Agregar Motivo de cancelación y Folio de sustitución

Se agrega la lectura de Motivo de cancelación (motivoCancelacion) y Folio de sustitución (folioSustitucion) a Metadata. Así como la extracción de estos datos en MetadataExtractor. (PR #65)
Gracias @TheSpectroMx.