# 2023-08-18 19:00:00.133769 UTC (+0000)

sfeed 1.9 was released.

sfeed is a tool to convert RSS or Atom feeds from XML to a TAB-separated file.

It can be found at:
  * git://git.codemadness.org/sfeed
  * gopher://codemadness.org/1/git/sfeed
  * https://codemadness.org/releases/sfeed/
  * gopher://codemadness.org/1/releases/sfeed/

sfeed has the following small changes compared to 1.8:


Features:
* sfeed_{curses,frames,gopher,html,plain}: add $SFEED_NEW_MAX_SECS

  By introducing the new environment variable $SFEED_NEW_MAX_SECS in some
  sfeed_* utilities marking feeds as new based on comparing their age, it is now
  possible to override this age limit. The default limit was the last day (86400
  seconds).
    
  This allows, for example, to be notified about new feeds within the last
  hour with by prefixing new items with " N ":
    
	SFEED_NEW_MAX_SECS=3600 sfeed_plain ~/.sfeed/feeds/*
    
  While creating a web report for last week's news by:
    
	SFEED_NEW_MAX_SECS=604800 sfeed_html ~/.sfeed/feeds/*

  This marks the items of the last week as bold in HTML.

  Based on the initial patch by Alvar Penning, thanks!

* sfeed_update/sfeedrc: add url a as parameter to the filter() and order()
  function This makes it easier to set filters or ordering by pattern matching on
  a group of feeds by the feed URL. For example for Youtube or Reddit feeds.

* sfeed_curses: move one line down when marking an item as read or unread.
  I don't mind either behaviour, but it has been suggested by a few people. For
  example the mutt mail client also has this behaviour.


Fixes:
* Improve to use proper includes.
  Reduce using some of the unneeded sys/* headers too. Using the C99 includes.
* sfeed_atom: for gmtime_r() make the error message consistent with sfeed_mbox.
* Makefile: change Gentoo commented example from -lcurses to -lncurses.
* sfeed_markread: fail early if creating a temporary file failed.


Code-cleaning / pedantic fixes:
* sfeed: datetounix: code-style, change , to separate lines (-Wcomma).
* sfeed_curses: make struct urls static like the other variables.
* sfeed_gopher: reduce scope and shadowing of a variable (no effective change though).
* xml.h: _XML_H_: macro name with an underscore is a reserved identifier.


Documentation:
* Improve note about CDNs and HTTP User-Agent blocking and change the example
  in sfeedrc.5 by setting a User-Agent.
* sfeedrc.example: add comment to reference to the man pages and README file.
* README: RSS 0.90+ is supported (not 0.91+).
* Typo fixes, consistency and structure fixes and some rewording.


Bitreichcon 2023 was cool. It was also fun to hold a RSS/Atom/web presentation
to a club of like-minded peoples.

	gopher://bitreich.org/1/con/2023
	gopher://bitreich.org/0/usr/20h/phlog/2023-08-10T17-08-41-168752.md
	gopher://bitreich.org/0/usr/20h/phlog/2023-08-10T19-40-04-621487.md

	Slides: gopher://bitreich.org/9/con/2023/rec/state-of-sfeed.zip
	Audio: gopher://bitreich.org/9/con/2023/rec/brcon2023-dump-2023-08-10-20-06-35.mp3


Thanks for all feedback and patches,

Donations can be send to:
	https://codemadness.org/donate/

:)

Thanks,
Gopherholistic coach,
Hiltjo