ferme #2913 : zone clicable sur l'icone "Modifier ce.." lorsque la configuration des urls est activée
Ferme #2910 : quand l'url courante est profonde (url arbo) les redirections relatives étaient ambigues.
Il se trouve que le Location était "souvent" bien interprété sur les forums mais c'était un coup de chance et foirait dans d'autres cas. Le lien http fournit dans le HTML était lui toujours mal interprété.
On lève l'ambiguité en transformant en url absolue dès que la profondeur courante est supérieure à la normale et que l'url de redirection est relative. Il faudrait généraliser ce passage en absolu en branche 3.1
chaine de langue manquante sur l'upgrade des plugins
Ferme #2948 : quand une rubrique est selectionnée, il faut l'afficher dans le select, même si on a pas le droit d'y déplacer un article
typographie/fr.php : ne pas ajouter d'insécable devant : si ce : est suivi de : (cas des adresses ipv6). résout #2931
Ferme #2804 : les post AJAX sur un site iso-truc sont présumés en utf et importés dans le charset local par _request(). Mais ce n'est pas forcément le cas et le test de la preg n'est pas fiable, ce qui supprime des accents bien encodés a tort. 
On complète le test par un is_utf8() plus fiable ce qui résoud mon cas test sur edition d'un document, titre : "titre avé un accent"
A noter que le bug n'était pas systématique sur un même site (certains post passant sans problème, d'autres non). Cela peut venir du type de formulaire qui est posté parfois par une iframe en cas d'upload.
#2999 et http://forum.spip.net/fr_247990.html : liste plus exhaustive et complete des UA des bots, car ceux qu'on laisse passer faussent les stats (surestimées)
 
 Source : commentaires en bas de http://wanderr.com/jay/detect-crawlers-with-php-faster/2009/04/08/
 (version optimisée/factorée, on ne garde que les UA qui ne matchent pas les mots-clés génériques en début de liste)
et incrémenter l'écran
 ferme #3003
#2999 : la definition de _IS_BOT par le core est un fall-back si l'ecran de securite n'a pas ete appelé. C'est la definition de l'ecran, plus a jour, qui est prioritaire.
prive/formulaires/login.html : ajout de la variable lang dans le lien vers le formulaire de rappel du mot de passe. ferme #3005
prive/spip_pass.html : report de r20528 (suite de r20526)
prive/squelettes/inclure/head.html : report de r20530 - ne pas casser l'affichage du plan de site dans le privé.
Ferme #3002 : lorsque la table des rubriques est mal formée et contient une branche morte ou une reference circulaire dans les parents, la fonction propager_les_secteurs() tourne en boucle infinie.
Correction :
- proteger de ce risque par un maxiter initialisé par le nombre de rubriques de la table
- revoir l'algo de mise a jour en procedant de proche en proche, par profondeur croissante et non pas "tant qu'il y a une rubrique mal rangee".
Cela permet de plus de detecter le cas d'une table rubrique mal formee et de produire un log en consequence
complement a r20534 : optimiser les updates en les faisant par groupe de rubriques de meme secteur
 poser un id_secteur=0 sur toutes les rubriques hors hierarchie si il y en a (references circulaires, parents qui n'existent plus)
Ferme #3004 : se proteger des references circulaires dans la table des rubriques dans la boucle HIERARCHIE
Plutot qu'un code specifique, on utilise la fonction generique calcul_hierarchie_in() que l'on modifie pour tenir compte de ce cas limite. Pour etre homogene, on inverse l'ordre des rubriques qu'elle renvoie.
Langues (pre 3.0.9)
preparation SPIP 3.0.9
Inscription d'un auteur : le commentaire dit "Si mode inconnu laisser faire, c'est une extension non std", mais passer quand meme par une autorisation, qui par défaut sera a false (puisque l'auteur est non connu, donc non identifié, il n'a aucun droit par defaut).

Il suffit que autoriser("inscrireauteur","xxx") renvoie true pour permettre l'inscription d'un auteur avec le statut xxx
Revert de r20389 car TIMESTAMPDIFF pas supporte par Mysql 4.x, on garde l'optimisation dans la branche 3.1