Link Search Menu Expand Document

Liferea 1.15.5 released

This release brings small improvements to the trayicon plugin and content filtering using DOMPurify which should increase security against XSS attacks via feeds providing rich HTML content.

20 years of liferea and the future

This project went 20 this year. I do fondly remember having announced the most early releases on freshmeat.net which back then was the way to find out about good and active open source projects. Since those days many awesome contributors helped developing and maintaining Liferea to have the extensive feature set it has. For me the contributors suddenly appearing and without any conditions helping on the project is the most motivating and amazing thing about developing in open source.

Liferea 1.15.2 released

This is a bugfix release. It provides an important stability fix regarding feed parsing. Kudos to Rich Coe for debugging and fixing the issue!

Liferea 1.15.1 released

This is a new feature release. It introduces the long awaited switch to libsoup3 and libwebkit2gtk-4.1. Thanks to many testers helping testing the latest code from git some errors were ironed out already. Still there is an issue remaining where feed updates are getting stuck when updating while DNS resolution/Wifi/network… fails. Please comment if you also experience this issue!

Liferea 1.15.0 released

This is the first release of the new unstable line 1.15. The current idea is to release a bit faster than every two years. So not so much features will be introduced before 1.16

Liferea 1.14.5 released

This is another stabilizitation release for 1.14. I’m cautiously optimistic that we have solved most of the instabilities now :-)

Liferea 1.14.4 released

1.14 is not as stable yet as intended and is suffering from startup race conditions. This bugfix release tries to further eliminate those issues.

Liferea 1.14.3 released

This is another 1.14 bugfix release to address a crash affecting some users and a build issue when running tests.

Liferea 1.14.2 released

This is a stability fix for 1.14.1. The fix of CVE-2023-1350 in 1.14.1 did contain a memory error that leads to crashes. Sorry about that. Please upgrade to avoid the problem!

Liferea 1.14 Rc3 released

This is a new release candidate for 1.14. It contains many bugfixes and translation updates. This will be the last release candidate. Next release will be 1.14.0.

Liferea 1.14 Rc2 released

This is the second release candidate for the next stable release line 1.14. There will be probably one more release candidates until 1.14.0.

Liferea 1.14 Rc1 released

This is the first release candidate for the next stable release line 1.14. There will be probably 2 more release candidates until 1.14.0.

Liferea 1.13.7 released

This is a new development release mostly focusing on usability. Thanks for the many many contributions!

Recent WebKitGTK HTML renderer instabilities

In recent weeks there are more issues with the WebKitGTK HTML renderer widget used by Liferea. Here is some insight on these problems and if you are impacted how to workaround…

Liferea 1.13.6 released

This is a new development release mostly focusing on usability. Thanks for all the contributed bugfixes!

Liferea 1.13.5 released

This is a new development release mostly focussing on usability. There is also a fix of a long-standing bug that search folder searches were not case-insensitive as documented.

Liferea 1.13.4 released

It’s Christmas so let’s have a small present for everyone. Here is a new unstable release.

Better Favicons Part 2

This is a followup to the post Better Favicons Part 1. While the change from April this year was about storing all favicons in a large resolution, to ensure there is no upscaling when presented in ‘Wide View’, this is about finding better quality favicons as used by iOS, Android and Microsoft Windows.

Liferea 1.13.3 released

This is a new 1.13 development release with a lot of great improvements including zoom reset using Ctrl-0, enabling Webkit Intelligent Tracking Protection, CSS color updated on theme switch, progress bar support when loading web pages and many other improvements.

Liferea 1.13.2 released

This is a new development release adding a new major feature “Reader mode”. “Reader mode” is always on filtering all feed content and HTML5 enriched content to remove ads, visual noise and any left-over website navigation elements that might end up in your feeds content.

Liferea 1.12.9 released

This is a maintenance release fixing a translation bug and a Youtube video embedding issue.

Better Favicons Part 1

One known issue in Lifera v1.12 is the low resolution of favicons when using the 3-pane wide view mode. In this mode favicons are displayed larger to give a visual counter weight to the text excerpts shown below the headline.

Liferea 1.13.0 released

This is the first release in the new unstable line. While this release does not have any large changes or new features there will be breaking changes soon :-)

Liferea trick #8: change menu accelerators

When you are not satisfied with the menu key bindings defined by Liferea do not despair it is easy to change them!

This trick is valid for Liferea versions 1.12 to 1.15.

Edit Accels Plugin

There is a plugin by frequent Liferea contributor Mozbugbox allowing you to change keybindings. It is not installed per-default, so install it via Tools -> Plugin Installer. In the plugin preferences click Dump Accels to create a key binding file.

Screencast of accels dump via plugin

Open the keybinding file in ~/.local/share/liferea/plugins/accels/accels.txt in your favourite editor. This file will be now be read upon Liferea startup to set key bindings and contains lines like these:

[...]
# ["app.next-read-item", []]
["app.next-unread-item", ["<Primary>n"]]
# ["app.open-item-enclosure", []]
# ["app.open-link-in-browser", []]
[...]

Note how only app.next-unread-item has a defined key binding Ctrl-N and for example app.next-read-item has none.

To change a key binding:

  • First remove any ‘#’ at the start of the line
  • Then enter a valid key binding. Choose prefixes like <Primary> (for Ctrl), <Alt>, <Shift> as needed and append the key after it.
  • Ensure the key binding you defined is not used elsewhere in the file

Recent Liferea Tricks

Liferea Plugins Tutorial Part 5

This tutorial part is about how to localize core Python plugins so contributors can translate the user interface.

Liferea 1.12.5 released

1.12.5 is a bugfix release. It includes an important bug fix that solves a possible endless loop on using "Next Unread" which several users experienced as endless high CPU usage. If you are affected by this: please upgrade!

New gtk headerbar plugin

Yesterdays release (1.12.3) includes a new plugin that allows you to completely switch out the toolbar/menubar window decoration for a GNOME style GTK headerbar.

Liferea 1.12.3 released

Today sees a new 1.12 release which addresses some long-standing user concerns. One being accidentally marking all your headlines as read, we have no a confirmation dialog. Another issue addressed is that of custom download tools. The list provided is not always sufficient so we now provide a CLI command you can enter to use you favorite downloader. A lot of refactoring also allowed us to provide a GTK headerbar plugin for all fans of GNOME style window decorations.

Liferea Plugins Tutorial Part 3

Welcome to a new installment of the plugins tutorial! Todays issue will cover menu modifications. This allows you to add new menu options for features you introduce with your plugin.

Liferea Plugins Tutorial Part 2

