## Version 9.4.4 du 27/01/2020-08:48

* `300935c` bug

## Version 9.4.3 du 24/01/2020-13:02

* `4ba6909` ajouter le support de buster pour la completion

## Version 9.4.2 du 24/01/2020-08:52

* `fd5b787` dk: bug
* `ad18983` maj de l'image par défaut
* `c33ff4c` ajouter le support de buster
* `247b449` dk: maj doc
* `28f4d39` dk: support de COMPOSER_PHP
* `f28df52` maj image composer

## Version 9.4.1 du 20/01/2020-14:46

* `6f01bac` dk: si la commande est inconnue, la transmettre à docker
* `175f6ed` cssh: traiter le cas où screen n'est pas disponible
* `73db728` umail: possibilité de spécifier le type de body
* `5fc55cc` dk: support des fonctions de nettoyage par profil
* `21274af` dk: APPS peut avoir une valeur dépendante du profil
* `f7f8889` support des filtres avec wildcards
* `747c563` repoctl: divers bugs
* `4fdd23c` dk: support limité de podman
* `5457228` dk: support des aliases pour les mappings pff
* `a55f9c4` dk: ajout de get-profile
* `ac7efad` dk: possibilité de forcer la suppression des images
* `5284838` typo
* `d5c5162` dk: dans build.env, une variable peut en mentionner une autre
* `f7d036a` repoctl: cosmetic
* `87b8d5b` Intégration de la branche update-repoctl
  * `0866bbd` finaliser edit et implémenter get
  * `8daf4ec` début implémentation edit
* `ef1c8f2` utiliser dk composer, et ne pas utiliser de container par défaut
* `269379f` dk: rendre le code overridable
* `aae3703` bug avec traitement des variables de docker-machine -u
* `f875093` dk: par défaut, forcer l'utilisation de la machine locale pour dk composer
* `c202a27` dk: support COMPOSER_SETUP et COMPOSER_CMD
* `921caa1` dk: le shell est lancé en root
* `ce98445` dk: support de composer shell
* `2b5ed18` dk: ajouter un frontend pour composer
* `29c54e7` dmctl: import/export de docker machines
* `de53bae` Intégration de la branche add-repoctl
  * `600b824` support limité de pcrone et pclone
  * `914f635` implémentation initiale de create, list, delete
  * `a774497` squelette
* `5a444a6` dk: support pff
* `425e8a5` dk: maj format ps
* `52c3d7a` dk: ps, ls et rm prennent des filtres. ajout de pull
* `d5f8fa4` cx-updatedev: ajout de l'option -g
* `5fe5137` dk: support de COMPOSER_ACTION et sqlmig NOFIX
* `74cf35b` typo
* `0468623` alias pour docer-machine
* `3dfe542` dk: support de scripts génériques
* `488a257` délai pour éviter les maj intempestives d'eclipse
* `13ce5b8` dk: tagger aussi avec la distribution
* `d03b04f` dk: ajouter automatiquement le suffixe -$DIST à la version
* `6879491` maj doc
* `7fad363` cssh: compat avec les vieilles versionsd de linux
* `f65dda6` bug
* `bc7eebc` ajouter --with-registry-auth à dk update
* `8af50f4` nettoyage de logs webobjects
* `458ccd3` dk: support de certaines options pour dk run
* `c97bc6a` dk: support de la commande run
* `ae70f66` synchro des dépendances uniquement pour le type composer
* `f508dae` support des mises à jour en mode devel
* `60a4c73` cx-conndev: ajouter l'option -d
* `85ac283` cx-conndev: renommer l'option en --mysql-cmd
* `80db462` cx-conndev: ajout de l'option --cmd
* `4400ba7` ajout de ensure-vip
* `ae7ffeb` cx-updatedev: remplacer --ru par -w, --ud, --ur en fonction des besoins
* `9bfd515` dk -c est auto-complete friendly
* `a5a41d9` dk: support de fichiers compose non défaut
* `7e5859e` bug
* `b342960` bug
* `c44d1d3` dk: par défaut, ne pas ajouter le profil au nom de projet
* `aa4eb4a` cx-updatedev: ajout des mises à jour récursives

## Version 9.4.0 du 05/06/2019-10:15

* `fb96852` Intégration de la branche dk-deploy
  * `386fc0d` implémenter service, update, scale
  * `c2f43e6` optimiser l'utilisation de docker-machine
  * `8cb3b2f` ajouter la commande deploy
* `5967541` cx-updatedev: ajouter l'option -j
* `d79e218` dk: support de push pour docker-compose
* `ccbfff4` dk: simplifier la gestion du nommage des services
* `50dee34` dk: support de build d'un service en particulier
* `99d5069` bug
* `a825f3b` bug
* `8c143e1` foreach: ajout de --cc
* `7e26ae1` foreach: ajout des raccourcis -G et -C
* `cbb34ec` cx-conndev: afficher les erreurs
* `7524a28` cosmetic
* `9b03dcd` cx-updatedev: ajout de -i et -u
* `c7eca6a` cx-updatedev: ajout des options -l et -c
* `8b4067a` bug
* `3971dca` scripts pour gérer projets composer
* `c66eee1` scripts pour gérer projets composer
* `7c135fa` fconv, fnconv: support de sed
* `72c3512` dk: bug dans la détection du type de projet
* `0891e89` sqlmig: corriger la lecture des paramètres
* `d197fc0` sqlmig: support de l'importation directe des fichiers csv
* `d028c47` dk: maj doc et support d'origine de profil
* `b068a12` dk: maj doc et support de branche de profil
* `d7c981d` dk: afficher l'adresse ip
* `7ec5381` dk: renommer service en systemd-unit

## Version 9.3.0 du 02/04/2019-16:03

* `6a03853` ajout de update-apps en natif
* `6462bec` dk: ajouter exec, maj doc
* `7a728a9` dk: stop, logs et down acceptent maintenant un argument
* `df788f6` support mariadb
* `edaaec1` bug
* `41089f7` dk: ajout de l'action bs
* `af2b74f` sqlmig: init crée aussi 02grants.sql

## Version 9.2.0 du 08/12/2018-11:58

* `71bb5aa` bug
* `44b1954` dk: s'assurer que docker-compose et docker existent quand on crée le service
* `d70825c` dk: bug dans la définition du service
* `45d912d` EnsureVM: être en mode shared par défaut
* `3292686` EnsureVM: ne plus chercher à décharger les modules par défaut

## Version 9.1.0 du 22/11/2018-15:40

* `ba29496` dk: génération d'un service systemd
* `f72dd86` option -n pour pcrone le clone pas le dépôt nouvellement créé
* `01325d0` sqlmig: support chemin config/sqlmig et bug avec csv_null
* `45da726` dk: ajout de l'option --fake pour afficher les commandes
* `dcb637e` dk: support de --no-cache pour docker-compose build
* `9c6f606` Intégration de la branche update-pcrone
  * `764dd53` maj prefixe et meilleur affichage des erreurs
* `307fa48` dk: option -j pour désactiver le cache
* `45c6422` profils pour docker-machine
* `a9004fa` dk: PROFILE est exporté

## Version 9.0.0 du 15/11/2018-09:40

* `af969e4` maj de l'url source de nutools

## Version 8.3.0 du 15/11/2018-09:32

* `7ff32ca` dk brd honore les scripts de build
* `3293d09` support docker-machine use
* `e6be47e` ajouter de nouveaux formats pour parse_date
* `1151b5c` latin1compat gère les points de suspension
* `2f86786` ajouter le template pour yaml

## Version 8.2.0 du 02/11/2018-15:06

* `7583ded` Intégration de la branche update-pff
  * `96c146e` ajout de l'option NOMERGES pour ne pas tenter de fusionner avec git des fichiers binaires
