Convert RSS feeds to emails
GPL-2.0 License
Bot releases are visible (Hide)
This release primarily focuses upon being a better network client:
If-Modified-Since
, or Etag
headers in our outgoing requests.frequency
argument will be used to specify the minimum poll-frequency - this can drop to 5 minutes now, but will default to 15 minutes to match past behaviour.insecure: true
setting as a per-feed option to disable certificate checks.#
value.LOG_ALL
environmental variable has been replaced by a new LOG_LEVEL
setting. This allows a finer-grained control of logging output.Here's a list of automatically generated notes on merged pull-requests:
Full Changelog: https://github.com/skx/rss2email/compare/release-3.2...release-3.3
Published by skx over 1 year ago
This release corrects a minor issue with Subject:
line/header encoding, which should prevent ugly and malformed text being shown.
Published by skx over 1 year ago
Full Changelog: https://github.com/skx/rss2email/compare/release-3.0...release-3.1
Published by skx over 2 years ago
This release removes a lot of the backwards compatibility we've had in place, added as we slowly changed various internals.
To ease maintenance, avoid confusion, and to keep things simple we've now made a clean break with the past:
rss2email help config
.
~/.rss2email/feeds.txt
, unless you're running upon a Microsoft Windows platform.~/.rss2email/state.db
~/.rss2email/seen
can be removed if it is still present.Published by skx over 2 years ago
This release features a few small additions and tweaks to our behaviour:
unsee
sub-command.
env
and split
functions to the template environment.
Published by skx over 2 years ago
This release changes the way that we record the feed-items which we've previously seen. In previous releases we maintained a bunch of files beneath ~/.rss2email/seen/
, one file for each feed-item we'd processed. As of this release we now use an embedded key/value store, boltdb for that purpose.
When this release is installed for the first time your existing feed-state will be silently and automatically migrated to the new database, which is stored in ~/.rss2email/state.db
. This migration will continue up until release-3.0
:
This change was implemented in #85, as a result of #82.
In addition to this change we now publish binaries for more platforms upon our release page:
When rss2email 3.0 is released the automatic migration will go away, as will the automatic update of the feed configuration file. If you install this release, or any future release prior to that then all will be well.
The only users who will be surprised will be those who migration from rss2email v2.5, or lower, to release 3.0 or higher. In that case the state files will not be migrated automatically, and all feed items will be regarded as new/unseen for the first run.
This migration path is documented, and open for discussion, in #86.
Published by skx over 2 years ago
This release tries to add some naive rate-limiting:
These changes were inspired by #83, and are designed to overcome any simple rate-limiting the remote host might apply to incoming requests.
If you need more than that you may add the per-feed sleep: N
option to your feed, which will allow you to specific a different number of seconds to sleep before making the request.
Published by skx over 2 years ago
This release updates the handling of the "state" files, which keep track of which remote items have already been seen from within each feed.
In the past we automatically expired older entries from the local state-directory - even if any errors had been encountered in polling the configured feed list.
In this release we avoid pruning the local state files if any errors are observed while fetching the list of feeds that have been configured:
This was reported in #80, and implemented in #81. In the future release we'll move towards prefixing each state-file with the feed from which it came - which will allow us to expire things accurately, regardless of errors seen or not seen.
Published by skx almost 3 years ago
This release features the ability to change the recipients of the email-notifications, on a per-feed basis. This was implemented by @avm99963, in #76.
The integrated fuzz-testing of the configuration-file parser was updated to work with the upcoming 1.18 release of the golang compiler/toolset, and is testable using the recently-released 1.18beta1 release.
Published by skx over 3 years ago
This release allows the user to use a different email-template on a per-feed basis. This change was implemented as a pull-request by @jcvernaleo.
Other than the new configuration-option there have only been a small number of changes compared to the previous release - I fixed some of the internal implementation to resolve 100% of the "complexity" issues reported upon the go report card, allowing the application to receive a perfect score.
Published by skx over 3 years ago
This release builds upon the previous one, by allowing more per-feed options to be configured in the config-file:
Test-coverage was improved slightly for our HTTP-fetching package, but not significantly.
Published by skx over 3 years ago
Release 2.0 is a slightly breaking-release:
rss2email help config
The first time you run the application it will report upon the upgrade/migration of the configuration file, which will change from ~/.rss2email/feeds
to ~/.rss2email/feeds.txt
. Changing the name makes the newer format more explicit, and having a suffix helps users deploying upon Microsoft Windows systems.
The new configuration file allows per-URL options, which means we can now support some things we couldn't in the past - most notably the ability to exclude entries from the remote-feed, either via regular expression match on the entry-titles, or against the body of the feed entry.
Beyond the usual mixture of code-tweaks we've added a lot more test-coverage of the application, and this will continue in the next release(s).
Published by skx over 3 years ago
This release contains a couple of minor changes and improvements contributed by @gonejack :
NOTE: The next release will be 2.0, and will replace the configuration file with JSON/YAML, as noted in #59 - this will obviously be a breaking change, but will allow us to add per-feed options and configuration which will be useful for the future (for example the relative URL fixing will definitely become a per-feed configuration flag, and it will be possible to skip entries in feeds base on regular expressions, as suggested in #58.)
Published by skx almost 4 years ago
This release features a bunch of small cleanups, and one new feature - the long-running daemon-mode, perfect for running inside a Docker container
export
sub-command to allow exporting the feed-list as an OPML file
Published by skx about 4 years ago
This release includes some minor changes to the way that seen-items are stored, to allow future deletion more easily, rather than unbound growth of the state-files (beneath ~/.rss2email/seen
).
Feeds are now validated when added, which means the contents of the feed are actually fetched at addition time, this slows down the addition but is safer. In a similar vein feed-fetching is retried on failure, several times to deal with transient failures.
Published by skx about 4 years ago
This release updates our main binary to add an import
subcommand, which will ingest a series of feeds stored in an OPML list. As part of that the feed-list was updated to ensure that duplicate feed URLs are ignored.
Published by skx about 4 years ago
This release contains a number of minor fixes and cleanups to the internal codebase (for example moving some files to their own packages, adding test cases where appropriate etc), as well as some fixes for the help-output output by the various subcommands.
The major new feature in this release is the ability to customize the template which is used to generate the email notifications. If you're happy with the appearance of the default emails then you need to make no changes, we still continue to ship a template embedded within our binary. However if you wish to make changes you now can supply your own template which will be populated with feed-entries and sent.
To save the default template locally please run the following command, and then edit as nececessary:
rss2email list -template > ~/.rss2email/email.tmpl
If it exists ~/.rss2email/email.tmpl
will be used in preference to the integrated template.
Published by skx about 4 years ago
This release includes two changes contributed by @DaleFarnsworth:
Published by skx over 4 years ago
This release improves the error-handling when processing our list of feeds. In the past when an error was encountered processing a particular feed processing would terminate immediately.
Now errors are saved, and reported only once all feeds have been processed. This avoids a flaky RSS feed from preventing the processing of any feeds which occur later in the users' list.
Published by skx over 4 years ago
This release updates the generated emails to contain a pair of new headers:
X-RSS-Feed
X-RSS-Link
This was reported in #7 as a feature-request, and implemented in #8.