Let’s continue the plugin tutorial! The last installement was on how plugins work and how to create the boilerplate for a new plugin. Now let’s look into how to access Liferea UI elements and how to modify them.

Liferea Plugins Tutorial Part 1

Some time ago a fellow Liferea user asked about documentation on writing Liferea plugins. I see the need and the benefit and want to start doing so with a series of blog posts that later can be compiled into a tutorial to be included on the website/sources.

Plugins with GObject Introspection

First it is important to know that Liferea 1.10+ uses GObject Introspection (GI) and libpeas to allow implementing plugins. This quote from the GNOME wiki explain how GI works:

GObject introspection is a middleware layer between C libraries (using GObject) and language bindings. The C library can be scanned at compile time and generate a metadata file, in addition to the actual native C library. Then at runtime, language bindings can read this metadata and automatically provide bindings to call into the C library.

The important point is: by Liferea using GI (as all GNOME applications and many other GTK applications do now) plugins can be written in practically any scripting language. Most users seem to favour Python and all current plugins included with the Liferea sources are in Python. Note that this tutorial will also focus on Python only.

How are plugins triggered from within Liferea?

Ok, I can write a script in Python! How will Liferea run it and when?

This is where libpeas comes in, which is a basic library to implement a plugin system. If you click the preferences dialog and switch to the “Plugins” button you see a dialog provided by the PeasGtkPluginsManager class of libpeas. Detection, activation and configuration of plugins is handled by libpeas.

Now for the “When?” question: To properly allow applications to hook plugins into different parts of the applications libpeas allow an application to define one or more so called “Activatable” interfaces.

For simplicity for Liferea I decided to only support a LifereaShellActivatable interface. This means all plugins are activated together with the LifereaShell instance (src/ui/liferea_shell.c). This class represents the main application window holding all widgets. So when your plugin gets activated all widgets exist and you can access everything like extending or modifying the GUI, changing settings, everything you can think of.

Note: in the code there are two more interfaces:

  • LifereaAuthActivatable
  • LifereaMediaPlayerActivatable

that are used to implement two important features (GNOME keyring support and a simple media player). Feel free to use those two, but be aware that they work differently and activate at other times and not just once as the LifereaShellActivatable.

Using LifereaShellActivatable

If you script in Python using LifereaShellActivatable means simply deriving a new class from it. For example:

from gi.repository import GObject, Peas, PeasGtk, Gtk, Liferea, Gdk

class ExamplePlugin (GObject.Object, Liferea.ShellActivatable):
    __gtype_name__ = 'ExamplePlugin'

    object = GObject.property (type=GObject.Object)
    shell = GObject.property (type=Liferea.Shell)

    def do_activate (self):
        # Do something here...

    def do_deactivate (self):
        # Maybe do somethin here too...

The activate() and deactivate() methods are required by libpeas and provide you with the starting points to do stuff. By fetching the Liferea.Shell instance you gain access to the main window. Using this you can both lookup widgets or other Liferea classes like the Liferea.FeedList to perform actions against business objects of Liferea.

Providing a plugin configuration

Along with the actual plugin code libpeas requires a plugin configuration file defining the language the plugin is implemented with and metadata (name, description, website…) for this plugin. Such a file looks like this:

[Plugin]
Module=example
Loader=python3
IAge=2
Name=Example Plugin
Description=Illustrates how to implement plugins in Liferea
Authors=Lars Windolf <[email protected]>
Copyright=Copyright © 2014 Lars Windolf
Website=https://lzone.de/liferea/
Help=https://lzone.de/liferea/

Most important is the Loader setting indicating the correct scripting language and the Module setting which together with the Loader setting as python3 indicates that our plugin script is to be named “example.py”. Both the “example.py” plugin script and its example.plugin config file needs to be put into the Liferea plugins directory…

Where to put my plugin script?

There are two possible locations for the plugin script (and it’s configuration file):

  • For user provided plugins: usually ~/.local/share/liferea/plugins
  • For distro package provided plugins: usually /usr/lib/liferea/plugins

Note that paths can be different with different XDG settings.

When writing and testing don’t bother installing the plugin in the package directories. Just put it in ~/.config/liferea/plugins and fire up Liferea.


More about how to check for activation, debug problems and handling enabling/disabling in the next installment of this tutorial!

Also check out the other plugin tutorial posts

Liferea 1.12.1 released

This is a bugfix release for the recent 1.12.0 release. Thanks to Leiaz tackling several complicated issues. Most prominent is a hopefully solved issue with the pane sizing with maximized window. Last but not least we have Italian and Indonesian translation updates.

Liferea 1.12.0 released

This is the first release of the new stable release line 1.12. Many thanks to all the contributors and package maintainers that made this possible!

Liferea 1.12 now with webkit2

Some minutes ago I'v added Leiaz extensive change for switching to Webkit2. This is great news because for quite some time Webkit1 has not seen any security updates anymore and many applications still on Webkit1 expose there users to quite some risk.

Liferea trick #9: skimming through the headlines

I’m not sure about how many users are aware of the feature, but I’m certain it is worth to know about as it saves a lot of clicking and pointing with the mouse. If you are a keyboard user it’s worth knowing about the hotkey to skim through headlines.

Liferea trick #6: website scraping

Not every interesting website provides a feed. Some feeds are broken. And some websites do provide summaries only or no content at all. Besides asking the owner of the website to add a feed or provide more details the only choice left might be to “scrape” the website content.

Liferea trick #5: privacy with a socks proxy

Starting with Liferea 1.10 you can use a SOCKS proxy. This is possible because Liferea uses the libproxy support provided by the libsoup networking library since 1.10.

What is a SOCKS Proxy?

SOCKS stands for “socket secure” it simply means to use an encrypted connection for whatever you do. Configuring a SOCKS proxy in your desktop environment means that you want all applications to do internet access via an encrypted connection to a safe server you have access to.

Why Use a SOCKS Proxy for Feed Reading?

Well, this of course is useful if you are in an environment were you do not want others to see what you are reading. Be it political blogs or private but unencrypted feeds. Also you simply might not want for your employer to know what servers you are polling news feeds from anyway. There are many good and bad reasons.

How To Use SOCKS Proxy with Liferea and GNOME?

First please note that Liferea supports using a SOCKS proxy only via the GNOME network preferences. Actually it relies on libsoup using the SOCKS settings from there.

Requirements

  1. Liferea 1.10+ with GNOME desktop
  2. You have a private server to use as a proxy
  3. You can connect via SSH to this server

Step 1: Connecting the SOCKS Proxy

There are many ways to do this and many online tutorials. The easiest way is to use SSH like this