* `4f7cb90` dk: support de .compose.env pour le nom du projet
* `9d991e2` pcrone: possibilité de créer des dépôts gogs
* `e3ba580` dk: corriger push
* `48c662b` gérer les tags autrement. ajouter push
* `566f1d7` tailor.py: possibilité de modifier les préréglages par les options
* `f34b63a` bug
* `2873638` afficher le profil courant

## Version 8.1.0 du 28/09/2018-08:39

* `e74480c` dk: action build par défaut
* `56b18a4` dk: rendre overridable VERSION
* `ed180b5` dk pour faciliter l'utilisation de docker
* `4ad84c0` sqlmig: ajout de la restauration de la base test à partir d'une copie de la prod
* `a5be8d8` maj gitignore initial
* `19267dd` utempl: support du datage automatique des fichiers

## Version 8.0.0 du 21/07/2018-10:21

* `a60f23a` maj version ulib
* `6cfb62b` sqlmig: ignorer les opérations de maintenance
* `305a180` bug
* `6184fde` tailor.py: avec le preset php, traiter \n
* `7676c76` tailor.py: ajouter l'analyse de php fatal error
* `775bc8e` tailor.py: préréglages pour apache et php
* `d620760` sqlmig: support des préfixes alphanumériques pour les fichiers csv
* `fe0e271` maj doc
* `300d42a` cosmetic
* `16114f5` maj doc
* `827dd14` sqlmig: l'option -f supporte plusieurs fichiers
* `e78ec7f` sqlmig: support des préfixes avec '.' pour les conversions csv --> sql
* `0ae44bd` maj scripts docker
* `1a2f6c4` maj docker
* `cdd152f` maj docker
* `04e37db` docker: ajout run
* `75385a7` cosmetic
* `c1d98a0` interpréteur interactif sous docker
* `ba2c806` image docker
* `e621a56` sqlmig: possibilité de spécifier csv_null pour la conversion des fichiers csv
* `6f1b8b4` mysqlloadcsv: bug avec les valeurs de la forme 00+
* `a88c24e` sqlmig: ajout de l'option --connect
* `bad6c48` sqlmig: corriger le suivi des maj admin
* `4b85c93` sqlmig: support des suffixes pour les noms de base de données
* `9600fb8` sqlmig: bug avec option conflictuelle
* `7181725` sqlmig: ajout de l'option --update-one
* `6a6b2a5` sqlmig: mode fake pour afficher les opérations qui doivent être faites
* `e0d6910` nulib: afficher les lignes d'action
* `c7286d1` nulib: corriger l'affichage du menu
* `4d2bf89` settings pour projet eclipse
* `0bbcef6` nulib: génération d'une table
* `51f4e92` ajouter projet pydev pour nulib
* `8b8cffd` mysqlloadcsv: insérer les valeurs dans une transaction
* `d413790` ulib/web: possibilité d'avoir un container non fluid pour menu
* `6e142b7` bug
* `1a3550e` nulib/web: ajout de redirect() et set_profile(). améliorer la lisibilité des arguments
* `c58a6cc` sqlmig: ne pas utiliser truncate par défaut
* `7bc3af2` sqlmig: conversion automatique des fichiers *.csv en *.sql
* `4c43b01` sqlmig: mode dépendant du profil
* `174c087` sqlmig: support des fichiers spécifique au mode devel
* `e493b49` sqlmig: support des profils
* `66e1674` pff: support de DISTTYPE
* `f1dca50` sqlmig: support des mises à jour administratives
* `b5e2417` création de sqlmig pour gérer les mises à jour sur une base de données
* `7f503ae` pff: utiliser git diff pour la colorisation
* `96449de` base: page_maybe() affiche les codes couleurs
* `6e45dfe` pff: bug avec filtres
* `60f3e4d` Intégration de la branche nulib-experiment
  * `a3c5ffb` maj logo univ2017
  * `4535b67` support deploydb et pffprofile
  * `7356c1d` déploiement d'application webpyapp
  * `1c3c07f` début d'implémentation nulib
* `db57d79` mysqlloadcsv: support de l'option --prefix
* `a4e758e` pff: afficher la version du projet
* `777bb1f` Intégration de la branche update-pff
  * `9c86a6f` début du support de la variable PROTECTS
  * `f9d3f90` après Commit, vérifier qu'il n'y a pas encore des marques de conflit
  * `fa6e87a` possibilité de spécifier merge_strategy pour les conflits
  * `5f68f3e` l'utilisateur doit faire Commit ou Abort. sinon lui demander son choix
* `33b7dba` chrono.py: ajouter le bouton pause
* `49df321` uinst: support des exclusions pour chmod et chown
* `daafe41` pcrone: créer les fichiers .gitignore et .gitattributes
* `3c8b6f8` norm_properties: supprimer les espaces de fin
* `045885c` les fichiers properties sont parfois considérés comme binaires
* `1b1589e` pff: ne pousser que si un remote est défini pour la branche
* `13440e2` pff: support des filtres à l'intégration
* `ee3b583` pff: support du paramètre MKDIRS
* `56972a6` toinst: ajouter l'option --ct
* `952b4ed` pff: raccourcis pour abort() et done()
* `51109be` pff: forcer le mode des fichiers du profil Base parce que git n'enregistre pas les autorisations
* `82c3669` pff: les fichiers du profil Base sont en lecture seule
* `2fa28d5` pff: honorer l'ordre de .pff.conf pour le premier profil
* `af006c4` pff: sélectionner le premier profil par défaut
* `e20757b` Intégration de la branche update-pff
  * `cb21c53` finaliser l'implémentation de patch_cmd()
  * `04f2f91` intervertir les options -a et -b. en effet, -a est susceptible d'être plus utilisé et est plus naturel
  * `4bc8108` corriger l'affichage de diff_cmd()
  * `7299aeb` suite implémentation patch_cmd()
  * `eee9a65` support de l'édition dans le profil ALL et rajouter les raccourcis -P, -T, -A
  * `6b33929` début d'implémentation de patch_cmd()
  * `2b1ad2b` implémenter l'option -p avec edit_cmd()
  * `a0752e9` maj doc
* `ad30399` Intégration de la branche update-pu
  * `7408760` finaliser l'implémentation
  * `1ec281d` début d'implémentation
* `5d828c4` pff: créer automatiquement le profil Common
* `9481cad` pff: bug avec l'intégration de fichier origines locaux
* `f17dcca` maj des logos de l'université
* `a61452c` pff: enregistrer les profils définis et les créer sans confirmation si nécessaire
* `86963ec` pff: cosmetic
* `9eaed33` pff -d: ajout de --list-names pour afficher seulement les noms de fichiers
* `70165cb` pff: ajout de --diff et --infos -l
* `ed0659f` pff: améliorer l'affichage de pff --infos
* `f0ae5ae` Intégration de la branche update-pff
  * `9a37329` utiliser le profil Common par défaut
  * `6f6fc74` maj doc
* `7954e7f` pff: support des projets pff déployés avec toinst
* `ab535b7` toinst: exclure le répertoire des profils pff
* `625f93d` Intégration de la branche add-pff
  * `4a8c5d1` completion automatique
  * `151e083` multiconf: ajout de conf_update()
  * `7c86854` maj du prompt
  * `20d083b` implémentation initiale
* `4a46cd3` maj sqlcsv
* `bdd859c` bug avec l'utilisation de gensub()
* `bda961f` update-nutools: support de l'option --devel
* `f35e9e8` ufile: ajouter le mode local uniquement
* `bc4c8cb` Intégration de la branche ufile-named-rules
  * `be4985f` possibilité de choisir la réponse par défaut pour copy_update_ask et conf_install
  * `0e6f55a` support des variables
  * `191d3c2` ufile: support des règles nommées

