SPIP
Article submitted
The article « SPIP 4.2
(SPIP) » is submitted
for publication. on Saturday 25 February 2023.
SPIP 4.2
Saturday 25 February 2023 , by jack
SPIP 4.2 is a version that follows the maintained versions of PHP while
exceptionally maintaining compatibility with PHP 7.4. It is also a first
step towards Composer with the introduction of an autoloader for internal
use and the integration of dependencies to PHP libraries via composer.json
(notably the PHP 8.0, 8.1 and 8.2 polyfills as well as the mbstring
polyfill).
Table of contents
- PHP 7.4 to 8.2 compatibility
- Code quality
- New features and changes
- Plugins
PHP 7.4 to 8.2 compatibility [|Back to the table of
contents](#s-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 deprecations of calls to utf8_encode
, the use of
non-existent class properties and ${var}
type entries.
Code quality |Back to the table of contents
In the line of SPIP 4.1
(SPIP),
we have continued to type certain function arguments and returns to detect
incorrect calls as soon as possible.
In addition, the few PHP classes in SPIP have been moved to ecrire/src
under the Spip namespace.
New features and changes [|Back to the table of
contents](#s-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 backticks (
`
) 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
thetri
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 (spip/CHANGELOG.md at 4.2 - spip - SPIP on GIT).
The page uses the same background colour or image as that defined for the
login page.
Plugins|Back to the table of contents
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 directly in the
FORMULAIRE_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 backtick and triple backtick for code blocks
- added a
markItUpEditor.loaded
event when edit bars are loaded
Révisions
- 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 backticks to insert code into editorial content
- refactoring 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
Portfolio
- Liste d’articles avec la possibilité d’alterner le sens de tri
(https://www.spip.net/IMG/png/tri_listes.png) - Logo d’un article éditable comme un document
(https://www.spip.net/IMG/png/edition_logo.png) - La page de rappel de mot passe de spip.net
(https://www.spip.net/IMG/png/rappel.png) - Configuration du redimensionnement des images côté navigateur avant
(…) (https://www.spip.net/IMG/png/bigup-retaillage2.png)
— Sent by SPIP (https://www.spip.net/)