ssh -D 8080 <user>@<private server>

Step 2: Client Proxy Configuration

So the first thing to do is to configure Liferea to use the GNOME network settings:

Ensure to set the preferences to proxy auto-detect as shown in the screenshot above. Next go to the GNOME preferences and configure a SOCKS proxy on “localhost” and port “8080” or whatever port you used when you ran the SSH command.

That’s it! Try to update feeds in Liferea and watch out for errors in the status line.

What About Older Liferea Versions?

If you are running an older version of Liferea have a look at this post about a SOCKS proxy workaround using the tool redsocks.

Recent Liferea Tricks

Liferea trick #4: full screen mode

Are you using a smaller laptop and have not much screen real estate? Then wether it is a mail client or web browser or news aggregator using it in full screen mode gets you more content visible. Less space is wasted for menu elements and window decoration.

Liferea trick #10: custom css for article rendering

Liferea renders articles as HTML content using Webkit (the Safari rendering engine) with colors adapted to the active GTK theme in a somewhat neutral and mail like style. If you dislike it you might want to change aspects of the CSS used to render the articles.

How to use liferea with pocket

Github ticket #199 is a feature request for Pocket integration for Liferea. Pocket is now more widely used due to the tight integration in Firefox. So as a Firefox user you might have an account that you might want to reuse for Liferea.

Liferea 1.10.18 released

This is a maintenance release that brings the following changes.

ChangeLog

    * Fixes #287: media:content support broken
      (patch by Leiaz)
    * Fixes #279: Rules not visible in searchdialog
      (patch by Leiaz)
    * Fixes #83: Segfault when sorting feeds in folder
      (patch by Leiaz)
    * Fixes #302: Broken compilation with --disable-notify
      (reported by vostorga)

Why doesnt liferea start anymore

Since many distributions switched to newer desktops like GNOME shell or Ubuntu Unity that do not feature system tray areas, where application tray icons can be shown, there are many user reports that Liferea seemingly doesn't start anymore.

Liferea 1.10.17 released

This is a maintenance release fixing the following issues

ChangeLog

    * Fixes Github #194: Add source dialog visually broken
      (reported by k0377)
    * Fixes Github #195: Out-dated documentation on enclosure download
      (reported by brian-in-crawford)
    * Fixes Github #223: Search folder dialog don't show rules
      (reported by Guido Masella)
    * Fixes Github #227: Preference dialog fails to load with latest
      GtkBuilder (patch by Yanko Kaneti)
    * Fixes Github #234: Segmentation fault upon attempting to add an OPML
      (reported by GreenLunar)
    * Fixes compilation error when there is no libnotify
    * Added debugging for #258: Dialog loading issues
      (patch by glitsj16)

Liferea 1.11.6 released

This is a new release in the unstable line. It introduced "Do Not Track" support and fixed several bugs. The DnT setting can be found in the preferences dialog new tab "Privacy":

Liferea code quality

A while ago I took the time to register with Coverity, which if you do not know is a company specialized in scanning C source code for problems, and scan the Liferea code base.

Liferea 1.11.5 released

This unstable release introduces full screen support for videos, brings performance improvements compared to 1.11.4 and fixes some bugs. Last but not least there is an update to the Russian translation.

Liferea 1.10.16 released

This is a maintenance release fixing the following issues

ChangeLog

    * Fixes Github #180: Removing item from (v)folder marks all read
      (reported by GreenLunar)
    * Fixes Github #140, #158: Vertical pane placement is forgotten.
      (patch by foresto)
    * Fixes Github #182: Missing config.h include in date.c
      (reported by Paul Gevers)

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.10.16

Liferea 1.10.15 released

This is a new maintenance release for the 1.10 line. Please upgrade if you use Firefox!

ChangeLog

> * Fixes launching URLs in Firefox 36+ (reported by Geoffrey Leach) * Fixes Github #30: Segfault after updating from 1.8 to 1.10 (reported by vakuum) * Improves Github #36, #113: UI lock up during refresh (suggested by mozbugbox)

Liferea 1.11.4 released

This unstable release focuses on bug fixes. There is an UI change significantly simplifying the handling of external browsers. Finally it provides several translation updates. Give 1.11.4 a try and send feedback to the mailing list [email protected]!

ChangeLog

> * Fixes Github #154: Crashes while starting (corrupt icon) (reported by jcamposz) * Github #149: Fixes a random crash on startup (patch by mozbugbox) * Fixes Github #79: RTL ordering of Back/Forward icons (reported by GreenLunar) * Fixes Github #30: Segfault after updating from 1.8 to 1.10 (reported by vakuum) * Fixes Github #87: URL resolving wrong if base tag involved (reported by DanMan, fixed by mozbugbox) * Fixes all defects reported by Coverity scan * Simplied external browser handling. Now Liferea only supports the gtk_show_uri() launch mechanism for the system default browser and a user specified browser command.

Tinytinyrss categories support finished

git master now has TinyTinyRSS categories (hierarchic folders) enabled. It will automatically reorganize your subscriptions into the folders. Please help testing git master with this feature!

Tinytinyrss api compatibility restored

Syncing Liferea against the TinyTinyRSS news aggregator broke with the release of version 0.6 of TinyTinyRSS because of API cleanups. Thanks to a patch from Sebastian Noel it is now possible to sync to all version from TinyTinyRSS 1.5.3 to most recent 1.6.2. The fix was released with Liferea 1.8.12. Please upgrade!

Theoldreader sync implemented

I originally intended to make AOL Reader work, but failed due to the undocumented and propably not yet published authentication API. I'll ask AOL about it, but if anyone knows please drop me a mail. So I could not work on AOL Reader, so I choose to work on TheOldReader (http://theoldreader.com) which I found very pleasant and stable. The API is close to Google Reader with the only limitation that it sometimes only has JSON support and no XML. As we use JSON already for TinyTinyRSS synching I could build on existing code. So git master now has working experimental TheOldReader support! This will be released soon with the initial 1.10 release. So Liferea now has the following online synchronization support:
NameStatusImport Google Reader
Google ReaderDeprecated%
TinyTinyRSSImplemented, StableNo
TheOldReaderImplemented, ExperimentalNo
AOL ReaderPlanned, API not completeYes
Digg ReaderPlanned, API not publicYes
NewsBlurNot Planned, API too differentYes
FeedlyI registered Liferea as interested ClientYes
On the long term I'd like to support to new Google Reader clones to give Liferea users some choice along with TinyTinyRSS for the self-hosting choice.

Theoldreader categories support in liferea git master