## Version 7.4.0 du 20/12/2017-19:01

* `48e4359` sqlcsv: possibilité de spécifier le chemin de chargement des drivers jdbc
* `a7e6228` ufile: par défaut -c ne charge que le fichier spécifié
* `0b59583` support de quelques combinaisons de diacritiques
* `4f520db` authftp: support préliminaire de --sftp
* `4f11cc4` ufile: possibilité d'écraser les fichiers sans confirmation

## Version 7.3.0 du 19/10/2017-12:12

* `72d7d15` maj version ulib
* `9fb19b4` ulib/multiconf: améliorer conf_install()
* `6c3ae24` openurl: supprimer la sortie erreur pour cacher les warnings GTK
* `528a281` em: supprimer la sortie d'erreur par défaut. rendre configurable la géométrie
* `489b31d` moiso: améliorer l'ergonomie pour le démontage
* `7bd0a95` ufile: support des pattern regex
* `6130c2f` chrono.py: 0 est équivalent à la chaine vide
* `9c5b46b` pyulib: ajouter ShConfig
* `f31f5f7` corriger un problème de compilation sur OL6
* `ab8ede8` awk: support du format dd/mm/yy
* `312c7dc` ajouter des fonctions pour simplifier le check de la version de l'os et l'installation de paquets
* `5bf55e5` bug
* `b6ff411` maj doc uscrontab

## Version 7.2.0 du 26/09/2017-17:01

* `1e576da` multiconf: rajouter conf_upgrade() dans conf_auto()
* `eeef48d` Intégration de la branche update-config
  * `ea45055` implémentation simplifiée avec conf_upgrade()
  * `efc60b3` description des modifications
* `36eec4a` Intégration de la branche update-ufile
  * `2afffef` ne pas implémenter la recherche automatique de fichier de configuration
  * `6ec37f6` ufile: implémenter l'option -r
  * `6e8c200` maj TODO
* `cf629e6` uscrontab: support des oneshot vars
* `a66c0c2` uscrontab: ajout des options -@, -H, -M
* `52e838e` uwatch: ajouter les options -w et -p pour attendre la disparition d'un fichier ou d'un processus
* `8ad2e4c` lftp ne supporte pas l'utilisation des guillemets
* `7fb81a0` désactiver la vérification du certificat par défaut
* `dbc3daa` multiconf: bug
* `aff1c15` multiconf: support des variables de type path et compatibilité avec bash 4.3
* `8e17fb1` Intégration de la branche add-multiconf
  * `a916180` ajouter conf_install pour installer les fichiers de configuration dans un répertoire standardisé
  * `0372a5c` ufile charge les fichiers de ~/etc/ufile.d/
  * `7d1ec90` simplifier l'API
  * `c988692` fin implémentation
  * `72e0c36` maj doc
  * `f472501` squelette initial

## Version 7.1.0 du 10/09/2017-19:20

* `f131e21` uwatch: ajout de l'option -r
* `d99718e` cosmetic
* `1aee0cb` maj sqlcsv

## Version 7.0.0 du 25/08/2017-15:53

* `e4f154e` uawk: possibilité de lancer les versions locale-aware
* `ef00e07` bug
* `377ca5e` implémenter awkcsv2fsv. corriger un bug avec les outils qui utilisaient cawkrun à l'intérieur d'une fonction l*
* `2f448d5` ussh: problèmes de compatibilité
* `2cc2411` bug potentiel
* `65bd363` webpyapp: réorganiser les fichiers pour supporter des librairies locales
* `0b39b23` webpyapp: les variables de server.conf sont configurables
* `d1a1d4d` webpyapp: cosmetic
* `46fbec7` webpyapp: bootstrap facilité des sessions
* `c541958` webpyapp: support du mode développement
* `e2ea2ea` ufile: ajout de --force-cp

## Version 6.7.0 du 19/07/2017-15:45

* `1b92275` apacheconfig: support d'un script post-update.sh
* `70fedc2` webpyapp: support de bootstrapcss
* `eca8c11` webpyapp: installation du service
* `ce52d25` support de l'activation de services systemd uniquement
* `a76d28e` webpy: chargement automatique de la configuration depuis server.conf
* `070f5bf` début de template webpyapp
* `3f46414` web.py: ajout de la fonction _utf8plaintext()
* `335ca05` compatibilité avec les vieilles versions de bash
* `0471785` support de stretch pour la completion
* `c659159` corriger le calcul de la version de tomcat à sélectionner
* `e3344f5` bug
* `f663e59` pdev: ajout de l'option -n
* `796898b` apacheconfig: destdir n'est peut-être pas spécifié
* `4f99397` apacheconfig: mettre à jour le dépôt avant de charger la configuration
* `80ae9d7` apacheconfig -up met à jour le dépôt avant le déploiement
* `2a6cd4d` javaproperties: support de l'échappement de : et =

## Version 6.6.0 du 10/06/2017-11:22

* `302986d` maj dépot jclain.fr en repos.ct

## Version 6.5.0 du 30/05/2017-17:12

* `f9f0ffc` toinst: les options -r et -B ne requièrent pas que la webapp source existe
* `d4591df` rtoinst: ne pas copier les fichiers de VCS lors du déploiement
* `bef927c` umirror: ajouter les options -g et -n pour faciliter le téléchargement des livraisons APOGEE
* `5d3f576` upassword: nouvelles options -m et -n pour la gestion des salts

## Version 6.4.0 du 05/05/2017-16:50

* `c25160c` fndate: maj doc et améliorations ergonomiques
* `d5f4ae2` pclone: filtrer les projets de type wildcard
* `f8f731e` support de la complétion pour rwoinst -w
* `e4b7714` tailor.py et chrono.py: améliorer l'affichage de l'aide
* `6f1d5e5` Intégration de la branche rwoinst-updates
  * `4aaded5` support des répertoires source maven et de l'interrogation de deploy pour: profil, déploiement des resources web, variables bounce, notag, exec, dbconfig, dbconfigmap
  * `f20cc48` rwoinst: ajouter l'option -w qui peut être spécifiée en parallèle de -h pour déployer les resources web vers un serveur différent
  * `9e4ccae` woinst: support des préfixes dans les variables
  * `8f9ddb5` uinst.sh et woinst.sh: améliorer la comptabilité
  * `e01cabb` makeself: retourner le code d'erreur même avec un auto-extractible temporaire
* `8482d61` pclone: ajouter l'option --master
* `a264b3e` pclone: implémenter le clonage récursif avec -r ainsi que les options -n et -u
* `262048f` ufile: possibilité de classer vers plusieurs destinations
* `8c22012` ufile: copier en local sans utiliser scp si possible
* `dec100b` ufile: support du classement par scp
* `c82c908` ufile: support des inclusions, d'un fichier de configuration alternatif
* `d535df3` ufile: le code de retour de renamef peut annuler une règle
* `0365c54` améliorer l'ergonomie de ruinst, rwoinst, toinst: pas la peine de confirmer le répertoire courant s'il est déployé sur un hôte
* `8ce9821` fndate: améliorer l'ergonomie de l'option -@
* `5b0f13d` ufile: changer la sémantique de renamef
* `fec6b2f` pu: support du scenario ou la branche de feature distante a été supprimée
* `151433b` ufile: ajout des options --list et --edit
* `a99f313` ufile: classement automatique de fichiers
* `540e718` base.core: qwc supporte les classes de caractères
* `78e0a8e` cosmetic
* `027b416` ppath2() est plus approprié dans certaines circonstances
* `c034115` revert 9d8b32bcd118ca9194b2d134e51a078d16b1c18d: la correction du bug était incorrecte
* `1dbe02f` Intégration de la branche tomcat-deploy
  * `2394edf` toinst: implémenter la sauvegarde
  * `fc467cb` finaliser le support de .toinst.conf et traiter les options --exclude, --protect et --rsync-option
  * `9d8b32b` parse_args: bug avec la fonction reset
  * `9084e7e` début du support de .toinst.conf
  * `a84775c` support des options --wamap et --protect depuis la configuration locale de déploiement
  * `3bbabbf` deploy: support des options --of, --df, --lf
  * `c1a536b` deploy: support des options -old pour afficher des informations supplémentaires
  * `2daf190` quelques améliorations dont support du profil de déploiement
  * `0b46830` implémenter toinst et rtoinst
  * `836c933` maj doc ruinst et désactiver déploiement de clé par rwoinst
  * `2991e63` deploy: requête récursive par défaut
  * `52bb0d5` base.core: ajout de la fonction echo_setv2() pendant de echo_seta2()
