[SPIP] Submitted : SPIP 4.2

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
    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 (spip/CHANGELOG.md at 4.2 - spip - SPIP on GIT).

(https://www.spip.net/IMG/png/sortingarticles_upgrades_and_version_history.png) **List of articles with the possibility of alternating the sorting direction ** (https://www.spip.net/IMG/png/bigup-advanced_functions.png) **Configuring browser-side image resizing before upload ** **Logo of an article editable as a document ** (https://www.spip.net/IMG/png/password_forgotten_-_spip.png) **The spip.net password reminder page **

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, or svg tags
  • display documents attached to news items in the public area
  • distinguish styles for .spip_code inline and block 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 and forgot, now
    provided by the core

Portfolio

— Sent by SPIP (https://www.spip.net/)


rubon155-a9eec.jpg

b14dd0f8709162eca9ed65aa521a30.png

227e5a2b3560a625d8557dd569dab2.png

4c37abc1c756943aec561606e494fb.png

19890f1f084f28a0c256ad31410614.png