Reader

Latest version: v3.17

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 14

1.3

-----------

Released 2020-06-23

* If a feed failed to update, provide details about the error
in :attr:`Feed.last_exception`. (:issue:`68`)
* Show details about feed update errors in the web application. (:issue:`68`)
* Expose the :attr:`~Feed.added` and :attr:`~Feed.last_updated` Feed attributes.
* Expose the :attr:`~Entry.last_updated` Entry attribute.
* Raise :exc:`ParseError` / log during update if an entry has no id,
instead of unconditionally raising :exc:`AttributeError`. (:issue:`170`)
* Fall back to <link> as entry id if an entry in an RSS feed has no <guid>;
previously, feeds like this would fail on update. (:issue:`170`)
* Minor web application improvements (show feed added/updated date).
* In the web application, handle previewing an invalid feed nicely
instead of returning an HTTP 500 Internal Server Error. (:issue:`172`)
* Internal API changes to support multiple storage implementations
in the future. (:issue:`168`)

1.2

-----------

Released 2020-05-18

* Minor web application improvements.
* Remove unneeded additional query in methods that use pagination
(for n = len(result) / page size, always do n queries instead n+1).
:meth:`~Reader.get_entries` and :meth:`~Reader.search_entries` are now
33–7% and 46–36% faster, respectively, for results of size 32–256.
(:issue:`166`)
* All queries are now chunked/paginated to avoid locking the SQLite storage
for too long, decreasing the chance of concurrent queries timing out;
the problem was most visible during :meth:`~Reader.update_search`.
This should cap memory usage for methods returning an iterable
that were not paginated before;
previously the whole result set would be read before returning it.
(:issue:`167`)

1.1

-----------

Released 2020-05-08

* Add ``sort`` argument to :meth:`~Reader.get_entries`.
Allow sorting entries randomly in addition to the default
most-recent-first order. (:issue:`105`)
* Allow changing the entry sort order in the web application. (:issue:`105`)
* Use a query builder instead of appending strings manually
for the more complicated queries in search and storage. (:issue:`123`)
* Make searching entries faster by filtering them *before* searching;
e.g. if 1/5 of the entries are read, searching only read entries
is now ~5x faster. (enabled by :issue:`123`)

1.0.1

-------------

Released 2020-04-30

* Fix bug introduced in `0.20 <Version 0.20_>`_ causing
:meth:`~Reader.update_feeds()` to silently stop updating
the remaining feeds after a feed failed. (:issue:`164`)

1.0

-----------

Released 2020-04-28

* Make all private submodules explicitly private. (:issue:`156`)

.. note::
All direct imports from :mod:`reader` continue to work.

* The ``reader.core.*`` modules moved to ``reader.*``
(most of them prefixed by ``_``).
* The web application WSGI entry point moved from
``reader.app.wsgi:app`` to ``reader._app.wsgi:app``.
* The entry points for plugins that ship with reader moved from
``reader.plugins.*`` to ``reader._plugins.*``.

* Require at least beautifulsoup4 4.5 for the ``search`` extra
(before, the version was unspecified). (:issue:`161`)
* Rename the web application dependencies extra from ``web-app`` to ``app``.
* Fix relative link resolution and content sanitization;
sgmllib3k is now a required dependency for this reason.
(:issue:`125`, :issue:`157`)

0.22

------------

Released 2020-04-14

* Add the :attr:`Entry.feed_url` attribute. (:issue:`159`)
* Rename the :class:`EntrySearchResult` ``feed`` attribute to
:attr:`~EntrySearchResult.feed_url`.
Using ``feed`` will raise a deprecation warning in version 0.22,
and will be removed in the following version. (:issue:`159`)
* Use ``executemany()`` instead of ``execute()`` in the SQLite storage.
Makes updating feeds (excluding network calls) 5-10% faster. (:issue:`144`)
* In the web app, redirect to the feed's page after adding a feed. (:issue:`119`)
* In the web app, show highlighted search result snippets. (:issue:`122`)

Page 10 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.