Esta cosecha 2010 promete ser una cosecha excepcional. Spip 2.1 ha sido muy probada y tiene un conjunto de pruebas unitarias que imponen un nivel de calidad del código muy alto. Esta versión es un primer paso hacia la modularización de funcionalidades de SPIP, y prueba de esto es el nuevo directorio «extensions». Los plugins en ese directorio se activan durante la instalación de SPIP y no son desactivables, abriendo el camino para distribuciones específicas de SPIP.
Principales mejoras de la versión 2.1
— Más rápido :
- una mejor gestión de acceso a disco
 - caché de las rutas calculadas
 - mejoras y ampliación del servidor virtual SQL
 
— Más seguro :
- encriptación sha256 para las contraseñas y actions
 - verificación de funcionamiento de los .htaccess
 - detección automática de actializaciones de SPIP
 
— Más bonito :
- integración (como extensión) del plugin «porte-plume» que mejora en gran medida la edición de campos de texto y ofrece una previsualización en curso de edición.
 - interfaz gráfica por defecto más liviana y elegante
 - posibilidad de definir temas gráficos (por ejemplo con el plugin «themes_interface_privee»)
 - mejoramiento en la gestión del tamaño de los campos de texto (se agrandan dependiendo de la cantidad de texto introducido)
 - soporte (configurable y desactivable) de transparencia PNG24 para MSIE6 sobre el sitio público
 - botones «modificar este artículo» y «proponer para publicación» durante la edición
 - nueva intefaz de gestión de plugins
 - rediseño del procedimiento para realizar copias de seguridad/restauración
 -   posibilidad de crear URL acentuadas definiendo 
_TRANSLITTERER_URLa «false» (atención a la configuración del servidor) 
— Más nuevo :
- compatibilidad PHP 5.3
 - integración de la biblioteca jQuery 1.4.2
 - intégración de la biblioteca pclzip 2.8.2
 
— Más liviano :
- Funcionalidades del nucleo convertidas en extensiones: compresor (js, css, html), pluma (barra de herramientas), filtros de procesamiento de imágenes, SafeHTML (seguridad de foros y peticiones), soporte de navegadores antiguos
 - gestión de un nuevo directorio (extensions/) para ubicar plugins que se activan al momento de la instalación
 
— Más extensible :
- aparición de nuevos puntos de entrada para plugins
 - rediseño de la gestión de plugins (y del directorio específico para la gestión : ecrire/plugins)
 -   los plugins pueden instalarse dentro de directorios suplementarios definidos con la constante 
_DIR_PLUGINS_SUPPL(facilita el uso en caso de mutualización) - posibilidad de ampliar la ayuda en línea para incluir secciones personalizadas y permite la gestión de sus traducciones
 
— Más estructura :
- aplicación de una API de autenticación
 - mejoramiento de la interfaz LDAP
 - revisión de la API de notificaciones
 -   homogeneización de balizas 
#LOGO_: los parámetros son pasados entre llaves y desaparece la "barra doble" (sintaxis obsoleta pero todavía soportada) -   aparición de nuevas balizas y funciones : 
#BOUTON_ACTION,|balise_img,|couleur_luminance(similar a|couleur_saturation, pero afectando la luminancia) -   posibilidad de las balizas dinámicas (del tipo  
#FORMULAIRE_) de manipular la ejecución de valores que no son procesados durante la compilación 
— Más fácil de depurar :
- mejoramiento del depurador: ahora es capaz de indicar la línea del error en un esqueleto
 - el depurador brinda información precisa del posible mal uso de balizas dinámicas
 - API de depuración más funcional (posibilidad de personalización)
 -   Mejoramiento del modo inclusión (
?var_mode=inclure) para mostrar inclusiones diferentes (integración con el plugin Skeleditor para editar fácilmente esqueletos directamente online) -   posibilidad de sobrecargar la función 
spip_log() 
— Más geek :
- el compilador ofrece una marcada separación entre el parser y el árbol de abstracción, permitiendo crear una nueva sintaxis (para l@s corajud@s)
 - reapariciń de un decompilador completo y parametrizable que completa el juego de herramientas necesarias para experimentar con una nueva sintaxis.
 
Incompatibilidades conocidas
Como toda nueva versión mayor, la versión 2.1 acarrea incompatibilidades insalvables:
-  En los bucles, el nombre de las tablas SQL externas a SPIP deben escribirse exáctamente como están definidas y no en mayúsculas: 
<BOUCLE_a(MiTabla)...en lugar de<BOUCLE_a(MITABLA)... -  El filtro 
|reduire_imagedesaparece definitivamente (ya había sido reemplazado por|image_reduire) -  Se debe adjuntar 
include_spip("inc/filtres_images");en los scripts php que hagan uso de funciones gráficas -  Los archivos que definan nuevos tipos de personalización de URLs van en el directorio  
ecrire/url/ -  El pipeline 
creer_chaine_urldesaparece y se remplaza pos pipelines más específicos:propres_creer_chaine_url,arbo_creer_chaine_url, ... -  Toda llave de abertura que esté pegada a una baliza se considera un parámetro de esta
por ejemplo : dentro de una hoja de estilos.rub_#ID_RUBRIQUE{font-size:1.2em;}no funcionará
debe separarse la definición de estilos :.rub_#ID_RUBRIQUE {font-size:1.2em;}
o bien utilizar la notación completa para la baliza :.rub_[(#ID_RUBRIQUE)]{font-size:1.2em;} -  Las llamadas jQuery del tipo 
$("input[@name=prenom]"), que eran obsoletas desde jQuery 1.3, no funcionan más con la versión 1.4.2 de jQuery, utilizada por SPIP 2.1; deben reescribirse como:$("input[name=prenom]") -  La notación 
#SET{variable,}(que definía una variable vacía) no se acepta más y debe reemplazarse por#SET{variable, ''} -  Para los plugins, la declaración vacía 
<fonctions></fonctions>en el archivoplugin.xmlno se acepta más -  Para utilizar una función específica de un plugin sólo en caso de que el plugin esté activo (y no hacer nada en caso contrario) debe escribirse: 
[(#BALISE|appliquer_filtre{funcion_especifica})]en lugar de[(#BALISE|funcion_especifica)]que generará error. - Cambios en la notación de #LOGO : Los filtros |fichier y |lien se reemplazan respectivamente por la notación #LOGO_ARTICLE** y #LOGO_ARTICLE*.
 -  Los filtros de posición (top,left,right,center,bottom) y las balizas  #URL_xxx que se utilizaban como filtros ahora se reescriben como argumentos de la baliza. Por ejemplo  
#LOGO_ARTICLE|leftse reemplaza#LOGO_ARTICLE{left}y#LOGO_ARTICLE|#URL_AUTEURse reemplaza por#LOGO_ARTICLE{#URL_AUTEUR} 
¡Disfruta de SPIP 2.1!