Git master now features categories support when subscribing to theoldreader.com accounts. As TheOldReader allows only level of folders nested folders are not possible. Still this allows to organize the feeds neatly. If you already have a subscription don't worry your feeds will be automatically reorganized without loosing any items. The TheOldReader category support will be first included in release 1.11.0

Save tarball space with "make dist Xz"

I read about Ubuntu considering it for 13.04 and I think compressing with XZ really makes a difference. When creating a tarball for Liferea 1.9.6 the following compression ratios can be achieved:
CompressionSizeExtract Tarball With
uncompressed8,0MB
make dist1,88MBtar zxf ...
make dist-bzip21,35MBtar jxf ...
make dist-zlma1,16MBtar Jxf ...
make dist-xz1,14MBtar Jxf ...
XZ as well as zlma is supported by automake starting with version 1.12. Also check here for an in-depth speed and efficiency comparison of the Linux compression zoo.

Save your google reader data with liferea!

If you were using Google Reader synchronization with Liferea do not delete your subscription! Instead convert it to local subscriptions and keep all your item history. To do so choose the option "Convert To Local Subscriptions" from the feed list context menu: Screenshot on converting Google Reader subscription I hope this feature helps everyone who cares about the item history he has from his synchronized Google Reader subscriptions. Two Important Notes
  1. This feature will be included starting with release 1.8.15 and 1.10-RC4. Don't worry you can migrate all data even after Google Reader shuts down as all data is kept locally in the Liferea sqlite database. Just do not delete the Google Reader subscription in the meantime.
  2. While the conversion is quite simple it is not perfect. There will be item duplication afterwards as the item id matching is not consistent. Google Reader item ids do not match the original item ids so Liferea will produce some duplicates right after converting. But only for those items overlapping at this moment. Please just mark them as read!

No more liferea tray icon in kde

With bug report SF #1118 Mike Robinson reported the tray icon not working on KUbuntu. Quote:
I'm using version 1.8.10 on Kubuntu and the "Integrate with the 
messaging menu" doesn't cause the program to appear in the KDE 
system tray. When I click to close the application, I can see that it 
is still running in the background, and when I try to re-open it, it 
immediately pops up the window. I would assume that it is trying to 
integrate itself into a non-existent Gnome system tray instead of 
playing nice with KDE. I feel having this is essential to KDE users.
And he is right, as reported in other locations too (e.g. Redhat ticket #716358) it turns out that using GtkStatusIcon (the long needed EggTrayIcon replacement introduced in GTK+ 2.10) breaks the tray icon in KDE. As explained in the Redhat ticket Ubuntu and KDE boldly went ahead an implemented a new XEmbed specification, while GNOME/GTK (and GtkStatusIcon used by Liferea) stayed with the old. While KDE tries to be backwards compatible it still fail with sizing issues. This is known for many different applications with tray icons. For Liferea we intentionally leave all the complexity to the GtkTrayIcon widget implementation by GTK. There is no other portable way to do it right in GTK+ AFAIK. And yes, effectively this means you cannot use the tray icon with recent KDE versions. For Ubuntu itself Liferea has libindicate support solving the issue there.

New unstable branch for liferea 1.11: support for inoreader and reedah

Yesterday I started a new 1.11 release branch in git. And my first goal is to introduce working support for the two free online aggregatorsBoth have a Google Reader like JSON API, so code reusage is possible. The challenge at the moment is to have as much shared code as possible while still covering the differences. And each time your hear someone claim this or that online service is Google Reader API compatible ask: which the Google Reader Atom API or the JSON API. Actually every combination: pure JSON, mixed Atom/JSON and Atom APIs are out there. And noone is encoding a simple thing like the read state of an item the same way. What usually is the same like back with Google Reader are the names of the API endpoints :-) Still normalizing all the APIs is a challenge itself, which is why I'm working on it. If at the end Liferea users will have a choice I'll be happy. If you are using either of those two InoReader or Reedah please leave a short note in the comments! Both readers were requested in comments to earlier post and it helps decisions a lot to know what everyone is using!

Missing tray icon on ubuntu Derived distributions

If you are a MATE desktop user using a Liferea 1.10.xx package installed from the official package repositories of your Linux distribution and since the switch from 1.8.xx the trayicon went missing then the reason is very probably that you are using a package build by Ubuntu for the Unity desktop that strips the trayicon support. You can verify wether this is the case in the "Preferences" dialog which should look like this If the trayicon option is not visible than the package doesn't support a trayicon. This is known to be the case for at least Mint17.

Liferea synching to feedly, aol reader and digg reader?

After Digg going live recently there are now three major free news aggregators available. With two of them you can register. Today I migrated my old Google subscriptions to both Feedly and Digg Reader to have test accounts in case they open up their APIs. In the case of Feedly I did submit the developer registration, let's see if they find the Liferea user base large enough to respond. If you want to continue using a web-based aggregator you should migrate now to either Feedly or Digg Reader. Personally Digg feels a bit more like honest community than Feedly. But this probably doesn't mean much.

State of Feedly

http://feedly.com Being the first to deliver the live migration Feedly gives you instant access, but no API. I guess they want to work only with some large aggregators.

State of Digg

http://digg.com/reader Sadly Digg has post-poned the publication of their API for now. Meanwhile th import and the aggregator itself works fine. So let's hope.

State of AOL Reader

http://reader.aol.com AOL Reader has an API, but I still don't have an account or I'd have started trying to port it. It seems they do not want or cannot scale as fast as intended.

Liferea sync support status (tinytinyrss, theoldreader, feedly, aol reader, digg reader)

There is slow progress in the world of news aggregation services. Since the last post on possible sync implementations I was able to submit API access requests for AOL Reader and Feedly. There is a chance that the request for AOL Reader will be successful. The unexpected thing with AOL is that they require OAuth2 authentication which Liferea does not yet support. Still it will be possible to add it. My clear favourites are still AOL and Digg. With two 3rd party hosters and one self-hosted solution (TinyTinyRSS) Liferea would provide a reasonable set of choices.
NameAPI StatusImplementation Status
Google ReaderDeprecatedImplemented, Now Useless
TinyTinyRSSPublished.Implemented, Stable
TheOldReaderPublished.Implemented, Experimental
AOL ReaderPublishedAPI Key Requested
Digg ReaderPlanned 1)%
NewsBlurPublishedNot Planned.
FeedlySecret 2)API Access Requested
1) Digg has announced they will be implementing Google Reader API and hope is they open it up 2) Feedly has announced there will be a public API with v17

Liferea socks proxy workaround

Liferea right now doesn't support SOCKS proxies. In Debian bug #272178 David Smith hints on how to workaround this. Full quote:
Just some information for people wanting to use Liferea with SOCKS.

