- Does thujohn/rss work with Laravel 5, 6, 7, 8, or later?
- No. Laravel 5.5 and later use package auto-discovery and newer Illuminate versions, while thujohn/rss is a Laravel 4-era package that pins illuminate/support to 4.x. A composer require on any Laravel 5.5+ app fails dependency resolution rather than merely warning. Treat it as incompatible unless you are on Laravel 4.
- How do I install thujohn/rss in a Laravel 4 application?
- Install it with Composer inside the Laravel 4 app, typically composer require thujohn/rss, then register the service provider and facade manually because the package predates auto-discovery. Check the repository README for the exact provider and alias class strings for your tagged version. After registration, publish or edit any package config if the README instructs it, then build a feed through the facade.
- Is thujohn/rss still maintained or abandoned?
- Yes, it is effectively abandoned: a single maintainer, a small star count, zero dependents, and a target framework that has been end-of-life for roughly a decade. There is no downstream population to discover breakage, publish fixes, or absorb a maintainer disappearance. Do not expect new releases or security advisories.
- Does thujohn/rss support PHP 8?
- No, not without a rewrite. The code was authored against PHP 5.x idioms, so PHP 8 will surface incompatibilities such as removed each(), curly-brace string offsets, and dynamic property deprecations. Hosting it on a modern runtime is a porting exercise, not a small patch.
- How do I register the thujohn/rss service provider and facade alias?
- In Laravel 4, add the package's service provider class to the providers array in app/config/app.php and its facade class to the aliases array. Because thujohn/rss predates Laravel 5.5 auto-discovery, every environment bootstrap must be hand-maintained. Use the exact class strings from the README for your version rather than guessing.
- Is thujohn/rss secure for user-generated titles and descriptions?
- Do not assume it is safe. Feed builders assemble XML from user-influenced strings such as titles, descriptions, and author names, and unescaped content can produce malformed feeds or inject markup into downstream consumers. If any feed content is user-generated or third-party-sourced, prove escaping with tests, or sanitize and escape explicitly before passing values in.
- What are the best alternatives to thujohn/rss for Laravel RSS feeds?
- For modern Laravel, use a maintained feed package such as spatie/laravel-feed, or generate RSS yourself with DOMDocument or XMLWriter in roughly 100 to 200 lines you own. The do-it-yourself route is attractive here because the functional surface is small: channel metadata, items, encoding, and content type. For a legacy Laravel 4 app, vendoring a small snippet is usually safer than adding this dependency.
- Does thujohn/rss support Atom, enclosures, iTunes, or media namespaces?
- Treat this as RSS 2.0-only unless the source proves otherwise. Builder packages of this vintage commonly lack Atom output, enclosure elements, iTunes or podcast namespaces, and media extensions. If your consumer contract requires those features, verify in the code or choose a different approach.
- Can I use thujohn/rss in production on a new Laravel project?
- Not on a new project. The acceptable use is a time-boxed, vendored snippet inside a legacy Laravel 4 estate that is already scheduled for replacement, where it is a cheap tactical unblock rather than a platform choice. For anything long-lived, use a maintained package or own the small amount of XML generation yourself.
- How should I test an RSS feed generated by thujohn/rss?
- Test the generated output as XML, not as a string: load it with DOMDocument or a similar parser, assert it is well-formed, and assert that user-influenced values are escaped correctly. Also check the response content type and parse the feed with the reader or aggregator clients your consumers actually use. The package itself has no meaningful test suite, so any internal patch must be validated by your own tests.