Skip to content

Releases: phpcfdi/cfdi-sat-scraper

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.

Versión 3.1.2

01 Aug 16:13
0f94918
Compare
Choose a tag to compare

Filtrado de recursos incorrecto

Problema: Si el objeto Metadata contenía la entrada del recurso, pero estaba vacía,
entonces la función hasResource devolvía verdadero. Esto hacía que fallara el filtrado.
Se corrigió el problema comparando contra el valor vacío y no contra la existencia de la llave.
Gracias @git-micotito por la detección del problema.

Actualización de eclipxe/micro-catalog

La nueva versión de eclipxe/micro-catalog necesita la especificación del tipo de datos
para MicroCatalog en la clase ComplementsOption.

Actualización de herramientas de desarrollo

  • Se actualizan las herramientas.
  • Se elimina la regla method_argument_space para dejar la definición por defecto de PSR-12.

Versión 3.1.1

14 Jul 22:08
94da114
Compare
Choose a tag to compare

Cambios en el código

Se admite la compatibilidad con Symfony 6. Esto evita que se tengan que degradar componentes a la versión 5.

Se depreca SatHttpGatewayException::postLoginData para crear el método específico SatHttpGatewayException::postCiecLoginData. Esto no altera la funcionalidad actual.

Se agrega la dependencia faltante mbstring.

Cambios en el entorno de desarrollo

Se mejoran los test para probar valores idénticos en lugar de valores iguales.

Se actualizan las herramientas de desarrollo.

Se actualiza el archivo de configuración de php-cs-fixer.