Install
Works with Drupal: ^10.3 || ^11Using dev releases is not recommended, except for testing.
Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
First release of the 11.0.x branch. Requires Drupal 10.3 or later, or Drupal 11.
Security hardening
- Sample CSVs are generated on request and the import log uses the Drupal
logger; nothing is written to the public files directory any more.
- Text is saved only with formats the importing user may use (no forced Full HTML).
- Node create/update access is checked and the entity is validated for every row;
updates are limited to the selected content type.
- Vocabularies are never created from CSV data; terms are created only in the
field's target vocabularies.
- Missing users are created only when explicitly enabled by a user with
"Administer users", and always as blocked accounts.
- Image values must be plain file names inside public:///images/.
Drupal 10.3 / 11 compatibility
- Import runs in a chunked batch (25 rows per request).
- Logic moved to the contentimport.importer service; the unprefixed global
helper functions were removed.
- No deprecated core APIs; PHP 8.4-safe CSV parsing.
- Automated tests and GitLab CI added.
Upgrading from 10.0.x
- Text formats are chosen on the import form instead of always Full HTML.
- langcode is optional; only nodeid is required when updating.
- Empty cells clear the field when updating.
- The old sites/default/files/contentimportlog.txt and .csv files are no
longer created and can be deleted.
See README.md for details.