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
tri
criterion - 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
|match
filter - the ability to specify a join when using the
#CHAMP_SQL
tag (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_options
pipeline 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_longues
filter 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_FILE
form 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.loaded
event 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_longues
filter 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
, orsvg
tags - display documents attached to news items in the public area
- distinguish styles for
.spip_code inline
andblock
elements - allow two search forms to be inserted on the same page
- prevent paginations from overflowing on small screens
- remove
|lignes_longues
filter now handled in css - removed the 3 forms
registration
,password
andforgot
, now provided by the core