alexdebril / rss-atom-bundle

RSS and Atom Bundle for Symfony
MIT License
139 stars 49 forks source link

Update symfony dependencies to allow version 6 #206

Closed ardentsword closed 2 years ago

ardentsword commented 2 years ago

I have tested this against the latest version of symfony (6.0.2) and it works flawlessly. I tested it with php v8.0.14. There are a few deprecation warnings in feedIo though, all caused by the "Psr\Http\Message\ResponseInterface" and "Psr\Http\Message\StreamInterface".

alexdebril commented 2 years ago

Thanks @ardentsword It's merged !

However, I'd like to know how did you get those deprecation warnings ? From the IDE ?

ardentsword commented 2 years ago

Awesome, thank you!

So I got them in a symfony command with -vvv. I somehow couldn't reproduce them if I run the same service inside the controller with de debug bar, they didn't show up there. I can share a few of the stacktraces if you'd like? Any other information you would be interested in?

alexdebril commented 2 years ago

you're welcome :)

Sure, if you can share a few stacktraces it may be helpful. I've also noticed that I needed to add the -W flag for composer requre debril/rss-atom-bundle to work, did you experienced the same ?

Maybe there's a few more things to do on feed-io's side to be 100% compatible with SF 6

ardentsword commented 2 years ago

I'll get back to you with the stacktraces in a few days, I currently don't have access to them.

I did indeed use -W when updating but that was also because of the update from symfony 5.4 to 6.0 at the same time, so I'm not sure if it would have worked without.

ardentsword commented 2 years ago

Sorry for the late reply, but here are a few stacktraces:

