Install
Works with Drupal: ^10 || ^11 || ^12Using 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
#markupwith proper Drupal Render API arrays.
Bug Fixes
- Fixed a fatal error where
FilterProcessResultwas incorrectly passed to string manipulation functions likestr_replace()andpreg_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
0when multiple paged fields were displayed on the same page. - Fixed the
WORD_BLOCKpaging 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_requirementis now^10 || ^11 || ^12. - Refactored the Ajax controller to use strict Dependency Injection instead of static
\Drupalcalls. - Modernized JavaScript to use
$.once()and proper event binding, removing deprecated inlineonclickattributes 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.txtin favor ofREADME.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.