Quick links: Content - sections - sub sections
The page corresponding to the latest stable release can be seen in the Jelix 1.8 Manual

Main improvements provided by the version 1.6 are:

  • defaultconfig.ini.php is renamed to mainconfig.ini.php. defaultconfig.ini.php is still supported but is now deprecated. (Olivier Demah)
  • a new localconfig.ini.php to store configuration specific to an environment (dev, prod...)
  • New jApp::mainConfigFile() method to retrieve the path of the main configuration file
  • Plugins for templates provided by your application are now the priority over those provided by the framework. So you can "override" existing template plugins now.
  • jDb/jDao:
    • Full support of OCI in the oci driver for jDb (Philippe Villiers)
    • jDbTools for Oracle: use comment on columns to get form labels (Philippe Villiers)
    • jDao: Add pattern in jDaoConditions, like in the (select|insert|update)pattern attributes (Philippe Villiers).
    • new method jDbConnection::disconnect()
  • New methods addJSLinkModule() or addCSSLinkModule on the html response object, to add easily links to JS and CSS files stored in modules. (Eric D.)
  • jForms:
    • better display of data of a form (with ctrl_value or formdatafull plugins)
      • labels are displayed like in the edition mode
      • ctrl_label doesn't display anymore "required" indicator
      • display of choice and group widgets is better
      • added a boolean in parameters of \jelix\forms\Builder\BuilderBase::outputControlLabel()
      • added a boolean in parameters of \jelix\forms\HtmlWidget\WidgetInterface::outputLabel()
      • the formdatafull template plugin accepts now a builder type and some builder options
    • possibility to have a specific label when the value of a control is empty (emptyvaluelabel)
    • new attributes minvalue and maxvalue on <input> of type "integer" or "decimal"
    • The plugin formdata accepts now a builder type and some builder options
    • It is possible to indicates label for each possible value of a checkbox ex: <oncheckvalue label="yes" /> and <onuncheckvalue label="no" />
    • plugin ctrl_label : we can indicate a string format as second parameter for sprintf
  • jEvent objects have now setters/getters: it is possible to do $event->something instead of $event->getParam('something').
  • jDateTime::toString() accepts now a formated string as parameter, compatible with mktime().
  • new property jResponseJSON::$options which contains options for json_encode (Couac)
  • New class jSoapObject
  • Internal: new method jFile::parseJelixPath() to translate shortcut jelix path to real path (Brice)
  • Significant urls: we can have a character ":" in your custom url.
  • TCPDF update
  • jQuery update

Note also that there isn't anymore Gold edition of the framework (with the binary PHP extension).

Improvements provided by 1.6.1 and 1.6.2:

  • Support of busytimeout and sqlite extensions in the sqlite3 jDb 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
  • Use the latest PHPUnit version from Composer.
  • For contributors: a vagrant configuration is provided in the source code repository to allow to launch tests without configuration on the developer's machine.

Improvements provided by 1.6.6:

  • jForms: support of "class" data sources for dynamic changes into menulist and listbox (criteriafrom attribute)
  • jDb: Allow to use a PostgreSQL service for connection instead of host/login/password

Improvements provided by 1.6.7:

  • jLog: syslog plugin has been modified to use the syslog function. Previous behavior is available in a new plugin legacysyslog
  • jCache: new plugin for Redis
  • Because the mcrypt PHP extension is deprecated, the jCrypt class is now deprecated and will be removed in future release (1.7+). You should use instead openssl functions or the lib https://github.com/defuse/php-encryption for example.
  • The legacy builder of jForms (jFormsBuilderHtml) is now deprecated too. It will disappear in the next release (1.7).

Improvements provided by 1.6.8:

  • jAcl2: new driver dbcache. It is like the db driver, but it also stores results in a cache via jCache to improve performance.
  • 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.
  • Redis plugin for jCache: support key prefixes with the new key_prefix option
  • Redis plugin for jCache: support db indexes with the new db option
  • Redis jKvDb driver: support of db index and key prefixes options
  • new method jInstallerEntryPoint::getEpConfigIni()

Improvements provided by 1.6.9:

  • jForms, HtmlBuilder: possibility to redefine the display of errors with the ouputError() method, in child classes.
  • Possibility to declare the path of a single module (outside from a modules group), with the <module>.path parameter of the section modules.

Improvements provided by 1.6.11:

  • jAuth: support of an action for errors in Ajax requests, with the on_ajax_error_action parameters (see default configuration of the "jauth" plugin).
  • jDb, mysqli : support of SSL connections.

Improvements provided by 1.6.14:

  • Plugins "redis" for jCache and jKvdb have been renamed "redis_php"
  • 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. See the Captcha page.
  • New catcha plugin: Recaptcha

Improvements provided by 1.6.16:

  • jDao: the groupby attribute on <method> is deprecated because its SQL implementation is not compatible with recent version of Mysql, and is unpredicatble (and not implemented for other database than mysql). It will be removed in 1.7. An "E_USER_DEPRECATED" error is generated when it is used. The method jDaoConditions::addItemGroup() is also deprecated for the same reason.
  • A new feature that prevent to leak sensitive data into log
  • Full support of Postgresql, sqlite3 and Mysql in jDbSchema
  • Basic url engine: modules can have a custom name in urls
  • UI of rights management (jAcl2): it is not possible anymore to remove rights about rights management from an administrator, if he is the only one user having these rights.
  • new soapfile logger for SOAP logs
  • PHP 7.2 support.

Improvements provided by 1.6.17:

  • 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()
  • 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

Improvements provided by 1.6.18:

  • Support of a new configuration file liveconfig.ini.php, to store parameters modified during the live of the application.

Improvements provided by 1.6.19:

  • 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

Improvements provided by 1.6.20:

  • 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

Improvements provided by 1.6.21:

  • 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

Improvements provided by 1.6.22:

  • 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

Improvements provided by 1.6.23:

  • 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".

Improvements provided by 1.6.24:

  • 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

Improvements provided by 1.6.25:

  • 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

Improvements provided by 1.6.26:

  • jMailer: Add smtp debug mode. New configuration property debugSmtpLevel

Improvements provided by 1.6.27:

  • jforms: new widget imageupload
  • jforms: new widgets autocomplete and autocompleteajax
  • jInstaller: support of optional modules in dependencies

Improvements provided by 1.6.28:

  • 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.

Improvements provided by 1.6.29:

  • 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.

Improvements provided by 1.6.30:

  • 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()

Improvements provided by 1.6.31:

  • jauthdb_admin: adding autocomplete to search users
  • jInstaller, module.xml: allow http:// as well as https:// into the namespace value

Improvements provided by 1.6.33:

  • jacl2db_admin: little improvements in the display of list of rights to be more usable
  • New option force_new in profiles for pgsql to force a new connection

Main contributors of Jelix 1.6: Olivier Demah, Philippe Villiers, Eric D., JulienI, Couac, Brice Tence, Khena, René-luc D'hont, Adrien Lagroy de Croute, Joel Kociolek.