The release of the console program for reading news feeds, Newsraft 0.30, has taken place. It supports RSS and Atom formats. Newsraft is designed to retrieve content from various blogs and platforms, displaying it through a unified interface built on the ncurses library. The project is inspired by the ideas of the Newsboat program but is an independent development, representing a lightweight alternative.
The goal of the project is to provide the most in-demand functionality of a full-fledged feed reader with as few lines of source code as possible (for comparison, Newsboat contains about 44,000 lines of source code, while Newsraft consists of about 9,000). The project’s code is written in the C programming language (C99) and is distributed under the ISC license. Packages for installing Newsraft 0.30 are available in the repositories: Alpine Linux, Arch User Repository, Chimera Linux, FreeBSD Ports, Homebrew, Nixpkgs, OpenBSD Ports.
Key features of Newsraft:
- Parallel updates;
- Feed separation into sections (groups);
- Open links with any program at the push of a button (for example, mpv);
- News filtering based on SQL expressions;
- View all feed news at once (default Tab key);
- Automatic updates for individual feeds and entire sections;
- Setting configurations and binds for each feed individually;
- Ability to assign multiple actions to one key;
- Text search through news;
- View HTML content of news directly in the terminal;
- Sort menu by the most preferred parameters;
- Detailed error reports for failed updates;
- Ability to process feeds not by link, but by command output;
- Support for almost all feed formats (RSS, Atom, JSON Feed, many extensions…);
- Import/export feeds in OPML format.
Innovations in Newsraft 0.30:
- Action 'edit' added for database manipulation;
- Action 'find' added for searching news based on SQL conditions;
- User_data column added to the database for user utilization;
- Database-batch-transactions setting added;
- Operations for importing/exporting feeds in OPML format added;
- REGEXP operator added for use in item-rule settings;
- Incorrect expression in item-rule settings is displayed as a feed error;
- Counting items in the feed now takes into account item-rule settings;
- Support for OSC 9 and OSC 52 in the settings for notification-command and copy-to-clipboard-command;
- The setting analyze-database-on-startup has been renamed to database-analyze-on-startup;
- The setting clean-database-on-startup has been renamed to database-clean-on-startup;
- The dependency on the JSON parser YAJL has been removed, and JSON is now processed by json_tree() from SQLite.

Source: opennet.ru
