Piste : • 1.6.x
Ceci est une ancienne révision du document !
Table des matières
Cette page liste les corrections et améliorations apportées par les versions mineures de Jelix 1.6.
Jelix 1.6.16 ¶
En développement
Corrections ¶
- jDao : l'attribut
groupby
sur la balise<method>
est déprécié car son implémentation n'est pas compatible avec des versions récentes de mysql, ni avec les autres bases de données. Elle sera supprimée dans la prochaine version. Une erreur de type “E_USER_DEPRECATED” est générée si cet attribut est utilisé. Idem pourjDaoConditions::addItemGroup()
. - Correction du support des proxys HTTPS pour les urls générées, avec le nouveau paramètre forceProxyProtocol
- Support SQLServer avec PDO: correction d'un bug si une clause ORDER existe (par Maël)
- jForms, source Dao : plus de label incohérent si la clé d'un choix est nulle ou vide (par Migratis)
- jAcl2Db : la création de rôles, droits, utilisateurs et groupes ne provoquent plus d'erreurs si ils existent déjà
- plugin ldap pour jAuth: remplacement de l'usage d'une fonction
ldap_sort()
dépreciée - Correction de la prise en charge de ssl_self_signed dans jSoapClient avec php 5.3
- Support PHP 7.2
- Mise à jour de PHPRedis vers 2.0.1 pour corriger une erreur de nom de variable
- jEvent::inResponse() : meilleure prise en compte des types des valeurs retournées
Améliorations ¶
- Une nouvelle fonctionnalité pour éviter la fuite de données sensibles dans les logs : paramètre
sensitiveParameters
dans la configuration pour indiquer les champs sensibles - Support complet de Postgresql, sqlite3 et Mysql dans jDbSchema, pour créer, modifier, supprimer des tables, des colonnes, des références…
- jDbTools : nouveau paramètre 'schema' sur la méthode
getFieldList()
pour pgsql (par M. Douchin) - Nouvelle classe jDaoDbMapper permettant de créer une table correspondante à un dao pendant une installation
- Nouvelles méthodes
jDbTools::insertBulkData()
etjInstallerBase::insertDaoData()
pour insérer des données facilement pendant une installation - Moteur d'url Basic Significant: possibilité de changer le nom du module dans les urls, grâce à une nouvelle section de configuration
basic_significant_urlengine_aliases
- Gestion des droits dans l'interface d'administration : il n'est plus possible de supprimer les droits de gestion des droits à un admin si il est le seul à les avoir.
- Nouveau logger
soapfile
pour les logs SOAP - jDao: support de l'opérateur
ilike
dans les conditions (par Migratis)
Jelix 1.6.15 ¶
Sortie le 20 juin 2017
Corrections ¶
- Correction d'un message d'erreur dans le plugin sqlsrv de jDb
- Nombreuses corrections dans le plugin ldap de jAuth. Il est maintenant bien testé dans les tests unitaires
- debugbar: correction d'unités CSS et propriétés préfixées (par Julien I.)
- jIniFile: correction du chmod (par Julien I.)
- jResponse: suppression de l'entête Content-Length quand il n'est pas nécessaire. Il peut causer des problèmes pour les contenus gzippés par le serveur (par Julien I.)
- jClassicRequest: correction d'une erreur pendant la récupération du contenu vide d'une requete (par Julien I.)
- jDao: correction du générateur des clauses ORDER, pour utiliser les noms des propriétés au lieu des noms de tables et champs, pour les bases autres que Oracle (par Maël)
Améliorations ¶
- jSoapClient: nouveau paramètre de profile
ssl_self_signed
pour autoriser les certificats auto-signés - jDbPDOConnection: limitQuery() est implémenté pour sqlsrv (par Maël)
Jelix 1.6.14 ¶
Sortie le 14 février 2017
Corrections ¶
- Mise à jour de Php5Redis vers 2.0.0, qui a maintenant ses classes dans un namespace, pour éviter les conflits avec les classes fournies par l'extension Redis (PECL). Les vieilles classes sont encore disponibles dans Jelix, mais ne sont plus utilisées par les plugins redis pour jkvdb et jcache.
- les plugins “redis” pour jkvdb et jcache ont été renommé en “redis_php”. Le script de mise à jour pour Jelix 1.6.14 met à jour automatiquement le fichier des profiles. Vérifiez-le après la mise à jour.
- Plugins redis_php: la méthode flush() effaçait toutes les bases, pas uniquement celle selectionnée.
- controleurs pour ligne de commande: prise en charge des valeurs d'options contenant un tiret
- jDb schema:
- mysql(i) : correction dans la récupération des références
- sqlite(3) and pgsql: corrections d'erreurs PHP
- jDb tools:
- oci driver: correction de la récupération d'une séquence dans la liste des champs
- jForms: nettoyage de code et correction des appels internes vers la méthode getValue() des contrôles.
- Config compiler: correction du chmod lors de l'écriture du cache
- jAuth, lds driver: correction de l'appel d'une méthode interne
- Beaucoup de nettoyage de code et de corrections PHP, dans beaucoup de composants, qui corrigent des bugs potentiels
- Correction de la traduction de “profil” dans les fichiers de locales anglais
- Correction d'erreurs de PHP 7.1 dans les plugins pour jCache et jKvDB
Améliorations ¶
- Beaucoup de commentaires phpdoc corrigés
- Nouveaux plugins pour Redis, nommés “redis_ext”, pour jCache et jKvDb, utilisant l'API de l'extension php redis
- Nouveau driver expérimental de jDb pour SQL Server, “sqlsrv” utilisant l'API sqlsrv de PHP.
- jForms : le champs de captcha est maintenant configurable, de telle manière que vous pouvez dorénavant implémenter son comportement.
- Plugin “recaptcha” pour le captcha de jForms
Jelix 1.6.13 ¶
Sortie le 05 janvier 2017
Corrections ¶
- Fix: regression dans jClassicRequest qui ne contenait plus les parametres de requête en méthode POST.
- Fix: corrections sur le parsing des paramètres de requêtes PUT et autre pour les données de type multipart/form-data
Jelix 1.6.12 ¶
Sortie le 04 janvier 2017
Corrections ¶
- Mise à jour de PHPMailer vers 5.2.21 pour corriger des trous de sécurité de PHPMailer
- Correction de la visibilité de certaines propriétés de jResponseXmlFeed
Améliorations ¶
- jRequest peut maintenant parser les données JSON reçues et donc fournir aux contrôleurs directement des valeurs PHP. Ce comportement reste toutefois désactivé par défaut car peut casser des applications qui parsent elles-même le JSON. Pour l'activer, il faut mettre
enableRequestBodyJSONParsing=on
dans la configuration. (et ce sera activé par défaut dans Jelix 1.7.0)
Jelix 1.6.11 ¶
Sortie le 10 novembre 2016
Corrections ¶
- jSignificantUrlsCompiler ne lisait pas localconfig.ini, causant des erreurs à propos de modules non trouvés
- Installateur : quand un module était désactivé dans la configuration mais ses sources toujours présentes, il restait tout de même actif
- REST : support des types de contenus autre que “url encoded”, pour les requêtes de type PUT
- Plugin dbcache de jAcl2 : il doit échapper les caractères invalides dans les clés
- Correction d'un mauvais chemin dans la méthode outputErrors() de jResponse
Améliorations ¶
- Support des connections SSL dans le plugin mysqli
- Possibilité de spécifier une action en cas d'erreur, dans le plugin auth, lors d'une requête ajax
Jelix 1.6.10 ¶
Sortie le 22 septembre 2016
Corrections ¶
- Correction d'un nom de variable dans le parser de DSN de Sqlite dans jDbPDO
- Correction sur le chargement de jConfigCompiler dans le plugin d'url significatives
- Le parser de configuration était en erreur quand il n'y avait pas de répertoires de modules dans l'application (app:modules)
Améliorations ¶
- Mise à jour de WikiRenderer vers 3.1.8
Jelix 1.6.9 ¶
Sortie le 13 septembre 2016
Corrections ¶
- jAuth : ne génère plus d'erreur à chaque requête lorsque les paramètres pour la persistance ne sont pas renseigné comme il faut.
- Correction de problèmes de compatibilités avec PHP 7 (jFormsBuilderHtml, jPrefManager)
- jDbParameters était manquant dans certains paquets
- jInstallChecker, la classe vérifiant une installation, détecte mieux les bases de données
- jForms : les datapickers ne se chargeait pas correctement dans les formulaires chargés avec ajax.
- Erreur de paramètres dans le driver mysqli et sa méthode bindParam() pour PHP7
Améliorations ¶
- Support experimental de
<module>.path
dans la section modules de la configuration
Jelix 1.6.8 ¶
Sortie le 07 juin 2016
Corrections ¶
- jAuth : la clé pour chiffrer le contenu du cookie de persistence est maintenant générée à l'installation et est stockée dans le localconfig.ini.php
- jAuth : on_error_sleep est maintenant à 0 par défaut, pour minimiser les attaques par DDOS
- jAuth : pour les vieilles versions de php, et pour les tables contenant des mots de passe hachés avec l'ancien système de hashage, il pouvait y avoir une erreur sur l'absence de la fonction hash_equals.
- plugin syslog: correction du type de message
- plugin db cache : nouveau paramètre base64encoding pour sqlite. En effet, certaines version de sqlite semblent avoir des problèmes pour stocker du contenu binaire, en particulier la serialisation PHP. Cette option permet de stocker le contenu en base64 plutôt qu'en binaire directement.
- jForms : correction d'un regression dans jFormsBuilderHtml
- Configuration : correction d'un problème de performance lors de la lecture de la configuration.
- jInstaller : les modifications dans l'objet representant localconfig.ini n'étaient pas enregistrées automatiquement.
- locales : corrections typographiques dans les locales en anglais.
- plugin Wymeditor: correction du chemin de jQuery.
Améliorations ¶
- jAcl2: nouveau driver dbcache. Il fonctionne comme le driver “db” existant, mais stocke les droits qu'il a calculé dans un cache avec jCache, pour améliorer les performances.
- jCache: les clés peuvent maintenant contenir les caractères '/.-:'.
- plugin Redis de jCache : nouveau paramètre key_prefix pour ajouter automatiquement un préfixe aux clés. Lors d'un flush, ce paramètre est respecté. Il est alors possible d'indiquer comment le flush doit être fait (directement mais ça peut etre lent, ou de manière asynchrone via une pile de message redis, ou via un traitement personnalisés lancé par un message jEvent spécifique)
- plugin Redis de jCache : nouveau paramètre db pour selectionner la base redis à utiliser
- plugin Redis pour jKvDb: prise en charge également des paramètre db et key_prefix.
- plugin file de jCache: la structure des fichiers générés par le plugin a été modifié afin d'avoir des chemins plus petit. Le paramètre file_name_prefix est maintenant utilisé comme nom de répertoire, non comme préfixe de fichier.
- jauthdb_admin, liste des utilisateurs : un formulaire a été ajouté pour choisir directement un utilisateur.
- jInstaller : nouvelle méthode new method jInstallerEntryPoint::getEpConfigIni()
- La lib php5redis a été mise à jour.
- jIniMultiFilesModifier: nouvelles methodes removeValue() et setValues()
- jResponseBinary: inclus maintenant le nom de fichier filename dans l'entete (inline disposition) quand ce n'est pas un téléchargement.
Jelix 1.6.7 ¶
Sortie le 13 avril 2016
Corrections ¶
- SÉCURITÉ, jAuth: le cookie servant à la persistance de l'authentification était accessible par le javascript des pages, et donc pouvait être utilisé par des scripts malicieux (problèmes XSS…)
- jForms: les datepickers ne pouvaient pas s'initialiser dans des formulaires générés via ajax
Améliorations ¶
- jLog : modification du plugin syslog pour qu'il utilise la fonction syslog. L'ancien comportement est disponible dans un nouveau plugin legacysyslog
- jCache : nouveau plugin pour Redis
Dépreciations ¶
- En raison de l'obsolescence de l'extension mcrypt, la classe jCrypt est dépréciée et disparaitra dans Jelix 1.7 et+. Préférez l'utilisation des fonctions openssl ou de la bibliothèque https://github.com/defuse/php-encryption
- L'ancien builder de jForms (jFormsBuilderHtml) est également déprécié. Il disparaitra aussi dans Jelix 1.7.
Jelix 1.6.6 ¶
Sortie le 08 février 2016.
Corrections ¶
- Commande initadmin : le module jauth n'était plus installé et provoquait des erreurs (#224, JulienI)
- jForms : problèmes avec les champs qui ont des crochets dans leurs noms (#225, JulienI)
- jForms : rajout des méthodes manquantes sur les builder legacy, pour rester compatible avec les nouveaux builders.
- jMailer : correction du support de Reply-to dans les meta d'un template, suite à la mise à jour de PHPMailer (#223, JulienI)
- jWSDL: correction de l'url généré pour le WSDL
- Correction du support du format RFC822 avec les timezones, dans jDateTime. La convertion est maintenant faite avec une timezone à +0000. Cette correction peut changer les dates générées dans les fils RSS.
- jAuth : correction de l'action logout, l'url de redirection pouvait être parfois vide (#228, JulienI)
- Correction de problème dans jTpl avec PHP7 (#230, JulienI)
- jRequest::readHttpBody(): prise en compte de l'absence possible de CONTENT_TYPE dans les paramètres serveurs.
- jDao : Les valeurs données à une méthode qui les utilisent pour un 'in', sont maintenant toujours mis dans un tableau si nécessaire (y compris pour la valeur par défaut). Il est donc possible dorénavant de donner une valeur simple plutôt qu'une liste.
- jDb et posgresql: correction pour la prise en charge correcte des champs de type bytea avec Postgresql9.0+
Améliorations ¶
- jForms: support des sources de données personnalisées (“class”) pour les chargements dynamiques des champs de type menulist et listbox (#225, JulienI).
- jDb : possibilité pour une connexion postgresql d'utiliser un service postgresql plutôt que host/login/password (#235, Michael D.)
- jAuth : vérification que le contenu de la variable de session ne soit pas vide
Jelix 1.6.5 ¶
Sortie le 27 Octobre 2015.
Bugs critiques ¶
- Correction d'une boucle infinie dans
login::out()
de jAuth, apparaissant dans certains cas
Améliorations ¶
- Nouvelle méthode
jCoordinator::execOriginalAction()
, qui permet de savoir si l'action en cours d’exécution est celle demandée, et non une redirection interne. - jauthdb_admin : suppression de la dépendance au module jauth pour permettre d'utiliser jcommunity avec master_admin
Corrections ¶
- jAuth : amélioration de la comparaison du hash des passwords, pour éviter les attaques reposant sur le temps de comparaison de hash.
- jInstaller : correction de la duplication de paramètres d'installation dans les autres fichiers de config quand ils sont indiqués dans localconfig.ini.php
- JMailer: correction du chargement des classes des PHPMailer
Jelix 1.6.4 ¶
Sortie le 03 juin 2015.
Bugs critiques ¶
- corrections dans le driver oci pour jDb/jDao.
Améliorations ¶
- master_admin menu : possibilité d'avoir un item de menu qui ouvre une nouvelle fenêtre. Il y a une nouvelle propriété
newWindow
sur la classemasterAdminMenuItem
. Si elle est à true, un lien avectarget=_blank
doit être généré dans le menu html. - master_admin menu : nouvelle option de configuration pour indiquer de ne pas ajouter l'item du dashboard dans le menu. Cette option est
disable_dashboard_menu
dans la sectionmaster_admin
. - master_admin : un listener pour
masteradminGetMenuContent
peut redefinir un item, en renvoyant un item ayant le même id que l'item à remplacer. - plugins sqlite/sqlite3 pour jDb : prise en charge des chemins absolus
- Mise à jour de PHPMailer pour éviter des problèmes sur les versions récentes de PHP
Corrections ¶
- Correction de noms de fichiers dans jInstallChecker
- jDb : correction sur la conversion floatToStr pour les très grands nombres. Il y avait un point à la fin du nombre qui pouvait trainer.
- Jelix-scripts : corrections de chemins qui pouvaient contenir des doubles slash
- Correction d'erreurs de syntaxe dans
jFormsControlChoice::getDisplayValue()
jFile::unparseJelixPath()
doit prendre en charge les chemins versvar/
- Correction de la prise en charge de sqlite3/mysqli dans installWizard
- plugin Minify : il devrait ignorer les urls en https.
Jelix 1.6.3 ¶
Sortie le 24 février 2015
Améliorations ¶
- Nouvelle methode
jApp::urlBasePath()
pour récupérer la valeur de basePath dans la config - jForms: possibilité d'indiquer des attributs à
{jformsubmit}
- améliorations de la version 1.5.5
- Jelix-script : ajout du nom de la commande dans les messages d'erreur
- améliorations de la version 1.4.7
- jWsdl sait maintenant générer les WSDL en prenant en compte une configuation “rootUrl”
- Améliorations de l'aide de la commande acl2right
- Mise à jour de WikiRenderer vers 3.1.6 pour corriger des incompatibilité avec PHP 5.4+
- Configuration Vagrant pour les contributeurs de Jelix
Corrections ¶
- Correction du chmod sur le fichier ini compilé
- jConfig : les changements sur la config principale étaient ignorés pour régénérer le cache de config
- jForms : suppression des étoiles pour les champs obligatoires quand on affiche uniquement les données
- jDb, driver pgsql : “SET AUTOCOMMIT TO OFF” n'est plus supporté dans Postgresql >= 7.4
- Correction d'une notice pendant l'execution de
php cmd.php installapp
- corrections de la version 1.5.5
- Jelix-scripts : correction d'une error quand on lance la commande createmodule avec l'option -ep
- corrections de la version 1.4.7
- Compilateur de configuration: correction d'un incompatibilité en mode ligne de commande avec Windows
- jelix-scripts : l'aide affichée n'affichait pas les bonnes options pour createapp
Jelix 1.6.2 ¶
Sortie le 7 novembre 2014
Améliorations ¶
- Support de 'busytimeout' dans le plugin sqlite3
- jForms : les items de choice (éléments li) ont maintenant un id et une classe (jforms-selected et jforms-notselected)
- jForms : un groupe peut maintenant avoir une case à cocher pour l'activer/désactiver
- Pour les contributeurs : une configuration vagrant est fournie dans le dépôt sur github, permettant de lancer les tests sans configurer sa machine.
- un chmod peut être indiqué pour tous les fichiers créés par Jelix
- Testapp utilise maintenant PHPUnit 4.3 à partir de Composer
- Une configuration Vagrant est fournie pour faciliter le lancement des tests
Corrections ¶
- jForms : correction d'un bug d'affichage dans le widget de datetime
- jForms : le décorateur d'erreurs par défaut n'éffacait pas la liste des erreurs avant la vérification
- jForms : il n'y a plus de message d'erreur pour group et choice quand leurs contrôles enfants sont en erreurs.
- Correction d'incompatibilité avec notre version de jQuery :
- Mise à jour de Markitup vers 1.1.14
- Mise à jour de Wymeditor vers 1.0.0beta9
- Correction du schéma RelaxNG pour jForms
- Correction de syntaxe dans le plugin de template datetime
Jelix 1.6.1 ¶
Sortie le 23 septembre 2014
Améliorations ¶
- plugin sqlite3 pour jDb : support des extensions sqlite
Corrections ¶
- jException ne prenait que la première ligne des messages multi-ligne
- corrections de la version 1.5.4
- Moteur de template : correction de problème lors de l'utilisation avec les cache d'opcodes PHP
- corrections de la version 1.4.6
- correction d'un problème de nom de variable dans jBasicErrorHandler (xnathanx)
Jelix 1.6.0 ¶
Sortie le 17 juin 2014