4.0.0 #521
Universal-Omega
started this conversation in
General
4.0.0
#521
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
After months of development, this is finally the stable release of DynamicPageList4.
Version 4.0.0
The extension was nearly completely rewritten, as such it has been rebranded as DynamicPageList4 as well. There could also be other changes not mentioned here as well, but major changes should be mentioned here.
openreferencesis fixed so it actually gives the openreferences conflict error rather than a query error foropenreferences = missing.ordermethod = pageselgives a new error message rather than a query error when not using any of the supported options with it.column reference "page_title" is ambiguous.linksfrom,linksto,usedby, andusesto be used together at the same time. Previously mixing them would either give errors or return no results.ignorecase) that previously only worked on MySQL and MariaDB.qualitypagesandstablepagesnow function again. They have not worked for a very long time. This was fixed by replacing the check forefLoadFlaggedRevsfunctions with checking by usingExtensionRegistry.ordercollation(very long time bug). Additionally, theordercollationparameter now accepts just charsets rather than full collation as well (only when using MySQL or MariaDB though).ordercollationis now also compatible with SQLite for a small subset of default collations available in SQLite (BINARY,NOCASE, andRTRIM). Most collations should work properly for MySQL/MariaDB and PostgreSQL as well now.REGEXP) on PostgreSQL.openreferencesnow correctly produces the expected conflict error instead of a query error when misused.catheadingsandcatnotheadings(via+and-incategory=). Previously,category=+would error andcategory=-could yield unpredictable results.%ARGS%to avoid parser conflicts. This resolves several bugs with template expansion.includesubpages = false: subpage exclusion has been moved from theParseclass (which runs after the query) to be handled directly within the query itself.%EDITSUMMARY%now correctly retrieves revision comments again.rev_comment_idandcomment_textare stored. The fix restores full functionality of this.addexternallink,linkstoexternal, and%EXTERNALLINK%.linkstoexternalbehavior to how it used to be and removeslinkstoexternaldomainandlinkstoexternalpath.__call()magic withprocessParameter().articleCountMessage.colspan.FOUND_ROWS.ordermethod=lastedit.%IMAGE%if needed.strict_typestitleTextbecome null if match fails. This fixes exceptions if regex is invalid inreplaceintitle.resetandeliminateparameters.DBQueryError, and improved query exception handling, adding a new exception type,QueryExceptionto more reliably and explicitly catch proper query errors.nottitlematchbug where only the first pattern is excluded.replaceintitleto avoid potential PHP warnings for invalid regex.New Features
Added new configuration option to support overriding the parameter defaults,
$wgDplSettings['overrideParameterDefaults'].Added support for string replacements in
replaceintitle. This previously only supported regex replacements, now it will fallback to string replacements if there is no valid regex.Added support for display titles:
%DISPLAYTITLE%(falls back to%TITLE%if no display title is set; available only when using thetitleparameter).ordermethod=displaytitle(automatically falls back to sorting bytitlewhen no display title exists).namespaceandnotnamespacenow accepts more options (only if they do not conflict with other existing namespace names):mainis now accepted for the main namespace.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
strtotimeis supported.Gallery Mode Enhancements:
mode=galleryon non-file namespace pages, if the PageImages extension is installed.page_props, allowing access to bothpage_imageandpage_image_free.mode=gallerywhen using Intersection compatibility mode (i.e.,<DynamicPageList>tags).%IMAGE%:It no longer relies on stock
/images/directories and instead dynamically resolves images based on whatever file backend is in use.imagewidthandimageheight, to control the size of images within galleries.gallerymode.This sets the
mode=attribute in the generated<gallery>tag. Defaults totraditional, but supports all standard modes:traditionalnolinespackedpacked-hoverpacked-overlayslideshowFor more on supported gallery modes, see:
https://www.mediawiki.org/wiki/Help:Images#Gallery_syntax
BREAKING CHANGES
Previously, using
&in a category name would incorrectly be interpreted as a logical AND separator between multiple categories, instead of being treated as a literal character in the category name. This meant that querying for categories containing an actual&(like "Cats & Dogs") would fail to match any pages.This behavior has been fixed:
ANDbetween categories, you now must explicitly use<&>.&in category names will now be treated correctly as part of the name.Previously, underscores (
_) in LIKE-style patterns (like intitlematchandnottitlematch) were implicitly treated as single-character wildcards. This made it impossible to reliably match literal underscores (which also represent spaces), and caused patterns to match more broadly than intended.This behavior has been fixed:
[_].[_]represents exactly one character (for example,[_][_][_]matches three characters)._is now treated as a literal underscore and will no longer act as a wildcard.NOTE: We do it with brackets, because brackets are disallowed title characters, so they won't cause issues in the future with some edge-cases since no title can actually contain them. For similar reasons in the future, the same or similar method may be needed for
%in order to allow better matching of literal%in titles, but that is a change that will break much more uses so will be done differently, perhaps keeping existing behavior but adding some other substitution to match literal%. For now, matching literal%remains unsupported or unreliable.The template transclusion (
Extension DPL) has been replaced with a proper tracking category,Pages using DynamicPageList4. All the references and usages ofExtension DPLhas been removed, including theCreateTemplatemaintenance script. There is now a new maintenance script,DeleteTemplateto delete the old template. It will auto run when updated usingupdate.php.notcategorynow applies to themaxCategoryCountlimitation as well. This was done because they both use queries, so the limit, designed for query limitation, should apply to both. This may break existing pages as well, so the limit may need changed in user's configuration as well.Removed the
suppresserrorsparameter.NOTE: This one was documented as deprecated and slated for removal long ago and hasn't done anything at all prior to removal.
Removed support for updating/deleting articles.
NOTE: This removed the
deleterulesandupdaterulesparameters, and all associated user rights and related code including theUpdateArticleclass entirely.Updated some config defaults, changing:
$wgDplSettings['allowedNamespaces']to be an empty array ([]) instead ofnull.$wgDplSettings['recursivePreprocess']to be enabled by default.$wgDplSettings['maxCategoryCount']increased to 8 instead of 4.notcategorynow applies to the limit as well, so since double the parameters affect it, the default limit was doubled as well.Removed the
handleSectionTagconfig. It served no purpose anymore. It was just making<section>behave like<dpl>which doesnt even seem was ever the intent for it.This discussion was created from the release 4.0.0.
Beta Was this translation helpful? Give feedback.
All reactions