Release of Newsraft 0.30: A Lightweight Console RSS Aggregator with Powerful Features

A new release of the open-source console RSS aggregator [Newsraft 0.30](https://codeberg.org/newsraft/newsraft/releases/tag/newsraft-0.30) has been announced. This solution supports both RSS and Atom formats. Newsraft is designed to retrieve content from various blogs and platforms, allowing users to view it through a unified interface built on the [ncurses](https://invisible-island.net/ncurses/announce.html) library. While it draws inspiration from the [Newsboat](https://newsboat.org) program, Newsraft stands as an independent project and is presented as a lightweight alternative.

According to information from OpenNET, the goal of Newsraft is to provide essential features of a full-fledged feed reader with as few lines of source code as possible. For comparison, the Newsboat project comprises about 44,000 lines of code, whereas Newsraft’s codebase is around 9,000 lines.

The Newsraft code is written in C (C99) and is released under the [ISC license](https://codeberg.org/newsraft/newsraft/src/branch/main/doc/license.txt). Installation packages for Newsraft 0.30 are [available in various repositories](https://repology.org/project/newsraft), including [Alpine Linux](https://pkgs.alpinelinux.org/package/edge/community/x86_64/newsraft), [Arch User Repository](https://aur.archlinux.org/packages/newsraft), [Chimera Linux](https://pkgs.chimera-linux.org/package/current/main/x86_64/newsraft), [FreeBSD Ports](https://www.freshports.org/www/newsraft), [Homebrew](https://formulae.brew.sh/formula/newsraft), [Nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ne/newsraft/package.nix), and [OpenBSD Ports](https://openports.pl/path/www/newsraft).

Key features of the Newsraft project include:

— Parallel updates
— Separation of feeds into sections (groups)
— Ability to open links with any application with a single keystroke (for example, mpv)
— News filtering based on SQL expressions
— Viewing news from all feeds at once (default Tab key)
— Automatic updates for individual feeds and entire sections
— Custom settings and key bindings for each feed
— Option to assign multiple actions to a single key
— Text-based search through news items
— Displaying HTML content of news directly in the terminal
— Sorting menu items based on preferred parameters
— Detailed error reports for unsuccessful updates
— Ability to process feeds not just by URL but also by command output
— Support for nearly all feed formats (RSS, Atom, JSON Feed, numerous extensions…)
— Import/export feeds in OPML format.

The primary [changes](https://codeberg.org/newsraft/newsraft/releases/tag/newsraft-0.30) and enhancements in version Newsraft 0.30 include:

— Added ‘edit’ action for database manipulation
— Introduced ‘find’ action for searching news based on SQL conditions
— Added ‘user_data’ column to the database for user-specific usage
— Introduced ‘database-batch-transactions’ setting
— Added import/export operations for OPML format feeds
— Added REGEXP operator for use in the ‘item-rule’ configuration
— Incorrect expressions in the ‘item-rule’ setting are now displayed as feed errors
— Count of items in a feed now considers the ‘item-rule’ settings
— Support for OSC 9 and OSC 52 in ‘notification-command’ and ‘copy-to-clipboard-command’ settings
— Renamed the ‘analyze-database-on-startup’ setting to ‘database-analyze-on-startup’
— Renamed the ‘clean-database-on-startup’ setting to ‘database-clean-on-startup’
— Removed dependency on YAJL JSON parser; JSON is now processed using json_tree() from SQLite.