* `bab9c50` tailor.py: suivre un fichier est optionnel
* `4593ad8` ajout de tailor.py: affichage d'un fichier en mettant en surbrillance certains patterns

## Version 6.3.1 du 06/04/2017-22:34

* `b3e6ff6` cgilsxml.py: maj doc
* `ee2e411` cgilsxml.py: bug

## Version 6.3.0 du 04/04/2017-04:04

* `2fb17f7` implémenter dumpcsv --awk-map
* `42c6fa6` ne pas activer git-ssh.userconf par défaut
* `5061d4b` bug dans les règles par défaut de mssh
* `14c5667` mssh: portage générique de mfssh pour choisir l'exécutable ssh en fonction du réseau source et destination
* `a2480ec` apacheconfig: *.conf matche aussi *.ssl.conf et *-certs.conf
* `95aa12f` Intégration de la branche update-apacheconfig
  * `f233ae1` support de l'option -p pour traiter les ligne de la forme <VirtualBox *:PORT>#*ip:IP
  * `f908e1c` support de SITE_IP
* `999fb7f` bug
* `37a2dce` apacheconfig -K: support de plus de patterns pour le fichier modèle
* `ab4148c` cgilsxml.py: nouvelles options --first-spec et all-specs

## Version 6.2.0 du 13/03/2017-11:27

* `4a7b14b` ajouter un argument force à testupdated et testnewer
* `8a6678c` ruinst et rwoinst: piloter l'interaction distante à partir du paramétrage local
* `e9b574d` rwoinst: intégrer des fonctionnalités de ruinst; support préliminaire de deploy
* `2561f67` ruinst: utiliser la configuration ruinst par défaut pour deploy
* `38f21aa` ruinst: support de deploy pour calculer l'hôte pour le déploiement
* `d5846ba` deploy: possibilité de filtrer les variables à afficher. en cas d'échec, afficher false pour faciliter l'utilisation avec eval()
* `8fa58e2` quelques corrections sur deploy
* `20df6c4` support du depot deploy
* `3a24e83` régression dans set_array_cmd()
* `31fb39d` réorganiser certaines fonctions
* `528d579` ajout des fonctions seta(), _seta(), echo_seta()
* `a43359c` maj doc
* `2177e6a` cesser d'utiliser des fonctions obsolètes
* `9a777b3` cosmetic
* `a5fcf78` ajout de evali()
* `af3bb37` ajout de evals()
* `fbad986` corriger un problème potentiel avec should_quote()
* `f570438` bug avec recho -n; maj doc
* `3d1b826` cosmetic
* `e800376` cosmetic
* `0805f4f` SVirtualBox: ajout de l'option -r pour relancer avec restauration du snapshot
* `225060c` utempl/www: correction des options et modification cosmétique
* `ad88c99` Intégration de la branche update-templates
  * `532d21d` support de la génération de pages html avec bootstrap
  * `c52031b` maj de la description
* `ca4de19` Intégration de la branche update-apacheconfig
  * `02f52af` afficher un menu si plusieurs répertoires de templates sont disponibles
  * `6192c0a` description des modifications à apporter
  * `f2b6381` SVirtualBox: démarrer en mode separate par défaut
* `7a38535` support des hôtes de l'université
* `b6b7fa9` uscrontab: support de l'option -G pour les tests
* `e58ff74` maj du template pour runs

## Version 6.1.0 du 13/02/2017-17:06

* `748c2f7` Intégration de la branche update-network
  * `367acfe` marquer les fichiers à ignorer pour les projets dépendants
  * `ad19121` ipcalc: utiliser ip route au lieu de route
  * `feb00bc` support de libvirt sur jessie
  * `fa3d3b4` début de réorganisation des fonctions
* `b266663` uproject push: support des options -abt avec des arguments
* `286d1fe` pcrone: support des dépôt en http
* `67f29dd` ulib/sysinfos: implémenter dump_sysinfos, unsupported_system, require_sysinfos
* `a8fa722` ulib/runs: quelques corrections mineures
* `e9e4e6a` correction mineure avec les options de yum
* `e5f0df2` ulib/sysinfos: support de oracle linux; correction d'un bug pour macosx
* `27a2ab0` pyulib: ajouter l'argument nocopy=False à seqof() pour éviter des bugs subtils
* `11b87fd` ajout de netconfig: gestion des interfaces réseaux
* `87edaad` Intégration de la branche better-umountr
  * `83d6db3` auto-complétion pour umountr
  * `f34f32a` support des options --[no-]recursive et --[no-]poweroff
  * `a7ee78f` description branche
* `35a55f0` ajout du script create-user, pour créer un utilisateur sudoer et lui installer une clé publique ssh

## Version 6.0.1 du 30/12/2016-18:39

* `e79658e` maj de la doc

## Version 6.0.0 du 30/12/2016-18:26

* `a7767f7` Intégration de la branche better-apacheconfig
  * `683d5df` pour simplifier le débuggage, set -x est désactivé pour les fonction urequire(), parse_args() et awkdef()
  * `ed1633a` module template: support de variables supplémentaires avec TEMPLATE_USER_VARS et de la description des variables dans le fichier de configuration
  * `b920641` l'installation distante de modules uinst par rruns se fait par défaut sans confirmation
  * `fd9105f` bug dans le module base.num: 'is*num -' était vrai
  * `6366256` module ipcalc: ajout de ipcalc_network()
  * `fbc1a5c` mise à jour du module debian
  * `e3cd3ce` diverses modification de apacheconfig et apache.tools
* `c552d2d` corriger le module python ulib.ext.xpath
* `62a59e5` kill-ssh-user-sessions.service: laisser un peu de temps pour que le client soit notifié
* `4b7d4f4` ajouter une option pour installer le service kill-ssh-user-sessions
* `c95d1cd` ajouter un service pour tuer les sessions ssh lors de l'arrêt de la machine
* `4e1e5a4` ruinst: tracer la collecte d'informations sur l'hôte distant
* `5aa60a3` désactiver la création du lien pour xpathtool.py, qui ne fonctionne qu'à partir de lib/ulib/support
* `6a4e6a7` foreach: ajouter une syntaxe alternative pour lister directement les éléments
* `24a8839` update-nutools: possibilité de cloner la branche develop avec l'option --develop
* `24812c1` initialiser PYTHONIOENCODING pour faciliter l'exécution de scripts python
* `390233a` modification pour afficher l'aide même si certains outils requis sont absents
* `2425cbe` maj de l'arborescence de la doc
* `96b1866` prel: support du fichier .prel-noauto pour interdire les releases automatiques
* `b278b17` prel: mise à jour de la commande par défaut pour les dépendances
* `9983e49` pver: support des aliases D et P pour .pver-map
* `e37cc8f` pver et prel utilisent -p par défaut pour le support maven
* `2980d15` pver supporte la gestion des versions maven
* `190519d` pxs ne requière plus la présence du remote origin
* `4a4094c` déplacement de is_defined() et is_array() dans base.core
* `d735b7b` ulib: strops: ajout des opération mid et repl
* `8d486dc` ulib: ajouter la fonction strops
* `db24c70` ulib: ajout de la fonction is_array()
* `3ccd4ed` apacheconfig: ne pas chercher à utiliser site-certs.conf s'il n'y a pas les variables @@{cert,key,ca}@@
* `b9dc5ca` bug dans apacheconfig
* `b4ade73` TODO de branche
* `44fe622` chrono.py: chronomètre graphique
* `2a6d089` ulib/base: implémenter ask_any()
* `94615de` conversion de CHANGES.txt en CHANGES.md
* `d2a56d6` prel: ajout de l'option --uc pour convertir CHANGES.txt en CHANGES.md
* `f3ba5e3` prel: générer un fichier CHANGES.md par défaut avec une syntaxe un peu différente
* `40babfe` sqlcsv: l'option -l supporte une url jdbc, et la recherche de sqlcsv.properties se fait dans tous les répertoires parent jusqu'à $HOME