I'd strongly recommend that you install the package redsocks.  
I've found that this works perfectly, not only for liferea, but for 
*ALL* other applications whether they support SOCKS or not, 
to tunnel all their traffic through a SOCKS (or SSH Tunnel) server.

It is no longer necessary, today, to build SOCKS support into 
every network application, even if you *MUST* use SOCKS.   
For this reason, it's unlikely liferea will ever get SOCKS support. 
There's just no reason for it.

I've just completed testing of liferea + redsocks through a SOCK5 
connection created inside an SSH tunnel and it works just fine.  
I used the guide available here: http://dtbaker.com.au/random-bits/redirect-all-traffic-through-transparent-socks5-proxy-in-linux.html

Thanks for your time.

Liferea sf project migration > repo changes

I today performed the more or less mandatory project migration for the Liferea Sourceforge project account. While most of the changes are project site changes it also caused a change of the git repo URL! New repository checkout command is
git clone ssh://[email protected]/p/liferea/code liferea-code
Sorry for the trouble... Update: Especially bad for maintainers is that all the tracker numbers also changed... Argh...

Liferea project moved to github

Today I closed the ticket tracker at Sourceforge the last remaining project tool there. Several maintainers and users already started using the new one at Github. Please also do! If I set everything correctly the SF bugs should stay readable for everyone. You just cannot edit them anymore. I plan to close all of them with appriopriate results. In any case if you mind please reopen at Github: https://github.com/lwindolf/liferea Moving to Github simplifies my workflow a lot (especially the auto-linking of tickets by commits with ticket id) and less time will be spend on maintaining the tickets and more on the code and the actual issues to solve. Also feel invited to make many many pull requests!

Liferea distro watch

Distribution adoption is slow as always, bugfixes released take time to end up at the users...
Ubuntu 13.041.8.10
Debian Wheezy1.8.6
Debian Wheezy Backports1.8.15
Debian Experimental1.10.1
OpenSuSE 12.31.8.14
Gentoo Stable1.8.8
Fedora 191.8.15
Fedora 201.10.2
FreeBSD1.8.15
Arch Linux1.10.3
1.8.15 is latest stable version of 1.8 line. So using Debian Backports, FreeBSD and Fedora 17-19 you are up-to-date. Only in Debian Experimental and Fedora 20 you get the most recent stable line.

Liferea code repo moved to github

I moved the source repo away from SourceForge away to GitHub. It is currently located here: https://github.com/lwindolf/liferea If in doubt always follow the "Code" link from the website to find the repo. Sorry, if this causes troubles for you. I'll contact all with current git write access directly to see how we can continue on github and who will be able to merge. Please keep contributing! I think with github this can actually become easier and more developers are familiar with its best practices.

Liferea bug tracker switching to github

Dear maintainers and contributing end users, I plan to switch the bug tracker from SourceForge to Github to the end of the month (31.05.2014) to further simplify the workflow of maintaining Liferea. As a benefit at Github I'll maintain milestones with due dates and assigned issues. The Github bug tracker is already in use by some users. Feel free to use it right now.

Nothing Gets Lost!

I won't ignore the old tickets, they will just become invisible. I promise to process all important SF tickets. I believe you will still get mail notifications on state changes. For the maintainers: if you still need to access the tickets I we can find a solution (admin user role...). I know this pains you guys probably the most and don't want to mess up your valuable work more than absolutely necessary. If you are in any doubt please drop a short mail on the mailing list or just recreate all the tickets at Github: https://github.com/lwindolf/liferea/issues?milestone=2&state=open

The Future

I plan to entirely stop using the Sourceforge tools in favour of Github. Sourceforge is just not very useable. Code formatting looks funny all the time. One needs to edit tickets to change state. Also the commit correlation with tickets in Github is just a killer feature for me. For the future I also hope to invite more contributions via Github forking and merging. By also switching more code to Python plugins I can imagine some more users crossing the barrier, that coding in C is, and contribute.

Liferea 1.9.7 released

This release introduces a new preference to set the default viewing mode (email, wide or 2pane), adds Google Chrome as supported browser preference and brings an overhaul of the search folder implementation to fix counting and rebuilding issues. Grab the newest release from the homepage!

Liferea 1.9.6 released

Fixes mass downloading enclosures. Introduces support for downloading using the steadyflow download manager. Removes support for curl/wget. Improves spacing of browser tab buttons. Prevent DnD problems with Google Reader. Download the recent Liferea source from: liferea.sf.net

Liferea 1.8.16 and 1.10.5 released

Today saw the release of 1.8.16 and 1.10.5. While 1.8.16 provides only a notification fix, 1.10.5 has those bug fixes:
* Fixes #1056, #1089, #1098: Honor preferences when opening links
  (patch by Daniel Seither)
* Fixes SF #1096: missing installation of liferea.convert file
  (reported by stqn) 
* Fixes Redhat #947358: popup notification only for new items
  (patch by Fabrice Bellet)

Changes in Release Notifications

Please note that starting now releases will be published on Github and the Sourceforge "News" feed is not in use anymore. Please unsubscribe this feed and subscribe to either

Download Releases

Liferea 1.8.15 released

This is a maintenance release fixing some bugs. It also introduces a backport of the Google Reader migration feature introduced in 1.10. This allows you to convert you Google Reader subscription to local Liferea subscription keeping all items downloaded so far. Note: This migration will also work after Google Reader shutting down, as Liferea keeps a local cache of the Google Reader items. Please upgrade to this release if you are/were using Google Reader and click "Convert to Local Subscriptions" from the context menu of the subscription list to migrate your Google data. Read more in this recent blog post. Changes:
* Added an option to convert Google Reader subscriptions
  to local feeds (Lars Windolf)
* Fixes SF #1080: segfault opening attachment due to incorrect g_free()
  (reported by Adam Nielsen)
* Fixes SF #1075: GLib warnings of "string != NULL" assertion failure
  (reported by Simon Kågedal Reimer)
* Fixes search folders including comment items
  (reported by David Willmore)
Download the newest code from the project homepage!

Liferea 1.8.14 and 1.10 Rc3 released

Following the previous releases this new stable and unstable release fix a problem with the TinyTinyRSS support which caused broken headline rendering. Please upgrade if you use TinyTinyRSS!

Liferea 1.8.12 released

This is a new maintenance release of the 1.8 branch. This release makes Liferea compatible to the changes in the TinyTinyRSS 1.6 API. If you are using TinyTinyRSS please upgrade! Here are the changes:
* Fixes SF #1041: Some GPLv2 license headers were outdated
  (reported by Emmanuel Seyman)