[
  "exception" => ErrorException {
    #message: "User Deprecated: Method "Psr\Http\Message\MessageInterface::withAddedHeader()" might add "static" as a native return type declaration in the future. Do the same in implementation "GuzzleHttp\Psr7\Response" now to avoid errors or add an explicit @return annotation to suppress this message."
    #code: 0
    #file: "./vendor/symfony/error-handler/DebugClassLoader.php"
    #line: 328
    #severity: E_USER_DEPRECATED
    trace: {
      ./vendor/symfony/error-handler/DebugClassLoader.php:328 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:565 { …}
      GuzzleHttp\Handler\CurlFactory->GuzzleHttp\Handler\{closure}() {}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:40 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51 { …}
      ./vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:37 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:29 { …}
      ./vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:70 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:59 { …}
      ./vendor/guzzlehttp/guzzle/src/HandlerStack.php:71 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:351 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:162 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:182 { …}
      ./vendor/debril/feed-io/src/FeedIo/Adapter/Guzzle/Client.php:75 { …}
      ./vendor/debril/feed-io/src/FeedIo/Reader.php:124 { …}
      ./vendor/debril/feed-io/src/FeedIo/FeedIo.php:302 { …}
      ./src/Service/Command/Pipeline/FeedParser.php:28 {
        App\Service\Command\Pipeline\FeedParser->__invoke($payload)^
        › $this->style->writeln(sprintf('Parsing rss feed: %s', $url));\r
        › $feed = $this->feedIo->read($url)->getFeed();\r
        › foreach( $feed as $feedItem) {\r
      }
      ./vendor/league/pipeline/src/FingersCrossedProcessor.php:11 { …}
      ./vendor/league/pipeline/src/Pipeline.php:34 { …}
      ./src/Command/RssUpdate.php:56 { …}
      ./vendor/symfony/console/Command/Command.php:291 { …}
      ./vendor/symfony/console/Application.php:997 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:94 { …}
      ./vendor/symfony/console/Application.php:299 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:80 { …}
      ./vendor/symfony/console/Application.php:171 { …}
      ./bin/console:43 { …}
    }
  }
]
[
  "exception" => ErrorException {
    #message: "User Deprecated: Method "Psr\Http\Message\MessageInterface::getHeaderLine()" might add "string" as a native return type declaration in the future. Do the same in implementation "GuzzleHttp\Psr7\Response" now to avoid errors or add an explicit @return annotation to suppress this message."
    #code: 0
    #file: "./vendor/symfony/error-handler/DebugClassLoader.php"
    #line: 328
    #severity: E_USER_DEPRECATED
    trace: {
      ./vendor/symfony/error-handler/DebugClassLoader.php:328 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:565 { …}
      GuzzleHttp\Handler\CurlFactory->GuzzleHttp\Handler\{closure}() {}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:40 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51 { …}
      ./vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:37 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:29 { …}
      ./vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:70 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:59 { …}
      ./vendor/guzzlehttp/guzzle/src/HandlerStack.php:71 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:351 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:162 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:182 { …}
      ./vendor/debril/feed-io/src/FeedIo/Adapter/Guzzle/Client.php:75 { …}
      ./vendor/debril/feed-io/src/FeedIo/Reader.php:124 { …}
      ./vendor/debril/feed-io/src/FeedIo/FeedIo.php:302 { …}
      ./src/Service/Command/Pipeline/FeedParser.php:28 {
        App\Service\Command\Pipeline\FeedParser->__invoke($payload)^
        › $this->style->writeln(sprintf('Parsing rss feed: %s', $url));\r
        › $feed = $this->feedIo->read($url)->getFeed();\r
        › foreach( $feed as $feedItem) {\r
      }
      ./vendor/league/pipeline/src/FingersCrossedProcessor.php:11 { …}
      ./vendor/league/pipeline/src/Pipeline.php:34 { …}
      ./src/Command/RssUpdate.php:56 { …}
      ./vendor/symfony/console/Command/Command.php:291 { …}
      ./vendor/symfony/console/Application.php:997 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:94 { …}
      ./vendor/symfony/console/Application.php:299 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:80 { …}
      ./vendor/symfony/console/Application.php:171 { …}
      ./bin/console:43 { …}
    }
  }
]
[
  "exception" => ErrorException {
    #message: "User Deprecated: Method "Psr\Http\Message\ResponseInterface::getStatusCode()" might add "int" as a native return type declaration in the future. Do the same in implementation "GuzzleHttp\Psr7\Response" now to avoid errors or add an explicit @return annotation to suppress this message."
    #code: 0
    #file: "./vendor/symfony/error-handler/DebugClassLoader.php"
    #line: 328
    #severity: E_USER_DEPRECATED
    trace: {
      ./vendor/symfony/error-handler/DebugClassLoader.php:328 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:565 { …}
      GuzzleHttp\Handler\CurlFactory->GuzzleHttp\Handler\{closure}() {}
      ./vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:40 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28 { …}
      ./vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51 { …}
      ./vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:37 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:29 { …}
      ./vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:70 { …}
      ./vendor/guzzlehttp/guzzle/src/Middleware.php:59 { …}
      ./vendor/guzzlehttp/guzzle/src/HandlerStack.php:71 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:351 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:162 { …}
      ./vendor/guzzlehttp/guzzle/src/Client.php:182 { …}
      ./vendor/debril/feed-io/src/FeedIo/Adapter/Guzzle/Client.php:75 { …}
      ./vendor/debril/feed-io/src/FeedIo/Reader.php:124 { …}
      ./vendor/debril/feed-io/src/FeedIo/FeedIo.php:302 { …}
      ./src/Service/Command/Pipeline/FeedParser.php:28 {
        App\Service\Command\Pipeline\FeedParser->__invoke($payload)^
        › $this->style->writeln(sprintf('Parsing rss feed: %s', $url));\r
        › $feed = $this->feedIo->read($url)->getFeed();\r
        › foreach( $feed as $feedItem) {\r
      }
      ./vendor/league/pipeline/src/FingersCrossedProcessor.php:11 { …}
      ./vendor/league/pipeline/src/Pipeline.php:34 { …}
      ./src/Command/RssUpdate.php:56 { …}
      ./vendor/symfony/console/Command/Command.php:291 { …}
      ./vendor/symfony/console/Application.php:997 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:94 { …}
      ./vendor/symfony/console/Application.php:299 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:80 { …}
      ./vendor/symfony/console/Application.php:171 { …}
      ./bin/console:43 { …}
    }
  }
]