diff options
Diffstat (limited to 'user_guide_src/source/changelog.rst')
-rw-r--r-- | user_guide_src/source/changelog.rst | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 0e4930289..42ef52c52 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -9,16 +9,11 @@ Release Date: Not Released - License - - CodeIgniter has been relicensed with the Open Software License (3.0), eliminating its old proprietary licensing. - - - All system files are licensed with OSL 3.0. - - Config, error, and sample files shipped in the application folder are - licensed with the Academic Free License (3.0) to allow you to retain - all licensing authority over your own application code. + - CodeIgniter has been relicensed with the `MIT License <http://opensource.org/licenses/MIT>`_, eliminating its old proprietary licensing. - General Changes - - PHP 5.1.6 is no longer supported. CodeIgniter now requires PHP 5.2.4. + - PHP 5.1.6 is no longer supported. CodeIgniter now requires PHP 5.2.4 and recommends PHP 5.4+ or newer to be used. - Changed filenaming convention (class file names now must be Ucfirst and everything else in lowercase). - Changed the default database driver to 'mysqli' (the old 'mysql' driver is DEPRECATED). - ``$_SERVER['CI_ENV']`` can now be set to control the ``ENVIRONMENT`` constant. @@ -47,9 +42,9 @@ Release Date: Not Released Only entries in ``$autoload['libraries']`` are auto-loaded now. - Removed previously deprecated EXT constant. - Updated all classes to be written in PHP 5 style, with visibility declarations and no ``var`` usage for properties. - - Moved error templates to *application/views/errors/*. + - Added an Exception handler. + - Moved error templates to *application/views/errors/* and made the path configurable via ``$config['error_views_path']``. - Added support non-HTML error templates for CLI applications. - - Made error templates path configurable using ``$config['error_views_path']``. - Moved the Log class to *application/core/* - Global config files are loaded first, then environment ones. Environment config keys overwrite base ones, allowing to only set the keys we want changed per environment. - Changed detection of ``$view_folder`` so that if it's not found in the current path, it will now also be searched for under the application folder. @@ -62,6 +57,7 @@ Release Date: Not Released - Added support for changing the file extension of log files using ``$config['log_file_extension']``. - Added support for turning newline standardization on/off via ``$config['standardize_newlines']`` and set it to FALSE by default. - Added configuration setting ``$config['composer_autoload']`` to enable loading of a `Composer <https://getcomposer.org/>`_ auto-loader. + - Removed the automatic conversion of 'programmatic characters' to HTML entities from the :doc:`URI Library <libraries/uri>`. - Helpers @@ -116,6 +112,7 @@ Release Date: Not Released - :doc:`Smiley Helper <helpers/smiley_helper>` changes include: + - Deprecated the whole helper as too specific for CodeIgniter. - Removed previously deprecated function ``js_insert_smiley()``. - Changed application and environment config files to be loaded in a cascade-like manner. - The smileys array is now cached and loaded only once. @@ -138,6 +135,8 @@ Release Date: Not Released - Added *colors* configuration to allow customization for the *background*, *border*, *text* and *grid* colors. - Added *filename* to the returned array elements. - Updated to use `imagepng()` in case that `imagejpeg()` isn't available. + - Added **font_size** option to allow customization of font size. + - Added **img_id** option to set id attribute of captcha image. - :doc:`Text Helper <helpers/text_helper>` changes include: @@ -173,6 +172,7 @@ Release Date: Not Released - Added Interbase/Firebird database support via the *ibase* driver. - Added ODBC support for ``create_database()``, ``drop_database()`` and ``drop_table()`` in :doc:`Database Forge <database/forge>`. - Added **save_queries** configuration setting to *application/config/database.php* (defaults to ``TRUE``). + - Added support to binding arrays as ``IN()`` sets in ``query()``. - :doc:`Query Builder <database/query_builder>` changes include: @@ -188,6 +188,7 @@ Release Date: Not Released - Changed ``offset()`` to ignore empty values instead of always casting to integer. - Methods ``insert_batch()`` and ``update_batch()`` now return an integer representing the number of rows affected by them. - Methods ``where()``, ``or_where()``, ``having()`` and ``or_having()`` now convert trailing ``=`` and ``<>``, ``!=`` SQL operators to ``IS NULL`` and ``IS NOT NULL`` respectively when the supplied comparison value is ``NULL``. + - Added method chaining support to ``reset_query()``, ``start_cache()``, ``stop_cache()`` and ``flush_cache()``. - :doc:`Database Results <database/results>` changes include: @@ -197,9 +198,10 @@ Release Date: Not Released - Improved support for the MySQLi driver, including: - - OOP style of the PHP extension is now used, instead of the procedural aliases. + - OOP style usage of the PHP extension is now used, instead of the procedural aliases. - Server version checking is now done via ``mysqli::$server_info`` instead of running an SQL query. - Added persistent connections support for PHP >= 5.3. + - Added support for configuring socket pipe connections. - Added support for ``backup()`` in :doc:`Database Utilities <database/utilities>`. - Changed methods ``trans_begin()``, ``trans_commit()`` and ``trans_rollback()`` to use the PHP API instead of sending queries. @@ -258,6 +260,7 @@ Release Date: Not Released - Added support for passing a custom database object to the loader. - Added support for passing custom table attributes (such as ``ENGINE`` for MySQL) to ``create_table()``. - Added support for usage of the *FIRST* clause in ``add_column()`` for MySQL and CUBRID. + - Added partial support for field comments (MySQL, PostgreSQL, Oracle). - Deprecated ``add_column()``'s third method. *AFTER* clause should now be added to the field definition array instead. - Overall improved support for all of the drivers. @@ -318,6 +321,7 @@ Release Date: Not Released - :doc:`Cart Library <libraries/cart>` changes include: + - Deprecated the library as too specific for CodeIgniter. - Added method ``remove()`` to remove a cart item, updating with quantity of 0 seemed like a hack but has remained to retain compatibility. - Added method ``get_item()`` to enable retrieving data for a single cart item. - Added unicode support for product names. @@ -422,7 +426,11 @@ Release Date: Not Released - Added method chaining support. - Added support for setting table class defaults in a config file. - - :doc:`Zip Library <libraries/zip>` method ``read_file()`` can now also alter the original file path/name while adding files to an archive. + - :doc:`Zip Library <libraries/zip>` changes include: + + - Method ``read_file()`` can now also alter the original file path/name while adding files to an archive. + - Added support for changing the compression level. + - :doc:`Trackback Library <libraries/trackback>` method ``receive()`` will now utilize ``iconv()`` if it is available but ``mb_convert_encoding()`` is not. - Core @@ -441,6 +449,7 @@ Release Date: Not Released - Added conditional PCRE UTF-8 support to the "invalid URI characters" check and removed the ``preg_quote()`` call from it to allow more flexibility. - Renamed method ``_filter_uri()`` to ``filter_uri()``. + - Changed method ``filter_uri()`` to accept by reference and removed its return value. - Changed private methods to protected so that MY_URI can override them. - Renamed internal method ``_parse_cli_args()`` to ``_parse_argv()``. - Renamed internal method ``_detect_uri()`` to ``_parse_request_uri()``. @@ -475,6 +484,7 @@ Release Date: Not Released - Changed default value of the ``$xss_clean`` parameter to NULL for all methods that utilize it, the default value is now determined by the ``$config['global_xss_filtering']`` setting. - Added method ``post_get()`` and changed ``get_post()`` to search in GET data first. Both methods' names now properly match their GET/POST data search priorities. - Changed method ``_fetch_from_array()`` to parse array notation in field name. + - Changed method ``_fetch_from_array()`` to allow retrieving multiple fields at once. - Added an option for ``_clean_input_keys()`` to return FALSE instead of terminating the whole script. - Deprecated the ``is_cli_request()`` method, it is now an alias for the new :func:`is_cli()` common function. - Added an ``$xss_clean`` parameter to method ``user_agent()`` and removed the ``$user_agent`` property. @@ -484,7 +494,8 @@ Release Date: Not Released - Added function :func:`get_mimes()` to return the *application/config/mimes.php* array. - Added support for HTTP code 303 ("See Other") in :func:`set_status_header()`. - Removed redundant conditional to determine HTTP server protocol in :func:`set_status_header()`. - - Changed ``_exception_handler()`` to respect php.ini *display_errors* setting. + - Renamed ``_exception_handler()`` to ``_error_handler()`` and replaced it with a real exception handler. + - Changed ``_error_handler()`` to respect php.ini *display_errors* setting. - Added function :func:`is_https()` to check if a secure connection is used. - Added function :func:`is_cli()` to replace the ``CI_Input::is_cli_request()`` method. - Added function :func:`function_usable()` to work around a bug in `Suhosin <http://www.hardened-php.net/suhosin/>`. @@ -499,6 +510,7 @@ Release Date: Not Released - Added a second argument to method ``set_content_type()`` that allows setting the document charset as well. - Added methods ``get_content_type()`` and ``get_header()``. - Added method ``delete_cache()``. + - Added configuration option ``$config['cache_query_string']`` to enable taking the query string into account when caching. - Changed caching behavior to compress the output before storing it, if ``$config['compress_output']`` is enabled. - :doc:`Config Library <libraries/config>` changes include: @@ -507,6 +519,7 @@ Release Date: Not Released - Removed internal method ``_assign_to_config()`` and moved its implementation to *CodeIgniter.php* instead. - ``item()`` now returns NULL instead of FALSE when the required config item doesn't exist. - Added an optional second parameter to both ``base_url()`` and ``site_url()`` that allows enforcing of a protocol different than the one in the *base_url* configuration setting. + - Added HTTP "Host" header character validation to prevent cache poisoning attacks when ``base_url`` auto-detection is used. - :doc:`Security Library <libraries/security>` changes include: @@ -520,6 +533,7 @@ Release Date: Not Released - :doc:`Language Library <libraries/language>` changes include: - Changed method ``load()`` to filter the language name with ``ctype_alpha()``. + - Changed method ``load()`` to also accept an array of language files. - Added an optional second parameter to method ``line()`` to disable error logging for line keys that were not found. - Language files are now loaded in a cascading style with the one in **system/** always loaded and overriden afterwards, if another one is found. @@ -550,7 +564,7 @@ Release Date: Not Released - Removed ``CI_CORE`` boolean constant from *CodeIgniter.php* (no longer Reactor and Core versions). - Added support for HTTP-Only cookies with new config option *cookie_httponly* (default FALSE). - ``$config['time_reference']`` now supports all timezone strings supported by PHP. - - Fatal PHP errors are now also passed to ``_exception_handler()``, so they can be logged. + - Fatal PHP errors are now also passed to ``_error_handler()``, so they can be logged. Bug fixes for 3.0 @@ -750,7 +764,7 @@ Bug fixes for 3.0 - Partially fixed a bug (#261) - UTF-8 class method ``clean_string()`` generating log messages and/or not producing the desired result due to an upstream bug in iconv. - Fixed a bug where ``CI_Xmlrpcs::parseRequest()`` could fail if ``$HTTP_RAW_POST_DATA`` is not populated. - Fixed a bug in :doc:`Zip Library <libraries/zip>` internal method ``_get_mod_time()`` where it was not parsing result returned by ``filemtime()``. -- Fixed a bug (#3161) - :doc:`Cache Library <libraries/cache>` methods `increment()`, `decrement()` didn't auto-create non-existent items when using redis and/or file storage. +- Fixed a bug (#3161) - :doc:`Cache Library <libraries/caching>` methods `increment()`, `decrement()` didn't auto-create non-existent items when using redis and/or file storage. - Fixed a bug (#3189) - :doc:`Parser Library <libraries/parser>` used double replacement on ``key->value`` pairs, exposing a potential template injection vulnerability. Version 2.2.0 @@ -2595,7 +2609,7 @@ Release Date: October 30, 2006 the Date Helper. - Added :doc:`$query->free_result() <./database/results>` to database class. -- Added :doc:`$query->list_fields() <./database/fields>` function to +- Added :doc:`$query->list_fields() <./database/metadata>` function to database class - Added :doc:`$this->db->platform() <./database/helpers>` function - Added new :doc:`File Helper <./helpers/file_helper>`: |