Drupal 9 users being updated to 3.0.0-beta1 incorrectly

Created on 23 October 2023, about 1 year ago
Updated 31 October 2023, about 1 year ago

Problem/Motivation

It is not possible to support both Drupal 9.x and 10.x in a single release of this module due to a breaking change in EncoderInterface::encode() between Symfony 4.4 (D9) and Symfony 6.2 (D10): 🐛 CsvEncoder::encode must be compatible with Symfony\Component\Serializer\Encoder\EncoderInterface::encode Fixed

However, 3.0.0-beta1 included claimed support for Drupal 9 and Drupal 10. This was incorrect. In 3.0.0-beta2 the module was updated to only include Drupal 10 support and Drupal 9 would remain with the 2.x releases. However, since the beta1 release still exists, users preparing for Drupal 10, but still on Drupal 9, are being updated to 3.0.0-beta1 incorrectly.

composer require drupal/csv_serialization ^3 still works on Drupal 9 because the 3.0.0-beta1 claims Drupal 10 support:

core_version_requirement: ^9.3 || ^10

Steps to reproduce

  1. Start with a Drupal 9 site.
  2. Prepare for Drupal 10: composer require drupal/csv_serialization:^2.0 || ^3.0
  3. Composer will install 3.0.0-beta1 on Drupal 9 site (incorrectly).

Proposed resolution

  1. Create a new 4.x branch and 4.0.0 release based on the current state of 3.x.
  2. Revert all Drupal 10 changes on the 3.x branch making 3.x match 8.x-2.x.
  3. Create a new 3.0.1 release (which will be D9-only).
  4. Update Drupal 10 upgrade instructions on the project page to read: composer require drupal/csv_serialization:^2.0 || ^3.0 || ^4.0

4.x becomes the Drupal 10 branch and 3.x becomes the Drupal 9 branch.

🐛 Bug report
Status

Fixed

Version

3.0

Component

Code

Created by

🇬🇧United Kingdom joachim

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

Comments & Activities

Production build 0.71.5 2024