PHP 7.4 to 8.2 compatibility
SPIP 4.2 requires PHP 7.4 minimum, and works up to PHP 8.2.
It requires the PHP extensions: sodium, Zlib, Zip and Phar.
As with SPIP 4.1, compatibility with a new version of PHP required numerous corrections and adaptations in the SPIP code.
This mainly concerns deprecation of calls to utf8_encode, the use of non-existent class properties and ${var} type entries.
Code quality
In the line of SPIP 4.1, we have continued to type certain function arguments and returns to detect incorrect calls as quickly as possible.
In addition, the few PHP classes in SPIP have been moved to ecrire/src under the Spip name-space.
New features and changes
Among these we can note:
- better content security by using the HTMLPurifier library instead of SafeHTML
 -  the ability to edit object logos as documents, and the introduction of a 
#ID_LOGO_tag (e.g.#ID_LOGO_ARTICLE) which returns the identifier of the document used for an object logo -  support for back-ticks (
`) to insert code into editorial content - the display of the language of users on their page and the possibility of editing it
 - the standardisation and systematic call of the notifications API when modifying editorial content
 -  the possibility of alternating the sorting direction of lists that use the 
tricriterion - improved HTML markup generated for code blocks
 - the MySQL database engine is no longer forced during installation, allowing SPIP to be installed without any modification on a server that uses InnoDB
 -  utf8 support for the 
|matchfilter -  the ability to specify a join when using the 
#CHAMP_SQLtag (e.g.#CHAMP_SQL{section.title}) - handling of high density images when cropping and reducing
 - better management of the display of updates in the footer of the private area
 - no longer allowing an editor to refuse his or her own articles
 - a visual redesign of the installation and password reminder pages
 
Many bugs have also been fixed, you can see the full list in the file CHANGELOG.md.
Plugins
Bigup
- ability to resize images on the browser side, before uploading (dimensions are configurable from the private area)
 - support for Webp and SVG image previews
 -  added a 
bigup_preparer_input_optionspipeline for fine tuning options 
Compresseur
- update of the CSSTidy library to version 2.0.3
 - fixed a bug in the compression of CSS files with shortened padding & margin properties
 
Forum
- adding missing SVG icons to the internal forum management page
 - limited the number of items to 100 in the RSS feeds produced
 -  removed 
|lignes_longuesfilter now handled in css 
Medias
- allow editing a logo as a document
 - remove the SVG Sanitizer which is now in the SafeHtml plugin
 -  removal of the 
FORMULAIRE_CHANGE_DOCUMENT_FILEform which is no longer used by SPIP (the functionality is to be found directly in theFORMULAIRE_EDITER_DOCUMENT) - removal of excess sort direction buttons on some document lists
 - not constraining the size of SVG images
 -  fixed a file selection bug when uploading documents from 
tmp/upload - updated getID3 library to version 1.9.22
 
Site Map in the Private Space
- use the parent/child API to list child objects in each section
 - more flexible stylesheet and SVG icons
 
Quill
- toolbar uses back-tick and triple back-tick for code blocks
 -  added a 
markItUpEditor.loadedevent when edit bars are loaded 
Revisions
- correction of the revision tracking RSS feed
 
SafeHtml
- added SVG Sanitizer previously in the medias plugin
 - use of the HTMLPurifier library instead of SafeHTML
 
Sites
- filter the list of sites by presence of a syndication or not
 -  remove 
|lignes_longuesfilter now managed in css 
SVP
- accept bounds of type, x, x.y, and x.y.z in a compatibility range
 - improve the plugin installation progress screen
 
TextWheel pour SPIP
- support for back-ticks to insert code into editorial content
 - re-factoring of text security
 
Dist
- display the code block language in the top right corner
 -  complete responsive CSS for 
video,canvas, orsvgtags - display documents attached to news items in the public area
 -  distinguish styles for 
.spip_code inlineandblockelements - allow two search forms to be inserted on the same page
 - prevent paginations from overflowing on small screens
 -  remove 
|lignes_longuesfilter now handled in css -  removed the 3 forms 
registration,passwordandforgot, now provided by the core 