## Version 5.3.0 du 28/09/2016-23:31

* `5c466d8` ldif et ldap: match des suffixes sans tenir compte de la casse. modrdn prend un nouvel argument SUFFIX
* `9eb566a` runsmod: modifier chemins par défaut
* `a082788` bash_completion: bug sur certains serveurs

## Version 5.2.1 du 01/09/2016-15:44

* `9995f95` runsmod: bug

## Version 5.2.0 du 31/08/2016-22:30

* `361f1b2` Intégration de la branche runsmod-goodies
  * `8854469` maj de la config par défaut
  * `f0a71e4` bug avec la génération de sysinfos.conf
  * `830a33b` rruns calcule aussi les chemins d'hôtes automatiquement
  * `40f5347` préparer le calcul automatique des chemins
  * `2fbc599` bug avec git clone lors du basculement sur la branche develop
  * `5bef9b1` utiliser la même logique que uproject pour cloner en mode devel
  * `96afb2a` mapping des répertoires de destination
  * `4b212d8` ne pas utiliser %n tout de suite
  * `30e5dda` runs et rruns: améliorer le calcul des chemins
  * `55c5755` support de //...%h...
  * `409e406` préparer implémentation de %n
* `208f30d` Intégration de la branche better-fndate
  * `f388f27` ajouter des liens pour les fonctions courantes de fndate. En mode automatique, si le fichier contient déjà une mention de date, ne pas la modifier. rajouter l'option -@ pour forcer la modification de la date

## Version 5.1.0 du 25/08/2016-15:36

* `8a33418` ulib/ldif: support de l'opération modrdn
* `b710461` Intégration de la branche apacheconfig
  * `e52d6c6` déplacer la logique de apacheconfig dans le module apache.tools

## Version 5.0.0 du 09/08/2016-09:42

* `c00d9e4` cgilsxml.py: prévoir le cas où le fichier disparait pendant que la liste est construite
* `2fc7392` uxpath.py: bug
* `f85cd8a` foreach: implémenter la syntaxe %var par défaut
* `de383be` foreach: définir des variables supplémentaires pour chaque fichier trouvé
* `a7fd880` foreach: maj doc
* `c01eb20` ulib/awk: maj doc
* `04b723f` qsql: compatibilité avec anciennes versions de bash
* `dcf0e61` module apache: ajout de HTDOCSBASE pour le déploiement multi-homé
* `7565461` woinst: support du déploiement d'applications construites avec Maven
* `eb0a3be` woctl _create: enlever le suffixe .woa par défaut
* `d251a4e` woinst: tenir compte des variables utilisateurs
* `2fd51b6` pclone bascule automatiquement sur la branche develop si elle existe
* `d056be4` foreach: ajouter l'option --parent
* `63e78f4` ulib: compatibilité avec versions précédentes de bash
* `64699c0` ensure_hostname(): clarification du message affiché
* `22acf0a` ulib: ajouter _qsql() et qsql() pour quoter des chaines sql
* `18b2501` prel: améliorer l'affichage du résumé
* `b8bf04b` uawk dump: ajouter le format -v qui affiches des variables individuelles
* `d57839d` Intégration de la branche cgilsxml
  * `6e67302` la disposition, le type et l'encoding peuvent être spécifique à un expression --spec ou --glob
  * `b7600aa` possibilité de matcher des sous-répertoires dans l'expression --spec. Support du match de type --glob
  * `a49d6e2` les valeurs None ne sont pas affichées. <break_here/> n'a pas de valeur
* `16c1936` uawk dump: avec la méthode -a, afficher par défaut un tableau vide avant
* `c6b6dd4` uawk: ajout de l'alias dump qui avait été oublié
* `d8ab7f7` cgilsxml.py: cosmetic
* `0204a21` cgilsxml.py: possibilité de classifier des fichiers au sein d'un groupe avec --break-on
* `3a9bf04` cgilsxml.py: possibilité de spécifier la disposition du contenu, le type de contenu, ainsi que l'encoding
* `a730609` cgilsxml.py: permettre de télécharger le fichier avec la disposition inline
* `ce0193f` cgilsxml.py: corriger la doc
* `1eba9a7` foreach: améliorer l'affichage
* `c669e8f` utempl -t wosrc: si on crée un wosrc dans le répertoire java, enlever automatiquement le package pour les fichiers resources pour une configuration maven
* `f0f7a6f` utempl -t wosrc: génère des pages bootstrap par défaut
* `8fced87` woctl run: permettre de choisir la version de java utilisée pour le lancement
* `9fe17b3` Ajouter le script foreach
* `f5db579` uxpath: support de la modification de la valeur d'un noeud
* `3653f7d` Ajout des fonctions {build,eval}cmd et upvar
* `7091ecf` support de la création d'un template wosrc pour un projet maven
* `34dbba9` support de l'utilisation des valeurs spécifiques de GIT_ANNEX pour rsync avec git-annex
* `470d7cf` pcrone peut utiliser un répertoire existant
* `e4b7729` corriger le template shell
* `28bb531` activer l'auto-complétion sur debian jessie
* `317dbca` ajout de compileAndGo dans les templates
* `01b9a68` ulib/vcs: corriger le code de git_track_branch. Utiliser ce code dans pdev --sync
* `fc75fcd` runsmod: quelques corrections mineures
* `5058085` runsmod: Implémenter les fonctionnalités documentées
* `12c521c` indenter l'affichage des fonctions qui demandent une saisie de l'utilisateur
* `86a5787` em: forcer -nw en mode non display
* `e74d9e4` bug
* `9218941` ajouter l'option -g à caturl
* `fcacf64` maj doc
* `01ea57e` changer l'affichage de udir, et mettre à jour la doc
* `9fe71b3` ajouter fndate pour dater les fichiers
* `8143452` rendre ppath() plus résistant
* `c9ce115` Intégration de la branche improve-tls
  * `d9153af` support de la configuration tls selon https://wiki.mozilla.org/Security/Server_Side_TLS
* `135dbf6` diverses corrections sur runs
* `3d5aeb2` Ajouter l'option -c à umountr
* `278bf5a` renommer rumount un umountr
* `db76c12` Intégration de la branche runsmod-paths
  * `a31f8c2` changer la convention de nommage pour les répertoires ~/runs
* `5a31e7e` ulib/java: ajout de la fonction get_java_version()
* `f74b5e3` Générer la doc au format markdown pour tagadoc
* `ded89be` pdev: corrections pour supporter nouvelle version de git
* `5d3e9fe` runsmod: corriger les valeurs par défaut pour les hôtes dans la bulle serveur
* `ada3686` uenv: bug dans le calcul des répertoires destination
* `deaa416` Intégration de la branche runsmod-only
  * `f96c482` proposer de créer la configuration par défaut
  * `f04e862` implémentation initiale de runsmod
