CHANGELOG.md
## New in version 1.0.3 (18.09.2021)
### Bugfixes and version updates
* PHP 7.4 and PHP 8.0 compatibility improvements
* Removed DMESG module
* Improved MariaDB compatibility of the SQL scripts
* `ip_info` helper switched to use http://www.geoplugin.net/
* Fixed sorting in the `groups` module grid
* Improved error messages
## New in version 1.0.2 (02.01.2020)
### Bugfixes and version updates
* CodeIgniter upgraded to version 3.1.11
## New in version 1.0.1 (17.03.2019)
### Bugfixes and version updates
* Fixed module generator admin module path
* Fixed module validation callback not called if validation library is loaded before the module is initialized
* Added JPEG to allowed file types for upload
* Removed unnecessary semicolon from admin menu template
* CodeIgniter upgraded to version 3.1.10
## New in version 1.0.0 (30.12.2018)
### New features
* **PepisCMS codebase is cleaned up and the PepisCMS core is released as open source!**
* PepisCMS is now Composer compatible and supports Composer autoload!
* Dropped support for PHP 5.5 and lower. The code is now PHP 5.6 to PHP 7.2 compatible
* Site and module configuration is now stored in database with a fallback to files!
* Improved installer and migration scripts, implemented command line unattended installer
* Installation script now reads default values from ENV variables
* Implemented password history feature that prohibits from reusing previously set passwords (needs to be configured separately)
* Improved authentication security: added timeout on consecutive unsuccessful authentications
* Implemented automatic loading of module models upon first use (for modules)
* Added Behat end-to-end tests covering core features
* Implemented `CrudDefinitionBuilder` and `CrudFieldDefinitionBuilder` aiming to simplify CRUD definition setup
* Improved module generation, implemented new module file structure with fallback to the legacy module structure (pre 1.0.0)
* Fixed file manager previews
* Improved backup utility now works even without `mysqldump` command available
* Implemented fluent API for most used libraries
* CodeIgniter upgraded to version 3.1.9
* CKE Editor updated to 4.9.0
* Pages got the possibility to define a page image
* Migrated to the latest `phpspreadsheet` library
* Implemented lazy image load for `DataGrid`, File Manager and CRUD modules to improve performance
* Reviewed application translations
* Added new utility library `Query_helper`
* Extracted pages as a separate module
* Added possibility to display widgets on the admin dashboard
* Improved cache invalidation
* Improved development features and developer's experience
* Dropped support for PHPTal, FCKEditor
* Dropped support for Spanish and Romanian languages
* Dropped support for features previously marked as deprecated
* System logs now store an additional referer field
* Multiple UI improvements and bug fixes
### API Changes in 1.0.0.x branch
* Extended database schema (see upgrade scripts [pepiscms/resources/sql/upgrade/1.0.0-stage1.sql](pepiscms/resources/sql/upgrade/1.0.0-stage1.sql))
* **New `index.php` and `.htaccess` files!**
* 3rd party backend components are now initialized using Composer, 3rd party frontend components are now moved out of this repository.
* Removed methods:
* `Generic_model::generateTextId()`,
* `DataGrid:;getColumnDefinitions()`,
* `DataGrid::getFilterDefinitions()`,
* `FormBuilder::reset()`,
* `SecurityPolicy::FULL_CONTROLL`,
* `SimpleSessionMessage::setFormatingFunction()`,
* `AdminCRUDController::getItemOrderCollumn()`,
* `AdminCRUDController::getItemOrderConstraintCollumn()`,
* `AdminCRUDController::isDetelable()`,
* `AdminCRUDController::setDetelable()`,
* `FormBuilder::addFileField()`,
* `FormBuilder::addImageField()`,
* `FormBuilder::MULTIPLEIMAGES`,
* `MenuRendor::getMenuModules()`,
* `reflect2xml()` helper
* Deleted utilities:
* `AssetMinimifier`,
* `CrossDomainAuth`,
* `CommonHook`
* `Backup`, `BackupCompatibilityTransformationUtility`, `BackupableInterface` (XML export)
* Removed constants:
* `DataGrid::FILTER_CONDITION_EQAL` (typo)
* `ModuleAdminController` and `ModuleController` are now abstract.
* Automatic loading of module models
* Removed deprecated customized `MY_DB_Cache`
* Removed deprecated `Loader::plugin()`
* *New* `index.php`! You must replace the existing file
* `Auth_Driverable` is renamed to `AuthDriverableInterface`
* `FormRenderable` is renamed to `FormRenderableInterface`
* `Entitable` is now deprecated, please use `EntitableInterface`
* `Moveable` is now deprecated, please use `MoveableInterface`
* `Translateable` is now deprecated, please use `TranslateableInterface`
## 0.2.4.4 (04.01.2017)
### New features
* CodeIgniter upgraded to version 3.0.3
* CKE Editor updated to 4.5.6
* Updated CKE Editor configuration to prevent removing custom content such as iframes
* Fixed a bug in Pages that caused the Document instance inside a template to have no page ID
* Created a full default theme template
* Fixed login form styles, integrated reset.css into the layout.css
* Fixed several front-page errors introduced previously while refactoring the code
* Implemented `foreign_key_junction_where_conditions` flag for `FormBuilder::FOREIGN_KEY_MANY_TO_MANY`
* Fixed an issue with user module that prevented admins to change password of other users when the password was too weak
* Fixed behavior of formbuilder apply button due to XSS restrictions
* Revision author displayed on revision history screen
## 0.2.4.3 (12.08.2015)
### New features
* Improved form tooltip styles
* Removed deprecated code from SASS styles
## 0.2.4.2 (17.07.2015)
### New features
* Improved translator module that now invalidates optcache of edited translation files under PHP 5.6
* FormBuilder refactored usage of get_instance(), fixed an issue introduced in the previous release
* SimpleSessionMessage and its related code refactored
## 0.2.4.1 (02.07.2015)
### New features
* Improved compatibility and modularity of admin module controllers
* Changed behavior od CRUD order buttons - when filters are specified, the order buttons are disabled
* Implemented `FormBuilder::COLORPICKER` field, improved FormBuilder styles and `setDefinition()` method
* Extended `FormBuilder::IMAGE` field displaying metainfo and extension icons for unknown files
* Improved module generator and module template
* Improved AdminCRUDController API, added new helper methods such as `AdminCRUDController::getModuleName()` and `AdminCRUDController::getModel()`
* Updated CAS library to 1.3.3 version
* `DataGrid::clear()` and `FormBuilder::clear()` reset methods implemented, DataGrid and FormBuilder code reviewed.
* Minor improvements to logs, system_info modules
## 0.2.4.0 (25.05.2015)
A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upgraded to major version 3.0, 4 months in alpha - 53 releases, 2 beta releases
### New features
* Upgraded CodeIgniter to version 3.0.0
* Upgraded CKE Editor to new major version 4.4.6
* Completely rewritten XLS/XLSX file import and export
* Introduced unit test for selected components
* Brand new SQL Console module
* Application theme improved (menu dropdown, buttons realign, titles/bubbles fixed and removed when not needed)
* Rewriten and compacted JavaScript UI
* Application translation improved, removed outdated Romanian translation for administration panel
* Extended configuration tests
* New dashboard containing grouped links and configuration tests
* System info moved to a separate module
* Added Ssh_model to system core
* Performance improvements to Array_model
* Fail safe mechanism for serialization method in cached object manager, added benchmarking
* Symfony2 bridge logs rewritten and improved, fixed minor issues
* Backup moved to a separate module
* Upgraded file extensions icons used in file manager
* Upgraded and cleaned interface translations
* Pages/menu user interface improved and standardized
* XML file import improved for older versions of backup feeds
* Content revisions system improved
* Refactored logs widget, used in backup module
* Improved file manager
* Form builder now displays errors related to file uploads, multiple fixes
* Added command line utilities: `php index.php tools`
* Improved development tools
* Added security policy builder, changed security policy format (backward compatible)
### API Changes in 0.2.4.x branch
* Removed `PEPISCMS_DATE` constant
* CodeIgniter upgraded to 3.0, see upgrade instructions
[http://www.codeigniter.com/userguide3/installation/upgrade_300.html?highlight=upgrade](http://www.codeigniter.com/userguide3/installation/upgrade_300.html?highlight=upgrade)
* New index.php! You must replace the existing file
* Change to the database.php file - please upgrade
```php
$active_group = 'default';
// $active_record = TRUE;
$query_builder = TRUE;
```
* Check behavior of `$_SERVER['QUERY_STRING']`, consider replacing it by `$_SERVER['REQUEST_URI']`
* `Module_model::getInstalledModulesNamesDisplayedInUtilities()` - changed the behavior,
now returning array of strings instead of array of objects
* `$this->lang->getEnabledLanguages()` renamed to `$this->lang->getEnabledAdminLanguages()`;
* File `array_model.php` becomes `Array_model.php`, check all the includes/requires
* Removed unused `MY_URI`
* Check your validation rules and remove xss_clean and trim - this will cause issues when the field is not required and empty
* `$this->lang->load()` for module languages changed into `$this->lang->loadForModule()`
* Method `MY_Upload:do_multiple_upload()` removed
* Removed deprecated library `ReportBuilder`
* `ModuleRunner::isModuleDisplayedInMenu()` when no module name is specified, it is automatically obtained
from the currently running module
* `SecurityPolicy::parsePolicy()` now returns a simple array, the function becomes protected
* `MY_Output` cache - added failsafe behavior
* New methods `ModuleRunner::isModuleDisplayedInMenu($name)` and `ModuleRunner::isModuleDisplayedInUtilities($name)`
* `MY_Email::set_header()` removed as it has been implemented in the original CI_Email library
* Changed icon paths (!) some icons will not work
* CSS identifiers convention changed to lowercase_underscore
* Changed file path pepiscms/theme/back_12.png -> pepiscms/theme/img/dialog/actions/back_16.png
* Changed file path pepiscms/theme/star.png -> pepiscms/theme/img/dialog/actions/action_16.png
* Changed file path pepiscms/theme/add.png -> pepiscms/theme/img/dialog/actions/add_16.png
* CSS selectors `.fileTree` -> `.file_tree`
* Removed legacy CSS `a.add` and `a.action`
* Removed deprecated FormBuilder code
### Deprecated in 0.2.4.x branch
* Deprecated `ModuleRunner::getInstalledModulesDisplayedInMenuCached()`,
please use `ModuleRunner::getInstalledModulesNamesDisplayedInMenuCached()`
* Deprecated `MenuRendor::getMenuModules()`, please use `ModuleRunner::getInstalledModulesNamesDisplayedInMenuCached()`
* `AssetMinimifier` library
* `Generic_model->generateTextId()` library
* `AdminCRUDController::isDetelable()` is deprecated. Consider using `AdminCRUDController::isDeletable()`
* `AdminCRUDController::setDetelable()` is deprecated. Consider using `AdminCRUDController::setDeletable()`
* `SecurityPolicy::FULL_CONTROLL` is now deprecated and replaced by `SecurityPolicy::FULL_CONTROL`
* `DataGrid::getFilterDefinitions()`
* `DataGrid::getColumnDefinitions()`
* `FormBuilder::reset()`, use `FormBuilder::clear()`
* `FormBuilder::addImageField()`
* `FormBuilder::addFileField()`
* `FormBuilder::MULTIPLEIMAGES`
* `SimpleSessionMessage::setFormatingFunction()` is deprecated. Consider using `SimpleSessionMessage::setFormattingFunction()`
## 0.2.3.4 (27.02.2015)
### New features
* Fixed spreadsheet import glitch when required column contains 0 interpreted as FALSE
## 0.2.3.3 (18.02.2015)
### New features
* Improved form builder, added reset method
* Fixed rare misbehavior of CRUD import form
## 0.2.3.2 (10.02.2015)
### New features
* Maintenance update
* CodeIgniter upgraded to latest stable version 2.2.1
* Minor bugfixes and improvements: improved `Generic_model::move()` function, fixed licenses path, improved module template and back redirects (`User_agent` usage fixed)
## 0.2.3.1 (16.01.2015)
### New features
* Improved CRUD admin module generator template
* Improved XLS file import and export for newer versions of PHP (5.4+)
* SLQ Backup improved
* New index.php template ready for CI3
* Improved setup page - now able to specify site logo and logo anchor URL
## 0.2.3.0 (23.12.2014)
### New features
* CodeIgniter upgraded to the latest version (2.2.0)
* jQuery upgraded to 1.10
* All builtin CMS database tables are now prefixed with cms_
* Implemented full password sanding with variable hasing algorithm and any number of iterations (enhanced security!)
* Removed deprecated code
* Fancybox upgraded to Colorbox
* Implement dropdown menu, rewritten `MenuRendor`, added possibility to attach modules to other modules
* Site theme moved from raw CSS to Compass/SASS
* Add possibility to define dashboard actions via ModuleDescriptor
* Improved module generation
* Brand new CMS installer with possibility to import Symfony database settings
* File manager minor improvements
* Improved UI of ACL management, groups management and system logs
* More restrictive CAS Auth driver
* Improved Generic_model
* Reviewed and improved users module, added possibility to check CAS user status directly from admin panel
* Added html_customization module that allows injecting code into HTML template of the administration panel
* Added email_html helper
* Modified DisplayPage public controller, added possibility to define `mainpage_module` and `mainpage_module_method` for handeling mainpage request by the specified module
* Module generator now generates improved filters for date fields
* CMS modules groups and users now renamed to cms_groups and cms_users
* Improved Google chart generator
* DataGrid got new method getAdvancedFeed() that acts as a proxy to feed object.
* Upgraded SQL console module, fixed UTF-8 encoding in data view
* Improved import procedure in `AdminCRUDController`
* Fixed upload for CSV files
* Improved Spreadsheet to detect tabs as CSV separators
* Added Symfony2 bridge module (`symfony2_bridge`) allowing PepisCMS to use logic embedded in Symfony application
* Added Symfony2 log preview utility
* Implemented and validated all filters in `Array_model`
* Module generator can now resolve many-to-many relationships
* Implemented `Upgradedb` utility available at admin/upgradedb URL
* Introduced content journaling
### API Changes in 0.2.3.x branch
* Extended database schema (see upgrade scripts)
* Removed deprecated legacy `Controller` and `Model` classes (`_compatibility.php`)
* Removed deprecated `niceuri_helper.php`, function `niceuri()` can be found in string helper
* Removed deprecated `Auth::setUserPreference()`, `Auth::getUserPreference()`
* Removed deprecated `MenuRendor::getInstalledModules()`, `Use ModuleRunner::getAvailableModules()`
* Removed `sqlconsole/TableUtility` deprecated utility, use CRUD/
* Deprecated `Spreadsheet::parseCVS()`
* Removed `Menu_model::getInstalledModulesNamesDisplayedInMenu()`
* Removed `ModuleRunner::getInstalledModulesNamesDisplayedInMenuCached()`
* Removed `Lang::getAvailableLanguages()`
* Removed theme images up.gif and down.gif, use up.png and down.png respectively
* Removed theme images:
* exit.png
* group_32.pngg
* group_add_32.png
* edit.gif
* open.png
* sdd.gif
* user_active_32.png
* user_add_32.png
* user_inactive_32.png
* user_32.png
* user_16.png
* Modules users, groups renamed to `cms_users`, `cms_groups`, PLEASE REVIEW YOUR SECURITY POLICY ANG GROUP ACCESS
* Direct access to `self::$uri_prefix` and `self::$site_language` in subclasses of Dispatches has been deprecated
* Added `Dispatcher::setSiteLanguage()`
## 0.2.2.13-LTS (14.05.2014)
### New features
* Improved date and timestamp validation
* Improved PHP5 compatibility
## 0.2.2.12-LTS (10.04.2014)
### New features
* Improved method Generic_model::applyFilters for string EQ filters
## 0.2.2.11-LTS (18.03.2014)
### New features
* Upgraded SQL console module, fixed UTF-8 encoding in data view
## 0.2.2.10-LTS (27.02.2014)
* Reviewed and improved users module, added possibility to check CAS user status directly from admin panel
* Minor fix in CAS driver, displaying correct error message for cases when user account is locally locked
## 0.2.2.9-LTS (03.02.2014)
### New features
* Improved workaround in Uploads library to accept PDF files uploaded with wrong or non standard mime-type
## 0.2.2.8-LTS (20.01.2014)
### New features
* Implemented workaround in Uploads library to accept ZIP/PDF files uploaded with wrong mime-type (as binary data)
* Updated mime config
* Minor changes in AdminCRUDController template
## 0.2.2.7 (07.01.2014)
### New features
* Spreadsheet library method parseCSV now uses native mechanism for reading CSV files
* Improvements to CLI
* Improved widget compatibility
* Fixed an error that was introduced during query builder usage refractoring some minor versions ago, in User_model and Menu_model
* Added Array_model that allows building abstract models for CRUD from any source (XML, CSV, web services)
* Added BasicDataFeedableInterface and Moveable interfaces
## 0.2.2.6 (01.12.2013)
### New features
* IMPORTANT: CBACL will now throw an error and block access when project ID is set but no API KEY is present
* Localized CAS driver error messages
* Code inspection and reformat
* Added Composer package description
* FormBuilder foreign key fix in MANY_TO_MANY relationship (for entries having no ID)
## 0.2.2.5 (11.11.2013)
### New features
* Improved CRUD and controller templates
* Added CRUD import and export features
* Fixed a typo in Spreadsheet library
* User module now is got the possibility to set user password
* Improved form builder - select fields now can have null values
* Generic_model now is got "in" filter type, implemented MANY_TO_MANY filter in Datagrid table and filters
* Module generator now generates labels and filters for boolean elements
* Added YouTube helper
* Added home button to main menu, improved MenuRendor, improved default dashboard
* Added new validation rules: no_uppercase and no_lowercase
* Improved translator interface
* Fixed CAS logout
* EmailSender is got the possibility to overwrite the default config
* Addedd possibility to define FormBuilder field's options
* Updated CKE to the latest version 3.6.6.1
## 0.2.2.4 (15.08.2013)
### New features
* Improved controller templates
* Added spreadsheet tests, fixed Spreadsheet library
* Added logs performance tests
* System backup now sends correct headers for SQL file
* Improved string_helper `niceuri()`
* Added dmesg module
* Interface JavaScript refractored
* Remote models retested and improved
* Changed order of instructions in `Generic_model::getAdvancedFeed()`
* CAS upgraded to 1.3.2+
* Improved translator module - now all labels are automatically refreshed after save
* Extended and improved module generator
## 0.2.2.3 (20.05.2013)
### New features
* Improved documentation and controller templates
* DataGrid minor change is setFilterValue
* `Generic_model::getAdvancedFeed()` now applies filter field mappings to `order_by` field
* Minor changes and code cleanup in TableUtility
* Minor changes in Spreadsheet library
* Cleanups and minor UI fixes
## 0.2.2.2 (07.03.2013)
### New features
* Added new configuration options to Auth drivers: allowed_domains, allowed_usernames
* Added Gmail Auth driver
* Pages module bugfix
* Minor change to FormBuilder: if saveById returns an integer then it is considered the instance ID, otherwise the `$this->db->insert_id()` is called
* RTFEditor improvement - now it is possible to specify editor_styles_set_file in theme descriptor
* Removed URI components
## 0.2.2.1 (31.01.2013)
### New features
* Implemented import of CodeIgniter logs
* Improved Auth drivers, updated CBACL gateway
* Upgraded jQuery UI to the latest version, added time picker to FormBuilder
* Implemented `development_tools/switch_user` allowing root users to switch accounts
* Extended configuration tests
* Minor fixes
## 0.2.2.0 (26.12.2012)
A mature version of 0.2.1
### New features
* System setup UI fix
* Auth `$session_variable_preffix` changed from pepis_cms to pepiscms
* Added auth drivers
* `Auth::renewUserData()` is now private, use `forceLogin()` or `refreshSession()` instead
* Added possibility to map database table names
* Generic model got the possibility to change database on fly
* Added CRUD module generator
* Added cache revalidation when installing/changing module - this makes all module changes directly visible
* Fixed HTTP cache for thumbnails displayed in administration panel - improved page load speed
* Extended FormBuilder image upload callback
* Improved system translations
* System logs became a separate module and now got some analytical features for finding related accounts and user/IP statistics
* Simplified module installation, minor database change
* Improved grid move procedure
* Tested CLI support, now run any public controller: `php index.php /controller_name/method_name/extra_component`
### API Changes in 0.2.2.x branch
* Changed modules database table, please execute the following queries:
```sql
ALTER TABLE `modules` DROP COLUMN `label`;
ALTER TABLE `modules` DROP COLUMN `description`;
ALTER TABLE `modules` DROP COLUMN `is_configurable`;
ALTER TABLE `modules` DROP COLUMN `is_displayed_in_sitemap`;
```
* Removed deprecated controller constructors `AdminController`, `ModuleController`, `ModuleAdminController`
* Removed deprecated method `EnhancedController::getParam()` Use `$this->input->getParam($paramName)`
* Removed deprecated `ModuleController::uri_components`
* Removed deprecated `GenericDataFeedable_model`
* Added possibility to set page title in admin panel by assigning title variable:
`$this->assign('title', 'Development tools');`
## 0.2.1.2 (26.07.2012)
### New features
* Maintenance update
* Fixed bug that always set English as default language
* Datagrid filters autosubmit has been disabled
* Improved Spreadsheet library
## 0.2.1.1 (26.06.2012)
### New features
* Added timezone setting to configuration. IMPORTANT: UTC is no longer the default timezone! When upgrading please recompile the `_pepiscms.php` file.
* Interface fixes - improved popup animations, improved form SELECT styles, some more minor changes
* Improved datagrid pagination
* Improved Spreadsheet library
## 0.2.1.0 (18.06.2012
### New features
* Model loader can now load models from `INSTALLATIONPATH/application/models`
* Improved language loads for different locations
* User management as a separate module
* New Spreadsheet library for generating and parsing CVS and Excel files, generating XML files
* Form validation is got new methods for validating IMEI, bank account, SWIFT, PESEL and some more.
* Minor UI fixes
* Removed deprecated Validation and CacheControll
* Generic_model is now able to map filtered fields (to be used in case of "ambiguous" error).
* Added possibility to specify user login (optional). WARNING: User_model methods (register, update) are now changed!
* Added configuration check after user login
### API Changes in 0.2.1.x branch
* Database changes, module names can have longer values, user can now have a separate login
```sql
ALTER TABLE `logs` CHANGE COLUMN `module` `module` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ;
ALTER TABLE `modules` CHANGE COLUMN `name` `name` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL , CHANGE COLUMN `label` `label` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;
ALTER TABLE `users` ADD COLUMN `user_login` VARCHAR(128) NULL DEFAULT NULL AFTER `user_email`;
DELETE FROM group2entity WHERE entity=0 AND access=0;
```
## 0.2.0.0 (11.01.2012)
### New features
* Brand new user interface
* Improved database schema (partially backward compatible)
* Improved security, user session expires after one hour of inactivity, the user is now forced to use strong passwords,
passwords expire in a given period, user account is being lock after a number of unsuccessful authorization attempts
* Improved data grid filters and forms
* Introduced module descriptors, including installation/uninstallation procedures
* Upgraded CKE Editor to the latest version
* Added CRUD controller for building CRUD modules with ease
* Added helpers and libraries for generating PDF/Excel files
### API Changes in 0.2.0.x branch
* Introduced module descriptors
* `getSitemapLinks` has now became `getSitemapURLs` and should be implemented in module descriptor
* `getConfigVariables()` should now be implemented in module descriptor and should return FORMBUILDER DEFINITION!
* Removed `ModuleRunner::getModuleSitemapLinks`
* `FormBuilder::CHECKBOX` is not threated as boolean
* `EnhancedController::getValue()` deprecated function removed (use $this->input->getValue or getAttribute)
* `DataGrid::setColumns()` deprecated function removed (use setDefinition)
* `DataGrid::addcollumn()` deprecated function removed (misspelled, use setDefinition)
* Deprecated methods of `PluginPage` removed
* Rewritten `Document` and `Menu` support for themes. Use `$document` instead of `$cms`
* Pages and menu tables reduced, only `Page2menu_model` and `Menu2Uri_model` have been removed
* FormBuilder is now got the possibility to resolve many-to-many relationships
* Changed `Usergroups_model` intro `Group_model`, `Remoteapplications_model` into `Remote_application_model`,
`Sitelanguages_model` into `Site_language_model`
* Changed behavior of `Language::load()`, now it includes English translation
first and then it merges it with the destination language
* CMSPage and `PluginPage` now replaced by `Document` object
## 0.1.5.0 (12.08.2011)
### New features
* New api V5 compatible with CodeIgniter 2.0
* Introduced XML-RPC webservices
* Added SQL dump utility
* Improved user interface, icons and layout facelift
* SQL console and Translator now as builtin modules
* New siteconfig utility
* Rewritten page management
* Dynamic base_url
* Added URL helper functions
* Improved security and Auth component
* Compacted
* Improved upgrade utility
### API Changes in 0.1.5.x branch
* Validation is removed, use Form_validation
* `$this->language` must be changed to `$this->lang`
* `$this->db->orderby()` must be changed to `$this->db->order_by()`
* `GenericDataFeedable` replaced by Generic_model, `require_once('ModelInterfaces.php')` is no longer needed
* Make sure all callbacks take desired parameters by reference - callback functions of datagrid and form builder do not pass any objects by reference by default
* niceuri, shortname now moved to string helper -> `$this->load->plugin('niceuri')` becomes `$this->load->helper('string')`
* reflect2xml_pi now moved do xml helper
* PHPTAL is no longer part of PepisCMS, to use `PHPTAL` configure `PHPTALPATH` anywhere in your application
* FCK Editor and MCE Editor are no longer part of PepisCMS
* jQuery is now moved to `pepiscms/3rdparty/jquery/jquery.min.js`
* Removed config item `pages_extension`, replaced by `url_suffix`
* FormBuilder is no longer pretending `back_url()` with `base_url()` if it contains http or https
* Generic model is now being cloned in `FormBuilder` and `DataGrid` when using `setTable()` - check your callbacks
## 0.1.4.15 (02.05.2011)
### New features
* Maintenance update
* Added compatibility functions that let modules written for API V5 to be run on 0.1.4
* Minor UI fixes
* Extended pagination class
## 0.1.4.13 (15.04.2011)
### New features
* Fixed load language procedure to detect user language
* FormRenderable gets a new method for overloading the default error formatting delimiters
* Added new validation methods to form_validation: min, max, even, odd
* Added translation service for PHPTAL that takes translations from PepisCMS config files
* Lang::load now detects language both for front-end and backend
* Upgraded CKEditor to 3.5.3, FCK to 2.6.6, Tiny MCE 3.4.2, Fancybox 1.3.4, jQuery to 1.4.4
* DisplayPage dispatcher now uses object cache for retrieving information about the current page and site language, partial support for CMSPage also
* New installation script
* Module configuration gets a new config variable type - numeric. Numeric variables automatically transform "," into "."
* Added new APC page cache
## 0.1.4.11 (01.03.2011)
### New features
* Added upload allowed types wildcard
* Added Dispatcher::getUriPrefix() and Dispatcher::getSiteLanguage() methods
## 0.1.4.8 (15.02.2011)
### New features
* Added support for PHPTAL via Template class
* EnhancedController::getParam is now alias to URI::getParam
* URI::shift is implemented
* Updated jQuery UI Datepicker and it's style
* DataGrid and FormBuilder support now definitions and foreign keys
* Added "apply" button to FormBuilder. Note, if you use SimpleSessionMessage, the message must be read/assigned after the form is generated!
* Improved ModuleRunner debug
* Added complete Russian translation
* `AdminModuleController::display()` now supports absolute file paths
* Improved installer
* Removed deprecated External Auth
## 0.1.4.2 (31.01.2011)
### New features
* EnhancedController methods getControllerName() and getMethodName() implemented
* Extended and fixed system info
* Better support for Cyrillic alphabet, automatic generation of latin URLs using niceuri
* Backup restore has been fixed
* Backup restore now takes a backup of existing contents before making any changes, backup files can be found in application/backup/
## 0.1.4.1 (08.01.2011)
### New features
* Maintenance update
## 0.1.4.0 (30.12.2010)
It took 7 months and 26 betas to release this version :)
### New features
* New authorization mechanism, now a user can belong to several groups, every single group is a collection of rights above certain entities
* Reorganized structure of AdminController constructor
* Improved file manager interface and implemented protected file access for intranet instances
* Extended upload allowed file extensions list and updated MIME types for zip files
* Module registration introduced. Every single module must be enabled by system administrator in order to be run. Module configuration files are now storied in application/config/modules/ folder (however, old method might work as well).
* System logs along with notifications for critical errors implemented
* DataGrid component now got the possibility od displaying user configurable filers and default data feed model for simple tables
* DataGrid default feed fix (posibility to apply = instead of LIKE)
* Database changes: all the database tables' engine is changed to MYISAM, from now on all the timestamps are storied using UTC timestamp
* Simplified database structure, removed view menu_view
* Dropped support for MySQL 4
* System information summary page added
* New more efficient HTML cache mechanism, the cache system is now initialized before CodeIgniter framework and requires less resources to run
* Added SMTP configuration and EmailSender library
* CKE Editor upgraded to version 3.5
* Fixed admin menu highlights
* Add possibility to add branding to the top of CMS page
* Modified Loader::config behavior. Now it is simpler to extend configuration as default config values are read from the library path
* Rewritten system Loader
### API Changes in 0.1.4.x branch
* NOTE: All PHP timestamps are now in UTC (time() now returns UTC value), please use UTC_TIMESTAMP() for MySQL
* NOTE: Please change `$config['uri_protocol'] = "AUTO";` to `$config['uri_protocol'] = "QUERY_STRING";` in your config file
* NOTE: `$config['permitted_uri_chars'] must be changed to 'a-z 0-9~%.:_&=-',` otherwise you can get "The URI you submitted has disallowed characters" error.
* NOTE: `ModuleController getSitemapLinks()` is now called in static manner
* NOTE: use `$this->input->post('query')` instead of `$_POST`
* NOTE: `EnhancedController:getValue()`, `PluginPage::getValue()`, `PluginPage::assign()`, `PluginPage::getValue()` now deprecated
## 0.1.3.13 (03.06.2010)
### New features
* Login controller error causing wrong redirect in systems having dynamic `base_url` fixed.
## 0.1.3.12 (21.05.2010)
### New features
* Updated niceuri plugin
## 0.1.3.11 (01.04.2010)
### New features
* Maintenance update
## 0.1.3.10 (24.03.2010)
### New features
* Now the system supports user defined config files for hooks and autoload
* Modified Hooks library to load user defined hooks
* Modified content models, now the database supports to host content for several web sites sharing the user tables
## 0.1.3.9 (24.02.2010)
A Maintenance update.
## 0.1.3.8 (23.01.2010)
### New features
* New ajax based file manager
* Improved user interface, added search box and simple view for pages, new page edit view
* Basic configuration tests implemented (displayed in utilities and settings)
* Module runner improvements
* CKEditor and FCK upgraded