Automated Drupal 11 compatibility fixes for feeds

Created on 17 March 2024, about 1 year ago

Problem/Motivation

Hello project maintainers,

This is an automated issue to help make this module compatible with Drupal 11.

Changes will periodically be added to this issue that remove deprecated API uses. To stop further changes from being posted, change the status to anything other than Active, Needs review, Needs work or Reviewed and tested by the community. Alternatively, you can remove the "ProjectUpdateBotD11" tag from the issue to stop the bot from posting updates.

The changes will be posted by the Project Update Bot official user account. This account will not receive any issue credit contributions for itself or any company.

Proposed resolution

You have a few options for how to use this issue:

  1. Accept automated changes until this issue is closed

    If this issue is left open (status of Active, Needs review, Needs work or Reviewed and tested by the community) and the "ProjectUpdateBotD11" tag is left on this issue, new changes will be posted periodically if new deprecation fixes are needed.

    As the Drupal Rector project improves and is able to fix more deprecated API uses, the changes posted here will cover more of the deprecated API uses in the module.

    Patches and/or merge requests posted by others are ignored by the bot, and general human interactions in the issue do not stop the bot from posting updates, so feel free to use this issue to refine bot changes. The bot will still post new changes then if there is a change in the new generated patch compared to the changes that the bot posted last. Those changes are then up to humans to integrate.

  2. Leave open but stop new automated changes.

    If you want to use this issue as a starting point to remove deprecated API uses but then don't want new automated changes, remove the "ProjectUpdateBotD11" tag from the issue and use it like any other issue (the status does not matter then). If you want to receive automated changes again, add back the "ProjectUpdateBotD11" tag.

  3. Close it and don't use it

    If the maintainers of this project don't find this issue useful, they can close this issue (any status besides Active, Needs review, Needs work and Reviewed and tested by the community) and no more automated changes will be posted here.

    If the issue is reopened, then new automated changes will be posted.

    If you are using another issue(s) to work on Drupal 11 compatibility it would be very useful to other contributors to add those issues as "Related issues" when closing this issue.

Remaining tasks

Using the patches

  1. Apply the latest patch in the comments by Project Update Bot or human contributors that made it better.
  2. Thoroughly test the patch. These patches are automatically generated so they haven't been tested manually or automatically.
  3. Provide feedback about how the testing went. If you can improve the patch, post an updated patch here.

Using the merge request

  1. Review the merge request and test it.
  2. Thoroughly test the changes. These changes are automatically generated so they haven't been tested manually or automatically.
  3. Provide feedback about how the testing went. If you can improve the merge request, create a new branch and merge request and work from there.

Warning: The 'project-update-bot-only' branch will always be overwritten. Do not work in that branch!

Providing feedback

If there are problems with one of the changes posted by the Project Update Bot , such as it does not correctly replace a deprecation, you can file an issue in the Drupal Rector issue queue . For other issues with the bot, for instance if the issue summary created by the bot is unclear, use the Project analysis issue queue .

📌 Task
Status

Active

Version

3.0

Component