* `42b9590` cosmetic
* `9bc373f` cgiparams.py: implémenter le code de retour
* `1834d29` intégrer les fonctionnalités de cgiupload.py dans cgiparams.py

## Version 4.4.1 du 15/04/2016-12:24

* `a45fd99` awkrun: ajouter l'argument suffix à qsql(), cqsql(), cval()

## Version 4.4.0 du 15/04/2016-12:04

* `73391a9` awkrun: ajout d'un champ field à cqsql
* `2f60fec` git_track_branch(): support de git >= 1.8.x
* `130b4d1` tenir compte du fichier /etc/debian_chroot pour initialiser UTOOLS_CHROOT
* `48c0420` ne pas afficher d'erreur si apache n'est pas installé
* `5e1a6cf` Intégration de la branche rumount
* `1ad804b` implémentation initiale de rumount
* `f460399` améliorer le calcul du répertoire destination avec pclone/pcrone
* `6411e63` configurer la valeur de l'umask
* `eb4362d` apacheconfig: déploiement pour plusieurs systèmes à partir des mêmes sources

## Version 4.3.0 du 07/04/2016-14:57

* `d021c97` support de on_debian() avec des arguments

## Version 4.2.0 du 06/04/2016-14:25

* `a710c5a` Intégration de la branche stdout
* `ba969e3` ajout de stdredir pour pallier l'absence éventuelle de /dev/std*
* `472f2c7` Intégration de la branche sysinfos
* `1864cdf` fonctions pour faciliter la gestion des dépendances sous debian
* `2c27f03` uproject: ajouter la commande xconfig-export
* `ed3de6d` umail: ajout de l'option --gencmd

## Version 4.1.1 du 08/03/2016-12:04

* `0bd2b1f` correction de bugs avec apacheconfig

## Version 4.1.0 du 03/03/2016-11:02

* `4024b2a` pyulib/umail: possibilité de spécifier le type de contenu

## Version 4.0.0 du 01/03/2016-19:08

* `c46626c` ldif: support de dumpcsv et printcsv dans get_transform_cmd()
* `d661e43` doinplace fonctionne comme la fonction. la version étendue est un lien nommé doinplacex
* `d6540ac` dumpcsv: ajouter l'option --hname
* `903d500` dumpcsv: ajouter les options --keep-fields, --skip-fields, --dump-headers
* `af18332` implémenter printcsv
* `383410a` *csv: améliorer cohérences des arguments
* `4808fa0` dumpcsv: ajout de l'option -b
* `939b5ad` implémenter dumpcsv et nettoyer un peu le code
* `cb0e553` script doinplace qui mélange les fonctionnalités des fonctions doinplace et evalp
* `0cf8e04` scripts noerror, noout, noerr qui fonctionnent comme les fonctions du même nom
* `66249c9` nutools base: ajout de noerror(), noout(), noerr()
* `db76488` maj doc
* `40f1bf6` prel: après avoir fusionné une branche, revenir sur develop

## Version 3.5.0 du 26/02/2016-11:35

* `4648b3f` awkrun: ajout de la fonction qarr()
* `81e7f9b` correction de certains messages affichés
* `0ea24ec` ajout de sqlcsv
* `ad06535` pu: autoriser fast-forward même en cas de modifications locales
* `1c397e8` ajout des fonctions awk cqsql(), sval(), cval(). réorganiser et clarifier la doc

## Version 3.4.2 du 10/02/2016-11:45

## Version 3.4.1 du 10/02/2016-11:45

* `a702b89` mergecsv: bug quand left ne contient qu'un seul champ vide

## Version 3.4.0 du 09/02/2016-11:25

* `788e1ff` cgilsxml.py: ajout de l'option -E. bug avec le tri sur des valeurs inexistantes

## Version 3.3.0 du 08/02/2016-09:41

* `da3ef60` cgilsxml.py: ajouter de squery_string permettant d'ajouter un préfixe
* `bb25711` cgi: cgierror et cgiredirect arrêtent le script

## Version 3.2.0 du 07/02/2016-23:05

* `24f3211` cgiparams.py et cgilsxml.py: modifications pour gérer la construction de QUERY_STRING

## Version 3.1.0 du 04/02/2016-13:52

* `3190a32` cgilsxml.py: ajout de la variable script_base, qui permet de faire des urls relatives
* `f4537af` ussh: bug dans l'analyse des arguments
* `9992505` ussh: pas de valeur par défaut pour DEFAULT_USER; --parse affiche toutes les options
* `b19059e` Intégration de la branche ussh-auto-persist
* `5c75737` ussh: configuration du multiplexage pour certains hôtes

## Version 3.0.1 du 31/12/2015-12:36

* `56c305a` awk ne supporte pas \s

## Version 3.0.0 du 24/12/2015-15:39

* `4b1c30b` nouvelles fonctions pour le module cgi. cgilsxml, cgiupload et cgiparams sont rassemblés dans le module cgisupport

## Version 2.26.0 du 24/12/2015-12:17

* `d5a2cce` cgilsxml.py: rajouter la variable env/query_vars

## Version 2.25.0 du 24/12/2015-11:15

* `6c73940` cgilsxml.py: désactiver le cache par défaut

## Version 2.24.1 du 24/12/2015-10:12

* `3aba3e3` bug

## Version 2.24.0 du 24/12/2015-09:58

* `b288cf2` apacheconfig: support des fichiers de confs --> /etc/apache2/cond.d sur debian wheezy-
* `2e3fe66` ussh: forcer l'allocation d'un tty avec --cc
* `58fa40c` ussh: ajouter le support de uwatch
* `7bc63c5` maj doc uwatch
* `2d2754b` ajout de uwatch pour afficher un compte
* `4376fff` maj doc
* `bb176d7` maj du template pour runsconfig

## Version 2.23.1 du 15/12/2015-11:01

* `d8d0cc8` cgilsxml: sélectionner automatiquement un groupe seul

## Version 2.23.0 du 15/12/2015-10:06

* `501a7d2` cgilsxml: script_name et xslt peuvent être spécifié dans les paramètres QUERY_STRING
* `ebe4599` Intégration de la branche runs
* `35eadc1` correction d'un bug avec la recherche d'un fichier de recette
* `98ba626` les recettes ont maintenant l'extension .rr par défaut
* `a2e863e` chercher aussi les scripts dans le sous-répertoire runs dans les répertoires d'hôte

## Version 2.22.0 du 07/12/2015-19:05

* `dbc4d9a` uscrontab: ne pas afficher plusieurs fois un même message quand le verrou est posé. n'afficher le message sur la pause qu'avec un tty
* `9821d20` ajouter le lien vers cgilsxml.py

## Version 2.21.0 du 07/12/2015-15:12

* `d7b468d` cgilsxml: ajouter les variables dlname, size, Y, m, d, H, M, S. maj doc
* `eac94a7` cgiupload: possibilité de filtrer sur le nom du fichier ou son type de contenu
* `fae2111` ajout de cgilsxml
* `26fe709` apacheconfig: -S peut aussi être utilisé avec --localhosts
* `7c6ad6a` apacheconfig: nouvelles options pour le développement
* `c2d5eab` pxs fait aussi git pull avec un dépôt sans annexe
* `dca7bee` pxs fonctionne pour les dépôt normaux comme pci -A

## Version 2.20.0 du 12/11/2015-15:41

* `16d95d2` apache_autoconf(): déploiement des certificats autorité
* `775a021` nutools: ajout de cpvcs() pour copier avec la sémantique de cpnovcs() les fichiers de VCS aussi
* `1ca0ee5` runs: ajout des options --force, --copy-links et --with-vcs à ref()
* `91686fb` templatectl: il n'est plus nécessaire de spécifier explicitement fichier.template

