rss-atom-bundle 1.6.0 is out

rss-atom-bundle 1.6.0 has just been released. This version brings enclosures support, that means you can now access embedded medias like images and podcasts.

Here’s a code sample :

// let's say $feed is a FeedContent instance
$items = $feed->getItems();

foreach ( $items as $item ) {
// getMedias() returns enclosures if any
$medias = $item->getMedias();
foreach ( $medias as $media ) {
echo $media->getUrl();

The next release of rss-atom-bundle is scheduled for the next couple of weeks. It will include this pull request, which goal is to improve rss-atom-bundle’s comprehension. But be careful, it breaks backward compatibility because all interfaces are renamed to follow Sensio Labs Insight’s recommendations.

feed-io 1.0.0-beta-1 is out

feed-io is a PHP library built to consume and serve RSS / Atom feeds. It features:

  • Atom / RSS read and write support
  • HTTP Headers support when reading feeds in order to save network traffic
  • Detection of the format (RSS / Atom) when reading feeds
  • Enclosure support to handle external medias like audio content
  • PSR compliant logging
  • Content filtering to fetch only the newest items
  • Malformed feeds auto correction
  • DateTime detection and conversion
  • A generic HTTP ClientInterface
  • Guzzle Client integration

Version 1.0.0-beta-1 has just been released, that means feed-io enters now its beta stage. If you find bugs or any kind of issues, please report them in the issue tracker. The beta stage will last for one month, the targeted stable release date is June 1st, 2015.

feed-io will go beta this week

feed-io is entering its beta stage this week. That means I will write tests scripts with real world examples, finish the documentation and release the first beta version. Right after that I’ll take one month to cover your feedback and eventually release a second beta version.


Edit : the bundle is no longer supported, see this announcement

I Recently forked rss-atom-bundle into a fresh new repository on GitHub. I said in my previous post that a 2.0 release of rss-atom-bundle will be released this year and will be maintained until the end of the 3.x branch of Symfony. Well, this is going to happen but rss-atom-bundle 2.x will be released under the name of FeedIoBundle in a different Git repository. And I built the new repository with the old one’s history, so yes this is a fork.

Motivations for the fork

The fork wasn’t mandatory but it is convenient for both users and developers. I decided to fork for the following reasons :

  • the bundle will not carry the core classes anymore. It will be a Bundle made to integrate feed-io’s features into a Symfony project.
  • 1.x branches and 2.x will be completely different, it’s already impossible to merge them.
  • the underlying library is called feed-io, it’s easier to understand FeedIoBundle is its Symfony dedicated bundle. Not the same for rss-atom-bundle.
  • interfaces are so different from each other that accidentally upgrading from 1.5 to 2.x would be a real mess for the user.

Read More

rss-atom-bundle's future

I wasn’t very active on rss-atom-bundle lately but don’t worry, it doesn’t mean I’m not working on it anymore. In fact, I’m writing a new library called feed-io and it will be the new foundation of rss-atom-bundle in the 2.x branch.

What needs to be improved in the master branch

  • the code is not PSR compliant
  • the repository is both a library and a bundle
  • some classes violate the open / close principle. Take the parser, it’s now impossible to extend it.

That’s why I decided to separate the library from the bundle and make the second depends on the first. And in order to preserve backward compatibility, this will happen in a major release.

Read More