Skip to content

4.0.0-alpha.4

Pre-release
Pre-release

Choose a tag to compare

@Universal-Omega Universal-Omega released this 23 Jul 00:50
· 114 commits to pre-release since this release
affcdc9

🚀 DynamicPageList4 - Alpha 4 Release

This is the fourth alpha release of DynamicPageList4, continuing the methodical march toward a cleaner, more reliable, and fully modernized codebase. This release includes a long-anticipated name change, broader timestamp support, major internal refactors, and numerous quality-of-life improvements.


🛠️ Changes and Improvements

  • Extension Renamed to DynamicPageList4:
    The extension's actual name has now officially been updated from DynamicPageList3 to DynamicPageList4. This change has been planned since the initial modernization efforts and reflects the current state of the project.

  • Relative Timestamp Support:

    • Support for a wide range of relative timestamps (e.g., "last week", "in 2 hours", "1 month ago").
      Previously only a few relative timestamps where supported, now anything supported by PHPs strtotime is supported.
    • Support for PostgreSQL in all the timestamp queries.
    • Fixes for bizarre corner cases where PHP's DateTime parser interpreted invalid zero-based timestamps in... creative ways.
  • Fix for the %EDITSUMMARY% format placeholder:
    %EDITSUMMARY% now correctly retrieves revision comments again.
    This feature had been broken since MediaWiki 1.35 due to changes in how rev_comment_id and comment_text are stored. The fix restores full functionality of this.

  • Gallery Mode Enhancements:

    • Properly supports retrieving PageImages when using mode=gallery on non-file namespace pages, if the PageImages extension is installed.
    • Now pulls directly from the PageImages extension instead of relying on page_props, allowing access to both page_image and page_image_free.
    • Added support for mode=gallery when using Intersection compatibility mode (i.e., <DynamicPageList> tags).
    • Improves support for %IMAGE%:
      It no longer relies on stock /images/ directories and instead dynamically resolves images based on whatever file backend is in use.
    • Introduces a new parameter: gallerymode.
      This sets the mode= attribute in the generated <gallery> tag. Defaults to traditional, but supports all standard modes:
      • traditional
      • nolines
      • packed
      • packed-hover
      • packed-overlay
      • slideshow

    For more on supported gallery modes, see:
    https://www.mediawiki.org/wiki/Help:Images#Gallery_syntax

  • Namespace Name Normalization:
    Spaces in namespace names are now automatically replaced with underscores to ensure compatibility and avoid malformed queries.

  • Modernization of More Classes:

    • Significant cleanup and refactor of the Parse class for improved readability and logic clarity.
    • Modernization of and significant cleanup of the Variables, Parameters, and ParametersData classes.

📌 Notes

This release finalizes the long-awaited full rename to DynamicPageList4. The codebase continues to undergo major structural improvements, and while stability is increasing, this remains an alpha release. Early adopters are encouraged to test thoroughly and report any issues or regressions.


There is still much more to come. As always, if you run into any issues, please open an issue on this repository or leave a comment in the discussion for this release.

Thank you for testing DPL4!