# 2021-03-13 13:42:00.133769 UTC (+0000) sfeed 0.9.22 and sfeed_curses 0.9.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_curses is a curses UI front-end for sfeed. It can be found at: * git://git.codemadness.org/sfeed_curses * gopher://codemadness.org/1/git/sfeed_curses * https://codemadness.org/releases/sfeed_curses/ * gopher://codemadness.org/1/releases/sfeed_curses/ sfeed has the following changes compared to 0.9.21: * Fix a time parsing regression with the non-standard date format "2021-02-03 05:13:03" (without T). This non-standard format is now supported again. * Fix/improve/refactor URI parsing and formatting. This now supports non-authoritive URI like "magnet:" links. local file URIs like file:/// are now also allowed (of course the user should be careful with file:/// URLs). This now follows the RFC standard more closely (but not completely): https://tools.ietf.org/html/rfc3986 * sfeed_update: just pass the feedurl directly as the base URL. This simplifies the code and allows for more correct transformation of relative URLs. Note though that feeds should not contain relative URLs though. * sfeed_update: add an overridable parse() function, using sfeed(1) by default This can be useful to more cleanly make connector scripts. * sfeed_update: restructure the code and allow to more easily reuse parts of the functions by including the script. Add an example script in the README to allow more efficient parallel execution using the non-POSIX xargs -P option. * Documentation improvements: add examples, typo fixes, mandoc (lint) errors, etc. sfeed_curses has the following changes compared to 0.9.8: * sfeed_content: fix unescaping function. A sequence with an escaped \ before another sequence would be incorrectly unescaped. * UI: fix tiny glitch when the feed pane is exactly the same size as the window which incorrectly misaligned the scrollbar by 1 column. * sfeed_content: allow to use script on multiple TSV lines, separate entries by a form feed (\f) character. * Mark as read: use the ID if the link is empty. This allows to mark items as read if the item does not have a link. An ID field should be mandatory by the feeds specification. Suggested by feedback from Hadrien Lacour, thanks! * Add feature to process a sequence of keys automatically on startup. This adds the environment variable $SFEED_AUTOCMD: Read and process a sequence of keys as input commands from this environment variable first, afterwards read from stdin as usual. This can be useful to automate certain actions at the start. * Add a horizontal and monocle layout and rework/cleanup drawing logic. * Add the horizontal and monocle layouts. * The monocle layout replaces the mode of hiding the sidebar using 's'. This 's' keybind now toggles between a monocle and non-monocle layout (vertical or horizontal). When a feed is read from stdin (no filenames) then the default layout will now be monocle also. * The monocle layout also works nicely on smaller portable screens (such as a Motorola Droid4) or on smaller terminals or if a more newsboat-like style is preferred. * Layouts can be changed with the keybinds '1', '2', '3', a preference can also be set at startup using the recently added SFEED_AUTOCMD feature, like so: SFEED_AUTOCMD=2 sfeed_curses. * Allow to spawn the search prompt, even if there is nothing to search for. * Documentation improvements and typofixes.