* Fixes SF #1044: tt-rss API changed (we now support only 1.6 API)
  (patch by Sebastian Noel)
* Fixes XHTML errors caused by extra tags from tt-rss
* Update of German translation
Grab the newest release from http://lzone.de/liferea/.

Liferea 1.8.11 released

This is a new bugfix release. It fixes a problem with the browser preferences and a Google Reader notification issue. It removed feedvalidator.org support because of a malware alert. Finally it provides an Hebrew and German translation update. Please upgrade! Grab the newest release from http://lzone.de/liferea/. The detailed changes:
        Version 1.8.11

        Please note that due to the SourceForge upgrade bug ticket numbering
        did change. This might be confusing... Old numbers are 7 figures, 
        newer ones only 4!

        * Added Google Plus to social bookmarking options.
        * Fix for Debian #668197: x-www-browser preference not working
          (David Smith)
        * Updated Hebrew translation (Genghis Khan, Yaron Sheffer)
        * Fixes SF #1037: Incorrect notifications for Google Reader 
          (patch by David Smith)
        * Fixes SF #1048: Removed all feedvalidator.org references from FAQ 
          and XSLT as it was reported to host malware.
          (reported by bkat)

Liferea 1.11.3 released

There is a new release for the unstable line: Liferea 1.11.3. This release fixes several issues and introduces an improvement of the rendering of the 3 pane "Wide View" mode to save screen space on 16x9 screens. This is intended to improve usability in full screen mode on desktops and tablets. This release also introduces folder (categories) support for TheOldReader subscriptions. Here is a screenshot of the changed "Wide View" mode Give 1.11.3 a try and send feedback to the mailing list [email protected]!

ChangeLog

    * Fixes Github #134: Broken default news feed.
      (reported by pvdl)
    * Fixes Github #133: Subscribe into TheOldReader categories
    * Fixes Github #122: Crashes at launch, "segmentation fault"
      (reported by geoffm)
    * Fixes some memory leaks
      (patch by Rich Coe)
    * Fixes Github #145: Incorrect method triggered for 'Launch External'
      (patch by mozbugbox)
    * Fixes Github #48: Window stays hidden on next start after Ctrl+W
      (reported by Jeff Fortin)
    * Expose LifereaHtmlView to GObject Introspection
      (patch by mozbugbox)
    * Improves Google Reader API error handling
    * Now using HTTPS only when accessing TheOldReader
    * Added LifereaNodeSourceActivatable interface to allow plugins
      implementing new node source types.
    * Downgrade enclosure drop warning from Glib warning to debug trace.

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.11.3

Liferea 1.11.1 released

There is a new maintenance release for the unstable line: Liferea 1.11.1 with the following changes:
    * Fixes Github #81: Inability to add subscriptions
      (reported by GreenLunar)
    * Fixes Javascript links not opening in new browser tabs

    * Updated Hebrew translation (Genghis Khan)
    * Fixes Github #88: Minor DE translation mistake (moraxy)

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.11.1

Liferea 1.11.0 new unstable line

This is the first release of the new unstable release line. This release line focusses on code maintainability and this sometimes means removing features (like the very desktop environment dependant tray icon and popup notification features). On the other hand it extends support for online accounts with support for InoReader and Reedah. It also introduces label (folder) support for TinyTinyRSS subscriptions.

Change Details

    * Added experimental InoReader support
    * Added experimental Reedah support

    * Fixes SF #1123: Mistakenly claims "TinyTinyRSS source is not self-updating"
      (reported by Dominik Grafenhoher)
    * Fixes SF #1119: Crash on font resize at startup.
      (reported by David Smith)
    * Fixes #1056, #1089, #1098: Honor preferences when opening links
      (patch by Daniel Seither)
    * Fixes #1117: Selecting last unread item in reduced feed list jumps to next feed
      (reported by Bruce Guenter)
    * Fixes missing "Via" metadata type
      (patch by Rich Coe)
    * Fixes incorrect new count reset handling in item_state.c and 
      some of the node source implementations.
    * Fixes SF #1096: missing installation of liferea.convert file
      (reported by stqn) 
    * Fixes SF #1135: liferea-add-feed doesn't process feed:https//
      (patch by Kevin Walke)
    * Fixes SF #1137, #1142: startup race with LifereaHtmlView
      (reported by Yanko Kaneti)
    * Fixes Github #13: Parsing errors not visible with dark themes
      (reported by Steve Kelly)
    * Fixes Github #29: Do not use bold text for feeds/folders with unread items
      in the leftmost treeview (repored by Jeff Fortin)
    * Fixes SF #1141: Liferea does not update feeds with TinyTinyRSS
      (reported by Dominik Grafenhofer, denk_mal, Fabian Henze)
    * Fixes SF #1150: subscription prop/source: not all fields and
      buttons visible (reported by David Smith)
    * Fixes Github #26: RTL comments appear incorrectly
      (reported by yaconf)
    * Fixes Github #27: Images do not autosize to fit the available space
      (reported by Jeff Fortin)
    * Fixes Github #34: Add TinyTinyRSS Enclosure Support
      (reported by Adrixan)
    * Fixes Github #43: "Any of the following" search condition doesn't work
      (reported by Jeff Fortin)
    * Fixes Github #49: Some dialogs scrolling areas do not request enough height
      (reported by Jeff Fortin)
    * Fixes Github #53: Doesn't automatically update feed name and favicon
      for new feed (reported by asl97)
    * Patch SF #224: Update to new libxml2 buffer API
      (Simon Kagedal Reimer)
    * Patch SF #209: Avoid copying list in itemset_merge_items
      (kaloyan)
    * Make Liferea use ETags and send If-None-Match
      (patch by Chris Siebenmann)
    * Support NOCONFIGURE for RPM builds
      (Charles A Edwards)

    * Rename README to README.md
    * Removing libindicate support (to be added as plugin maybe)
    * Removing libnotify support (to be added as plugin maybe)
    * Removing build in tray icon support
    * Added tray icon plugin
    * Added category/folder support for TheOldReader
    * Added folder auto-removal for TinyTinyRSS & TheOldReader

    * Updated README on plugin contribution
    * Updated Arabic translation (Khaled Hosny)
Finally please note that this is an unstable release and might have quite some bugs. So please help testing!

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.11.0

Liferea 1.10.9 released

Today sees another maintenance release for 1.10. This release addresses TinyTinyRSS updating issues. If you are affected please upgrade and give feedback if it helped!
    * Fixes Github #19: non void function should return value
      (reported by kwm81)
    * Fixes SF #1141: Liferea does not update feeds with TinyTinyRSS
      (reported by Dominik Grafenhofer, denk_mal, Fabian Henze)
    * Fixes SF #1150: subscription prop/source: not all fields and
      buttons visible (reported by David Smith)

