Reader

Latest version: v3.12

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

Scan your dependencies

Page 9 of 13

1.4

-----------

Released 2020-07-13

* Work to reduce the likelihood of "database is locked" errors during updates
(:issue:`175`):

* Prepare entries to be added to the search index
(:meth:`~Reader.update_search`) outside transactions.
* Fix bug causing duplicate rows in the search index
when an entry changes while updating the search index.
* Update the search index only when the indexed values change (details below).
* Use SQLite WAL (details below).

* Update the search index only when the indexed values change.
Previously, any change on a feed would result in all its entries being
re-indexed, even if the feed title or the entry content didn't change.
This should reduce the :meth:`~Reader.update_search` run time significantly.
* Use SQLite's `write-ahead logging`_ to increase concurrency.
At the moment there is no way to disable WAL.
This change may be reverted in the future.
(:issue:`169`)
* Require at least click 7.0 for the ``cli`` extra.
* Do not fail for feeds with incorrectly-declared media types,
if feedparser can parse the feed;
this is similar to the current behavior for incorrectly-declared encodings.
(:issue:`171`)
* Raise :exc:`ParseError` during update for feeds feedparser can't detect
the type of, instead of silently returning an empty feed. (:issue:`171`)
* Add ``sort`` argument to :meth:`~Reader.search_entries`.
Allow sorting search results by recency in addition to relevance
(the default). (:issue:`176`)
* In the web application, display a nice error message for invalid search
queries instead of returning an HTTP 500 Internal Server Error.
* Other minor web application improvements.
* Minor CLI logging improvements.

.. _write-ahead logging: https://www.sqlite.org/wal.html

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`)

Page 9 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.