SPIP Blog

Du logiciel libre et de la tendresse

Accueil > Release > habemus spipum : SPIP 3.0.6 et SPIP 2.1.20 !

habemus spipum : SPIP 3.0.6 et SPIP 2.1.20 !

lundi 18 mars 2013, par Ben.

Bonjour, la fumée blanche est enfin apparue, nous l’attendions depuis septembre dernier.

Deux nouvelles versions de SPIP sont donc disponibles pour les branches 3.0 et 2.1, apportant diverses corrections de bug. Nous vous invitons à mettre à jour vos SPIP.

Liste des changements en 3.0.6

(une longue liste en français compilée par marcimat \o/ )

Interface :

- rétablir les puces sur les forums de l’espace de rédaction (r19923, #2864)
- corrections des ancres sur redirections Ajax des formulaires CVT sous webkit (r19929)
- rétablir l’affichage des documents sur l’édition ajax des objets (r19938)
- permettre d’avoir les champs supplémentaires sur la page ?exec=infos_perso comme sur la page ?exec=auteur (r19953)
- quand le logo n’est pas éditable, et qu’il n’y a ni logo normal ni logo survol déjà présent, il est inutile d’afficher le formulaire (r20018)
- dans la liste des enfants de rubrique, utiliser les filtres automatiques réellement définis pour les titres (r20032)
- classe CSS manquante sur la 404 privée (r20061)
- pétouille CSS quand un picker est dans un fieldset (r20076)
- faire apparaître le bouton de changement de statut même si il était au départ en display:none et pas seulement en visibility:hidden (r20158)
- vérifier qu’on est admin pour créer des rubriques à la racine (r20172, #2886)
- afficher les boutons de création d’auteur pour les admins restreints là où ils manquaient (r20220, #2939)
- utiliser apercite.fr pour remplacer thumbshots.com qui a sombré... (r20242)
- mettre à jour l’url sous « Voir le site public » quand on change l’url (r20245)

Puces statut :

- ajouter un title sur les puces de statut (r20059)
- si un objet n’est pas éditable, ne pas lui appliquer de changement rapide de statut (r20062)
- permettre à |puce_statut de supporter aussi les objets qui ne sont pas rangés dans les rubriques (puce de changement rapide) (r19987)

Sélecteur générique et rubrique  :

- réparer l’ajout rapide du navigateur de rubrique (r19914)
- amélioration du sélecteur générique (r20034, r20038, r20039, r20041, r20043, 20120, r20123, r20124, r20179, r20190, r20192, r20231)
- ne pas enregistrer l’historique HTML5 sur le sélecteur ajax (r20034)
- rendre générique le mini formulaire d’ajout rapide (r20040)

Dateur :

- coquille dans un texte du dateur (r19958)
- relancer l’application du dateur sur les champs date après retour AJAX (r20046)
- attendre que les js du dateur soient chargées pour les lancer ! (r20050)
- le script de dateur était compacté en HTML au lieu de JS (r20050, #2921)
- image manquante (r20159)

Prévisu :

- envoyer systématiquement les boutons d’admin en prévisu (r20106)
- la prise en compte de la previsu ne se fait plus dans le code généré (accélère la prévisu) (r20107)
- l’ajout de la banniere previsu se fait dans le pipeline affichage_final, plus propre (r20108)

Traductions :

- les liens de traductions doivent pouvoir être définis et enlevés même lorsque le menu de langue n’est pas activé (r20152, #2861)
- quand on écrit une traduction, les auteurs de l’article d’origine ne sont pas associés à la traduction (mais seulement le traducteur) (r20198, #2847)

Traitements d’image :

- 2 pipelines supplémentaires : image_ecrire_tag_preparer et image_ecrire_tag_finir (r19917, r19918)
- éviter des timestamp compliqués dans l’espace privé (r19948)
- générer un log de debug au traitement d’une image, pour, lorsqu’une image trop grosse fait planter le site, pouvoir la retrouver plus facilement (r19950)
- vérifier que l’image temporaire existe bien (créée par GD) avant de faire un getimagesize (r20133)

Récupération de données distantes :

- avoir les réponses de requêtes HEAD vraiment identiques à GET (r19959)
- ne pas copier directement le fichier distant à sa destination, sinon un autre processus concurrent peut croire qu’il est présent et le traiter (r20113)
- ne pas confondre des documents distants avec des documents locaux protégés (r20146, r20169)

Code PHP :

- quelques notices PHP en moins (r19907)
- quelques documentations de fonctions au format PHPDoc en plus (r19916, r19928,r20004,r20034,r20037)
- définir dans la librairie Pclzip comme dossier temporaire le tmp/ de SPIP dont on sait qu’il est toujours accessible en écriture. (r19990)
- inclusion parfois manquante dans le nettoyage des mails (r20014)
- un statut « 0 » ne pouvait plus être modifié (r20020, r20021)
- objet_inserer() accepte un argument $set (r20021)
- inclusion manquante d’autoriser (r20072, r20073)
- inclusions inutiles (r20101)
- éviter des sql_countsel multiples pour le bouton de création de chaque objet enfant (r20100)
- permettre à un plugin de définir antérieurement la constante _LOG_FILTRE_GRAVITE. (r20212, r20219, #2927).

API d’objets et de liens :

- objet_inserer() accepte un argument $set (r20021)
- objet_dupliquer_liens prend 2 arguments optionnels supplémentaires qui permet de lister les types des objets liés à prendre en compte ou à exclure (r20197)
- cohérence : sur les objets génériques on prend _request(id_auteur) si il est posté pour l’associer à l’objet lors de la creation. Faisons pareil sur les articles (r20241, r20271)

Portages SQL :

- pas de longueur sur les index en SQLite (r20023)
- meilleur gestion des clauses DEFAULT en SQLite (r20270)

URLs :

- généricité du code dans balise/url_ (r19933)
- coquille sur #URL_TRUC* qui renvoyait vide (r19934)
- comme les autres #URL_XXX*, #URL_ARTICLE* renvoie une URL sans « & » (r19935)
- corrections sur generer_info_entite (r20031)
- décodage des urls : quand on appelle la fonction en dehors de assembler, il faut prendre en compte l’url fournie telle quelle (r20166)

Dates :

- pouvoir utiliser des déclarations de champs de date qui ne sont pas habituels pour les critères de dates (jour_relatif, age_relatif etc) en utilisant $GLOBALS['table_date'][$table['id_table']] (r19966)
- le 4e argument $options du #FORMULAIRE_DATER peut être utilisé pour forcer la prise en compte ou non d’une date_redac (r20030)

Compression :

- correction d’absence de compression CSS lorsque #INSERT_HEAD_CSS n’est pas présent dans un squelette (r20004, r20007, r20069)

RSS :

- réparer le flux RSS des signatures (r20013)
- permettre d’attraper la taille d’un `media:content` dans un flux rss (r20225, #2941)

Gestion des plugins :

- analyse de paquet.xml : éviter de coller des mots ensemble (r19996)
- meilleure gestion de _DIR_PLUGINS_SUPPL (r20029)

Sessions :

- ne pas confondre un fichier temporaire avec un fichier de session (r20033, #2914)

Compilateur :

- rétablir la prise en compte par le phraseur {n-#ENV{nb},x} (r20049)
- corriger certains critères de type {!id_mot=...} (r20066, #2729, #2862)
- amélioration du critère {par x.y} qui ne se débrouillait pas de lui-même pour ajouter la jointure, si elle n’était pas déjà là au moment du calcul du critère. (r20114)
- permettre à la balise #LESAUTEURS d’être multi objet (r20116, r20187, r20188)
- autoriser des déclarations de boucles avec des noms de serveur comme pour les critères, tel que boucle_X_DOCUMENTS_dist() où « X » est un nom de connecteur (r20118)
- corriger #PUBLIE en prévisu (r20121, r20122)
- la boucle Hiérarchie ne doit pas empêcher de traiter les critères autres que ceux qui la concerne directement (id_x et id_rubrique). (r20269, #2916, #2952)

Tâches Cron :

- éviter trop de crons concurrents sur les serveurs à fort traffic (r20125, r20126, r20127, r20134)
- correction de plusieurs bugs sur les tâches cron qui doivent se relancer car non finies (r20135)
- ne pas relancer un cron automatiquement immédiatement sans tenir compte du retour car cela provoque un appel continu toutes les secondes du génie optimiser qui fait plein de choses en BDD (load issue) (r20160)
- genie/mail utilise notifications_envoyer_mails() plutôt que directement envoyer_mail() (r20230)

Écran de sécurité :

- « 80legs » est un bot (r20240)
- « sys_getloadavg » est peut être inhibée (r19945, #2871)

Autres :

- éviter de tuer charger_fonction() dans certains cas alors qu’on ne le demandait pas (r19925)
- ne pas manger les classes CSS du formulaire instituer objet (r19936)
- prise en compte d’une recherche accentuée si le site n’est pas en UTF-8 (r19946, r19947, #2801)
- le modèle pagination_precedent_suivant.html accepte 2 arguments : url_precedent et url_suivant permettant de l’utiliser en dehors d’une balise pagination (r19956)
- lors d’une institution (changement de statut ou déplacement), renseigner l’ancien parent dans les pipelines (r19977)
- utiliser chercher_filtre pour charger la fonction bouton_action (r19979)
- lors d’une réparation d’une table, que le sql ait ou non une fonction repair, on appelle en complement maj_tables() qui ajoute les champs éventuellement manquants (r19983)
- déclaration de pipeline manquante (r20067)
- gestion de la page d’erreur 404 extensible par pipeline page_indisponible (oubli de report) (r20070)
- sécurisation des urls redirections en url absolues : accepter non seulement la meta adresse_site, mais aussi l’url de base du hit (r20075)
- les mails HTML n’étaient pas détectés et affectés du bon Content-Type lorsque le sujet était fourni (r20223)
- ne pas proposer la base courante dans la liste des bases externes ; faire retourner tous les arguments de l’appel de la fonction analyse_fichier_connection (inclu, donc, le préfixe de table). (r20249)

Brèves

- autorisations manquantes : il faut qu’une rubrique existe pour pouvoir les créer (r69229)
- éviter des warning (r70375)

Compresseur

- correction d’une suppression à tort du retour ligne qui suit les commentaires // (r67734)
- tolérer que certains commentaires HTML ne soient pas supprimés, s’ils commencent par <!--keepme: (r68367)
- prendre en charge les directives @import lors de la compression CSS (r69190, r69331, r69332, r69739)
- PHPDoc (r69190)

Filtres Images

- correction d’une erreur sur la saturation = 0 (r66992)
- prise en charge des apple-touch-icon.png dans toutes leurs variantes, calculées à partir du logo du site. (r70268, r70269)

Forums

- correction sur l’url de notification (r65951)
- permettre l’extension de la table (r66054, r66056)
- éviter un bug lors de la soumission ajax du formulaire (jQuery pas defini dans l’iframe du post) (r66091)
- réparer l’alerte qui se declenchait a tort sous safari après post du message, et qui ne se déclenchait pas du tout sous Chrome (r66093)
- réparer generer_url_forum_dist() qui ne renvoyait rien (r67198)
- cliquer l’adresse mail dans l’en-tête d’un message de forum lance le courrielleur. (r70293, #2917)
- améliorer l’information d’auteur d’un message de forum (r70298, r70413)
- contrôle des forums privés : même type de cartouche pour les nouveaux objets éditoriaux que celui des objets historiques (r70416, r70466, r70469)
- espaces insécables sur chaîne de langue (r70587)

Mediabox

- sprite sur le thème fancybox (r69774)

Médias

- pouvoir ajouter une liste de documents de la médiathèque par désignation d’un intervalle (r66239)
- post publication des articles : les documents ne prenaient pas les bons statut et date associés (r66464, #2849)
- correction d’une inclusion (r66948)
- correction de l’index id_objet qui était sur la colonne id_version, ajout deux index sur id_version et objet (r66950)
- ajouts de modes de fusions pour |image_masque : ecran, superposer, lumiere_dure, teinte, saturation, valeur (r67225)
- permettre à un squelette d’ignorer le mode d’une image sans forker les modèles, en passant mode_force=image ou mode_force=document (r67632)
- permettre les raccourcis |left, |center et |right même si le document est déjà vu (r67801)
- permettre <embX> même sur les documents dont la taille est 0 (r67801)
- lorsqu’un zip ne contient aucun fichier uploadable (type acceptable) alors il faut simplement le charger en zip joint plutot qu’annoncer une erreur erronée (r68096)
- après déplacement du fichier dans IMG/, on regarde si on peut récupérer une taille du fichier, si on ne peut pas, c’est qu’il fait 0 octet et donc corrompu (ou problématique et inutile) (r68123)
- prendre en compte les tailles maximales d’upload définies (r68412, r68452, #2920)
- pouvoir utiliser les modèles de documents, insertion, etc, avec des documents dont le mode n’est pas connu (r69196)
- déclarer le pipeline medias_documents_visibles (r69827)
- clauses DEFAULT souvent manquantes sur les champs extension, credits et statut de la base, car elles n’étaient pas initialement renseignées. On les remet d’applomb (r69871)
- prise en charge des documents au format MBTiles (r69920)

Mots

- coquilles dans les déclaration de chaîne de langue (r66776)
- ajout d’un index sur id_groupe (r67761)
- les groupes de mots n’ont pas à être tous affichés dans le formulaire pour associer des mots : c’est en fonction de leur configuration et du statut de l’auteur (r70329, #2926)
- appliquer une marge à l’icône « Modifier ce groupe de mots » uniquement sur exec=mots (r70540)

Organiseur

- afficher l’agenda interne dans l’espace public affiche bien ses propres rendez-vous si on est connecté(r68383)
- séparer l’algorithme de conversion des messages vers le format fullcalendar dans des fonctions spécifiques pour permettre des réutilisations par des plugins (r68389)

Révisions

- débug en moins (r65911, #2857)
- ajouter un DEFAULT sur ’permanent’ et ’champs’ pour SQLite (r67235)

Sites

- autorisations manquantes : il faut qu’une rubrique existe pour pouvoir les créer (r69229, r69232)
- prendre en compte les documents attachés qu’ils soient via enclosure, media:content ou les deux (r70317, #2941)

Squelettes dist

- coquilles sur le formulaire de recherche (r66277)
- retours de message du formulaire d’inscription : quand c’est une erreur afficher un message d’erreur. Quand c’est un succès, fournir en retour l’id_auteur inscrit pour les pipelines/plugins (r68472)
- éviter un warning php sur le formulaire pour écrire à un auteur (r68491)
- HTML du formulaire de recherche : le input.texte et le input.sumit n’ont pas d’espace entre eux comme sur la 2.1 (r68636)
- ne pas appeler la page 404 depuis les squelettes car cela empêche un plugin d’utiliser une 401 en cas de contenu interdit par exemple. Corrolairement on deplace le calcul des messages d’erreur par defaut dans la page 404 (r68800)
- passer dorénavant objet/id_objet au modèle lesauteurs.html (r69240)
- les robots ne doivent pas indexer plugins-dist ! (r69404)
- utiliser le modeles/mail_oubli.html pour composer l’email de rappel de mot de passe, plutot que le composer en dur dans le code PHP (r70608)

Statistiques

- pouvoir annuler le filtre id_article sur la page des stats (r65914, #2856)
- la colonne de droite des stats ne doit pas exclure les éléments trouvés précédemment (r66318)

SVP

- correction du non affichage du slogan après l’activation d’un plugin : inclusion manquante (r67424, #2895)
- correction de la détermination des branches SPIP lorsque la borne max contient des étoiles. (r67489)
- « Sélectionner les mises à jour » passe le bouton d’action sur mise à jour automatiquement (évite que le bouton désactive les plugins par défaut) (r68017)
- coquille sur _DIR_PLUGINS_SUPPL (r68051)
- _DIR_PLUGINS_SUPPL est géré comme un répertoire normal de plugins (r68052)
- ajout d’une autorisation « ajouter plugins » (permet d’activer ou non le téléchargement sur une mutualisation) (r68054)
- donner un nom à un index pour PostGreSQL (r69430)
- message d’erreur correct lorsque c’est le XML (décrivant les plugins qu’on n’arrive pas à télécharger) qui est erronné et non sa syntaxe (r70068)

Textwheel

- ne pas confondre un simple « < » avec un raccourci ressource en embarquant par erreur la balise html qui suit (r65851, r65852, #2854)
- éviter un segmentation fault dans le traitement des listes (r68671, r68672, #2531)
- versionner les wheels cachées pour éviter un bug en cas de modification sensible lors d’un upgrade (r69009)
- correction d’une substitution sur &deg (r70155)
- tableau : mieux lire les nombres (r70244, r70279)

URL étendues

- ne jamais appeler en direct generer_url_document_dist mais passer par un charger_fonction approprié (r67345)
- correction en url arbo où on pouvait se retrouver à renvoyer la sous rubrique au lieu de la racine en decodant le premier tronçon de l’URL (r70024)

Liste des changements en 2.1.20 :

(une liste en français compilée par esj \o/ )

Une quarantaine de commit sont passés sur la branche 2.1
depuis la sortie de 2.1.19 en Septembre. Ils corrigent des bugs
mineurs. Les principaux changements concernent :

  • la récupération des fichiers distants ou protégés
  • les arguments des chaînes de langues dans les squelettes
  • la présentation des résultats de recherche
  • le repérage des colonnes numériques dans le raccourci des tableaux
  • plusieurs cas d’invalidité XHTML (voire XML), et WCAG
  • les bases externes pas toujours prises en compte
  • l’import partiel avec fusion qui ne traitait pas certains cas et n’était pas extensible
  • le validateur en boucle qui ne savait pas traiter les squelettes du répertoire prive.

Télécharger la version SPIP 2.1.20 :


N’hésitez pas à utiliser les différents moyens mis à disposition par la communauté pour obtenir de l’aide lors de cette mise à jour :

- Liste spip-user : http://listes.rezo.net/mailman/listinfo/spip
- Forum : http://forum.spip.net
- IRC : http://irc.spip.net

Nous rappelons à toutes et tous que le meilleur moyen pour signaler des failles, ou des suspicions de failles est d’envoyer un email à « spip-team@rezo.net ».

Comment mettre à jour vers SPIP 3.0.6 ?

  1. par spip_loader.php : si vous avez déjà installé spip_loader, rendez-vous à l’adresse http://VOTRE_SITE/spip_loader.php pour installer la dernière version de SPIP.
    Attention cependant : lisez bien les instructions ici : http://www.spip.net/fr_download#spip_loader pour ne pas être surpris par un passage non voulu de SPIP2 à SPIP3.
  2. par copie des fichiers : SPIP 3.0.6 est disponible à l’adresse http://files.spip.org/spip/stable/spip-3.0.zip
  3. par SVN : si vous êtes dans la branche 3 faites simplement un « svn up » svn ://trac.rezo.net/spip/branches/spip-3.0
    la version 3.0.6 est aussi disponible sous la branche : svn ://trac.rezo.net/spip/branches/spip-3-stable et sous le tag svn ://trac.rezo.net/spip/tags/spip-3.0.6

Pour, la version SPIP 2.1.20, vous pouvez la trouver dans les archives : http://files.spip.org/spip/archives/

Comment être tenu au courant de ces annonces ?
Le plus simplement du monde en s’inscrivant sur la mailing liste http://listes.rezo.net/mailman/listinfo/spip-ann .

Bien sûr les réseaux sociaux ne sont pas en reste :
- Twitter : http://twitter.com/spip
- Facebook : http://www.facebook.com/spip.net
- Seenthis : http://seenthis.net/people/spip

Messages

  • Hello

    Merci pour ces mises à jour.

    Petit souci sur www.perceoreilles.net cependant (cache vidé) : la navigation interne est cassée -> sur firefox on arrive sur des pages blanches (code source blanc aussi), sur chrome, on arrive sur un avertissement « Erreur HTTP 500 (Internal Server Error) : Une situation inattendue s’est produite tandis que le serveur tentait de traiter la demande. »

    Le problème se manifeste uniquement quand je ne suis pas logguée (c’est-à-dire pour tout le monde sauf les admins en somme).

    Sur un autre site que j’administre, il y a eu des erreurs 500 aussi, qui semblent s’être résorbées après avoir vidé le cache.

    Une idée ?

  • NB : j’ai oublié de préciser que le perce-oreilles était dans la dernière (enfin avant-dernière maintenant ;) ) version de Spip 3, mise à jour, donc, vers la 3.0.6

  • Trouvé...

    C’est le plugin Pages pour mobile qui crée le souci, même quand on n’est pas sur un mobile.

    Pourquoi, je ne sais point encore...

  • Résolu avec le passage à la 3.0.7 : plugin réactivé sans souci. Merci aux vaillant-e-s spipeuses/eurs !

Un message, un commentaire ?

Qui êtes-vous ?
Se connecter
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.