Releases: feed-rs/feed-rs
v2.0.0-beta.0
Breaking changes
- Switch from
mime
to the mediatype crate as it is a) maintained b) supports serialisation - Enable serialisation and deserialisation via
serde
v1.5.2
Changes
A minor release to avoid leaking the internal implementation details of the v0.2 ID generator. Thanks for pointing out the mistake @nabijaczleweli !
v1.5.1
Changes
- Handle
xml:base
attribute on content (thanks @gleroi !) - Replace lazy_static with OnceLock (thanks @rillian !)
- Support sub-categories from iTunes NS (thanks for the bug report @sophiawisdom !)
- Updates dependencies and MSRV to 1.77.2
- Pluggable ID generation (thanks for the bug report, patch and patience @nabijaczleweli ... will fix it properly next release)
v1.4.0
Changes
-
Bump minimum supported Rust version to 1.75.0
-
Upgrade dependencies
-
Parse media objects even if they exist as thumbnails only (thanks @Xstoudi )
-
Support optional JsonFeed IDs
-
Support for JsonFeed 1.1
-
Handle CDATA in RSS 1.0 titles (thanks for the always detailed bug report @jangernert )
-
Extract language for Atom feeds (thanks @muffinista )
-
Introduce builder for parser creation to improve flexibility (e.g. pluggable timestamp parsers)
-
Consolidate timestamp parsing (now tries RFC 3339 from Atom and JsonFeed, then RFC 2822 from RSS 2, then RFC 1123 for completeness)
-
Allow custom timestamp parser to be a closure (thanks @amoskvin )
v1.3.0
Changes
- Bump the minimum supported Rust version to 1.66.1
- Bump dependencies
- When possible, return full URLs for images in Atom feeds (thanks @davidcornu !)
- Support RFC1123 date format
- Update API doc for quick-xml switch (thanks @rillian !)
- Expand documentation on summary field
- Appends time (midnight) and timezone (utc) if missing from RFC 3339 timestamps (thanks @SethFalco !)
- Fix decoding regression in RSS1.0 (thanks for the always amazing bug report @jangernert !)
- Whitespace around text, IDs and links is now trimmed automatically
- Use DublinCore
date
element to set published date (thanks @fundon !)
v1.2.0
Some bug fixes and bump the minimum supported Rust version to 1.61
Changes
- Support CDATA in RSS2.0 categories and DublinCore authors (thanks @davidcornu !)
- Upgrade
regex
andurl
dependencies (minor versions) - Bump MSVR to 1.61 following freedesktop-sdk
- Upgrade quick-xml to 0.25 (thanks @davidcornu )
- Merge fixed fuzz test following the
url
crate update (thanks for the original fuzz work @rillian ) - Drop empty enclosures in the Matrix RSS 2.0 feed (thanks for a great bug report as always @jangernert )
v1.1.0
Lots of fixes and improvements from various people, thank you!
Changes
- Edition 2021
- Upgrade to Rust 1.59.0
- Treat
<content:encoded>
and<description>
as HTML (thanks @kevincox) - Fix bug handling MediaRSS content and encoded where MediaRSS handling incorrectly consumed the next element tree by advancing past the current scope.
- Unescape attribute content
- Support atom links in RSS (thanks @kevincox)
- Code quality improvements (thanks @rillian)
- Remove serde as a feature as we don't serialise or deserialise the model in this crate
- Improve test coverage for Ghost powered feeds
1.0.0
Its been quiet in terms of bugs and feature requests, so time to release 1.0.0.
- Update MSRV to 1.53.0
- Update dependencies (incl. fixes for quick-xml encoding)
- Add regression test for reported issue parsing RockPaperShotgun (thanks for the bug report @roman-holovin)
- Ignore unknown namespaces to avoid accidentally parsing tags from the default schema (thanks for the bug report @fenuks)
0.6.1
Changes
- Associate
<enclosure>
with media_rss. Anenclosure
element is now combined with the default media object e.g. media_rss tags without additional scope (thanks @evilpie !) - Update minimum supported Rust version to 1.52.1 (tracking freedesktop-sdk)
- Generate a stable ID using the provided URI if no link is present (thanks @jangernert !)
0.6.0
Changes
- Introduce MediaRSS support in the RSS2.0 parser (thanks @evilpie !)
- Extended MediaRSS and iTunes support
- Use
pubDate
as alternative topublished
in Atom feed entry (thanks @Leinnan !) - Add support for the
xml:base
specification when constructing links + resolving URIs (thanks for the fantastic bug report again @jangernert )
MediaRSS + iTunes
The key change in this release is the support for MediaRSS and iTunes namepsaces and the subsequent impact on the model + element mapping, hence the bump to a new minor version.
Specifically:
enclosure
: the RSS spec states that<enclosure>
"Describes a media object that is attached to the item." - https://validator.w3.org/feed/docs/rss2.html#ltenclosuregtSubelementOfLtitemgtcontent:encoded
: RSS best practices state<content:encoded>
"...defines the full content of an item (OPTIONAL). This element has a more precise purpose than the description element, which can be the full content, a summary or some other form of excerpt at the publisher's discretion." - https://www.rssboard.org/rss-profile#namespace-elements-content-encoded- The MediaRSS and iTunes namespaces define media objects or attributes of items in the feed
Thus handling is as follows:
enclosure
is treated as if it was a MediaRSSMediaContent
element and wrapped in aMediaObject
content:encoded
is mapped to thecontent
field of anEntry
- MediaRSS elements without a parent group are added to a default
MediaObject
- iTunes elements are added to the default
MediaObject