Reader

Latest version: v3.17

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

Scan your dependencies

Page 8 of 14

1.15

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

Released 2021-03-21

* Update entries whenever their content changes,
regardless of their :attr:`~Entry.updated` date.
(:issue:`179`)

Limit content-only updates (not due to an :attr:`~Entry.updated` change)
to 24 consecutive updates,
to prevent spurious updates for entries whose content changes
excessively (for example, because it includes the current time).
(:issue:`225`)

Previously, entries would be updated only if the
entry :attr:`~Entry.updated` was *newer* than the stored one.

* Fix bug causing entries that don't have :attr:`~Entry.updated`
set in the feed to not be updated if the feed is marked as stale.
Feed staleness is an internal feature used during storage migrations;
this bug could only manifest when migrating from 0.22 to 1.x.
(found during :issue:`179`)
* Minor web application improvements.
* Minor CLI improvements.

1.14

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

Released 2021-02-22

* Add the :meth:`~Reader.update_feeds_iter` method,
which yields the update status of each feed as it gets updated.
(:issue:`204`)
* Change the return type of :meth:`~Reader.update_feed`
from ``None`` to ``Optional[UpdatedFeed]``.
(:issue:`204`)
* Add the ``session_timeout`` argument to :func:`make_reader`
to set a timeout for retrieving HTTP(S) feeds.
The default (connect timeout, read timeout) is (3.05, 60) seconds;
the previous behavior was to *never time out*.
* Use ``PRAGMA user_version`` instead of a version table. (:issue:`210`)
* Use ``PRAGMA application_id`` to identify reader databases;
the id is ``0x66656564`` – ``read`` in ASCII / UTF-8. (:issue:`211`)
* Change the ``reader update`` command to show a progress bar
and update summary (with colors), instead of plain log output.
(:issue:`204`)
* Fix broken Mypy config following 0.800 release. (:issue:`213`)

1.13

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

Released 2021-01-29

* JSON Feed support. (:issue:`206`)
* Split feed retrieval from parsing;
should make it easier to add new/custom parsers.
(:issue:`206`)
* Prevent any logging output from the ``reader`` logger by default.
(:issue:`207`)
* In the ``preview_feed_list`` plugin, add ``<link rel=alternative ...>``
tags as a feed detection heuristic.
* In the ``preview_feed_list`` plugin, add ``<a>`` tags as
a *fallback* feed detection heuristic.
* In the web application, fix bug causing the entries page to crash
when counts are enabled.

1.12

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

Released 2020-12-13

* Add the ``limit`` and ``starting_after`` arguments to
:meth:`~Reader.get_feeds`, :meth:`~Reader.get_entries`,
and :meth:`~Reader.search_entries`,
allowing them to be used in a paginated fashion.
(:issue:`196`)
* Add the :attr:`~Entry.object_id` property that allows
getting the unique identifier of a data object in a uniform way.
(:issue:`196`)
* In the web application, add links to toggle feed/entry counts. (:issue:`185`)

1.11

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

Released 2020-11-28

* Allow disabling feed updates for specific feeds. (:issue:`187`)
* Add methods to get aggregated feed and entry counts. (:issue:`185`)
* In the web application:
allow disabling feed updates for a feed;
allow filtering feeds by whether they have updates enabled;
do not show feed update errors for feeds that have updates disabled.
(:issue:`187`)
* In the web application,
show feed and entry counts when ``?counts=yes`` is used.
(:issue:`185`)
* In the web application,
use YAML instead of JSON for the tags and metadata fields.

1.10

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

Released 2020-11-20

* Use indexes for :meth:`~Reader.get_entries()` (recent order);
should make calls 10-30% faster.
(:issue:`134`)
* Allow sorting :meth:`~Reader.search_entries` results randomly.
Allow sorting search results randomly in the web application.
(:issue:`200`)
* Reraise unexpected errors caused by parser bugs
instead of replacing them with an :exc:`AssertionError`.
* Add the ``sqlite_releases`` custom parser plugin.
* Refactor the HTTP feed sub-parser to allow reuse by custom parsers.
* Add a user guide, and improve other parts of the documentation.
(:issue:`194`)

Page 8 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.