Si vous vous demandez pourquoi on publie directement une beta4, c’est parce que les trois premières contenaient des bugs gênants et n’étaient donc pas diffusables publiquement.
SPIP version 4.4.0-beta4
Les changements les plus marquants sont le fait que SPIP n’envoie plus de mot de passe en clair dans les mails d’inscription et de rappel de mot de passe et que les images sont maintenant réorientées automatiquement selon leurs données EXIF à l’upload.
Côté technique on peut noter que les dossiers ecrire
, prive
, squelettes-dist
ainsi que l’écran de sécurité s’installent avec Composer. Cela ne change rien pour les personnes qui utilisent spip_loader.
On peut également noter une série d’optimisations pour les filtres d’images.
Vous pouvez télécharger le zip de cette version sur files.spip.net, pensez à mettre à jour votre spip_loader si vous souhaitez installer la beta par ce biais.
Cette version apporte également d’autres améliorations ou corrections de bugs :
- Ajouts
- Ne pas envoyer de mot de passe en clair, mais plutôt des liens pour définir son mot de passe
-
copie_locale()
passe une cléaction
au pipelinepost_edition
- Chaînes de langue supplémentaire pour les listes d’articles
- Balise
#LAYOUT_PRIVE
- Balise
#TRAD{module:cle, #ARRAY{param, val, ..}, #ARRAY{option, val..}}
- Les actions
ajouter_lien
etsupprimer_lien
peuvent gérer un qualificatif - Pipeline
ajouter_menus_args
, en complément au pipelineajouter_menus
, qui transmet les arguments dedefinir_barre_boutons()
- Purger les variables de
var_nullify
du contexte danstraiter_appels_inclusions_ajax
- Balise
#PARAM
pour récupérer les paramètres du container de services - Le filtre
|affdate
accepte un timestamp en entrée - Fonction
_image_extensions_logos()
et pipelineimage_extensions_logos
- Commande cli pour purger les images cache trop anciennes (
cache-gd2
etcache-vignettes
) - Filtre
image_oriente_selon_exif()
pour réorienter automatiquement une image selon son exif
- Changements
- Les dossiers
ecrire
,prive
,squelettes-dist
s’installent avec Composer - L’écran de sécurité s’installe avec Composer
- Mise à jour des chaînes de langues depuis trad.spip.net
- Utiliser le pipeline
compter_contributions_auteur
dans la boite d’info d’un auteur - Possibilité de personnaliser les chaînes de langue singulier et pluriel du titre de toutes les listes d’objets
- Nouveaux layouts pour le privé (
#LAYOUT_PRIVE
) :defaut
,fluide
,pleine-largeur
,complements-droite
,complements-bas
,complements-bas-inverse
- Les valeurs d’environnement explicitement vidées en ajax passent par
var_nullify
pour en être totalement expurgées - Permettre de trier les comptes visiteurs « nouveau » par date d’inscription-relance
- Ajouter l’heure de publication à côté de la date
- Utiliser des variables CSS et propriétés logiques dans l’espace privé pour éviter la compilation des fichiers CSS
- La page de contrôle des tâches utilise le layout
complement-gauche
- Utilisation de
image_extensions_logos()
à la place de$GLOBALS['formats_logos']
- Les filtres d’images tel que
image_recadre
réorientent l’image selon l’exif d’orientation
- Les dossiers
- Corrections
- Utiliser pour
IMAGETYPE_SVG
une valeur qui ne risque pas une collision avec un futur ajout de format image (19 a été pris parIMAGETYPE_AVIF
entre temps) - Correction d’une erreur fatale sur l’appel à
phraser_champs_interieurs()
- Utiliser
fpassthru()
pour livrer directement les fichiers et éviter un memory limit plutôt quereadfile()
qui passe par un chargement en mémoire du fichier - Requêter les fichiers distants avec
STREAM_CRYPTO_METHOD_TLS_CLIENT
- Remplacer les balises
tt
obsolètes parcode
- Les emails des auteurs sont masqués par défaut
- Transmettre au pipeline
compter_contributions_auteur
le nombre de contribution sur les articles - Passer l’url à l’item de langue
pass_reset_url
- Pour le formulaire générique d’institution d’objet, tester l’autorisation
publierdans
en utilisant le parent déclaré par l’API de parenté - Dans le formulaire générique d’institution d’un objet, utiliser le même jeu de test pour l’affichage du statut
publie
danscharger
et pour la validation dansverifier
- Pouvoir supprimer l’image de l’écran de connexion
- Pouvoir modifier logo principal quand il y a un logo de survol
- Inclusion manquante dans certains contextes ajax pour bigup
- Vérifier l’existence de
exif_read_data()
- Éviter des warnings sur
image_oriente_selon_exif()
en absence d’image - Optimisation des filtres
image_aplatir()
,image_renforcement()
,image_flou()
,image_sepia()
,image_flip_vertical()
,image_flip_horizontal()
,image_nb()
,image_gamma()
&image_rotation()
- Correction du paramètre
crop
deimage_rotation()
- Message de retour des formulaires en
div
plutot qu’enp
- Le mimetype
audio/x-m4a
est un alias deaudio/mp4a-latm
- Appel à la globale
$formats_logos
remplacée par_image_extensions_acceptees_en_entree()
- Corriger la duplication (plugin Duplicator par exemple) de logo si le dossier
tmp/upload
n’existe pas - Affichage du sélecteur de rôles de documents (avec le plugin en question)
- Affichage des aperçus dans les modèles
emb
- Correction du chemin des plugins de la librairie mediaelements et suppression du fallback Flash
- Ajouter le pipeline
afficher_config_objet
qui manquait sur les pages mots et groupes_mots. - Dédoublonner test de statut dans une requête SQL.
- Support de la branche 4.4 de SPIP dans le référentiel des plugins
- Invalider le cache (même pour les bots) lorsqu’une URL permanente est ajoutée
- Utiliser pour
- Dépréciations
- Inclusion de fichier PHP via
<INCLURE(fichier.php)>
ou<INCLURE{fond=fichier.php}>
- Balise fermante
</INCLURE>
- Balise
#LARGEUR_ECRAN
pour les squelettes du privé à remplacer par#LAYOUT_PRIVE
- À partir de SPIP 5, l’appel des chaînes de langues en squelette sera sensible à la casse de la déclaration, il n’y aura plus de conversion automatique en minuscule
- Fonction interne
phraser_boucle_placeholder()
à remplacer parphraser_placeholder_memoriser()
ouphraser_placeholder_reinjecter()
- Fonction interne
public_generer_boucle_placeholder()
à remplacer parpublic_placeholder_generer()
- Les fichiers de langue peuplant une
$GLOBALS
sont dépréciés ; renvoyer directement un tableau - Constante obsolète
_DIR_IMG_PACK
- Globales
$traiter_math
,$tex_server
, fonctionsproduire_image_math()
,traiter_math()
etreplace_math()
, utiliser le pluginmathjax
à la place - Modifier la globale
$formats_logos
est déprécié : utiliser le pipelineimage_extensions_logos
- Appeler la globale
$formats_logos
est déprécié, utiliser la fonction_images_extensions_logos()
- Dépréciation de la constante
_DIR_RESTREINT_ABS
- Filtre
|image_typo
, et fonctionsrtl_mb_ord()
,rtl_reverse()
,rtl_visuel()
,printWordWrapped()
,produire_image_typo()
, installer le pluginImages typographiques
- Inclusion de fichier PHP via
- Retraits
- Fonctions
verif_butineur()
,editer_texte_recolle()
et environnement_texte_trop_long
des formulaires (inutilisé — servait pour IE) - Prise en compte de l’environnement de formulaire
_texte_trop_long
(servait pour IE) - Un fichier de langue obsolète et non traduit.
- Fonctions
Mettre à jour en utilisant le spip_loader
Vous pouvez aussi mettre à jour au moyen de la dernière version de spip_loader (version 6.1.8).
spip_loader est distribué à l’adresse suivante : https://get.spip.net/
Le fichier spip_loader.php
est un script compilé dans le format binaire
phar.
Si vous avez besoin de personnaliser l’installation en définissant des constantes, il vous faut créer un fichier de configuration spip_loader_config.php (cf https://www.spip.net/fr_article5705.html).
Résumé des versions de SPIP
Branche | Version | Suivi | Compatibilité PHP |
---|---|---|---|
SPIP 4.3 | 4.3.6 | Maintenance active | PHP 7.4 à PHP 8.4 |
SPIP 4.2 | 4.2.17 | Correctifs de sécurité | PHP 7.4 à PHP 8.3 |
Pour connaître le détail des versions maintenues :
https://www.spip.net/fr_article6500.html
Comment être tenu au courant de ces annonces ?
C’est simple, inscrivez-vous sur la mailing liste https://discuter.spip.net/c/spip-ann/13
Bien sûr, les réseaux sociaux sont de la partie :
- Seenthis : https://seenthis.net/people/spip
- Facebook : https://www.facebook.com/spip.net
- Mamot : https://mamot.fr/@spip
Une question, besoin d’aide ?
En cas de problème ou de difficultés, il y aura certainement quelqu’un pour vous aider sur IRC, n’hésitez pas à venir poser vos questions https://irc.spip.net ou sur notre serveur Discord.
Vous pouvez aussi poster un message et échanger sur :
- La liste des utilisateurs et utilisatrices https://discuter.spip.net/c/spip/6
- La liste du développement spip-dev https://discuter.spip.net/c/spip-dev/5
Nous vous rappelons que pour signaler une faille, il suffit d’envoyer un mail à securite@spip.net.
Messages
29 janvier, 17:38, par AbsurdePhoton
Dépréciation : "Inclusion de fichier PHP via <I.NCLURE(fichier.php)> ou <I.NCLUREfond=fichier.php> "
Ouille il me semble utiliser ce genre de chose sur mon site.
C’est bien de déprécier mais où sont les solutions / adaptations à réaliser ? Y a-t-il un guide là dessus ?
29 janvier, 18:08, par Maïeul
@Absurdephoton : aujourd’hui il n’y plus de raison d’utiliser un fichier .php pour inclure un squelette. Quel est ton usage ? Normalement utiliser
<INCLURE{fond=<chemindusquelette>}
suffit.Quand au guide d’adaptation, une version sortira pour SPIP 5.0 puisqu’à ce moment là cela ne fonctionnera plus. Tu peux le trouver deja ici https://git.spip.net/spip/spip/-/blob/master/UPGRADE_5.0.md
30 janvier, 07:34, par Marcimat
@Absurdephoton
Ce n’est pas tout à fait exactement pareil, mais
1) comme dit @maieul inclure un fichier PHP directement, c’est souvent pas utile, voire mauvais. Il vaut mieux inclure des squelettes, ou avoir des fichiers de fonctions si nécessaire.
2) il y a des alternatives,
–
#INCLURE{fichier.php}
reste fonctionnel, et fait quelque chose d’assez proche–
<?php include find_in_path('fichier.php'); ?>
également4 février, 11:45, par AbsurdePhoton
Merci pour le lien du guide d’adaptation ! Il y a tout ce qu’il faut.
7 février, 21:46, par Said
Merci beaucoup l’équipe. J’attends la version finale pour mettre à jour :)
14 février, 16:19, par martina
Comment je remplace
par le pipeline ?
J’ai bien essayé de mettre quelque chose comme ceci dans
mes_options
, mais visiblement ça n’est pas pris en compte :14 février, 16:26, par b_b
@martina (ou arno ^^) ta question aura certainement plus de réponse sur https://discuter.spip.net/