Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Feed Laravel Package

roumen/feed

A Laravel package for generating RSS and Atom feeds from application data. Build custom feeds with a fluent API, caching, and clean XML output for blogs, news, podcasts, and other dynamic content.

View on GitHub
Deep Wiki
Context7

Framework-agnostic PHP Feed generator for Laravel, Symfony, and any PHP project. Generate RSS and Atom feeds with full caching support and customizable views.

Frequently asked questions about Feed
How do I install roumen/feed in a Laravel application?
Install it with Composer via composer require roumen/feed, then publish the package config and feed view templates if you want to customize output. The package registers an optional service provider and facade, so you can either use dependency injection or the facade alias in your controllers. A first working feed usually takes only a route, a controller method, and a loop that maps your records to items.
Which feed formats does roumen/feed support?
The package generates RSS 0.92, RSS 1.0, RSS 2.0, and Atom feeds from the same fluent builder API. You pick the format when constructing the feed, so a single application can expose multiple formats or versions. If you need podcast-specific extensions such as iTunes tags, media elements, or JSON Feed, verify current support against the source before committing to it.
Can I use roumen/feed outside Laravel in a plain PHP project?
Yes. The core of roumen/feed is framework-agnostic, and the Laravel service provider and facade are optional conveniences layered on top. In plain PHP you instantiate the feed class directly, add channels and items, and echo or return the rendered XML. This makes it usable from CLI scripts, legacy applications, or any PSR-compliant project that can load it through Composer.
How do I add items from Eloquent models to a roumen/feed feed?
Map your Eloquent query results to feed items in a loop, calling addItem with the title, link, description, author, and publication date for each record. The package owns serialization and view rendering only, so persistence, querying, and field mapping stay entirely in your application code. In practice this is a single method on a controller or console command, which keeps the dependency easy to swap or remove later.
Does roumen/feed support caching generated feeds?
Yes, the package includes built-in caching support that you configure after publishing the config file. Caching matters for feeds because crawlers and podcast clients can poll frequently, and regenerating XML on every request is wasteful for content that changes hourly. Plan cache invalidation alongside your item model changes, since stale feeds are the most common production complaint.
Is roumen/feed safe for user-generated content, or must I sanitize it myself?
Sanitize it yourself. Item content is emitted inside a CDATA section rather than entity-encoded, so raw HTML passes through by design, and version 1.0.3 only added escaping for the CDATA terminator itself. Any feed carrying comments, forum posts, imported descriptions, or partner copy is a realistic injection surface and must be cleaned before you hand it to addItem. Editorially controlled CMS fields are much lower risk, but consistent sanitization at the mapping layer is the safer default.
Which Laravel and PHP versions does roumen/feed support?
Check the composer.json constraints for the exact release you intend to pin, since PHP and illuminate/support requirements change between major lines. Be aware of a version-line discrepancy: the current tag is v1.0.3 while some documentation references a 4.x line and a laravelium/feed predecessor, so confirm which major is the active one for the package you are consuming. Pinning the wrong major here fails quietly rather than loudly, so validate the output after any upgrade.
How do I test and validate a feed generated by roumen/feed?
Assert the response content type and inspect the rendered XML in a feature test, then check the output against a feed validator for the format you target. Because the package returns a normal response object, standard Laravel testing helpers such as assertOk and assertSee work without extra plumbing. Include at least one test that covers item fields with special characters and HTML, since escaping and CDATA handling are where regressions appear.
How do I customize the XML markup of a roumen/feed feed?
Publish the package views and edit the Blade templates that render the channel and item XML. This lets you add elements the fluent API does not expose directly, adjust namespaces, or match an existing feed schema consumers already depend on. Keep custom templates under version control and re-run validation tests after any package upgrade, since template changes ship between releases.
What are the alternatives to roumen/feed, and how is it maintained?
The main alternatives are spatie/laravel-feed, the older laravelium/feed that roumen/feed descends from, and hand-rolled output using SimpleXML or DOM. roumen/feed is MIT licensed with a single maintainer and community-only support, though the maintainer has responded to security reports with a targeted patch and a linked pull request. That responsiveness helps, but it is not a published security advisory process, so factor bus factor and disclosure expectations into your evaluation.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource