# Unreleased # 1.5.3 - 2026-05-19 - two new options for showing the current position - `article_list_show_position = true` to show an indicator of current position in article list (top right) - `content_show_position = true` to show indicator of current position in article content (bottom right) - the to options are set to `true` by default; just add the following two lines at the root level of your `config.toml` to deactivate the indicators ```toml article_list_show_position = false content_show_position = false ``` - **Breaking Change**: icon customization heavily refactored - you can now customize *all* icons appearing in eilmeldung - there are two preset, `nerd` (default) and `ascii` - there is a new configuration section `[icon_set]` in which you can overwrite all icons to your likings - if you have defined customized icons, move the settings into `[icon_set]`, add `preset="nerd"` and remove the `_icon` suffix from your settings. - you can consult the documentation in `docs/configuration.md`, section *Icon Set* - `"connected"` is now the new default framing of panels - with `"connected"` framing, the currently active panel's border is drawn above the other panels - chore: bumped versions of deps, updated to news-flash 3.1.0 # 1.5.2 - 2026-05-14 - restored default border theme (connected and rounded) - fixed bug which resulted in rapid swapping of article content # 1.5.1 - 2026-05-13 - **open borders for everyone**! - you can now freely customize the border style of the panels! - want to highlight the focused panel by a double border and use a plain border for inactive panels? just append this to your `config.toml`: ```toml [border_theme] focused = "double" unfocused = "plain" framing = "connected" ``` - these settings also feature to new `"connected"` style which elegantly connected the borders of each panel; you can still go back to the *classic* style by using `framing = "open"` or even use completely closed border with `framing = "closed"` - read more in `docs/configuration.md` in the section *Border Theme* - fixed double inputs in command input and help popup under Windows - `show_top_bar` is **deprecated** now and the top bar is removed entirely - the settings `scrollbar_begin_symbol``, `scrollbar_end_symbol`, `scrollbar_track_symbol`, `scrollbar_thumb_symbol` are **deprecated** now; the scrollbar characters are determined by the chosen border type # 1.5.0 - 2026-05-04 đŸĒŸ Windows is now supported! - Download the release Windows binary or use [scoop](https://scoop.sh) to install ``` scoop bucket add eilmeldung https://github.com/christo-auer/eilmeldung scoop install eilmeldung ``` - `eilmeldung` should run well using [Windows Terminal](https://github.com/microsoft/terminal) with a NerdFont-patched font - Thanks to @azinsharaf for the initial research, support and testing and to @jangernert for the quick release of a new news-flash version! - Naturally the Windows port is not yet tested as well as the Linux or macOS versions. So please report any bugs you may encounter! # 1.4.4 - 2026-04-26 - NetBSD support thanks to @0323pin - compilation option for `xdg-open` - installation instructions - preparation for Windows support (just `enclosure_command` for now) thanks to @azinsharaf # 1.4.3 - 2026-04-17 - chore: updated dependencies # 1.4.2 - 2026-04-11 - bugfix: *eilmeldung* sometimes freezed when trying to select the next unread item # 1.4.1 - 2026-04-07 - there are now two nix packages - `eilmeldung` tracks the latest release - `eilmelung-git` is the latest git version - bugfix: `nextunread` now should reliably select the next unread feed list item after setting all articles in category or feed to read # 1.4.0 - 2026-03-30 đŸĒ˛ **A bug not reported, is a bug nonexistent!** Report any bugs via [GitHub Issues](https://github.com/christo-auer/eilmeldung/issues)! đŸĒ˛ - you can now **open links/images in articles** using the new **hints** feature ![eilmeldung hints are prepended before links](https://github.com/user-attachments/assets/1e4ddb3a-0dfc-4fbc-b5f5-377661bfecae) - in the article view links and images have *hint letters* prepended - press `; ;` and enter the hint to open the link/image in your webbrowser - press `; y` to copy the link to the clipboard and `; s` to share it - combining hints with, e.g., the [feh](https://feh.finalrewind.org/) image viewer as a *share target*, can even be used to *open images from articles*; read more about how to achieve this in `docs/faq.md` ![opening image links in feh](https://github.com/user-attachments/assets/b427eed1-ae1f-473f-88df-836fe4251367) - **FULL DISCLOSURE**: with this release, eilmeldung uses a *different crate for rendering markdown* (derived from HTML). Before eilmeldung used [tui_markdown](https://docs.rs/tui-markdown/latest/tui_markdown/) whose development has stalled for the last few months. In particular, it is currently not yet possible to implement hints using `tui_markdown`. Since hints are a feature needed and requested in eilmeldung, I decided to implement my own *makeshift* ratatui markdown renderer crate [the_other_tui_markdown](https://crates.io/crates/the-other-tui-markdown). This crate is *vibe-coded* using *Claude LLM*. As soon as `tui_markdown` supports implementing hints, I will switch back. For the time being, I use my vibe-coded version. That said, the codebase of eilmeldung is still *hand-crafted* as before. # 1.3.1 - 2026-03-25 - bugfix: when not notification service is running, eilmeldung is not crashing when notifying about new articles (there is an error message now). set `notify_after_sync=false` to deactivate notification. # 1.3.0 - 2026-03-24 - Want to get a **desktop notification** after synchronization? *eilmeldung* now *notifies* you with new articles count and per new articles per feed! - By default, the new option `notify_after_sync` is set to `true` and uses [notify-rust](https://docs.rs/notify-rust/latest/notify_rust/) to generate a desktop notification on Linux via dbus (should also work under macos, though not tested)! This should work for most out-of-the-box if you have to have a working desktop notification system (which is usually installed by default unless you use something very customized). - Of course, you can customize the exact notification output to your likings (see `notify_after_sync_stats_format`)! - And if you want to call a *custom command* or *your fancy shell script*, you can do this by setting option `notify_after_sync_cmd`! - See the full documentation in `docs/configuration.md` *Notify after Sync*. - Happy notifying everyone! - some minor bugfixes/imprvoements # 1.2.4 - 2026-03-19 - this is a patch release squashing two irritating bugs (thanks to @luogni for reporting and helping to find the bug) - infinite loop when marking a query as read in feed list - fixed bug where two articles are marked at once # 1.2.3 - 2026-03-16 - another hotfix :-/ - removed optimization flags as they cause compilation errors in arch - updated github worksflows to latest version to prevent warnings # 1.2.2 - 2026-03-16 - update github workflows # 1.2.1 - 2026-03-16 - hotfix: compilation problem under arch fixed, `aws-lc-sys` dependency does not support optimization with `-O3`, must be `-O0` # 1.2.0 - 2026-03-15 - **Important**: due to the update of the news-flash library you may need to logout and login again: - run `eilmeldung --logout` - or in *eilmeldung* run the command `LOGOUT NOW` (press `:` to open the command line) - as [requested](https://github.com/christo-auer/eilmeldung/issues/200) by multiple users, eilmeldung now has basic **mouse support** (*disabled* by default) - thanks to @gwicho38 for the fork! - set `mouse_support = true` to enable - selection by clicking is supported in the feed and article list - scrolling support in the article list and the article content - drag the border between the articles and the content to resize (note that this overrides static layout settings from the config file) - bugfix: - flagging now persists when the article list is changed - updated news-flash library to 3.0.1 along with all other deps; the update of news-flash implements a workaround for some misbehaving webservers which deliver RSS content as `text/html` # 1.1.0 - 2026-03-11 - đŸ“ĸ Stay up-to-date! Subscribe to the [eilmeldung release atom feed](https://github.com/christo-auer/eilmeldung/releases.atom)! Press `c e` in eilmeldung to automatically add the feed! - 🤖 Want to use your **AI/LLM chatbot with eilmeldung** to select and summarize articles? Or do you want eilmeldung to stay clear all this AI fuzz? Take part in the [survey (demo inside)](https://github.com/christo-auer/eilmeldung/issues/197) and let me know what you think! - level up your workflow with 🚩s! - select (*flag*) multiple articles to execute bulk-operations - press `f` to flag articles and then press `r` to mark them as *read* - this also works for `m` (mark), `u` (unread), `t` (tag), `o` (open in browser), you get it! - `d` deletes a flag and `i` inverts it - the uppercase variants (`F`, `D`, `I`) operate on *all* articles and prepending `0` or `$` flags articles *before*/*after* the selected article - for *pro-users*: there are commands `flag`, `unflag` and `flaginvert` which even accept queries: - `flag unread today` selects all articles which are from today and unread - `unflag older:"1 hour ago"` unflags all articles which are older than one hour - there is even a new query key `flagged`! 🚩🚩🚩 - `nextunread` now also works in the feed list - as you already now, pressing `r` in the *article list* automatically selects the next unread article - now this also works in the *feed list* (big thanks to @janbuchar for his PR!) - and when you press `r` in the article list and no unread article is left, *eilmeldung* automatically selects the next unread item in the feed list! How cool is that?! - improvement: often used async operations are now non-blocking - bugfixes - login setup now works as expected if a different provider is selected - marking articles while article content is focused now works as expected - tab-completion in command line now works more reliably # 1.0.0 - 2026-03-06 - 🎉 **Version 1.0.0** 🎉 - for the last two months, I've incoporated all the helpful feedback from you, the users! Thanks to all of you! - as I feel *eilmeldung* is pretty much feature-complete, I've decided to go v1.0.0! - that said, if you have suggestions for improvements, feel free to crate an issue! - also, development of *eilmeldung* does not halt but will propably proceed in a slower pace with less (breaking) features - you can now mark all articles *above* and *below* the selected articles as read (or unread, marked or unmarked) - the commands `read`, `unread`, `mark` and `unmark` accept `above` or `below` as scopes - there are default key mappings: `0 r` and `$ r` for marking all articles above/below (and including) the selected article as read. The same works for `u` (unread), `m` (mark) and `v` (unmark) - configuration directory resolution is now a bit more flexible, in particular, using `~/.config/eilmeldung/` in macos is now possible. **eilmeldung** tries the following directories on startup: - `$XDG_CONFIG_HOME/eilmeldung/config.toml` on Linux **and** macos - if this doesn't exist: `$HOME/.config/eilmeldung/config.toml` on Linux **and** macos - if this doesn't exist - Linux: default config is used - macos: `~/Library/Application Support/org.christo-auer.eilmeldung/config.toml` - if none of the above exists, the default configuration is used - by using CLI arguments (see `docs/cli_args.md`) you can adjust the location of eilmeldung's `config.toml`, news-flash configuration and state directories - optimiziation: batch commands (e.g., `startup_commands`) are now only blocking if they contain more than one entry # 0.9.6 - 2026-02-25 - *first* things *first* - `eilmeldung` is now on [terminaltrove](https://terminaltrove.com/eilmeldung/)! - and also on [crates.io](https://crates.io/crates/eilmeldung) --- `cargo install eilmeldung` everybody! - and here are some new features: - want more real estate? That is in eilmeldung at least? Set `show_top_bar = false` in `config.toml` to hide the top bar and gain one whole line of juicy news contents. The status icon is displayed at the bottom right after this. - new command `filtersticky` for filter queries which are applied everywhere - `filter` is applied to the current article list and deactivated as soon as another entry in the feed list is selected - `filtersticky` (same syntax as filter) defines a filter which is always applied (use `filterclear` or `+ r` to reset) - new command `sortfeeds` (key binding `c s`) to sort all feeds alphabetically (this cannot be undone, you have to recreate your manual order afterwards) - bugfix in article queries: negation (`~`) was not applied in certain circumstances (if the key itself could handle the negation) # 0.9.5 - 2026-02-21 - **enclosures** are now supported! - small icons underneath the article title (in the article panel) show you which enclosures are available - press `e` to open the enclosure which calls `xdg-open` (`open` on macos) with the URL to the enclosure (`e` calls the new command `openenclosure`) - you can customize which command handles which type of enclosure (`video`, `audio`, `image`) - want to quickly open a podcast in VLC? set `audio_enclosure_command = "vlc {url}"` - you want to use mpv to watch videos? set `video_enclosure_command = "mpv {url}"` - more documentation under `docs/configuration.md` (Opening Enclosures) # 0.9.4 - 2026-02-18 - **Breaking Changes** `read` and `show` from now on don't accept the target parameter anymore - some context: until now, `read` accepted `current`, `articles` or `feeds` as an optional first parameter, to indicate *where* the operation should be executed. `show` to switch the article scope, had the same optional parameter. These are now removed. - from now on, the `in` meta-command must be used. Here some examples: - `read %` marks all elements in the *currently selected panel* (feeds or articles) as read - `in articles read %` marks all articles in the *articles list* as read - `in feeds read %` marks all feeds/categories in the *feed list* as read (if you really want that) - `show all` shows all items in the *currently selected panel* (feeds or articles) - `in articles show unread` shows only unread articles in the *article list* - `in feeds show marked` shows only items (feeds/categories) with marked articles in the *feed list* (tree) - a more complex example in the default binding of `R`: `confirm in articles read %` asks the user if all articles in the article list should be marked as read (`confirm` is also a meta-command which asks for confirmation); if you enter the command in the command line, it will actually tell you what it does underneath - *BTW* `in ` works for all commands, e.g., `in articles down` moves the selection one down in the article list - Note that some commands just work in some panels, e.g., `in content read` doesn't do anything as `read` is only supported in `articles` and `feeds` - small improvement: If no title is given, the summary is shown in the article list. This is useful for, e.g., Mastodon tuts # 0.9.3 - 2026-02-12 - you can now search in the feed list: - press `/` (default mapping) in feed list to open search prompt (command line) - enter a search term - single word: case-insensitive, e.g., `news` - quoted string: exact-match, e.g., `"News"` - or regular expression enclosed in `/`: e.g., `/News.*|Nachrichten/` - new option `zen_mode_show_header` - show header (title, feed, date, etc.) in zen/distraction-free - default is `false`, add `zen_mode_show_header=true` to your `config.toml` to activate - **IMPORTANT**: eilmeldung now fails on `config.toml` files with *unknown settings* instead of silently ignoring them. This is to improve user experience and avoid unexpected behavior. - bugfix: select first article when a tree item is selected # 0.9.2 - 2026-02-10 - changed default mapping of `R` to `confirm read articles %` (before: `confirm read %`): now just the elements in the article list are marked as read instead of all feeds and categories when in the tree panel - new query key `category`: matches articles from feeds in the matching category (only the direct parent category is considered) - bugfix: content is not updated when article was marked as read - updated dependencies # 0.9.1 - 2026-02-08 - hotfixes - sensible selection in article list after an article has been marked as read - attempt relogin after logged out # 0.9.0 - 2026-02-07 - **NEW**: Automatic article operations after synchronization! - want to automatically mark ads or paywall articles as read? - or add tags to articles with certain keywords? Or from your favorite feeds? - this is now possible with the new option `after_sync_commands`! - read more in `docs/configuration.md`, *After-Sync Commands* # 0.8.4 - 2026-02-04 - **Breaking Changes** - `thumbnail_width` is now a *dimension* value, default is `thumbnail_width = "14 length"` (14 columns) - `thumbnail_height` is a *dimension* value which defines the height space reserved for the thumbnail, default is `thumbnail_height = "5 length"` (5 rows) - bugfix: `libxml` error output messed up TUI; workaround which temporarily redirects `stderr` when scraping an article - improvement: default keybinding of `r` now selects next unread article (instead of jumping to the top) - status bar eye candy # 0.8.3 - 2026-01-30 - hotfix: removed hash for `news_flash` from nix package declaration # 0.8.2 - 2026-01-30 - new CLI magic for the people - `--sync` syncs all feeds and outputs (customizable) sync statistics (for you `cron`/`systemd` tweakers) - `--import-opml`/`--export-opml` for importing/exporting OPML directly from the command line for automatic setup; combine with login settings and you can setup `eilmeldung` without manual input! - `--logout` to logout - for more information checkout `docs/cli_args.md` - **Warning**: You should not execute these commands while eilmeldung is running in another process to avoid data inconsistency! - **inoreader** (OAuth2) provider is now supported (**note**: You need a Pro account to create an application token to grant `eilmeldung` access to **inoreader**) - bugfixes - deleting categories works now (thanks to @JanGernert for updating `news_flash` to 3.0.0) - fixed false negatives in reachability checks (thanks to @janbuchar) - re-login to prevent auth errors on sync attempts (thanks to @janbuchar) # 0.8.1 - 2026-01-28 - two new component style modifiers - `unread_count` is applied to unread count label in feed tree - `marked_count` is applied to marked count label in feed tree - default for both is `{ mods = ["italic"]}`; if you want the old style set them to `{ }` (no modification of style) - feed list now tries to make sure that the "most sensible" item is selected after changes in the tree (in particular after items have been set to read) - bugfix: feed list now always handles node collapse/expand commands (not just when focused) # 0.8.0 - 2026-01-23 - new theming possibilities for unread/read items (**breaking changes**!) - settings `unread_modifier` and `article_highlighted` have been **removed**! - instead use the component styles `unread`, `read`, `highlighted` and `selected` to adjust how the respective items should look like - for more details have a look at *Component Style Modifiers* in `docs/configuration.md` - new commands - `expand`: expands the current item in the tree - `expandcategories `: expand categories with articles in scope, i.e., `all`, `unread` or `marked` articles - `collapse`: collapses the current item in the tree - `collapseall`: collapses all items in the tree - bugfix: custom colors all mapped to `none` - switched to system TLS implementation (thanks to @bgiarrizzo for the PR) which makes it possible to use eilmeldung behind SSL injection proxies # 0.7.9 - 2026-01-22 - removed share keybindings (`S m`, `S t`, etc.). instead `S` opens the command line with the configured share targets (press TAB to cycle through them) - bugfixes - slightly improved default values for thumbnail scaling, more room to bottom - custom colors (for styles) are now properly parsed. # 0.7.8 - 2026-01-18 - new configuration options: - set `sync_every_minutes` to periodically sync (default: disabled) - `startup_commands` to automatically execute commands on startup, e.g., `startup_commands=["sync", "focus articles"]` to automatically sync on startup and focus the articles list - new modifier for key bindings: `S-...` for shift, e.g., `S-down` for pressing "shift and downward cursor key" - bugfix: command input doesn't crash on umlaute/unicode anymore # 0.7.7 - 2026-01-15 - no more switching back and forth between panels by these new convenient default key bindings: - use `Ctrl-j` and `Ctrl-k` to move down/up in the feeds list, from **any panel** - use `J` and `K` to scroll the article content down/up (scrape before by pressing `x`) - use `M-j` and `M-k` to move down/up in the articles list - of course, you can customize these key bindings by using the new `in` command - `in ` runs a command in the given panel (`feeds`, `articles`, `content`) - example: `in feeds down` moves the selection down in the feeds list, `in content gotofirst` scrolls to the top in the content panel. - the new default key mappings are: ```toml "C-j" = ["in feeds down"] "C-k" = ["in feeds up"] "J" = ["in content down"] "K" = ["in content up"] "M-j" = ["in articles down"] "M-k" = ["in articles up"] ``` - note: if you want the old default key mapping for `J` back, add `"J" = ["read", "nextunread"]` to `[input_config.mappings]` in `config.toml` - switched to a different network connectivity library (`if-watch`) # 0.7.6 - 2026-01-13 - bugfix: when in zen mode (distraction-free mode) and a modal dialog is active (confirmation, etc.), zen mode is temporarily deactivated # 0.7.5 - 2026-01-12 - **new feature**: feed list now supports showing only items with unread or marked items (or all) - press `1`, `2` or `3` *in the feed list* to show *all* or items with *unread* or *marked* articles in the feed list - of course, this still works in the *article list* - the new setting `feed_list_scope` defines the default setting on startup - if you want to synchronize what the feed list and article list show, have a look at the FAQ (*Features and Capabilities*) - new display of current scope using only icons - bugfix: feed list now tries to restore selection after changes (instead of selecting nothing) # 0.7.4 - 2026-01-10 - fixed bug which made `default-configuration.toml` invalid; now the style set works as documented - new option: `hide_default_sort_order`, if `true`, hides the sort order if the default sort order is applied # 0.7.3 - 2026-01-07 - bugfix: feeds imported via OPML in the root level could not be yanked (`c y`). This works now. # 0.7.2 - 2026-01-07 - bugfix: eilmeldung wouldn't launch if no `config.toml` exists; now it launches with the default configuration # 0.7.1 - 2026-01-06 - bugfix: when entering a key sequence with multiple alternatives, if there is one which already matches, pressing enter (default key binding) executes the key binding immediately. Otherwise there is a timeout running down after which it is executed. If escape is pressed, the keybinding input is aborted. # 0.7.0 - 2026-01-05 - **new feature**: you can now **sort** the article list - via the new `sort` command: `sort date` sorts the articles by feed ascending and from oldest to newest (see command documentation for details) - define a *default sort* order via the configuration option `default_sort_order` (default value is `