| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-02 | 2.4 kB | |
| v4.1.0 -- Full article content, multi-message posts, URL-based item lookup source code.tar.gz | 2026-07-02 | 222.5 kB | |
| v4.1.0 -- Full article content, multi-message posts, URL-based item lookup source code.zip | 2026-07-02 | 237.3 kB | |
| Totals: 3 Items | 462.1 kB | 0 | |
v4.1.0 — Full article content, multi-message posts, and URL-based item lookup
✨ Features
Post full article bodies, not just summaries. The content field now works in a feed's fields list — Atom <content>, RSS <content:encoded>, and JSON Feed content_html all render like any other text field (e.g. fields = ##title,link,content, or >content to blockquote it).
max_paragraphs (per-feed) — trim a long body field to just its first N blank-line-separated paragraphs. Handy for feeds whose lead paragraph is a summary followed by a long thread (e.g. keep only the "today in one sentence" intro).
Long posts are split across multiple messages automatically. Discord caps a message at 2000 characters; posts longer than that are now broken into several messages on paragraph/line/word boundaries, with small subtext markers (… continuing in next message / … continued from previous message) so readers can tell. A new max_messages setting (per-feed or channelname.max_messages) caps how many messages one item may produce; 0 (default) is unlimited, and a positive value marks the last message … post truncated.
Find a stored item by its URL. feed_items now records each item's link(s) in a new urls column, derived from the feed's configured link/url/<…> fields. This makes it easy to locate and delete a row to force re-processing — especially for feeds whose dedupe id is opaque (e.g. reddit's t3_…), where the id alone is unsearchable. Feeds with two links (Hacker News, Lobsters) store both.
⚡ Performance
Faster startup cleanup. The 10-year retention sweep no longer scans the entire feed_items table; it now compares against a precomputed ISO-8601 cutoff so SQLite can use the published index.
🔧 Upgrade notes
- Automatic DB migration on first startup: adds the
urlscolumn and its index (instant, metadata-only — no table rewrite even on large databases). No manual steps. - Helper scripts (
show_sample_entry.py,show_all_entries.py) now rendercontent-style list fields so you can preview them.
Changelog (v4.0.1...v4.1.0):
- feat: post full article content with paragraph and message limits
- feat: store item url(s) in feed_items for easier row lookup
- perf: make 10-year cleanup use the published index
- chore: bump version to 4.1.0