## Version 2.19.0 du 02/11/2015-11:03

* `37f3bff` apacheconfig: diverses corrections de bugs
* `5d3861b` apacheconfig: si host==@@dhost@@, alors hostname=@@dhostname@@ et aliases=@@daliases@@
* `27592d4` apacheconfig: support des hôtes dynamiques ou statiques
* `93ac7ea` re-écrire la gestion des templates pour apacheconfig et runsconfig

## Version 2.18.0 du 27/10/2015-12:05

* `434403a` Intégration de la branche uscrontab
* `2118885` uscrontab: possibilité de mettre en pause sans modifier les planifications en cours
* `0eeee20` awkrun: renommer les fonctions quote_*
* `18691c8` upassword: maj doc et support des commentaires pour le mode batch

## Version 2.17.2 du 26/09/2015-12:25

* `1837a0c` pxs: corriger xget, xcopy, xmove pour utiliser directement git annex sync

## Version 2.17.1 du 26/09/2015-12:21

* `c8c6744` pxs: support des versions <= 5.20150825

## Version 2.17.0 du 26/09/2015-11:51

* `552e4ba` améliorer pxs pour un dépôt en mode direct
* `2ce66e6` maj doc

## Version 2.16.0 du 10/09/2015-11:16

* `42aa7ea` fonctions e*: changer l'affichage en mode NO_COLOR pour afficher les préfixes complets

## Version 2.15.0 du 08/09/2015-10:14

* `69ee45a` Intégration de la branche prel-fixes
* `47b6e5b` créer VERSION.txt et CHANGES.txt à la racine du projet
* `9d8a747` faire le push à la fin des opérations d'update et/ou de merge

## Version 2.14.0 du 03/09/2015-09:04

* `9dcd60b` pxs transfert les données aussi en mode direct

## Version 2.13.0 du 01/09/2015-15:44

* `8d2e386` uscrontab: permettre d'ignorer le code d'erreur pour une commande planifiée
* `aa989ef` Intégration de la branche uinst
* `58d9f16` uinst -y pose toujours la question si le répertoire est calculé automatiquement
* `594fd4e` activer l'autocomplétion pour uinst -h

## Version 2.12.1 du 24/08/2015-16:12

* `e356c2b` bug avec le calcul du système
* `e040cac` Avec les fonctions e*, afficher le statut de façon explicite en mode non coloré

## Version 2.12.0 du 23/08/2015-22:57

* `dcb85ac` Améliorer le déploiement uinst:rsync avec préfixes pour les hôtes distants

## Version 2.11.0 du 21/08/2015-10:31

* `d9282f7` uinst: ajouter l'option -h pour la méthode uinst:rsync
* `7643573` nettoyer la branche

## Version 2.10.0 du 19/08/2015-10:23

* `6ba41b9` support de --uses-su pour ruinst -C

## Version 2.9.0 du 10/08/2015-14:04

* `447d13f` support de nouvelles versions d'OS pour sysinfos
* `48e111a` fconv et fnconv: le premier argument est le fichier s'il n'est pas spécifié avec -f
* `c29f4b9` mkiso: nouvelles options -A et -V
* `662b82f` caturl --check ne doit pas afficher l'url

## Version 2.8.0 du 22/07/2015-15:09

* `0f5b572` uinst installe maintenant les profils en mode partagé par défaut
* `fb6b492` améliorer l'affichage des scripts geturl et openurl

## Version 2.7.0 du 17/07/2015-22:03

* `7e2a6c3` update-nutools ignore par défaut l'eventuel proxy défini par http_proxy
* `13215c3` apacheconfig: améliorer l'affichage de l'aide et support du répertoire .apacheconfig
* `27f5f7a` pyulib honore maintenant UTOOLS_NO_COLORS
* `3ee6cb4` diminuer l'indentation pour les fonctions e*
* `d4ac5f7` modifier l'affichage des fonction e*

## Version 2.6.0 du 10/07/2015-17:32

* `efa6b3a` Intégration de la branche ftps
* `3288999` authftp: support tls en forçant l'utilisation de lftp
* `58e7f6f` pconf reconnait maintenant les arguments offline et online

## Version 2.5.1 du 03/07/2015-08:29

* `abc4cb9` dumpclients: possibilité de choisir les champs supplémentaires à afficher

## Version 2.5.0 du 03/07/2015-07:39

* `2e15cbe` Ajouter l'option -z à dumpclients

## Version 2.4.0 du 01/07/2015-04:04

* `fda97a8` mise à jour de upassword

## Version 2.3.0 du 01/07/2015-03:09

* `f581aa9` Intégration de la branche pdev-merges
* `80d7a73` ajouter les options -b et -s à pdev

## Version 2.2.0 du 24/06/2015-16:19

* `98cfdfc` Intégration de la branche update-upassword
* `34f027b` bug avec la présence du scheme dans sha
* `b5e6c13` Intégration de la branche update-upassword
* `e4e2fa7` mise à jour upassword pour afficher sha en hexadécimal

## Version 2.1.1 du 22/06/2015-11:37

* `40225b0` Intégration de la branche proxy-default
* `2fa0791` profile.d/proxy lit aussi les valeurs par défaut pour l'hôte

## Version 2.1.0 du 22/06/2015-10:25

* `2a3eb76` Intégration de la branche uenv-modifs
* `bd8c7f8` correction d'un bug avec le nom final
* `d73c929` correction d'un bug avec le choix du répertoire de destination
* `e9089d8` les répertoires de profil partagé et de machine sont traités comme un seul répertoire
* `e3f76cd` possibilité de spécifier si un profil doit être installé dans le répertoire de profil partagé

## Version 2.0.0 du 22/06/2015-00:48

* `8286b29` Intégration de la branche uenv-modifs
* `c43cda0` les répertoires de profil sont spécifiques au nom de la machine

## Version 1.19.0 du 21/06/2015-10:27

* `387dec2` Intégration de la branche add-pxwa
* `4d0b734` ajout de la commande xwebapp

## Version 1.18.0 du 09/06/2015-10:40

* `01e2929` Intégration de la branche fix-javaproperties
* `b24e9ff` norm_properties() affiche les caractères en majuscule, comme JavaProperties#store()

## Version 1.17.0 du 07/06/2015-14:00

* `e2d0c0c` Intégration de la branche pdev-fix
* `1cc3bd4` ajouter l'option --sync à pdev

## Version 1.16.0 du 04/06/2015-22:14

* `4a15085` Intégration de la branche verbose-update
* `8a27561` pu: afficher un message s'il y a des modifications locales

## Version 1.15.0 du 22/05/2015-17:03

* `e715087` Intégration de la branche update-upassword
* `a74a373` upassword: possibilité de spécifier de façon dynamique la ligne à afficher après

## Version 1.14.0 du 22/05/2015-16:41

* `d8f20c3` Intégration de la branche update-upassword
* `dea524a` ajout du mode batch

## Version 1.13.0 du 22/05/2015-16:04

* `275bff8` Intégration de la branche update-upassword
* `1ce1d98` mise à jour de upassword

## Version 1.12.0 du 22/05/2015-13:37

* `57fc84d` correction d'un bug avec prel -s
* `cf108d7` Intégration de la branche prel-show-modifs
* `a744f48` prel -s afficher la liste des modifications qui seraient enregistrées

## Version 1.11.0 du 22/05/2015-11:41

* `2984052` Intégration de la branche quiet-completion
* `755cfa7` ne pas afficher les erreurs pour les fonctions de complétion de git
* `2b5eb2a` Intégration de la branche pu
* `b004730` uproject update fait fetch puis merge, manuellement

## Version 1.10.0 du 20/05/2015-12:08