Download Liferea 1.10.9

https://github.com/lwindolf/liferea/releases/download/v1.10.9/liferea-1.10.9.tar.bz2

Liferea 1.10.8 released

Today sees another maintenance release for 1.10. This release tries to address the startup crashes some users experience. If you are affected please upgrade and give feedback if it helped!
* Fixes Github #13: Parsing errors not visible with dark themes
  (reported by Steve Kelly)
* Fixes SF #1137, #1142: startup race with LifereaHtmlView
  (reported by Yanko Kaneti)

Download Liferea 1.10.8

https://github.com/lwindolf/liferea/releases/download/v1.10.8/liferea-1.10.8.tar.bz2

Liferea 1.10.4 released

Liferea 1.10.4 was released. This is a bugfix release with the following changes. Please upgrade!
* Fixes SF #1123: Mistakenly claims "TinyTinyRSS source is not self-updating"
  (reported by Dominik Grafenhoher)
* Fixes SF #1119: Crash on font resize at startup.
  (reported by David Smith)
* Fixes #1117: Selecting last unread item in reduced feed list jumps to next feed
  (reported by Bruce Guenter)

* Updated Arabic translation (Khaled Hosny)

Liferea 1.10.3 released: support for tinytinyrss categories

This release improves the TinyTinyRSS support: now Liferea supports nested categories when subscribed to TinyTinyRSS! Grab the new release from SourceForge and try it. It should seamlessly display your categories once you start 1.10.3 The detailed changes:
* Asking for credentials again if TinyTinyRSS login fails
* Asking for TinyTinyRSS credentials only 3 times
* Checking wether TinyTinyRSS base URL is lost
* Added warning on TinyTinyRSS login when source is not self-updating
* "--debug-net --debug-verbose" now traces POST data
* Patch #230 Add GNOME AppData XML (Mikel Olasagasti)

* Updated Italian translation (Gianvito Cavasoli)
* Updated Italian localized feed list (Gianvito Cavasoli)

Liferea 1.10.2 released

This is a bugfix release fixing tray icon minimizing. It also adds seeking to the media player. Please upgrade. The Changes:
* Patch SF #222: Make media player seekable
  (Simon Kågedal Reimer)
* Fixes SF #1102: Spelling error in man page
  (David Smith)
* Fixes SF #1104: liferea.desktop missing keywords
  (David Smith)
* Fixes SF #1105: Start Minimized to Tray Does Not Work
  (reported by bitlord)
* Fixes SF #1114: Crashes opening browser on item without link via popup
  (reported by Rich Coe, David Smith)
* Improved handling of broken Atom author information.
  (Lars Windolf)
* Removed dead Google Reader code to avoid doing requests to Google.
  Replaced with dummy source that even allows normal feed updates.
  (Lars Windolf)
* Added hint to FAQ on how to workaround broken Flash support
  (Lars Windolf)
* Dumping feedlist.opml with indentation for readability.
  (suggested by Christoph Temmel and Simon Kågedal Reimer)

Liferea 1.10.14 released

There is a new maintenance release for the 1.10 line. It tries to fix startup crashes reported by several users and fixes a bug with launching links in the external browser. Please upgrade!

ChangeLog

    * Fixes Github #134: Broken default news feed.
      (reported by pvdl)
    * Fixes Github #133: Subscribe into TheOldReader categories
    * Fixes Github #122: Crashes at launch, "segmentation fault"
      (reported by geoffm)
    * Fixes some memory leaks
      (patch by Rich Coe)
    * Fixes Github #145: Incorrect method triggered for 'Launch External'
      (patch by mozbugbox)
    * Fixes Github #48: Window stays hidden on next start after Ctrl+W
      (reported by Jeff Fortin)
    * Expose LifereaHtmlView to GObject Introspection
      (patch by mozbugbox)
    * Improves Google Reader API error handling
    * Now using HTTPS only when accessing TheOldReader
    * Added LifereaNodeSourceActivatable interface to allow plugins
      implementing new node source types.
    * Downgrade enclosure drop warning from Glib warning to debug trace.

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.10.14

Liferea 1.10.12 released

This is a new maintenance release. The Changes:
	* Fixes Github #86: Support HTTP content negotiation
	  (suggested by DanMan)
	* Fixes Github #98:  Stop calling Atom person constructs w/ URI invalid
	  (patch by Aristotle Pagaltzis)
	* Fixes Github #100: Problems with dark Adwaita theme in GTK 3.14
	  (reported by majutsushi)

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.10.12

Liferea 1.10.11 released

This is a new maintenance release. The Changes:
    * Fixes Github #53: Doesn't automatically update feed name and favicon
      for new feed (reported by asl97)
    * Fixes Github #67: Missing dist files for documentation
      (patch by Mikel Olasagasti)
    * Fixes Javascript links not opening in new browser tabs

    * Updated French translation (Guillaume Bernard)
    * Updated Hebrew translation (Genghis Khan)

Download

You can download the release on Github: https://github.com/lwindolf/liferea/releases/tag/v1.10.11

Liferea 1.10 Rc4 released

There is a new release candidate for 1.10 with several bug fix contributions. It also introduces a feature to convert Google Reader subscriptions to local feeds to allow everyone to keep their item history. Read more about it in the previous blog post! The Changes:
* Added an option to convert Google Reader subscriptions
  to local feeds (Lars Windolf)
* Fixes SF #1080: segfault opening attachment due to incorrect g_free()
  (reported by Adam Nielsen)
* Fixes SF #1075: GLib warnings of "string != NULL" assertion failure
  (reported by Simon Kågedal Reimer)
* Fixes missing shading in 2-pane mode rendering
  (reported by Zoho Vignochi)
* Fixes search folders including comment items
  (reported by David Willmore)
A corresponding maintenance release for 1.8 will follow!

Liferea 1.10 not starting in fedora 1819

