Remove deprecation about Views argument config conversion from numeric to entity_target_id from 10.3.x

Created on 7 June 2024, 18 days ago
Updated 13 June 2024, 12 days ago

Problem/Motivation

Follow-up to ๐Ÿ› Fix label token replacement for views entity reference arguments RTBC in light of ๐Ÿ“Œ Fix: The update to convert "numeric" arguments to "entity_target_id" is deprecated Active . The original MR family I created for 2640994 had an MR for 10.2.x with a totally silent BC layer. That never landed, so the earliest version was for 10.3.x. Both @alexpott and @catch requested deprecation warnings in the ViewsConfigUpdater code so folks knew they have to change the default views they ship. That conversion won't be removed until 12.0.x, so people have a ton of time to sort it out.

However, right now, any contrib trying to ship a version compatible with both 10.2.x and 10.3.x don't have a great option. They can't use the new plugins in their default views since they don't exist in 10.2.x. But that means their views will be triggering deprecations in 10.3.x already, even though there's no workaround. You can't conditionally define config .yml based on versions. So if they're trying to be "responsible maintainers" and be ready for the future, they can't keep deprecation testing on since everything will always fail. But if they silence deprecation tests, they have no idea (without having to sift through a lot of noise) if their modules are actually ready for D11 or not.

Via a Slack thread in #bugsmash, @catch agreed with my proposal to remove this deprecation from the 10.3.x branch. Let it start triggering in 10.4.x. At that point, contrib can responsibly drop support for 10.2.x, ship new releases that require at least 10.3.x, and move to the new plugins.

Steps to reproduce

Try to release a contrib module that provides default views that use entity IDs as arguments and is compatible with both 10.3.x and 10.2.x.

Proposed resolution

Remove the deprecation in ViewsConfigUpdater::processEntityArgumentUpdate() in the 10.3.x branch.

Maybe also update the deprecation warning in all the other branches so say it's deprecated in 10.4.x and up, not 10.3.x as currently written?

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

๐Ÿ“Œ Task
Status

Closed: duplicate

Version

10.3 โœจ

Component
Viewsย  โ†’

Last updated about 2 hours ago

Created by

๐Ÿ‡บ๐Ÿ‡ธUnited States dww

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

Merge Requests

Comments & Activities

  • Issue created by @dww
  • Pipeline finished with Success
    18 days ago
    Total: 811s
    #193943
  • Status changed to Needs review 18 days ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States dww

    MR is up and green.

  • Status changed to RTBC 16 days ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States smustgrave

    Thanks for the detailed right up.

    Change looks straightforward and didn't break anything so don't mind marking.

  • Status changed to Needs review 16 days ago
  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom catch

    Per the slack thread this needs more discussion still.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States dww

    Iโ€™m okay to keep discussing, but 10.3.0-rc1 is out, so we have very little time to get this done if itโ€™s going to matter at all. ๐Ÿ˜…

    To me, it boils down to the costs of leaving it in (hardship for maintainers that like to โ€œchase HEADโ€) vs the costs of removing it (none, other than the time to discuss it). ๐Ÿ˜‰

    The primary argument from Berdir against this is basically โ€œchasing HEAD is a fruitless, pointless effort that only leads to more work and sufferingโ€. I pretty much agree with that, and donโ€™t do it myself. ๐Ÿ˜‚ But some maintainers like to do it, anyway, and by one perspective, theyโ€™re trying to do the right thing by staying on top of core development that impacts their code.

    As I wrote in the summary, the perspective I do hold is that, when feasible (or in this case, trivial) to make it easier for contrib to put out releases that are as widely compatible as possible, we should.

    Not sure who else needs to chime in before a decision is made. I only hope it happens soon. ๐Ÿ™

    Thanks,
    -Derek

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States smustgrave

    based on what I've seen on majority of contrib modules most maintainers aren't doing that haha. Some of them just jump in every few months sometimes, which is fine. So whatever can be done to help them out +1 from me.

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom alexpott ๐Ÿ‡ช๐Ÿ‡บ๐ŸŒ

    Maybe we can use the SYMFONY_DEPRECATIONS_HELPER variable to ignore that specific deprecation or set it to some value that allows the test to pass. See https://symfony.com/doc/current/components/phpunit_bridge.html#making-te...

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom alexpott ๐Ÿ‡ช๐Ÿ‡บ๐ŸŒ

    I'm not sure we should not be making this change. We should make our tooling support this. I tend to disable deprecation reporting in CI use deprecation reporting when I run the tests locally or when Iโ€™m prepping to change update the minimum supported version.

    Given we have the drupal version in the deprecation message we should extend SYMFONY_DEPRECATIONS_HELPER to take a value like drupal-verion=10.2.x and then skip deprecations from 10.3.x and above.

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom catch

    Yeah I agree it's a real problem but to do this all the time we'd end up needing three MRs for every similar issue (Drupal 11, no deprecation or bc layer, Drupal 10.4 deprecation + bc layer, Drupal 10.3, bc layer and no deprecation).

    Linking #3225792: Allow core deprecation testing to distinguish between major versions โ†’ , also wondering if we should move this to gitlab templates or open a new issue there? It would be nifty to be able to do this generically.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States smustgrave

    Since this seems to be like something that needs to land in 10.3 or not be needed could we move forward here and open a follow up for more discussion?

  • Status changed to Closed: duplicate 12 days ago
  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom catch

    I think we should continue in #3225792: Allow core deprecation testing to distinguish between major versions โ†’ , going to retitle that one, closing this as duplicate.

Production build 0.69.0 2024