Skip to content

Commit 527d27f

Browse files
committed
chore: release v0.3.0
- Syndication Module namespace support - feed.published, xml:base, xml:lang, license fields - Python and Node.js bindings updates - Benchmark results in READMEs - Test coverage improved to 91%+
1 parent f79aea1 commit 527d27f

File tree

7 files changed

+34
-11
lines changed

7 files changed

+34
-11
lines changed

CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.3.0] - 2025-12-18
11+
12+
### Added
13+
- Syndication Module namespace support (`syn:updatePeriod`, `syn:updateFrequency`, `syn:updateBase`)
14+
- `feed.published` field for Atom feeds and RSS channel `pubDate`
15+
- `xml:base` URL resolution for relative URLs in Atom and RSS feeds
16+
- `xml:lang` attribute tracking for feed and entry language detection
17+
- Creative Commons `license` field extraction from `rel="license"` links
18+
- Comprehensive RSS 1.0 integration tests (12+ test cases)
19+
- Syndication metadata exposed in Python and Node.js bindings
20+
- Dublin Core fields (`dc_creator`, `dc_publisher`, `dc_rights`) in bindings
21+
- Benchmark results in all README files
22+
23+
### Changed
24+
- Improved test coverage from 83% to 91%+
25+
- Optimized Python bindings to return `&str` instead of `String` for enum values
26+
- Simplified Node.js Entry conversion using idiomatic `.collect()` pattern
27+
- Updated documentation with performance benchmarks (90-94x faster than Python feedparser)
28+
29+
### Fixed
30+
- Performance issue with unnecessary string allocations in Python `__repr__` methods
31+
1032
## [0.2.1] - 2025-12-16
1133

1234
### Changed
@@ -125,7 +147,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
125147
- Comprehensive test coverage
126148
- Documentation with examples
127149

128-
[Unreleased]: https://github.com/bug-ops/feedparser-rs/compare/v0.2.1...HEAD
150+
[Unreleased]: https://github.com/bug-ops/feedparser-rs/compare/v0.3.0...HEAD
151+
[0.3.0]: https://github.com/bug-ops/feedparser-rs/compare/v0.2.1...v0.3.0
129152
[0.2.1]: https://github.com/bug-ops/feedparser-rs/compare/v0.2.0...v0.2.1
130153
[0.2.0]: https://github.com/bug-ops/feedparser-rs/compare/v0.1.8...v0.2.0
131154
[0.1.8]: https://github.com/bug-ops/feedparser-rs/compare/v0.1.7...v0.1.8

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ members = [
77
resolver = "2"
88

99
[workspace.package]
10-
version = "0.2.1"
10+
version = "0.3.0"
1111
edition = "2024"
1212
rust-version = "1.88.0"
1313
authors = ["bug-ops"]

crates/feedparser-rs-node/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/feedparser-rs-node/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "feedparser-rs",
3-
"version": "0.2.1",
3+
"version": "0.3.0",
44
"description": "High-performance RSS/Atom/JSON Feed parser for Node.js",
55
"main": "index.js",
66
"types": "index.d.ts",
@@ -47,4 +47,4 @@
4747
"@napi-rs/cli": "^3.5",
4848
"c8": "^10.1.3"
4949
}
50-
}
50+
}

crates/feedparser-rs-py/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "feedparser-rs-py"
3-
version = "0.1.0"
3+
version.workspace = true
44
edition = "2024"
55
rust-version = "1.85"
66
license = "MIT OR Apache-2.0"

crates/feedparser-rs-py/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "feedparser-rs"
7-
version = "0.2.1"
7+
version = "0.3.0"
88
description = "High-performance RSS/Atom/JSON Feed parser with feedparser-compatible API"
99
readme = "README.md"
1010
license = { text = "MIT OR Apache-2.0" }

0 commit comments

Comments
 (0)