This page is listing updates and enhancements added since 1.6.0 version.
Released on february 28th, 2023
Fix loading of jFormsControlUpload2
in OPT edition
Fix exception into jInstallerComponentModule
, again.
Released on january 23th, 2023
Fix installer: useDbProfile
must not change the profile name
jMailer: new value "unencrypted"
for secure_protocol
Fix error “two few arguments” during call of some error handlers
Fix an exception into jInstallerComponentModule
Released on september 20th, 2022
closed.html
can now be stored into var/themes/
Replace the use of deprecated utf8_*
functions
jDb: New option session_role
in profiles for pgsql to set session role
Fix: jFormsUploadControl2
was missing from the package
Add a facet filterHtml
to jDatatypeString
Released on may 30th, 2022
Fix compatibility issues with PHP 8
jforms, image selector: support of “auto” for width and height of the dialog
New jApp::setApplicationInitFile()
to indicate an application.init.php file
Fix jforms javascript: selection was loose when reloading a menulist via XHR
jacl2db_admin: fix
CSS to stick headers of the rights table
new method jAuth::getReasonToForbiddenPasswordChange()
and new interface jIAuthDriver3
Released on march 14th, 2022
Fix jauthdb_admin: it should call jAuth::canChangePassword()
when needed
Fix jForms, formfull widget: display correctly checkboxes
Fix jForms: separate each item of checkboxes/radioboxes by new line
Fix jForms: Fix some
HTML issues into choice, imageupload and upload2 widgets
Fix jForms: Fix dynamicFillData when there is an empty value
Fix: Error pages should not require authentication
Fix jacl2db: the id_aclgrp field should be bigger than the login field
Fix core configuration: the retrieval of the documentRoot was bad
Fix entrypoint installation: support require
without parenthesis
Released on december 13th, 2021
jForms
support of option widgetsAttributes
on the form tag. With this option, we can indicate attributes to set on widgets. Useful when you don't have a ctrl_control tag for a specific widget on which you want to set attributes.
Fix control time in jforms_light.js
: bad month/day values
fix setting of default attributes in upload widgets
fix autoload of jFormsControlImageUpload
fix some issues into upload2 and imageupload widgets
fix the algorithm to guess modified controls with uploads
fix a JS error when closing the image editor dialog
fix the label of the cancel button of the image editor dialog
jAuth
Add hooks on the login form template. It allows to other modules to add content on the login form, like buttons to use other authentication methods.
jAuthDb installer should be able to use compatible drivers. If some authentication module have their own driver but are using the same dao/table of jAuthDb, jAuthDb should be able to create default user when needed.
Fix the jauth~login:form
controller when after_login is jauth~login:form
jAcl2
jacl2db_admin: add title on the pages
Fix jacl2db sql upgrade script about jacl2_group.code
Fix jacl2db sql upgrade script about rights for anonymous users
jDb
Core
Support of <name>.class
properties in the coordplugins
section of the configuration. It allows to specify a class if its name is different from *CoordPlugin
.
Backport support of localframework.ini.php. It allows for modules installers to declare a new entrypoint. Installers should call the new method createEntryPoint()
.
Fix jelix upgrade script about availableLanguageCode
jTpl
Utils
Installer
Fix typo in some locales
Fix the load of some classes with some tools like phpstan
Fix the file2 driver for jKvDb
Fix some doc comments
Rename namespace jelix
by Jelix
. No consequence on your code, but it helps to generate a better reference documentation
Released on july 30th, 2021
Fix the installer during the setup of the module access
Fix jResponseHtml::addJsLink
: possibility to setup the type
attribute
Fix jauthdb_admin user creation: login name should be trimmed
Fix automatic domain name and port retrieval. In some Nginx configuration, SERVER_NAME may be initialized with the port, and so jUrl may generate some url with two port.
Fix crash in PHP 8 and warning in PHP 7.4 within jDb and the core
Translations are now available in several languages
Released on February, 26th, 2021
Fix php 7 compat issue in the memcache driver
Fix jacl2db_admin: missing translations
Fix command acl2right: forbidden rights were displayed as authorized rights
Fix acl2right command: subcommand to forbid a right was missing
Released on February, 22th, 2021
Fix various issues with PHP 8.0
Fix some dao locales that have a bad pattern for sprintf
Fix float to string convertion into jDb
Fix pgsql schema: should list only tables from the search_path
Released on January, 13th, 2021
Fix comparison of values in the jForms modified check
Fix many issues in the checking of admin rights in administration UI. There were some situation when the checking was badly done, so there were some possibility into the UI to remove completely admin rights.
jauthdb_admin: adding autocomplete to search users
jInstaller, module.xml: allow http: as well as https: into the namespace value
Released on November, 23th, 2020
Fix a compatibility issue with php 7.4 into command line scripts
Fix a issue in jAcl2 admin: an administrator could put himself into a group which forbid some admin rights, and so he was not an administrator anymore.
Fix a php error in listbox form widget
Fix basePath on the command line
New script to test the mailer configuration : php scripts/script.php jelix~mailer:test my.email[at]example.com
.
New method jEvent::getParameters()
jforms: support of “time” controls (new class jFormsControlTime
, and support of <time>
in xml files)
jAcl2 admin: added confirmation to delete a group
jAcl2 admin: added a separator between groups in users list
New method jAuth::setUserSession()
New methods on jServer: getDomainName()
, getServerURI()
, getPort()
, isHttps()
New contributor : Adrien Lagroy de Croute and Joel Kociolek
Released on August, 17th, 2020
Fix a regression in dbcache plugin for jAcl2
jDb schema: fix column comparison on autoincremented fields
Fix a security issue with return url of jAuth
new jAcl2::checkByUser()
, to check a right for a non-connected user
Support of database name in Pgsql profile having a service name
new event jformsPrepareToFillDynamicList
during dynamic fill of datasources. When a control is filled with an ajax request, we should be able to prepare the form, when this one is constructed dynamically.
Released on June, 8th, 2020
core: Fix jelix autoloader when there are similar namespaces. When a first namespace has a name that is the prefix of a second namespace, path to classes of the second namespace were badly resolved.
Fix http code when displaying the closing page
Upgrade PHPMailer to 5.2.28
jalc2 module installer: do not enable jacl2 plugin on command line scripts
js files for localizing datepicker were not loaded in the right order (Joel Kociolek)
core: add parameters for the session cookie into the configuration (cookieSecure
, cookieHttpOnly
, cookieLifetime
, cookieSameSite
), and is now httponly
by default.
Core: allow file selectors to have -
and _
in the file name
jIniMultiFilesModifier: add isSection()
method like in jIniFileModifier
installer: new methods jInstallerEntryPoint::getSingleMainConfigIni()
and getSingleLocalConfigIni()
jLocale: allow to store locales into <app>/app/locales
, like in Jelix 1.7.
Sitemap: cache feature to store urls temporarly. Configure a “sitemap” cache profile, then call the hasUrlInCache() method in the controller. If it is true, the cache is still valid, and so just return the response object. If the hasUrlInCache() is not called, no cache is managed.
Released on March, 24th, 2020
Fix compatibilities issues with PHP 7.4
jDb: Fix support of FETCH_INTO into pgsql.dbresultset.php
jDb: Fix issue with prepared queries with pgsql driver
jDb: Fix issues in the SQLServer driver
jDb: Fix warning when closing a shared connection in postgresql
jforms: new widget imageupload
jforms: new widgets autocomplete and autocompleteajax
jInstaller: support of optional modules in dependencies
Released on January, 29th, 2020
Fix compatibility with Postgresql 12 in the pgsql plugin (about schema features)
Fix getAttribute()
method in the pgsql plugin
Fix the cache of the configuration when the application is accessible with several domains
Fix
CSS style into the upload2 widget (jforms)
Fix .htaccess for Apache 2.4
Released on october 20th, 2019
Fix jforms Date/DateTime widgets: they support more date format now
Fix jforms upload2: fix label of choice about 'no file'
Fix regression in deprecated builder of jforms, about JS/
CSS links
Fix redis driver of jCache and jKvDb: replace deprecated Redis::delete() method by Redis::del()
jForms htmleditor: support of a $lang parameter in url from the configuration, to load js files corresponding to the current lang of the user
New stdout and stderr logger: log content can be output to stdout or stderr
Released on july 23th, 2019
jForms: fix the method showActivate()
Fix js choice in jForms: control of previous item was added to the next one
Fix jFormsControlUpload2 introduced into 1.6.23
Fix sqlsrv jDb driver: encloseName method is missing
Fix jDaoRecordBase::save(): did not save with the right profile in some cases
Fix jauthdb_admin, with user tables that have not login as primary keys
jResponseBinary: add the possibility to delete the file after sending it
jFormsBase:iniFromDao(): a Dao record can now be given as first parameter
Improve customization of jauthdb_admin, with new events and tpl variables
Released on april 7th, 2019
jForms: new attribute 'controlclass' to indicate the class to use for the control
jForms: new control for uploads with enhanced management of previous file. To use this new control, use the <upload>
tag with the attribute controlclass="jFormsControlUpload2"
.
Released on march 14th, 2019
Some new jTpl plugins: fetchtpl, tolog, ifctrlexists
jForms: new widget to have a color picker. The use of this widget should be configured manually: {form $form, $submitAction, $submitParam, 'html', array('plugins'=>array('couleur'=>'color_html'))}
New methods on jEvent to retrieve easily boolean and item responses
Released on january 30th, 2019
Fix jRequest: force HTTPS port when forceProxyProtocol is set
Fix installer: loading of profiles.ini.php was done without sections
Fix jauthdb_admin: when creating a user, there was not check if he already exists
Fix typo in locales for cache drivers
Fix installer: ignore new dependencies rules introduced for Jelix 1.7 into module.xml
jAuth: new method canChangePassword and new interface jIAuthDriver2 for authentication drivers
jAuthdb_admin: new events to prepare forms before checking: jauthdbAdminBeforeCheckCreateForm and jauthdbAdminBeforeCheckUpdateForm
Installer: support of upgrade_1_6.php for modules supporting both Jelix 1.6 and 1.7
Released on january 17th, 2019
Fix pgsqlDbTable::_loadColumns with PgSQL 11
Fix internal plugin json_encode of jTplCompiler
Fix jAcl2DbUserGroup::getPrivateGroup() when there is no private group
Fix variable initialization into jImageModifier
Fix list of pages into the pagelinks plugin
Fix jDao: expression of values in update methods, was not generated entirely
New jelix script inifile.php. It allows to modifie an ini file from the commande line
CRUD controller: inject the record into the view template. It allows to access to some properties that are not into the form.
List of jQuery/jQueryUI files is entirely configurable. There is not anymore jquery.js filename or other jQueryUI filenames hardcoded into jforms plugins or other files. Path to these files are now indicated into the configuration, in a new jquery section.
Datepicker: add locales for jforms
Released on october 21th, 2018
Fix object error in the command createentrypoint
Fix jForms errors output: check the control name in errors correspond to an existing control
jDb, Sqlite plugin: fix sql function for 'now' alias name
Fix jDaoRecordBase::save(): it didn't use the profile used to retrieve the record
Fix jVersionComparator: support more version scheme
support of a script install_1_6.php
for modules that should have an installer compatible with Jelix 1.7 and 1.6.
support of a upgrade.php
in modules to execute upgrade code at each new version of the module.
jForms: support of capture
and accept
attributes on <upload>
jForms: improvements on properties of HtmlBuilder and WidgetBase to ease the creation of new builders and widgets
new plugins for templates: dumptolog, vardump, ifctrl_value, json_encode, jurlpattern
New jFile::copyDirectoryContent()
Released on july 11th, 2018
Fix performance issue in jInstaller
Fix jInstaller: it doesn't modify anymore entrypoint configuration file if it is not needed (about module access values)
Fix jForms: Error message for missing value in a field was not generated in JS when the field was not required.
Fix jEvent::inResponse(): it didn't returns the expected values
Fix template loader: it support the fallbackLocale option to find a localized template
Fix installer.php script:it should set an exit code > 0 when there is an error
Support of a new configuration file liveconfig.ini.php
, to store parameters modified during the live of the application (like persistant_crypt_key)
pgsql driver: support of pg options for connection, in an new profile option pg_options
jDb/pgsql: improve error message when using a PG service
jAuth: allow to store driver name into the main configuration file (driver
in the section coordplugin_auth
).
Released on 17 april 2018
Fix jDbSchema: unique constraint should be generated for auto incremented field not PK
Fix jDbSchema: fix alterColumn for pgsql
Fix jDaoDbMapper: should generate auto incremented columns with good not null/default value
Fix jDbColumn: equality should be made with native type
Fix jForms url for jelix~jforms:getListData
Fix jMailer with html template: links are expanded correctly in the text version
Fix jMailer when single strings are given to meta properties in a tpl
Fix jAuth: set url return only on GET method during logout
Fix jAuth: persistant cookie was never set
Fix jIniModifier: false value was saved as empty string instead of 'off'
Fix jDbPDO: 'mysqli' name as driver was not supported
Fix jacl2db installer: __priv_admin was not created
Fix jImageModifier: do not transform image when the loading has failed
Fix jImageModifier: better names of cache files, and store them into sub-directories. set use_old_cache_path=1
into the [imagemodifier]
section to keep old storage naming
Fix jImageModifier: cache_url and src_url config parameters were not recognized when they contained https url
Fix output when jControllerDaoCrud::view fails to load the record
Fix installer of jtcpdf
New AuthChangePassword event when jAuth::changePassword() is called
jInstaller: better error messages about bad version number
jResponseHtml: new properties for
IE mode, viewport and metas
jResponseHtml: new method addMeta() and outputMetaTag()
jRequest: new method isPostMethod()
jDaoConditions: add support of BETWEEN operator
jForms: support of placeholder default value in ctrl_control
jForms: possibility to redefine the html of the help on the form builder
jForms: possibility to configure a default error decorator for all forms
jForms: improved http errors when retrieving data for dynamic lists
jMailer: new debug mode, allowing to specify receivers and sender for every mails
jMailer: possibility to store SMTP credentials into profiles.ini.php
jInstallerBase::insertDaoData(): allowing to use data from an other module
Master_admin: check unchanged password for every users
Add support of http_method variable into format of error messages
Released on January 15th, 2018
jDao: the grouby
attribute on <method>
elements is deprecated, as its implementation does not give predictable results and generated request are not supported by recent MySQL server (and any other databases). jDaoConditions::addItemGroup()
is deprecated as well.
jForms with DAO datasource: no more unwanted labels for null or empty keys for choices (By Migratis)
jAcl2Db: no more errors when creating a role, a right, a user or a group when it does already exists
Fix support of HTTPS proxy in the
URL generator, with the new configuration parameter
forceProxyProtocol
ldap auth: replace deprecated ldap_sort() function
jDb: fix limitQuery for MSSQL when an order clause exists (by Mael)
Fix support of ssl_self_signed in jSoapClient in php 5.3
Fix support of PHP 7.2
Upgrade PHPRedis to 2.0.1 to fix a mispelled variable name
jEvent::inResponse()
: fix processing of returned value other than arrays
Install scripts of jAcl2db and jelix module: no more errors when tables already exists
Db tools - new 'schema' option in getFieldList()
for pgsql (by M. Douchin)
Full support of Postgresql, Sqlite3 and Mysql in jDbSchema, to create, modify or delete tables, columns, references…
New class jDaoDbMapper, allowing to create a table from a DAO file, in an installation script
New methods jDbTools::insertBulkData()
and jInstallerBase::insertDaoData()
to insert data easily, during installation
Possibility to configure the error logger to not output sensitive data into logs, with the new configuration option sensitiveParameters
Basic Significant Url engine: it is now possible to replace the module name in the url, with a new configuration section basic_significant_urlengine_aliases
Acl administration interface: it is not possible anymore to remove admin rights to a user it he is the only one user having these rights
jDao: support of the ilike operator in conditions (by Migratis)
New logger soapfile
for SOAP logs
Released on June 20th, 2017
Fixed an error message in th sqlsrv driver
Fixed issues in the ldap driver for jAuth. It is now well tested with unit tests.
debugbar: fix some missing units and move prefixed properties in
CSS (fixed by Julien I.)
jIniFile: chmod fix (fixed by Julien I.)
jResponse: remove Content-Length header when not needed in some responses. It may cause problems when the web server does gzip compression (fixed by Julien I.)
jClassicRequest: fix error when reading data from an empty request's body (fixed by Julien I.)
jDao: fix the order clause generator, to use names of properties instead of table/field names, for database other than OCI (by Maël)
Released on February 14th, 2017.
Upgrade Php5Redis to 2.0.0, so now its classes are in a namespace, to avoid conflicts with classes provided by the Redis extension (PECL). The old classes are still available in Jelix but are not used anymore by the kvdb and cache plugins for redis.
kvdb and cache plugins for redis have been renamed from “redis” to “redis_php”. The upgrader of jelix update automatically your profiles file, but you should check if it is ok.
redis plugins: the flush() method should flush only the selected database
cli controllers: fix support of option values with a dash
jDb schema:
jDb tools:
jForms: code cleanup, fixed call of getValue() on controls
Config compiler: fix chmod during writing of the cache file
jAuth, lds driver: fix the call of an internal method
Many code cleanup has been made in many components and fix some potential issues
Fix the word 'profile' in translations
Fix some PHP 7.1 errors (in some jCache and jKvdb plugins)
fix many phpdoc comments
New Redis plugins, named “redis_ext”, for jCache and jKvDb, using the
API of the Redis extension.
New experimental jDb driver, sqlsrv, for SQLServer, using the sqlsrv PHP
API.
jForms: the captcha control is now configurable, so you can implement your own Captcha
New catcha plugin: Recaptcha
Released on January 05th, 2017.
Released on January 04th, 2017.
jRequest can now parse incoming JSON data, and so it can provide PHP values to controllers. However this behavior is deactivated by default, as some existing applications may parse themselves JSON data and so may not expect these already parsed data. To activate it (and this will be the case, by default, in Jelix 1.7), you should set the configuration property enableRequestBodyJSONParsing
to on
.
Released on November 10th, 2016.
jSignificantUrlsCompiler did not read localconfig.ini, causing “module not found” issues
Fix installer: when a module was deactivated but still there, it stayed as activated into installer.ini.php
Fix PUT support for request content type other than url encoded
Fix dbcache plugin for jAcl2: it should escape invalid characters in the key
Fix bad path in jResponse in outputErrors()
Released on September 22th, 2016.
Fix variable typo in PDO SQlite db parser
Fix loading of jConfigCompiler in the url significant plugin
Fix Config compiler when there is no app:modules/ directory
Released on Septembre 13th, 2016.
jAuth: does not generate an error any more at each request, about the persistant parameters when there are invalid
Fix PHP7 issue in jFormsBuilderHtml, jPrefManager
jDbParameters was forgotten from packages
Fix databases checking in the environment checker
Fix issue in datapicker js for concurrent ajax forms
Fix error on parameters in bindParam() method of the mysqli driver, with PHP 7
Released on June 7th, 2016.
jAuth: the key to encrypt the content of the persistant cookie is now generated during the installation and is stored now in localconfig.ini.php
jAuth: on_error_sleep is now equals to 0, to avoid DDOS attacks
jAuth: fix the error about the missing of hash_equals
syslog plugin: fix syslog message type
db cache plugin: base64encoding parameter for sqlite db. For some sqlite version, it seems it doesn't support very well results of php serialization. This option allow to not store in binary content.
jForms: fix a regresssion in jFormsBuilderHtml
Fix performance issue in the config compiler
jInstaller: modifications on localconfig.ini.php were not saved automatically
locales: fix english typography
Fix jQuery path in the Wymeditor plugin.
jAcl2: new driver dbcache. It is like the db driver, but it also stores results in a cache via jCache to improve performance.
Redis plugin for jCache: support key prefixes with the new key_prefix option. The flush feature respects the key_prefix. You can then indicate how the flush should be made, as it could be very time consuming: directly, asynchronously with a redis list and a worker, or with a custom process that you provide and launches with a jEvent event.
Redis plugin for jCache: support db indexes with the new db option
Redis jKvDb driver: support of db index and key prefixes
jCache: allows char '/.-:' in keys. Modify cache file storage. For file driver of jCache, the tree structure of cache files has changed to have smaller path. file_name_prefix is now used as directory name, not prefix filename.
jauthdb_admin, list of users: a form has been added in the crud_list to have a direct access to a user
new method jInstallerEntryPoint::getEpConfigIni()
php5redis lib has been updated.
jIniMultiFilesModifier: new methods removeValue() and setValues()
jResponseBinary: now includes filename in headers for inline disposition
Released on april 13th, 2016.
SECURITY, jAuth: cookie containing the token for persisting authentication was accessible from JS, so usable by malicious scripts (XSS issues)
jForms: datepickers were not initialized after the creation of a jForms form via an ajax request
Released on february 8th, 2016.
Initadmin command: The jauth module was not installed anymore and issues appeared (
#224, JulienI)
jForms: fix issues with fields that have “[]” in their name (
#225, JulienI)
jForms: fix missing methods on legacy builders
jMailer: Fix “Reply-to” support from templates - regression after the PHPMailer upgrade (
#223, JulienI)
Fix regression on jWSDL: bad WSDL url
fix jDatetime about RCF822 format and timezone: convertion should be done with the UTC +0000 timezone. Note that this fix may change dates in XML RSS feeds
jAuth: fix logout action: in some case, url for redirection was empty (
#228, JulienI)
jTpl: fix compatibility with PHP7 (
#230, JulienI)
jRequest::readHttpBody(): fix notice about missing CONTENT_TYPE
jDao : now methods using parameters for a 'in' condition, can accept single value. It will be used as an array of a single value.
jDb and posgresql: fix the support of bytea fields with Postgresql9.0+
Released on October 27th, 2015
new method jCoordinator::execOriginalAction()
allowing to know if the current action is the action corresponding to the requested action. I.e, to know if there was an internal redirection asked by a coord plugin
jauthdb_admin: remove dependency to jauth module to allow to use jcommunity
Fix jAuth: prevent timing attack on hash comparison
Installer: fix duplication of module parameters when set into localconfig.ini.php
Fix PHPMailer class loading
Released on June 3d, 2015
master_admin menu: allow to have menu item opened to new windows. There is a new
newWindow
property on
masterAdminMenuItem
. If true, a link with
target=_blank
should be generated in the
HTML menu.
master_admin menu: option in the configuration to not generate dashboard menu item. the option is disable_dashboard_menu
in a master_admin
section.
master_admin: a masteradminGetMenuContent
listener can redefine an item. It just have to return an item with the id of an existing menu item.
sqlite3/sqlite plugins for jDb: support of absolute path to the database file
Upgrade phpMailer to avoid issues on recent PHP versions
Fix bad config file name in jInstallChecker
jDb: fix floatToStr conversion for large number. There was a trailing point
Jelix-scripts: fix some path having double slash
Fix jFormsControlChoice::getDisplayValue()
which generated syntax errors.
jFile::unparseJelixPath()
should take care about var/
path
Fix support of sqlite3 and mysqli in installWizard.
Minify plugin: do not minify https absolute path
Released on February 24th, 2015
Fix chmod on the compiled ini file
Fix jConfig: changes in main config was ignored for cache invalidation
jForms: remove display of stars of required fields when only displaying data
jDb pgsql driver: “SET AUTOCOMMIT TO OFF” is no longer supported in Postgresql >= 7.4
Fix notice during php cmd.php installapp
bug fixed from 1.5.5
bug fixed from 1.4.7
Released on november 7th, 2014
Support of busytimeout in sqlite3 plugin
jForms: choice items (li elements) have now an id and a class (jforms-selected and jforms-notselected)
jForms: group control can now have a checkbox
For contributors: a vagrant configuration is provided in the source code repository to allow to launch tests without configuration on the developer's machine.
Chmod can be defined in the configuration for all files created by Jelix
Testapp is now using PHPUnit 4.3 via Composer
A Vagrant configuration is provided in the reposiotry to ease the launch of tests
bug fixed in the datetime form widget
jForms - error decorator should erase list at verification start
jForms - error on group and choice is not reported any more when there is an error on their children
To fix issues with the jQuery version provided in Jelix 1.6:
Fixed relaxng schema for jForms
Fixed a syntax error in the jTpl datetime plugin
Released on September 23th, 2014
Released on June 17th, 2014