Several users reporting startup problems of a self-compiled 1.10 in Fedora (SF bug #1093):
(liferea:3798): GLib-GIO-ERROR **: Settings schema 'net.sf.liferea' does not contain a key named 'last-node-selected'
Trace/breakpoint trap
As you can see from the error message Liferea doesn't start because a dconf schema key is not known. A solution was suggested by nmdias: if you experience this problem please try to run
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
to properly install the schema.

Liferea 1.10 and firefox 34 as external browser

Today I learned that newest Firefox release 34 drops some Mozilla legacy command line options that Liferea used for a long time to open links in a Firefox tab or window. When you upgrade to Firefox 34 opening links might suddenly stop to work, because Liferea uses the wrong launch command.

Workarounds

Here are 2 simple workaround alternatives. For both you need to open the "Browser" tab in the preferences dialog (via menu /Tools/Preferences):
  1. Either simply choose "GNOME Default Browser".
  2. Or choose "Manual" and set command to
    firefox %s
Screenshot of the browser settings tab:

Liferea 1.10 schema crash on fedora 1819

In case you want to self-compile Liferea 1.10 on Fedora and you find it crashing on startup with something like this
(liferea:3798): GLib-GIO-ERROR **: Settings schema 'net.sf.liferea' 
does not contain a key named 'last-node-selected'
please run
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
It seems like the schema installation doesn't work properly on Fedora. This was reported and solved by nmdias in ticket SF #1093.

Liferea 1.10 gnomekeyring issue

If you are using 1.10 with the GnomeKeyring plugin, which will be automatically activated in GNOME environments, you might run into a strange bug (see SF #1099). It appears that the keyring "liferea" created by the plugin can become "stale" - it just doesn't work anymore. At the moment I have no idea what triggers this and what is exactly the problem. If this happens Liferea cannot store passwords into the keyring anymore and you get password prompts all the time. Workaround: Delete the "liferea" keyring from GnomeKeyring using the "seahorse" keyring editor. Ensure you have installed "seahorse" and launch it from the command line
seahorse
and delete the keyring as shown in the screenshot:

Improved unread counters

For the 1.10 I decided to change the unread counters in the subscription list tree view. Until now the number of unread items was displayed in braces right behind the feed title in addition to the feed title displayed in bold font weight.

Before

Here is how it is looking in the releases so far: Old Unread Counter Rendering There is a serious disadvantage that you only notice if you do not have much screen space. Imagine a netbook for example. There the subscription titles will be truncated as you won't spend much space on the left pane. And the first victim of the ellipsizing is the unread counter. But out of the three visual elements: favicon, subscription title and unread counter, only two are important. The favicon allows you to easily find the feed, and the only real information is the unread counter.

After

So have a look at this screenshot, especially the "tagesschau" subscription: New Unread Counter Rendering Actually a lot of applications especially in the Mac world do this already and I think Liferea also benefits. I'm aware that the change is a bit visually disturbing and I hope most users will still like it. I'm looking forward to your feedback! PS: Round borders on the number background is sadly not possible with GtkCellRendererText.

Help needed: high contrast icon

Today Obsidien created ticket #148 about support for the GNOME high contrast icon theme. Icons in this theme look like this: (screenshot taken from GNOME Wiki) As I'm not an artist in any way I want to ask you readers for your help! So if you are a graphics artist and have some spare time why not gift an high contrast icon for Liferea! If you are interested leave a note in the ticket.

Further improving the liferea music player plugin

Yesterday I found time to improve the music player plugin. It now provides a slider showing the playing progress and the time position in the track. The plugin is written in Python and uses GStreamer. So far I tested with GStreamer 0.10. The plugin is currently missing seeking and GStreamer 0.11 testing. I'm wondering if some reader would like to apply his Python skills and improve the player further? Check out the so far simple script: media-player.py

First liferea 1.10 release candidate!

Today sees the first release candidate for the new 1.10 series. Compared to the previous unstable release 1.9.7 it now provides a clean migration to GSettings, fixed support for TinyTinyRSS 1.6 and an improved player plugin. Please help testing this release to get out 1.10! The detailed changes:
    * Patch SF #3407290: Migrate to GSettings
      (by Mikel Olasagasti)
    * Patch SF #3579177: Change .desktop category to News;Feed;
      (by Stanislav Brabec)
    * Fix for Debian #668197: x-www-browser preference not working
      (David Smith)
    * Added slider and time display to media player plugin.
    * Added Google Plus to social bookmarking options.
    * Removing deprecated g_thread_init() call
    * Auto-enable plugins on migration
    * Added missing -a option to manpage
    * Updated manpage to reflect XDG path migration
    * Changing GSettings path from /apps/liferea to /org/gnome/liferea
    * Changes default download thread concurrency from 2 to 3
    * Fixes regression about using the GNOME default font
    * Improves all item/link launching menus to consistently provide
      three options: Tab, Browser and External Browser
    * Fixes SF #1037: Incorrect notifications for Google Reader
      (patch by David Smith)
    * Fixes SF #1048: Removed all feedvalidator.org references from FAQ
      and XSLT as it was reported to host malware.
      (reported by bkat)
    * Fixes SF #1041: Some GPLv2 license headers were outdated
      (reported by Emmanuel Seyman)
    * Fixes SF #1044: tt-rss API changed (we now support only 1.6 API)
      (patch by Sebastian Noel)
    * Fixes assertion when creating new tt-rss subscriptions
    * Fixes XHTML errors caused by extra tags returned by tt-rss
    * Fixes missing item list update when browsing item URLs in Liferea 

Feedly support for liferea

A few days ago Feedly sent sandbox accounts around to developers that registered to be interested in the API. I intend to try to implement it and if everything works well to request a production API token. Stay tuned! Meanwhile I'm working on adding Tiny Tiny RSS API v1.7.6 based features: subscribing and unsubscribing feeds from within Liferea.

Don't use the feedvalidator.org link anymore!

Current Liferea versions up to 1.8.11 do provide a link to feedvalidator.org upon feed parsing errors. The idea is for end-users to be able to verify correctness/well-formedness of the feed formats as provided by different websites/blogs. While Sam Ruby's feedvalidator.org (from my point of view) did always provide a correct analysis of the feeds it was recently reported to deliver malware. It might be that the malware detection by Google is bogus (see current Google report showing 5 malicious pages on 29.12.2012), but to eliminate this error class altogether I decided to drop the link. Until you upgrade to a newer version of Liferea: Please do not use the feed validation link!

Work on 1.8

Just a short note on what we are doing for 1.8. Right now we try to reduce startup time by killing costly cleanup stuff done on startup by cleaning up the DB schema and we are also thinking about a good way to periodically vacuum the database on startup. The problem there is to find a good interval and to avoid doing it too often as it costs time even if the DB is in a 100% clean state.

Why auto-VACUUM is no good...

During the various performance discussions during the last time here and there people suggested to run “VACUUM” on the Liferea database once it gets slow. This is in line with the sqlite documentation which says:

How to run VACUUM

As explained in the last post I see no way to automatically run the “VACUUM” command of sqlite which more or less defragments the DB structure. Nonetheless for everyone who wants to run it manually here is how to do it: