# Universal Feed Parser

Parse RSS and Atom feeds in Python. 3000 unit tests. Open source.

- Download ·
- Documentation ·
- Unit tests ·
- Report a bug

## Changes in version 4.0

Here is a summary of the major changes in Universal Feed Parser 4.0.

- Support for Atom 1.0.
- Support for iTunes extensions.
- Support for `dc:contributor`.
- Universal Feed Parser now captures the feed's namespaces. See Namespace Handling for details.
- Lots of things have been renamed to match Atom 1.0 terminology. `issued` is now entries[i].published, `modified` is now entries[i].updated, and `url` is now `href` everywhere. You can still access these elements with the old names, so you shouldn't need to change any existing code, but don't be surprised if you can't find them during debugging.
- `category` and `categories` have been replaced by `tags`, see feed.tags and entries[i].tags. The old names still work.
- `mode` is gone from all detail and content dictionaries. It was never terribly useful, since Universal Feed Parser unescapes content automatically.
- entries[i].source is now a dictionary of feed metadata as per section 4.2.11 of RFC 4287. Universal Feed Parser no longer supports the RSS 2.0's `source` element.
- Content in unknown namespaces is no longer discarded (bug 993305)
- Lots of other bug fixes.

← Changes in version 4.1
Reference →