CodeIgniter 1.6 je na světě
Po půl roce byla vydána finální verze CodeIgniter 1.6. Dokumentace na oficiálních stránkách se již vztahuje k nové verzi. O hlavních změnách jsem již psal v příspěvku o betaverzi, přesto ještě přikládám kompletní seznam změn v angličtině. Upgrade ze starší verze popisuje tato stránka.
Version 1.6.0
Release Date: January 30, 2008
DBForge
Added DBForge to the database tools.
Moved create_database() and drop_database() into DBForge.
Added add_field(), add_key(), create_table(), drop_table(), add_column(), drop_column(), modify_column() into DBForge.
Active Record
Added protect_identifiers() in Active Record.
All AR queries are backticked if appropriate to the database.
Added where_in(), or_where_in(), where_not_in(), or_where_not_in(), not_like() and or_not_like() to Active Record.
Added support for limit() into update() and delete() statements in Active Record.
Added empty_table() and truncate_table() to Active Record.
Added the ability to pass an array of tables to the delete() statement in Active Record.
Added count_all_results() function to Active Record.
Added select_max(), select_min(), select_avg() and select_sum() to Active Record.
Added the ability to use aliases with joins in Active Record.
Added a third parameter to Active Record’s like() clause to control where the wildcard goes.
Added a third parameter to set() in Active Record that withholds escaping data.
Changed the behaviour of variables submitted to the where() clause with no values to auto set “IS NULL”
Other Database Related
Added $this->DB->save_queries variable to DB driver, enabling queries to get saved or not. Previously they were always saved.
Added $this->db->dbprefix() to manually add database prefixes.
Added ‘random’ as an order_by() option , and removed “rand()” as a listed option as it was MySQL only.
Added a check for NULL fields in the MySQL database backup utility.
Added “constrain_by_prefix” parameter to db->list_table() function. If set to TRUE it will limit the result to only table names with the current prefix.
Deprecated from Active Record; getwhere() for get_where(); groupby() for group_by(); havingor() for having_or(); orderby() for order_by; orwhere() for or_where(); and orlike() for or_like().
Modified csv_from_result() to output CSV data more in the spirit of basic rules of RFC 4180.
Added ‘char_set’ and ‘dbcollat’ database configuration settings, to explicitly set the client communication properly.
Removed ‘active_r’ configuration setting and replaced with a global $active_record setting, which is more in harmony with the global nature of the behavior (#1834).
Core changes
Added ability to load multiple views, whose content will be appended to the output in the order loaded.
Added the ability to auto-load Models.
Reorganized the URI and Routes classes for better clarity.
Added Compat.php to allow function overrides for older versions of PHP or PHP environments missing certain extensions / libraries
Added memory usage, GET, URI string data, and individual query execution time to Profiler output.
Deprecated Scaffolding.
Added is_really_writable() to Common.php to provide a cross-platform reliable method of testing file/folder writability.
Libraries
Changed the load protocol of Models to allow for extension.
Strengthened the Encryption library to help protect against man in the middle attacks when MCRYPT_MODE_CBC mode is used.
Added Flashdata variables, session_id regeneration and configurable session update times to the Session class.
Removed ‘last_visit’ from the Session class.
Added a language entry for valid_ip validation error.
Modified prep_for_form() in the Validation class to accept arrays, adding support for POST array validation (via callbacks only)
Added an “integer” rule into the Validation library.
Added valid_base64() to the Validation library.
Documented clear() in the Image Processing library.
Changed the behaviour of custom callbacks so that they no longer trigger the “required” rule.
Modified Upload class $_FILES error messages to be more precise.
Moved the safe mode and auth checks for the Email library into the constructor.
Modified variable names in _ci_load() method of Loader class to avoid conflicts with view variables.
Added a few additional mime type variations for CSV.
Enabled the ’system’ methods for the XML-RPC Server library, except for ’system.multicall’ which is still disabled.
Helpers & Plugins
Added link_tag() to the HTML helper.
Added img() to the HTML helper.
Added ability to “extend” Helpers.
Added an email helper into core helpers.
Added strip_quotes() function to string helper.
Added reduce_multiples() function to string helper.
Added quotes_to_entities() function to string helper.
Added form_fieldset(), form_fieldset_close(), form_label(), and form_reset() function to form helper.
Added support for external urls in form_open().
Removed support for db_backup in MySQLi due to incompatible functions.
Javascript Calendar plugin now uses the months and days from the calendar language file, instead of hard-coded values, internationalizing it.
Documentation Changes
Added Writing Documentation section for the community to use in writing their own documentation.
Added titles to all user manual pages.
Added attributes into <html> of userguide for valid html.
Added Zip Encoding Class to the table of contents of the userguide.
Moved part of the userguide menu javascript to an external file.
Documented distinct() in Active Record.
Documented the timezones() function in the Date Helper.
Documented unset_userdata in the Session class.
Documented 2 config options to the Database configuration page.