Install

Works with Drupal: ^8.9 || ^9

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 1.04 MB
MD5: 3ab662127abcffad9123c8d8615855ef
SHA-1: 1add6014e314ee3c21aba14d20d0bd74378044aa
SHA-256: ec3e97fb65733af94590f0273673d0f9839db4da194cd2b3d3caaa582e389e77
Download zip 1.3 MB
MD5: f04873155ba62fb2de17ff76bfc8731a
SHA-1: 7b18b24bfebdce90a62606b36dd8975d6eb862c8
SHA-256: 5d6dcf65dee9257f7ad234caaf3467e2e89e9bd625db66c9d4689879f5bec619

Release notes

PHP 8.1 support; Book target; Catch EmptyFeedException on cron imports; Last D8 supported release

This release adds support for PHP 8.1. It also adds a new target for importing books for the core book module.

Catch EmptyFeedException on cron imports

An important bug was fixed that would cause filling up the log: an EmptyFeedException was not being catched on cron imports. This could happen when using the Download (http) fetcher and when the source reports that there is no change (returning a HTTP 304 code). The more serious part of the bug was that the import task was being kept on the queue, possibly causing concurrent imports to happen for the same feed. Concurrent imports are especially bad when using the feature to delete or unpublish items that are no longer provided by the source.
What also has been changed is when an other type of exception occurs, the task is still kept on the queue, but the import is no longer marked as finished. The feed then remains locked.

Note that there are still cases where concurrent imports can happen: one case is being worked on in #3193610: Items going missing and planned to be fixed before the next release.

Next release

Drupal 8 support will be dropped, FeedsAnnotationFactory will be removed (breaks Feeds plugins in Paragraphs module)

This is the last release to officially support Drupal 8. Next release will likely switch to semantic versioning and drop Drupal 8 support in the process.
With the switch to 4.x, the deprecated FeedsAnnotationFactory class will be removed. I noticed that this will break the Feeds plugins in the Paragraphs module. So I plan to provide a patch for Paragraphs before the next Feeds release.

Future release: optimizing queue

In a future version of Feeds we will attempt to clear the queue for that particular feed when unlocking the feed. But to do that, we first want to prevent that a full feed object is being stored on the queue. This is being worked on in #2978490: Optimize Feeds queue. If you made customizations for Feeds, it could be a good idea to check if your customizations still work with that change. I expect that change will be committed to the dev release in a few weeks.

Future release: log module

In #2907721: Log items that failed to import a new module is added to Feeds that provides detailed information about an import and is therefore useful for debugging imports. The module is ready for testing. Hopefully it can be added to the next release.

Contributors (29)

bruno.bicudo, MegaChriz, joelpittet, modestmoes, ramil g, EugeneChechel, Manthan.Chauhan, aangel, paulocs, irinaz, Kristen Pol, bwong, dspachos, interlated, Odai Atieh, aldairsoares, vsujeetkumar, mrinalini9, WagnerMelo, chegor, sportch, sker101, szato, rang501, jmcerda, tmaiochi, jsidigital, Beanjammin, Maithri Shetty

Changelog

Issues: 17 issues resolved, 1 (coding standards) partly resolved.

Changes since 8.x-3.0-beta1:

Bug

  • #3261348 by MegaChriz: Fixed EmptyFeedException in FeedsQueueExecutable not catched, causing to fill up the log. Don't unlock the feed in case of other exceptions during cron imports - to prevent some simultaneous imports of the same feed.
  • #3264354 by sker101: Fixed importing and updating existing users leaves duplicated roles in the database.
  • #3092823 by MegaChriz: Fixed uninstalling modules that provide third party configuration (such as Feeds Tamper) will result into feeds type getting deleted.
  • #3228678 by MegaChriz: Updated admin links for Admin Toolbar 2.x/3.x.
  • #3257379 by rang501: Skip call to function libxml_disable_entity_loader() on PHP8 since it is deprecated.
  • #3266704 by MegaChriz: Fixed PHP 8.1: do not pass null to Html::escape() and Unicode::truncate().
  • #3267244 by jmcerda, MegaChriz, tmaiochi: Fixed passing null to trim() in \Drupal\feeds\Plugin\Field\FieldType\FeedsItem::preSave().
  • #3266706 by jsidigital, MegaChriz, jmcerda: PHP 8.1 support - Made CleanState compatible with IteratorAggregate.

Feature

Support

Task

Created by: megachriz
Created on: 16 Jul 2022 at 11:58 UTC
Last updated: 16 Jul 2022 at 11:58 UTC
Bug fixes
New features

Other releases