FeedIoBundle was the new rss-atom-bundle

Two years ago, I announced the future replacement of rss-atom-bundle in favor of FeedIoBundle. The goal was to get a cleaner code based on feed-io and new features like an user interface to handle feeds, without causing any trouble for rss-atom-bundle’s users. The result was not what I expected : forms made FeedIoBundle much harder to maintain than rss-atom-bundle and almost nobody adopted FeedIoBundle. Besides, rss-atom-bundle’s community is still growing, with some of these people opening new issues and even sometimes submitting pull requests. As a consequence, I drop FeedIoBundle in order to focus on rss-atom-bundle and feed-io.

This isn’t a problem for me to take this kind of decision. I tried something that didn’t work and now it’s just time to put an end to it. No matter how much time I spent on programming FeedIoBundle, it was worth the effort as I grabbed some knowledge thanks to this project.

So now the package will be tagged as “abandoned” on Packagist and all users are encouraged to use feed-io or rss-atom-bundle.

Edit : I managed to remove FeedIoBundle from Packagist, you can’t require it in your project anymore.

Advertisements

feed-io-bundle 3.0 to support Symfony 3.0

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

I recently released version 3.0 of feed-io-bundle. Symfony 3.0 introduced a backward compatibility break in forms support, so it became impossible to maintain a code base compatible with both versions.

Symfony 2.x support

I created a branch called release/2.x to maintain feed-io-bundle version 2. It will last until the end of the Symfony 2.x official support. This branch will be used for bug fixes only, all the new features will be committed to the master branch.

feed-io-bundle v2.1.1 is out

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

I recently released version 2.1.1 of feed-io-bundle. This is a major release as it introduces a web interface made to manage feeds and their content which you can try live here : http://feedio-demo.herokuapp.com/.

It’s also official : feed-io-bundle replaces rss-atom-bundle. If you’re starting a new Symfony project, I highly recommend you to use feed-io-bundle instead of rss-atom-bundle. feed-io-bundle will be upgraded regularly with new features and fixes among compatibility with Symfony.

Rss-atom-bundle’s support

rss-atom-bundle is not condemned to disappear immediately, I will provide a “passive support” until it’s not used anymore. By passive support, I mean taking care of open issues and pull requests until the end. So if you already have a project depending on rss-atom-bundle you don’t have to be afraid of this announcement, I’ll always be able to help.

Coming next

I’m working on two things by now :
– Symfony 3 compatibility
– the ability to analyse feed’s quality with feed-io

rss-atom-bundle 2.2 is out

rss-atom-bundle 2.2.0 has just been released. It brings the following :

– exceptions are all under the same namespace
– ability to write enclosures
– cache-control can be set to private if you need to disable caching from proxies

This version breaks backward compatibility, the upgrade process from 1.x is described in this notice.

Why a 2.x version ?

Two weeks ago, Soullivaneuh and Romaric Drigon created 7 pull requests in less than 48 hours bringing new features, code cleaning and a better exception handling. Before that, I merged a pull request fixing Symfony 3 compatibility. Although I announced at the beginning of the year that FeedIoBundle will be the next rss-atom-bundle and scheduled its end of life to match the 2.x branch of Symfony, things turned differently. Some developers are still using rss-atom-bundle and they submitted pull requests to make it last longer than scheduled. I respect that and it makes me realize rss-atom-bundle is not under my sole control anymore, which is exciting.

As a consequence, rss-atom-bundle will be maintained to be compatible with both 2.x and 3.x branches of Symfony. The next version will feature a new RoutedItemOutInterface as specified in this issue, however its release date is still unknown.

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.

FeedIoBundle is the new rss-atom-bundle

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.
Compatibility and maintenance

FeedIoBundle will be compatible with Symfony 2.6 and above, including the 3.x branch. The compatibility board is now as follow :

  • rss-atom-bundle 1.4.x : Symfony < 2.6
  • rss-atom-bundle 1.5.x : Symfony < 3.x
  • FeedIoBundle 1.x : Symfony 2.6+ / 3.x ?

As you can see, FeedIoBundle will be compatible with 3.x and maybe with 2.6 depending on the framework’s evolution.

rss-atom-bundle is still supported until the end of Symfony 2 as I mentioned in the previous post.

Choice between rss-atom-bundle and FeedIoBundle

For now, FeedIoBundle is not stable enough to be used in a project. So if you are starting a new project with Symfony 2, use rss-atom-bundle. If your application is bound to Symfony 3, this is worth taking the risk to use FeedIoBundle as it may become stable before Symfony 3.

When FeedIoBundle will gain its first stable release, the choice will depend on your situation. For new applications, use FeedIoBundle. For existing projects, you may want to migrate from rss-atom-bundle if you need to upgrade to Symfony 3 or if you’re interested in new features provided by FeedIoBundle.

Choosing feed-io

You also can choose to use feed-io directly into your application whether it’s built with Symfony or another framework. I highly recommend this if you only need to consume external feeds or if the project is not a Symfony application.

feed-io is mature enough to be used in a production environment, meanwhile its documentation is not ready to show you how. This is one of the main steps remaining before the 1.0.0 release

What’s next

Most of the features of rss-atom-bundle will be supported by FeedIoBundle soon. Then, I will come across every issues opened in the first bundle to check if FeedIoBundle doesn’t regress.

The first release is to be expected before beginning of the summer.