Code

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @project update bot
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update about 1 year ago
    Patch Failed to Apply
  • This is an automated patch generated using Upgrade Status and Drupal Rector. Please see the issue summary for more details. A merge request is also openend and updated.

    It is important that any automated tests available are run and that you manually test the changes.

    Drupal 11 Compatibility

    According to the Upgrade Status module , even with these changes, this module is not yet compatible with Drupal 11.

    Currently Drupal Rector, version 0.20.1, cannot fix all Drupal 11 compatibility problems.

    Therefore these changes did not update the info.yml file for Drupal 11 compatibility.

    Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 11 compatibility fixes as they become available in Drupal Rector.

    Debug info

    Bot run #11-121090

    This patch was created using these packages:

    1. drupal/upgrade_status: 4.1.0
    2. mglaman/phpstan-drupal: 1.2.7
    3. palantirnet/drupal-rector: 0.20.1
  • Merge request !156Automated Project Update Bot fixes → (Open) created by project update bot
  • Status changed to Needs review about 1 year ago
  • Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update about 1 year ago
    Not currently mergeable.
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update about 1 year ago
    699 pass, 4 fail
  • This comment was forced and has ignored the check if a change was already posted. This is only done when we want to update the issue without waiting for changes to happen.

    This is an automated patch generated using Upgrade Status and Drupal Rector. Please see the issue summary for more details. A merge request (MR) is also openend and updated.

    It is important that any automated tests available are run and that you manually test the changes.

    Drupal 11 Compatibility

    According to the Upgrade Status module , even with these changes, this module is not yet compatible with Drupal 11.

    Currently Drupal Rector, version 0.20.1, cannot fix all Drupal 11 compatibility problems.

    Therefore, these changes did not update the info.yml file for Drupal 11 compatibility.

    The compatibility issues that Upgrade Status found after the Drupal Rector fixes were applied are attached to help you resolve them manually.

    Leaving this issue open, even after committing the current patch or merging the MR, will allow the Project Update Bot to post additional Drupal 11 compatibility fixes as they become available in Drupal Rector.

    Debug information

    Bot run #11-137198

    These packages were used to generate the fixes:

    1. drupal/upgrade_status: 4.1.0
    2. mglaman/phpstan-drupal: 1.2.10
    3. palantirnet/drupal-rector: 0.20.1
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update about 1 year ago
    699 pass, 4 fail
  • The last submitted patch, 4: feeds.3.x-dev.rector.patch, failed testing. View results
    - codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

  • Pipeline finished with Success
    about 1 year ago
    Total: 1199s
    #137633
  • 🇵🇹Portugal jcnventura

    Update bot seems to also miss the following error:

    "Fatal error: Declaration of Drupal\feeds\Entity\Feed::__wakeup() must be compatible with Drupal\Core\Entity\EntityBase::__wakeup(): void in /var/www/html/web/modules/contrib/feeds/src/Entity/Feed.php on line 97"

  • 🇮🇳India samit.310@gmail.com

    samit.310@gmail.com made their first commit to this issue’s fork.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    run-tests.sh fatal error
  • Pipeline finished with Failed
    11 months ago
    Total: 1491s
    #166108
  • First commit to issue fork.
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    700 pass, 4 fail
  • Pipeline finished with Success
    11 months ago
    Total: 1316s
    #174957
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    run-tests.sh fatal error
  • Pipeline finished with Failed
    11 months ago
    Total: 1391s
    #174983
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    701 pass, 4 fail
  • Pipeline finished with Success
    11 months ago
    Total: 1340s
    #177058
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    703 pass, 4 fail
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    703 pass, 4 fail
  • Pipeline finished with Canceled
    11 months ago
    Total: 156s
    #177668
  • Pipeline finished with Success
    11 months ago
    Total: 1292s
    #177670
  • Assigned to ankitv18
  • 🇮🇳India ankitv18

    Will work as per @ptmkenny suggestion and pushed changes required for D11 only rest phpcs and phpstan fixes will be covered separately.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    709 pass, 2 fail
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    Composer require failure
  • Pipeline finished with Failed
    11 months ago
    Total: 237s
    #189733
  • Pipeline finished with Failed
    11 months ago
    Total: 379s
    #189736
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    Composer require failure
  • Pipeline finished with Success
    11 months ago
    Total: 1237s
    #189753
  • 🇮🇳India ankitv18

    ankitv18 changed the visibility of the branch 3430449-automated-drupal-11-fixes to hidden.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 11 months ago
    Composer require failure
  • Pipeline finished with Success
    11 months ago
    Total: 1287s
    #190507
  • Issue was unassigned.
  • Status changed to Needs review 11 months ago
  • Status changed to Needs work 11 months ago
  • 🇵🇹Portugal jcnventura

    Please use DeprecationHelper in that system_time_zones() call.

    The watchdog_exception can simply be changed to use Error::logException directly, as the Error class exists since Drupal 8.9 (see https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Utility%2...)

    Don't add drush.services.yml for Drush 13. Drush 12 has deprecated this and it will be removed in 13 (see https://www.drush.org./12.x/commands/ and https://www.drush.org./13.x/commands/).

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • 🇮🇳India ankitv18

    @jcnventura: As this module currently using 9,10 and 11 so I guess we can't use deprecation helper as this was introduced in 10.1.x and it is helpful when you are checking D10.1 and above please check https://www.drupal.org/node/3379306

    Now it totally depends upon maintainer to support of Drupal versions only D10 and D11 only then I'll use deprecation helper otherwise version_compare or class_exists is better way to go ahead.
    For drush deprecation: this module is still supporting previous versions of drush so I also let this decision on maintainer how they think to go ahead.
    cc: @megachriz

  • Pipeline finished with Success
    10 months ago
    Total: 1279s
    #192535
  • 🇳🇱Netherlands megachriz

    @ankitv18
    I'd like to create one last Drupal 9 compatible release of Feeds (hopefully next week, I'm already busy writing the release notes and see what I want to commit last minute) and then after that Drupal 9 support can be dropped so focus can be on getting Feeds compatible with Drupal 11.

  • 🇳🇱Netherlands megachriz

    I haven't paid attention to the Drush integration, but I think we only would need to support Drush 12 and above? Or maybe Drush 11 too? At least we should be compatible with the latest Drush.

  • 🇵🇹Portugal jcnventura

    You can see Drush compatibility here: https://www.drush.org./13.x/install/#drupal-compatibility

    If you want to drop support for Drupal 9, you can choose to also only support Drush 12 and above. This would simplify the Drush support, as you can then simply drop the drush.services.yml file and move the Drush commands class file to /src/Drush/Commands. See https://www.drush.org./13.x/commands/

  • 🇳🇱Netherlands megachriz

    Alright, then only support Drush 12 and above it is. I'll leave that to somebody else to get that done (at least for now), so I can focus on getting the last bits done for the upcoming release.

  • 🇮🇳India ankitv18

    +1 on @jcnventura comment#18

  • 🇮🇳India ankitv18

    ankitv18 changed the visibility of the branch project-update-bot-only to hidden.

  • Status changed to Needs review 10 months ago
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Success
    10 months ago
    Total: 1255s
    #192911
  • Status changed to Needs work 10 months ago
  • 🇵🇹Portugal jcnventura

    And yet, this line is in the MR:
    "drush.services.yml": "^9 || ^10 || ^11 | ^12 || ^13"

    Drush 13 will not support the drush.services.yml file (Drush 12 deprecated it). This shouldn't be merged like this.

  • Status changed to Needs review 10 months ago
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    689 pass, 8 fail
  • This is an automated patch generated using Upgrade Status and Drupal Rector. Please see the issue summary for more details. A merge request (MR) is also openend and updated.

    It is important that any automated tests available are run and that you manually test the changes.

    Drupal 11 Compatibility

    According to the Upgrade Status module , even with these changes, this module is not yet compatible with Drupal 11.

    Currently Drupal Rector, version 0.20.2, cannot fix all Drupal 11 compatibility problems.

    Therefore, these changes did not update the info.yml file for Drupal 11 compatibility.

    The compatibility issues that Upgrade Status found after the Drupal Rector fixes were applied are attached to help you resolve them manually.

    Leaving this issue open, even after committing the current patch or merging the MR, will allow the Project Update Bot to post additional Drupal 11 compatibility fixes as they become available in Drupal Rector.

    Debug information

    Bot run #11-194493

    These packages were used to generate the fixes:

    1. drupal/upgrade_status: 4.3.2
    2. mglaman/phpstan-drupal: 1.2.11
    3. palantirnet/drupal-rector: 0.20.2
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    689 pass, 8 fail
  • The last submitted patch, 25: feeds.3.x-dev.rector.patch, failed testing. View results
    - codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

  • Pipeline finished with Failed
    10 months ago
    Total: 1262s
    #194546
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Status changed to Needs review 10 months ago
  • 🇮🇳India ankitv18

    Considering @jcnventura point at #24 of Drush 13 support, It be would be done in separate issue i.e https://www.drupal.org/project/feeds/issues/3453031 📌 Support Drush 12 and above only Active (already linked to this issue) and for log exception to support BC I've used method_exists and logException method is introduced in D10.1.

    cc: @MegaChriz

  • Pipeline finished with Success
    10 months ago
    Total: 1216s
    #196855
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Status changed to RTBC 10 months ago
  • 🇮🇳India deepakkm

    Rebased MR !173 with 8.x-3.x branch. Verified changes locally and looks good to me.

  • Status changed to Needs work 10 months ago
  • 🇮🇳India deepakkm

    There are few deprecation which should be fixed as part of this ticket

    Instantiation of deprecated class                                      
             Drupal\Core\Password\PhpassHashedPassword:                             
             in drupal:10.1.0 and is removed from drupal:11.0.0. The                
               password compatibility service has been moved to the phpass module.  
               Use \Drupal\phpass\Password\PhpassHashedPassword instead. 
  • Pipeline finished with Success
    10 months ago
    Total: 1278s
    #198529
  • Status changed to Needs review 10 months ago
  • 🇮🇳India ankitv18

    There's already a separate issue where all the phpstan fixes are considered. Please check below issue
    https://www.drupal.org/project/feeds/issues/3425218 🐛 Fix PHPStan errors Needs work

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Canceled
    10 months ago
    Total: 613s
    #198625
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Canceled
    10 months ago
    Total: 1203s
    #198640
  • Pipeline finished with Failed
    10 months ago
    Total: 181s
    #198659
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Canceled
    10 months ago
    Total: 1203s
    #198664
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Canceled
    10 months ago
    Total: 15s
    #198689
  • Pipeline finished with Failed
    10 months ago
    Total: 277s
    #198691
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Success
    10 months ago
    Total: 337s
    #198710
  • 🇮🇳India ankitv18

    @MegaChriz I've noticed you pushed logException Method few days back: https://git.drupalcode.org/project/feeds/-/merge_requests/127/diffs#a56d...
    And going through the feeds.services.yml below logger is already there.

      logger.channel.feeds:
        parent: logger.channel_base
        arguments: ['feeds']

    In this MR I used direct drupal call using \Drupal::logger('feeds')->error($e) instead of watchdog_exception
    For PhpassHashedPassword deprecation I've replaced it with a https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Password%...

  • Status changed to RTBC 10 months ago
  • 🇮🇳India deepakkm

    Changes looks good now for D11 compatibility.

  • Status changed to Needs work 10 months ago
  • 🇳🇱Netherlands megachriz

    It looks like that some new phpcs issues are introduced with the code changes. We could consider to resolve 🐛 Fix PHPStan errors Needs work first, to also possible catch newly added phpstan issues.

    Anyway, needs work. I think that at least tests must pass on Drupal 11 before merging it. Else there would be a risk to release something as D11 compatible while it may still have some incompatibility.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 262s
    #198913
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 109s
    #198916
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    #198919
  • Pipeline finished with Failed
    10 months ago
    Total: 272s
    #198924
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 876s
    #198932
  • Pipeline finished with Failed
    10 months ago
    Total: 361s
    #198943
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 471s
    #198976
  • 🇵🇹Portugal jcnventura

    @MegaChriz when you merge this, it might make sense to create a 4.x branch, and to tag a 4.0.0-alpha1 version when you add D11 support. This would allow you to keep adding changes to the 8.x-3.x branch in the case that something critical should happen, and to pivot Drupal 10 and 11 to fully use semantic versions.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 327s
    #199047
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    #199089
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 275s
    #199122
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 337s
    #199138
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 511s
    #199501
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 463s
    #199510
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 426s
    #199538
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 306s
    #199552
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Success
    10 months ago
    #199574
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Failed
    10 months ago
    Total: 304s
    #199596
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Success
    10 months ago
    Total: 272s
    #199617
  • Status changed to Needs review 10 months ago
  • 🇮🇳India ankitv18

    Updated the MR and enabled the next major pipeline, please review the MR!173
    Created new issue to support book and laminas-feed tests and fix all deprecated method introduced in phpunit 10
    https://www.drupal.org/project/feeds/issues/3454788 📌 PHPunit Next Major pipeline failure Active

    cc: @MegaChriz

  • 🇳🇱Netherlands megachriz

    @MegaChriz when you merge this, it might make sense to create a 4.x branch, and to tag a 4.0.0-alpha1 version when you add D11 support. This would allow you to keep adding changes to the 8.x-3.x branch in the case that something critical should happen, and to pivot Drupal 10 and 11 to fully use semantic versions.

    @jcventura
    Yeah, I would love to get semantic versioning for this reason, but a few people strongly adviced me to not create a new major version because that would slow down adoption of the new version + it creates an extra hurdle for people who want to upgrade to a new major Drupal version, Drupal 11 in this case.

    For details, see https://drupal.slack.com/archives/C014CT1CN1M/p1659448352144959
    See also https://medium.com/jakob-on-drupal/dont-go-making-major-version-changes-...

    Anyway, I'm on holiday soon, so I'll probably not be able to commit this shortly - unless I've got so much bad weather on location that I just want to work on Feeds.

  • 🇵🇹Portugal jcnventura

    @MegaChriz, your module and I do agree with not bumping version numbers needlessly. However, if you're introducing breaking changes, a major bump is justified. And for me, dropping support for Drupal 9 is one such BC break (assuming you're still going to do that as per #16).

    Even if the MR is not yet dropping Drupal 9.3, it is a possible easy solution for my comments on the MR. The other possible solution (adding PHP 8 as a minimum) is also a BC-break.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Canceled
    10 months ago
    Total: 382s
    #200800
  • Pipeline finished with Success
    10 months ago
    Total: 311s
    #200806
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    612 pass, 26 fail
  • This is an automated patch generated using Upgrade Status and Drupal Rector. Please see the issue summary for more details. A merge request (MR) is also openend and updated.

    It is important that any automated tests available are run and that you manually test the changes.

    Drupal 11 Compatibility

    According to the Upgrade Status module , even with these changes, this module is not yet compatible with Drupal 11.

    Currently Drupal Rector, version 0.20.3, cannot fix all Drupal 11 compatibility problems.

    Therefore, these changes did not update the info.yml file for Drupal 11 compatibility.

    The compatibility issues that Upgrade Status found after the Drupal Rector fixes were applied are attached to help you resolve them manually.

    Leaving this issue open, even after committing the current patch or merging the MR, will allow the Project Update Bot to post additional Drupal 11 compatibility fixes as they become available in Drupal Rector.

    Debug information

    Bot run #11-199781

    These packages were used to generate the fixes:

    1. drupal/upgrade_status: 4.3.2
    2. mglaman/phpstan-drupal: 1.2.11
    3. palantirnet/drupal-rector: 0.20.3
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    612 pass, 26 fail
  • The last submitted patch, 38: feeds.3.x-dev.rector.patch, failed testing. View results
    - codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

  • Pipeline finished with Failed
    10 months ago
    Total: 1254s
    #201434
  • Status changed to Needs review 10 months ago
  • Status changed to Needs work 10 months ago
  • 🇵🇹Portugal jcnventura

    Looking at the update bot suggestion, I think we need to use TimeZoneFormHelper::getOptionsList() as we actually want to see the timezone labels in the form, and not only use the timezone identifiers.

    Also, as per #16, let's make this simple and drop support for Drupal 9, and only support ^10.1 || ^11.

  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Status changed to Needs review 10 months ago
  • 🇮🇳India ankitv18

    Thanks @jcnventura,
    I have dropped the D9 and used timeZoneHelper as you suggested.
    Please review the MR and make it ease for @MegaChriz

  • Pipeline finished with Success
    10 months ago
    Total: 257s
    #201919
  • Open in Jenkins → Open on Drupal.org →
    Core: 9.5.5 + Environment: PHP 7.4 & MySQL 5.7
    last update 10 months ago
    Composer require failure
  • Pipeline finished with Success
    10 months ago
    Total: 360s
    #203795
  • 🇳🇱Netherlands megachriz

    I've added some remarks. Tests don't pass yet on Drupal 11. I would say that is the minimum requirement for merging this MR. I think that temporary skipping the book tests to get tests pass on Drupal 11 is acceptable, but I think that doesn't count for tests/src/Unit/Feeds/Parser/SyndicationParserTest.php, because the syndication parser is in Feeds itself while the Book target requires an additional module.

    There's overlapping with the work that is being done in 🐛 Fix PHPStan errors Needs work . I think it would simplify the work here if that issue is done first. The downside is that it perhaps takes a bit longer to get Feeds Drupal 11 compatible. I'm trying my best though to get 🐛 Fix PHPStan errors Needs work done quickly. My goal is to get Feeds compatible with Drupal 11 at least in dev before July 29. For a new release I'd like to also get 📌 Support Drush 12 and above only Active resolved and having all checks passed on GitLab - if possible.

  • 🇮🇳India ankitv18

    Thanks @MegaChriz,
    I'll do the changes as per the feedback once phpstan fixes are fixed: https://www.drupal.org/project/feeds/issues/3425218 🐛 Fix PHPStan errors Needs work

  • Pipeline finished with Success
    9 months ago
    Total: 276s
    #218745
  • Status changed to Needs work 9 months ago
  • 🇳🇱Netherlands megachriz

    I see that there are the following test failures on D11:

    • views.view.feeds_import_logs:display.default.display_options.arguments.feed.default_argument_skip_url
      missing schema
    • Drupal\Tests\feeds\Functional\Feeds\Fetcher\UploadFetcherTest::testImportSingleFile: Error: Call to a member function getItemCount() on null
    • Drupal\Tests\feeds\Functional\Feeds\Parser\Form\CsvParserFeedFormTest: Error: Call to a member function getItemCount() on null
    • Drupal\Tests\feeds\Functional\Update\
      Exception: No suitable core fixture found.

    I also see in the PHPStan report that there is one watchdog_exception() call left, namely in src/FeedsQueueExecutable.php.

    So next steps are:

    1. Figure out what views.view.feeds_import_logs:display.default.display_options.arguments.feed.default_argument_skip_url is, maybe the Views configuration code for the import logs needs to be regenerated?
    2. Tests in Drupal\Tests\feeds\Functional\Feeds\Fetcher\UploadFetcherTest are failing. Figure out why.
    3. Tests in Drupal\Tests\feeds\Functional\Feeds\Parser\Form\CsvParserFeedFormTest are failing. Figure out why.
    4. Tests in Drupal\Tests\feeds\Functional\Update, used to test update functions in feeds.install and feeds.post_update.php are failing, probably because it is trying to use a fixture (aka database dump) that is no longer available in Drupal 11. Solution: try to use a different provided fixture.
    5. Resolve watchdog_exception() call in src/FeedsQueueExecutable.php.
  • 🇳🇱Netherlands megachriz

    Of the test failures, I plan to look first at the Update tests. I've done these before, so I have a good idea how to handle these. If I remember correctly, I've written code to select a fixture based on the current core version. Hopefully I can do these tomorrow or else Saturday.

    @ankitv18
    If you have time to help on this issue in the next few days, could you look at the failures related to Views first?

    I've updated the remaining tasks in the issue summary.

    Hopefully we can resolve the test failures quickly, only 1 to 2 weeks before Drupal 11.0 is released and it would be nice to have Drupal 11 supported in at least the dev version of Feeds by then. It's probably to late to have it in an actual release as well. When this issue gets resolved, I'd like to have at least two weeks testing the changes on a few live sites before making a release. And preferable including D11 compatible code of Feeds Extensible Parsers and Feeds Tamper too, which we cannot really start on yet before this is resolved.

  • Pipeline finished with Success
    9 months ago
    Total: 291s
    #227392
  • 🇳🇱Netherlands megachriz

    I fixed the Update tests and a few other tests too. I plan to continue on Saturday. Feel free to work on this issue until that time.

    Remaining tests to fix:

    1. Fix test Drupal.Tests.feeds.Kernel.RevisionableEntityTest testWithMappingToRevisionFields
    2. Fix test Drupal.Tests.feeds.Kernel.Entity.FeedTest testDispatchImportFinishedEvent
    3. Fix test Drupal.Tests.feeds.Kernel.Feeds.Target.UserRoleTest testImportWithExistingRole

    See also https://git.drupalcode.org/project/feeds/-/pipelines/227854/test_report?...
    (not sure if the link remains valid when committing new code.)

  • Status changed to Needs review 9 months ago
  • 🇳🇱Netherlands megachriz

    Tests are passing on D11! I think this is ready for review and testing.

    Note that phpstan (next major) is failing, but I think fixing that is out of scope for this issue.

  • Pipeline finished with Skipped
    9 months ago
    #233774
  • Status changed to Active 9 months ago
  • 🇳🇱Netherlands megachriz

    I've looked through all the changes and made a few minor changes a few hours ago. The code prior to these last changes have been running 2 to 3 days on four D10 sites and I haven't catched any regressions yet.

    So I'm merging this now!

    Not creating a new release yet, because I think 3 days is too short for catching regressions. Also, I like to see 📌 Support Drush 12 and above only Active and 📌 PHPunit Next Major pipeline failure Active to be resolved before the next release. And it would be good to test Feeds manually on a D11 site.

    But at least by merging this, modules that extend Feeds can be made compatible with D11 too.

    Thanks all!

    The issue is left open to allow the update bot to post new fixes, should there be any.

  • 🇮🇳India ankitv18

    @megachriz Saw D11 compatible RC release is out there ~~ now we can close this one?

  • 🇳🇱Netherlands megachriz

    @ankitv18
    I'm not sure, but I think we should best leave it open. Theoritically, there could be new D11 compatibility patches, as said in the issue summary:

    Leaving this issue open, even after committing the current patch or merging the MR, will allow the Project Update Bot to post additional Drupal 11 compatibility fixes as they become available in Drupal Rector.

  • 🇮🇳India ankitv18

    Hi @megachriz,
    There are no new patches by projectBot so I guess we can mark this one fixed

Production build 0.71.5 2024