Compatible with PHP 7.4 to 8.4
SPIP 4.4 requires PHP 7.4 or higher, and runs up to PHP 8.4.
It requires the following PHP extensions: sodium, Zlib, Zip and Phar.
Changes introduced by SPIP 4.4
The most striking changes are the fact that SPIP no longer sends passwords in clear text in registration and password reminder emails.
On the technical side, it should be noted that the write, prive and template-dist folders, as well as the security screen, are installed using Composer. This changes nothing for people who use spip_loader. Also worth noting is the introduction of #LAYOUT_PRIVE, #TRAD and #URL_DOCUMENT_FICHIER tags.
There has also been a series of optimisations for image filters.
The #LAYOUT_PRIVE tag replaces #LARGEUR_ECRAN and enables new layouts to be used for pages in the back office:
#LAYOUT_PRIVE{fluide}, the central content adapts according to the presence or absence of content in #extra and #navigation.
#LAYOUT_PRIVE{pleine-largeur}
#LAYOUT_PRIVE{complements-gauche}
#LAYOUT_PRIVE{complements-droite}
#LAYOUT_PRIVE{complements-bas}
#LAYOUT_PRIVE{complements-bas-inverse}
The #TRAD tag avoids writing things like #VAL{module:cle}|_T, for example #TRAD{module:cle, #ARRAY{param, val, ..}, #ARRAY{option, val..}}.
Directories
- The vendor/ directory has been completed, with the arrival of the first spip-league libraries, which will provide an initial gateway to elements of the future SPIP 5.0.
- There is now also a config/spip directory.
This version also brings other improvements and bug fixes.
Security
- Cleaning up certain author entries on the author edit form (avoids ending up in logs if verbose logs are activated)
- Updating the list of bots & add antennapod (RSS reader) as a legal bot
Added
- Not sending passwords in clear text, instead sending links to set your password
-
copie_locale()passes anactionkey to thepost_editionpipeline - Additional language strings for item lists
-
#LAYOUT_PRIVEtag - Tag
#TRAD{module:key, #ARRAY{param, val, ..}, #ARRAY{option, val..}} - #MIME_TYPE tag calculated
-
#URL_DOCUMENT_FICHIERtag always returns the file of a document, which allows#URL_DOCUMENTto be used to refer to a web page when desired. Document templates are updated to use this tag. - The
add_linkandremove_linkactions can handle a qualifier -
add_menus_argspipeline, in addition to theadd_menuspipeline, which passes on the arguments todefinir_barre_boutons(). - Purging
var_nullifyvariables from the context intraiter_appels_inclusions_ajax. -
#PARAMtag to retrieve service container parameters - The
|affdatefilter accepts a timestamp as input -
_image_extensions_logos()function andimage_extensions_logospipeline - cli command to purge cache images that are too old (
cache-gd2andcache-vignettes) -
image_oriente_selon_exif()filter to automatically reorient an image according to its exif tag
Changes
- The
ecrire,prive,squelettes-distfolders are installed with Composer - The security screen is installed with Composer
- Updating language strings from trad.spip.net
- Use the
compter_contributions_auteurpipeline in an author’s info box - Ability to customise the singular and plural language strings in the title of all object lists
- New layouts for back office (
#LAYOUT_PRIVE) :defaut,fluide,pleine-largeur,complements-droite,complements-bas,complements-bas-inverse - Environment values explicitly emptied in ajax are passed through
var_nullifyto be completely purged. - Allowing ‘new’ visitor accounts to be sorted by registration-reminding date
- Add the publication time next to the date
- Use CSS variables and logical properties in the back office to avoid compiling CSS files
- The task control page uses the layout
complement-gauche - Using
image_extensions_logos()instead of$GLOBALS[‘formats_logos’]. - Image filters such as
image_recadrereorient the image according to the orientation exif
Corrections
- In the back office, avoiding a horizontal scrollbar in certain operating system configurations.
- Aligning the content of the en_lignes band with that of the banner.
- Better display of object lists on small screens.
- No bottom margin on last items in responses
- Load autoloader in
prive.phpfile - Avoiding a PHP warning if the logo file is not present
- Following medias on
inc_vignette_distwhich expects amediasparameter - Reestablishing hiding documents viewed in the document block
- No longer declaring
z-indexon columns that are already in flex - Fixing image rotation with convert
- Being able to scroll after leaving full-screen mode using the
<ESC>key - Using a value for
IMAGETYPE_SVGwhich does not risk a collision with a future image format addition (19 has been attributed toIMAGETYPE_AVIFin the meantime) - Fixed a fatal error when calling
phraser_champs_interieurs(). - Using
fpassthru()to deliver files directly and avoid a memory limit rather thanreadfile()which requires the file to be loaded into memory. - Requesting remote files with
STREAM_CRYPTO_METHOD_TLS_CLIENT. - Replacing obsolete
tttags withcode. - Authors’ emails are hidden by default
- Sending the number of contributions to articles to the
compter_contributions_auteurpipeline - Passing the url to the
pass_reset_urllanguage item - For the generic object institution form, test the
publierdansauthorisation using the parent declared by the parent API - In the generic object institution form, using the same test set for displaying the
publishedstatus inloadand for validation inverify. - Being able to remove the image from the login screen
- Being able to change the main logo when there is a hover logo
- Missing inclusion in some ajax contexts for bigup
- Checking the existence of
exif_read_data(). - Avoiding warnings on
image_oriente_selon_exif()in the absence of an image - Optimising filters
image_aplatir(),image_renforcement(),image_flou(),image_sepia(),image_flip_vertical(),image_flip_horizontal(),image_nb(),image_gamma()&image_rotation() - Correction of
cropparameter inimage_rotation(). - Form return message in
divinstead ofp. - The
audio/x-m4amimetype is an alias foraudio/mp4a-latm. - Calling to global
$formats_logosreplaced by_image_extensions_acceptees_en_entree(). - Correcting logo duplication (Duplicator plug-in for example) if the
tmp/uploadfolder does not exist - Displaying the document role selector (with the plug-in in question)
- Displaying of previews in
embtemplates - Fixed mediaelements library plug-in path and removed Flash fallback
- Added the
afficher_config_objetpipeline which was missing on the keywords and keyword_groups pages. - De-double status test in an SQL query.
- Support for SPIP 4.4 in the plug-in repository.
- Invalidating the cache (even for bots) when a permanent URL is added.
Deprecating
- PHP file inclusion via
<INCLURE(file.php)>or<INCLURE{fond=file.php}>. - Closing tag
</INCLURE>. -
#LARGEUR_ECRANtag for private templates to be replaced by#LAYOUT_PRIVE. - From SPIP 5 onwards, calling language strings in templates will be case-sensitive, and there will no longer be automatic conversion to lower case.
- Internal function
phraser_boucle_placeholder()to be replaced byphraser_placeholder_memoriser()orphraser_placeholder_reinjecter(). - Internal function
public_generer_boucle_placeholder()to be replaced bypublic_placeholder_generer(). - Language files populating a
$GLOBALSare deprecated; return an array directly - Obsolete constant
_DIR_IMG_PACK. - Global
$traiter_math,$tex_server, fonctionsproduire_image_math(),traiter_math()etreplace_math(),mathjaxplug-in should be used instead - Modifying the
$formats_logosglobal is deprecated: using theimage_extensions_logospipeline - Calling the
$formats_logosglobal is deprecated, using the_images_extensions_logos()function. - Depreciation of the
_DIR_RESTREINT_ABSconstant -
|image_typofilter, andrtl_mb_ord(),rtl_reverse(),rtl_visuel(),printWordWrapped(),produire_image_typo()functions, install the plug-inImages typographiques
Withdrawals
-
verif_butineur(),editer_texte_recolle()functions and_texte_trop_longform environment (unused - used for IE) - Support for the
_texte_trop_longform environment (used for IE) - An obsolete and untranslated language file.
Supported plug-ins
As with the previous version, most of the plug-ins are already compatible with SPIP 4.4, which will make upgrading easier.
See: How to upgrade SPIP