* `bf1d86a` Intégration de la branche pu-auto-forward
* `8bf8164` fast-forwarder automatiquement les branches locales par rapport aux branches distantes
* `8baabea` Intégration de la branche ptools-maj-topic
* `5ff5b7d` déterminer les branches de topic: ignorer les branches avec un slash dans le nom

## Version 1.9.0 du 19/05/2015-18:25

* `5933089` Intégration de la branche awkfsv
* `caeb06e` possibilité de spécifier les types des champs pour mysqlloadcsv
* `b2c9f81` uawk requière maintenant de spécifier le nom de l'outil

## Version 1.8.1 du 19/05/2015-10:45

* `de8d690` Intégration de la branche annex-support
* `2044181` ne pas synchroniser l'annexe en mode automatique

## Version 1.8.0 du 19/05/2015-10:27

* `4779695` Intégration de la branche annex-support
* `89ad130` support de git-annex pour pp et pdev

## Version 1.7.0 du 15/05/2015-16:11

* `16ad285` Intégration de la branche nutools
* `93d8262` rajouter le script nutools pour vérifier la version installée de nutools. renommer la fonction nutools() en pconf()

## Version 1.6.0 du 04/05/2015-12:40

* `0463b2c` Intégration de la branche norm_props
* `48ca720` ajout de l'en-tête

## Version 1.5.1 du 29/04/2015-10:14

* `4c92f54` Intégration de la branche push-all
* `02c15f9` pp -a pousse toutes les branches et tous les tags. ajouter les options -b et -t pour pousser respectivement toutes les branches et tous les tags

## Version 1.4.1 du 29/04/2015-10:12

Release erronée, à ignorer

## Version 1.4.0 du 27/04/2015-18:12

* `7122fc4` Intégration de la branche norm-properties
* `845c54e` ajout de la fonction norm_properties

## Version 1.3.0 du 24/04/2015-12:32

* `bdc6e9b` Intégration de la branche localhost
* `94b2b48` reconnaitre la valeur spéciale localhost pour check_hostname()

## Version 1.2.4 du 20/04/2015-17:55

* `988e045` bug

## Version 1.2.3 du 20/04/2015-17:43

Correction d'un bug avec la copie des fichiers

* `d3ab6b8` bug
* `7e0d44b` cosmetic

## Version 1.2.2 du 20/04/2015-01:16

## Version 1.2.1 du 20/04/2015-01:15

* `145acfa` bug

## Version 1.2.0 du 16/04/2015-13:59

* `d756a6c` Intégration de la branche ldapt
* `57dac04` support de xempty explicite, et de la possibilité de désactiver ce traitement
* `75f21b5` support des attributs ordonnés
* `00088b3` cosmetic

## Version 1.1.1 du 16/04/2015-12:10

Mise à jour de .ulibver

## Version 1.1.0 du 16/04/2015-12:09

* `4b445a2` Intégration de la branche ldapt-ev
* `f8bd000` support de la nouvelle fonction ensureval
* `dbd9605` Intégration de la branche ptools
* `1fb27d6` pousser le tag quand il a été créé

## Version 1.0.0 du 14/04/2015-10:05

commencer à suivre les versions de nutools: cette release est la première de la
série

* `66bbf23` Intégration de la branche update-ulibver
* `f5aeff7` maj de ulib
* `073e7b0` Intégration de la branche ptools
* `8f6a32b` forcer la création de la destination. afficher un message informatif
* `48d9104` Intégration de la branche ptools
* `6890d30` workaround pour le bug sous debian squeeze
* `91de409` Intégration de la branche ptools
* `cd50646` ne pas mettre à jour le fichier local
* `f321f1c` Intégration de la branche ptools
* `6258a6b` utiliser la version au lieu de la release
* `5589314` bug
* `10a7d4e` Intégration de la branche ptools
* `cd92832` ne pas supprimer la branche develop
* `3f1dc3e` Intégration de la branche ptools
* `ce050db` ajout d'un changelog possibilité d'éditer le changelog avec -e supprimer les options courtes -z et -Z
* `2bc314c` ajout de --merge-log supprimer les options courtes -z et -Z
* `fc35a05` inclure la liste des modifications dans le log
* `4578219` Intégration de la branche ptools
* `5b0715e` vérifier la présence dans le dépôt distant
* `0e6e94c` Intégration de la feature branch ptools
* `10152b4` calcul de newver action delete
* `6c8e750` implémener -z et -Z
* `2f41de3` cosmetic
* `5f6d5bb` ajout des options courtes -z et -Z
* `18bb510` supprimer l'option courte -d qui est déjà utilisée pour diff
* `dd2a712` ajout de -d et --force-delete
* `38f04ff` maj doc
* `523d3f1` doc pour nouvelle fonctionnalité à implémenter
* `13dfb9a` Intégration de la feature branch prel-tag
* `da96f72` ajout d'un tag après fusion de la branche dans master
* `2a71a51` Intégration de la feature branch prel-tag
* `09c59d8` ne pas afficher les erreurs
* `3e514d5` maj doc
* `f9d4556` Intégration de la feature branch linedots
* `7ae9b48` ajout de elinedots
* `ffa9195` fast-forwarder si possible
* `f64117c` cosmetic
* `d8a3ed4` checkout par défaut
* `89be42e` ne pas utiliser csort
* `881bcde` tenir compte de la valeur de origin
* `7c67a7f` tenir compte des branches potentielles
* `b757ca1` Intégration de la feature branch git-opts
* `c3683a5` bug
* `743e17b` fast-forwarder automatiquement la branche vers laquelle on bascule
* `e3e3bbb` ajout de git_fast_forward
* `1661ee5` ajout des fonctions git_is_ancestor(), git_should_ff(), git_should_push(), git_is_merged()
* `2e215cc` utiliser l'api
* `b975724` maj doc
* `262d12e` toujours charger le module
* `8ae0a8d` utiliser nouvelle API --add-metadata
* `259e1be` ajout de --add-metadata support de --allow-empty pour --update
* `8d3ab79` ajout de semver_addmetadata utiliser API moderne pour les perfs
* `ac940b8` ne garder que les infos sur la branche courante dans les metadata
* `1e11a57` ajouter pz pour faire une archive d'un projet
* `9389fb0` autoriser --allow-emptyp pour l'action --show
* `f90ad4d` bug
* `26aa98f` cosmetic
* `8deda74` cosmetic
* `f8c4a54` calcul de la version avec --prel
* `22a26d9` support des numéros style maven
* `4f0a746` support des fichiers pom.xml
* `6d85330` Intégration de la feature branch ptools
* `f60787a` prel est maintenant en topevel
* `7647d2d` prel est prêt à passer en toplevel
* `7c36761` possibilité de faire -u et -m dans la même commande
* `de618ae` possibilité de ne pas supprimer une feature branch après son intégration
* `57bf621` cosmetic
* `8d4d35d` mettre à jour la version avec pver
* `f98c977` support de -v en mode auto
* `4b64305` finaliser l'option -u
* `5862e75` ne pas charger le fichier s'il n'existe pas
* `e5b8b81` début d'implémentation de update
* `9235ce1` nettoyage
* `ffaed8a` quelques corrections
* `9182dcf` maj api chargement depuis ~/etc/completion.d
* `bbbc35a` maj api chargement depuis ~/etc/completion.d
* `d2133c7` intégrer les modifications faites à l'ur
* `90772f0` Intégration de la feature branch completion
* `163df88` bug
* `e8d683b` bug
* `041a830` suite du support de bash_completion
* `9c17a60` framework pour la complétion automatique
* `bbbe6c4` l'option -c ne fait que le basculement ou la création. Le choix de la version se fera avec -u
* `c5ba03b` ajouter les completions pour prel
* `2b2b7f5` début d'implémentation de prel -c
* `3f925ca` déplacer le code de pver dans ptools
