Install

Works with Drupal: ^10 || ^11 || ^12

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 22 KB
MD5: 6bc7238e65b1dc70be969f37a20e5e82
SHA-1: faf749795ac2d1b879cef6ac7c63781aefaf02a6
SHA-256: 13388d1cc2ebc46fc4674023b4f61fc8b1344102db05f01865b44a7ccec297f2
Download zip 32.98 KB
MD5: feea3eb89b40118da50e00d59a6ec7dd
SHA-1: 331291a3e1c60457c0b90c3444c4149845a02ffe
SHA-256: daec61f8b3fa0f52d6e3971b34c8dbe220e090f6b1f88a107488ef240ec0224f

Release notes

Summary

This release modernizes the Field Longtext Pager module for Drupal 10, 11, and 12. It removes support for end-of-life Drupal 8 and 9, addresses critical bugs that could cause fatal errors, and includes important security hardening.

Security

  • Fixed a potential Cross-Site Scripting (XSS) vulnerability by replacing unsafe string concatenation in #markup with proper Drupal Render API arrays.

Bug Fixes

  • Fixed a fatal error where FilterProcessResult was incorrectly passed to string manipulation functions like str_replace() and preg_split().
  • Fixed a critical bug where the module's uninstall hook was incorrectly named, leaving orphaned configuration in the database after uninstallation.
  • Fixed a logic flaw causing pager IDs to become permanently stuck at 0 when multiple paged fields were displayed on the same page.
  • Fixed the WORD_BLOCK paging method failing to correctly track and close nested HTML block-level tags.
  • Added safety checks for preg_split() to prevent fatal errors if the regex engine fails.
  • Fixed a typo in the pager method options array that could break existing placeholder configurations.

Changes

  • Dropped support for Drupal 8 and Drupal 9. core_version_requirement is now ^10 || ^11 || ^12.
  • Refactored the Ajax controller to use strict Dependency Injection instead of static \Drupal calls.
  • Modernized JavaScript to use $.once() and proper event binding, removing deprecated inline onclick attributes and fixing a potential browser infinite loop in the scroll command.
  • Added strict PHP 8 type hints and return types across all classes and methods.
  • Removed dead code and redundant README.txt in favor of README.md.
  • Improved documentation and technical examples in the README.

Testing

  • Introduced a PHPUnit test suite to verify the unique pager ID generation logic and prevent future regressions.
Created by: dangreenman
Created on: 23 Jun 2026 at 03:53 UTC
Last updated: 23 Jun 2026 at 03:53 UTC
Bug fixes

Other releases