Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 1 | ########## |
| 2 | Change Log |
| 3 | ########## |
| 4 | |
Derek Jones | f4a4bd8 | 2011-10-20 12:18:42 -0500 | [diff] [blame] | 5 | Version 3.0 (planned) |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 6 | ======================= |
| 7 | |
| 8 | Release Date: Not Released |
| 9 | |
Derek Jones | f4a4bd8 | 2011-10-20 12:18:42 -0500 | [diff] [blame] | 10 | - License |
| 11 | |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 12 | - CodeIgniter has been relicensed with the Open Software License (3.0), eliminating its old proprietary licensing. |
Derek Jones | f4a4bd8 | 2011-10-20 12:18:42 -0500 | [diff] [blame] | 13 | |
| 14 | - All system files are licensed with OSL 3.0. |
| 15 | - Config, error, and sample files shipped in the application folder are |
| 16 | licensed with the Academic Free License (3.0) to allow you to retain |
| 17 | all licensing authority over your own application code. |
| 18 | |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 19 | - General Changes |
Timothy Warren | deb6596 | 2011-10-17 12:26:02 -0400 | [diff] [blame] | 20 | |
Phil Sturgeon | 07c1ac8 | 2012-03-09 17:03:37 +0000 | [diff] [blame] | 21 | - PHP 5.1.6 is no longer supported. CodeIgniter now requires PHP 5.2.4. |
Phil Sturgeon | dda21f6 | 2012-06-03 10:36:36 -0500 | [diff] [blame] | 22 | - ``$_SERVER['CI_ENV']`` can now be set to control the ``ENVIRONMENT`` constant. |
Timothy Warren | 52aff71 | 2011-10-17 12:26:56 -0400 | [diff] [blame] | 23 | - Added an optional backtrace to php-error template. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 24 | - Added Android to the list of user agents. |
Andrey Andreev | ca7d822 | 2012-05-11 10:59:09 +0300 | [diff] [blame] | 25 | - Added Windows 7, Android, Blackberry and iOS to the list of user platforms. |
Andrey Andreev | d490139 | 2012-06-06 14:54:15 +0300 | [diff] [blame] | 26 | - Added Fennec (Firefox for mobile) to the list of mobile user agents. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 27 | - Ability to log certain error types, not all under a threshold. |
| 28 | - Added support for pem, p10, p12, p7a, p7c, p7m, p7r, p7s, crt, crl, der, kdb, rsa, cer, sst, csr Certs to mimes.php. |
Andrey Andreev | 7c9766a | 2012-01-03 10:18:41 +0200 | [diff] [blame] | 29 | - Added support for pgp and gpg to mimes.php. |
| 30 | - Added support for 3gp, 3g2, mp4, wmv, f4v, vlc Video files to mimes.php. |
| 31 | - Added support for m4a, aac, m4u, xspf, au, ac3, flac, ogg Audio files to mimes.php. |
| 32 | - Added support for kmz and kml (Google Earth) files to mimes.php. |
Andrey Andreev | b2457b7 | 2012-06-07 23:36:56 +0300 | [diff] [blame] | 33 | - Added support for ics Calendar files to mimes.php |
| 34 | - Updated support for xml ('application/xml') and xsl ('application/xml', 'text/xsl') files in mimes.php. |
Michiel Vugteveen | adcb8fd | 2012-02-29 14:20:33 +0100 | [diff] [blame] | 35 | - Updated support for doc files in mimes.php. |
Andrey Andreev | 079fbfc | 2012-06-12 02:26:58 +0300 | [diff] [blame] | 36 | - Added some more doctypes. |
Andrey Andreev | b2457b7 | 2012-06-07 23:36:56 +0300 | [diff] [blame] | 37 | - Added Romanian and Greek characters in foreign_characters.php. |
Eric Barnes | f30da66 | 2011-12-04 10:35:58 -0500 | [diff] [blame] | 38 | - Changed logger to only chmod when file is first created. |
Greg Aker | d1af185 | 2011-12-25 21:59:30 -0600 | [diff] [blame] | 39 | - Removed previously deprecated SHA1 Library. |
Andrey Andreev | 75f7c12 | 2012-01-08 03:49:25 +0200 | [diff] [blame] | 40 | - Removed previously deprecated use of ``$autoload['core']`` in application/config/autoload.php. |
| 41 | Only entries in ``$autoload['libraries']`` are auto-loaded now. |
Andrey Andreev | 079fbfc | 2012-06-12 02:26:58 +0300 | [diff] [blame] | 42 | - Removed previously deprecated EXT constant. |
Andrey Andreev | c6a68e0 | 2012-03-26 14:30:10 +0300 | [diff] [blame] | 43 | - Updated all classes to be written in PHP 5 style, with visibility declarations and no ``var`` usage for properties. |
Timothy Warren | 97aefa5 | 2012-05-17 08:55:55 -0400 | [diff] [blame] | 44 | - Moved error templates to "application/views/errors" |
Andrey Andreev | 079fbfc | 2012-06-12 02:26:58 +0300 | [diff] [blame] | 45 | - 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. |
| 46 | - 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. |
| 47 | - Path constants BASEPATH, APPPATH and VIEWPATH are now (internally) defined as absolute paths. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 48 | |
| 49 | - Helpers |
| 50 | |
Andrey Andreev | 0f0b769 | 2012-06-07 14:57:04 +0300 | [diff] [blame] | 51 | - ``create_captcha()`` accepts additional colors parameter, allowing for color customization. |
| 52 | - ``url_title()`` will now trim extra dashes from beginning and end. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 53 | - Added XHTML Basic 1.1 doctype to :doc:`HTML Helper <helpers/html_helper>`. |
Andrey Andreev | 0f0b769 | 2012-06-07 14:57:04 +0300 | [diff] [blame] | 54 | - Changed ``humanize()`` to include a second param for the separator. |
Andrey Andreev | 5040607 | 2012-02-29 14:22:29 +0200 | [diff] [blame] | 55 | - Refactored ``plural()`` and ``singular()`` to avoid double pluralization and support more words. |
| 56 | - Added an optional third parameter to ``force_download()`` that enables/disables sending the actual file MIME type in the Content-Type header (disabled by default). |
Roger Herbert | b81f909 | 2012-03-12 12:46:02 +0000 | [diff] [blame] | 57 | - Added an optional third parameter to ``timespan()`` that constrains the number of time units displayed. |
Andrey Andreev | 0f0b769 | 2012-06-07 14:57:04 +0300 | [diff] [blame] | 58 | - Added a work-around in ``force_download()`` for a bug Android <= 2.1, where the filename extension needs to be in uppercase. |
| 59 | - ``form_dropdown()`` will now also take an array for unity with other form helpers. |
| 60 | - ``do_hash()`` now uses PHP's native ``hash()`` function (supporting more algorithms) and is deprecated. |
| 61 | - Removed previously deprecated helper function ``js_insert_smiley()`` from smiley helper. |
| 62 | - :doc:`File Helper <helpers/file_helper>` changes include: |
| 63 | - ``set_realpath()`` can now also handle file paths as opposed to just directories. |
| 64 | - Added an optional paramater to ``delete_files()`` to enable it to skip deleting files such as .htaccess and index.html. |
| 65 | - ``read_file()`` is now a deprecated alias of ``file_get_contents()``. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 66 | |
| 67 | - Database |
| 68 | |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 69 | - :doc:`Query Builder <database/query_builder>` changes include: |
| 70 | - Renamed the Active Record class to Query Builder to remove confusion with the Active Record design pattern. |
| 71 | - Added the ability to insert objects with insert_batch(). |
| 72 | - Added new methods that return the SQL string of queries without executing them: get_compiled_select(), get_compiled_insert(), get_compiled_update(), get_compiled_delete(). |
| 73 | - Added an optional order_by() parameter that allows to disable escaping (useful for custom fields). |
| 74 | - Added an optional join() parameter that allows to disable escaping. |
| 75 | - Added support for join() with multiple conditions. |
Andrey Andreev | 1370720 | 2012-03-20 00:13:06 +0200 | [diff] [blame] | 76 | - Improved support for the MySQLi driver, including: |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 77 | - OOP style of the PHP extension is now used, instead of the procedural aliases. |
| 78 | - Server version checking is now done via ``mysqli::$server_info`` instead of running an SQL query. |
| 79 | - Added persistent connections support for PHP >= 5.3. |
Andrey Andreev | 782de11 | 2012-06-12 03:04:50 +0300 | [diff] [blame] | 80 | - Added support for backup() in :doc:`Database Utilities <database/utilities>`. |
Andrey Andreev | 968bbbb | 2012-03-26 12:59:05 +0300 | [diff] [blame] | 81 | - Added 'dsn' configuration setting for drivers that support DSN strings (PDO, PostgreSQL, Oracle, ODBC, CUBRID). |
Taufan Aditya | 1820933 | 2012-02-09 16:07:27 +0700 | [diff] [blame] | 82 | - Improved PDO database support. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 83 | - Added Interbase/Firebird database support via the "interbase" driver. |
Andrey Andreev | 4be5de1 | 2012-03-02 15:45:41 +0200 | [diff] [blame] | 84 | - Added an optional database name parameter to db_select(). |
| 85 | - Replaced the _error_message() and _error_number() methods with error(), that returns an array containing the last database error code and message. |
Andrey Andreev | 08856b8 | 2012-03-03 03:19:28 +0200 | [diff] [blame] | 86 | - Improved version() implementation so that drivers that have a native function to get the version number don't have to be defined in the core DB_driver class. |
Andrey Andreev | 5fa7298 | 2012-03-03 04:13:20 +0200 | [diff] [blame] | 87 | - Improved support of the PostgreSQL driver, including: |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 88 | - pg_version() is now used to get the database version number, when possible. |
| 89 | - Added db_set_charset() support. |
Andrey Andreev | 782de11 | 2012-06-12 03:04:50 +0300 | [diff] [blame] | 90 | - Added support for optimize_table() in :doc:`Database Utilities <database/utilities>` (rebuilds table indexes). |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 91 | - Added boolean data type support in escape(). |
| 92 | - Added update_batch() support. |
| 93 | - Removed limit() and order_by() support for UPDATE and DELETE queries in as PostgreSQL does not support those features. |
Andrey Andreev | 57bdeb6 | 2012-03-05 15:59:16 +0200 | [diff] [blame] | 94 | - Added a constructor to the DB_result class and moved all driver-specific properties and logic out of the base DB_driver class to allow better abstraction. |
Andrey Andreev | ea09a8a | 2012-04-06 20:50:07 +0300 | [diff] [blame] | 95 | - Removed protect_identifiers() and renamed internal method _protect_identifiers() to it instead - it was just an alias. |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 96 | - Renamed internal method _escape_identifiers() to escape_identifiers(). |
| 97 | - Updated escape_identifiers() to accept an array of fields as well as strings. |
Andrey Andreev | 95bd1d1 | 2012-03-12 16:22:28 +0200 | [diff] [blame] | 98 | - MySQL and MySQLi drivers now require at least MySQL version 5.1. |
| 99 | - db_set_charset() now only requires one parameter (collation was only needed due to legacy support for MySQL versions prior to 5.1). |
Andrey Andreev | 8ae24c5 | 2012-01-16 13:05:23 +0200 | [diff] [blame] | 100 | - Added support for SQLite3 database driver. |
Andrey Andreev | 082ee2b | 2012-06-08 15:26:34 +0300 | [diff] [blame] | 101 | - Improved support of the CUBRID driver, including: |
| 102 | - Added DSN string support. |
| 103 | - Added persistent connections support. |
| 104 | - Improved list_databases() in :doc:`Database Utility <database/utilities>` (until now only the currently used database was returned). |
| 105 | - Improved support of the MSSQL and SQLSRV drivers, including: |
| 106 | - Added random ordering support. |
| 107 | - Added support for optimize_table() in :doc:`Database Utility <database/utilities>`. |
| 108 | - Added escaping with QUOTE_IDENTIFIER setting detection. |
| 109 | - Added port handling support for UNIX-based systems (MSSQL driver). |
Andrey Andreev | 71379ca | 2012-06-11 16:12:43 +0300 | [diff] [blame] | 110 | - Added OFFSET support for SQL Server 2005 and above. |
Andrey Andreev | 24abcb9 | 2012-01-05 20:40:15 +0200 | [diff] [blame] | 111 | - Improved support of the Oracle (OCI8) driver, including: |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 112 | - Added DSN string support (Easy Connect and TNS). |
| 113 | - Added support for drop_table() in :doc:`Database Forge <database/forge>`. |
| 114 | - Added support for list_databases() in :doc:`Database Utilities <database/utilities>`. |
| 115 | - Generally improved for speed and cleaned up all of its components. |
| 116 | - *Row* result methods now really only fetch only the needed number of rows, instead of depending entirely on result(). |
| 117 | - num_rows() is now only called explicitly by the developer and no longer re-executes statements. |
Andrey Andreev | 782de11 | 2012-06-12 03:04:50 +0300 | [diff] [blame] | 118 | - Improved support of the SQLite driver, including: |
Andrey Andreev | 4287023 | 2012-06-12 01:30:20 +0300 | [diff] [blame] | 119 | - Added support for replace() in :doc:`Query Builder <database/query_builder>`. |
| 120 | - Added support for drop_table() in :doc:`Database Forge <database/forge>`. |
Andrey Andreev | d947eba | 2012-04-09 14:58:28 +0300 | [diff] [blame] | 121 | - Added ODBC support for create_database(), drop_database() and drop_table() in :doc:`Database Forge <database/forge>`. |
| 122 | - Added PDO support for create_database(), drop_database and drop_table() in :doc:`Database Forge <database/forge>`. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 123 | - Added unbuffered_row() method for getting a row without prefetching whole result (consume less memory). |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 124 | |
| 125 | - Libraries |
| 126 | |
| 127 | - Added max_filename_increment config setting for Upload library. |
| 128 | - CI_Loader::_ci_autoloader() is now a protected method. |
Matteo Mattei | 1366cbc | 2012-03-28 14:26:59 +0200 | [diff] [blame] | 129 | - Added custom filename to Email::attach() as $this->email->attach($filename, $disposition, $newname). |
| 130 | - Added possibility to send attachment as buffer string in Email::attach() as $this->email->attach($buffer, $disposition, $newname, $mime). |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 131 | - :doc:`Cart library <libraries/cart>` changes include: |
Andrew Seymour | f75ec11 | 2011-12-14 09:36:39 +0000 | [diff] [blame] | 132 | - It now auto-increments quantity's instead of just resetting it, this is the default behaviour of large e-commerce sites. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 133 | - Product Name strictness can be disabled via the Cart Library by switching "$product_name_safe". |
vlakoff | 8bbf4e0 | 2012-05-31 13:30:22 +0200 | [diff] [blame] | 134 | - Added function remove() to remove a cart item, updating with quantity of 0 seemed like a hack but has remained to retain compatibility. |
Andrey Andreev | 901573c | 2012-01-11 01:40:48 +0200 | [diff] [blame] | 135 | - :doc:`Image Manipulation library <libraries/image_lib>` changes include: |
Andrey Andreev | 64dbdfb | 2011-12-30 14:14:07 +0200 | [diff] [blame] | 136 | - The initialize() method now only sets existing class properties. |
| 137 | - Added support for 3-length hex color values for wm_font_color and wm_shadow_color properties, as well as validation for them. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 138 | - Class properties wm_font_color, wm_shadow_color and wm_use_drop_shadow are now protected, to avoid breaking the text_watermark() method if they are set manually after initialization. |
Andrey Andreev | 8e70b79 | 2012-01-12 20:19:24 +0200 | [diff] [blame] | 139 | - If property maintain_ratio is set to TRUE, image_reproportion() now doesn't need both width and height to be specified. |
Greg Aker | d1af185 | 2011-12-25 21:59:30 -0600 | [diff] [blame] | 140 | - Removed SHA1 function in the :doc:`Encryption Library <libraries/encryption>`. |
RS71 | 0fc6409 | 2012-01-03 12:50:55 -0200 | [diff] [blame] | 141 | - Added $config['csrf_regeneration'] to the CSRF protection in the :doc:`Security library <libraries/security>`, which makes token regeneration optional. |
Andrey Andreev | 901573c | 2012-01-11 01:40:48 +0200 | [diff] [blame] | 142 | - :doc:`Form Validation library <libraries/form_validation>` changes include: |
Andrey Andreev | 7a88598 | 2012-03-02 13:15:07 +0200 | [diff] [blame] | 143 | - Added method error_array() to return all error messages as an array. |
Andrey Andreev | b68e70b | 2012-03-09 14:44:31 +0200 | [diff] [blame] | 144 | - Added method set_data() to set an alternative data array to be validated instead of the default $_POST. |
| 145 | - Added method reset_validation(), which resets internal validation variables in case of multiple validation routines. |
Andrey Andreev | 31cf46e | 2012-03-20 15:48:00 +0200 | [diff] [blame] | 146 | - Added support for setting error delimiters in the config file via $config['error_prefix'] and $config['error_suffix']. |
Andrey Andreev | 901573c | 2012-01-11 01:40:48 +0200 | [diff] [blame] | 147 | - _execute() now considers input data to be invalid if a specified rule is not found. |
| 148 | - Removed method is_numeric() as it exists as a native PHP function and _execute() will find and use that (the 'is_numeric' rule itself is deprecated since 1.6.1). |
Andrey Andreev | cde4368 | 2012-01-13 20:16:35 +0200 | [diff] [blame] | 149 | - Native PHP functions used as rules can now accept an additional parameter, other than the data itself. |
Andrey Andreev | e2b8f67 | 2012-03-03 04:40:02 +0200 | [diff] [blame] | 150 | - Changed the :doc:`Session Library <libraries/sessions>` to select only one row when using database sessions. |
Mike Funk | 8f7db7b | 2012-03-06 15:19:07 -0500 | [diff] [blame] | 151 | - Added all_flashdata() method to session class. Returns an associative array of only flashdata. |
Mike Funk | 46e3a9a | 2012-02-24 09:38:35 -0500 | [diff] [blame] | 152 | - Allowed for setting table class defaults in a config file. |
M. Fauzilkamil Zainuddin | 1f975ca | 2012-03-28 16:34:55 +0800 | [diff] [blame] | 153 | - Added a Wincache driver to the :doc:`Caching Library <libraries/caching>`. |
Andrey Andreev | 9e674f7 | 2012-06-09 21:02:52 +0300 | [diff] [blame] | 154 | - Added a Redis driver to the :doc:`Caching Library <libraries/caching>`. |
leandronf | d576af4 | 2012-03-22 19:47:41 -0300 | [diff] [blame] | 155 | - Added dsn (delivery status notification) option to the :doc:`Email Library <libraries/email>`. |
Andrey Andreev | 47b6733 | 2012-06-06 15:58:05 +0300 | [diff] [blame] | 156 | - Renamed method _set_header() to set_header() and made it public to enable adding custom headers in the :doc:`Email Library <libraries/email>`. |
Andrey Andreev | 5a1e5e3 | 2012-06-12 11:28:26 +0300 | [diff] [blame^] | 157 | - Added an "index" parameter to the data() method in the :doc:`Upload Library <libraries/file_uploading>`. |
| 158 | - Added support for the anchor "rel" attribute in the :doc:`Pagination Library <libraries/pagination>`. |
RS71 | 0fc6409 | 2012-01-03 12:50:55 -0200 | [diff] [blame] | 159 | |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 160 | - Core |
| 161 | |
Andrey Andreev | 75f7c12 | 2012-01-08 03:49:25 +0200 | [diff] [blame] | 162 | - Changed private functions in CI_URI to protected so MY_URI can override them. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 163 | - Removed CI_CORE boolean constant from CodeIgniter.php (no longer Reactor and Core versions). |
Andrey Andreev | 75f7c12 | 2012-01-08 03:49:25 +0200 | [diff] [blame] | 164 | - Added method get_vars() to CI_Loader to retrieve all variables loaded with $this->load->vars(). |
Andrey Andreev | d47baab | 2012-01-09 16:56:46 +0200 | [diff] [blame] | 165 | - is_loaded() function from system/core/Commons.php now returns a reference. |
Andrey Andreev | f5e8e1c | 2012-03-06 13:11:27 +0200 | [diff] [blame] | 166 | - $config['rewrite_short_tags'] now has no effect when using PHP 5.4 as *<?=* will always be available. |
Michiel Vugteveen | dc900df | 2012-03-07 20:41:37 +0100 | [diff] [blame] | 167 | - Added method() to CI_Input to retrieve $_SERVER['REQUEST_METHOD']. |
Andrey Andreev | 1ae6516 | 2012-03-10 16:11:34 +0200 | [diff] [blame] | 168 | - Modified valid_ip() to use PHP's filter_var() in the :doc:`Input Library <libraries/input>`. |
Andrey Andreev | 50bff7c | 2012-03-19 12:16:38 +0200 | [diff] [blame] | 169 | - Added support for HTTP-Only cookies with new config option ``cookie_httponly`` (default FALSE). |
Andrey Andreev | 00adf1d | 2012-04-03 12:30:50 +0300 | [diff] [blame] | 170 | - Renamed method _call_hook() to call_hook() in the :doc:`Hooks Library <general/hooks>`. |
| 171 | - Added get_content_type() method to the :doc:`Output Library <libraries/output>`. |
Andrey Andreev | 6ef498b | 2012-06-05 22:01:58 +0300 | [diff] [blame] | 172 | - Added get_mimes() function to system/core/Commons.php to return the config/mimes.php array. |
Andrey Andreev | 47b6733 | 2012-06-06 15:58:05 +0300 | [diff] [blame] | 173 | - Added a second argument to set_content_type() in the :doc:`Output Library <libraries/output>` that allows setting the document charset as well. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 174 | |
| 175 | Bug fixes for 3.0 |
| 176 | ------------------ |
| 177 | |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 178 | - Fixed a bug where ``unlink()`` raised an error if cache file did not exist when you try to delete it. |
Andrey Andreev | 601f8b2 | 2012-03-01 20:11:15 +0200 | [diff] [blame] | 179 | - Fixed a bug (#181) where a mis-spelling was in the form validation language file. |
Andrey Andreev | 7b5eb73 | 2012-05-24 20:52:41 +0300 | [diff] [blame] | 180 | - Fixed a bug (#159, #163) that mishandled Query Builder nested transactions because _trans_depth was not getting incremented. |
Andrey Andreev | 5a1e5e3 | 2012-06-12 11:28:26 +0300 | [diff] [blame^] | 181 | - Fixed a bug (#737, #75) - :doc:`Pagination <libraries/pagination>` anchor class was not set properly when using initialize method. |
Greg Aker | f41c9cf | 2011-12-25 00:15:17 -0600 | [diff] [blame] | 182 | - Fixed a bug (#419) - auto_link() now recognizes URLs that come after a word boundary. |
| 183 | - Fixed a bug (#724) - is_unique in form validation now checks that you are connected to a database. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 184 | - Fixed a bug (#647) - _get_mod_time() in Zip library no longer generates stat failed errors. |
| 185 | - Fixed a bug (#608) - Fixes an issue with the Image_lib class not clearing properties completely. |
| 186 | - Fixed a bug (#157, #174) - the Image_lib clear() function now resets all variables to their default values. |
Tomasz T | 17bcd2b | 2011-12-06 12:36:16 +0100 | [diff] [blame] | 187 | - Fixed a bug where using $this->dbforge->create_table() with PostgreSQL database could lead to fetching whole table. |
Greg Aker | f41c9cf | 2011-12-25 00:15:17 -0600 | [diff] [blame] | 188 | - Fixed a bug (#795) - Fixed form method and accept-charset when passing an empty array. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 189 | - Fixed a bug (#797) - timespan() was using incorrect seconds for year and month. |
Andrey Andreev | bb24883 | 2011-12-21 16:42:51 +0200 | [diff] [blame] | 190 | - Fixed a bug in CI_Cart::contents() where if called without a TRUE (or equal) parameter, it would fail due to a typo. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 191 | - Fixed a bug (#696) - make oci_execute() calls inside num_rows() non-committing, since they are only there to reset which row is next in line for oci_fetch calls and thus don't need to be committed. |
Andrey Andreev | 1f26edc | 2012-06-07 16:13:54 +0300 | [diff] [blame] | 192 | - Fixed a bug (#406) - SQLSRV DB driver not returning resource on ``db_pconnect()``. |
Andrey Andreev | a92b903 | 2011-12-24 19:05:58 +0200 | [diff] [blame] | 193 | - Fixed a bug in CI_Image_lib::gd_loaded() where it was possible for the script execution to end or a PHP E_WARNING message to be emitted. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 194 | - Fixed a bug in the :doc:`Pagination library <libraries/pagination>` where when use_page_numbers=TRUE previous link and page 1 link did not have the same url. |
Andrey Andreev | d81150f | 2012-01-03 11:06:32 +0200 | [diff] [blame] | 195 | - Fixed a bug (#561) - Errors in :doc:`XML-RPC Library <libraries/xmlrpc>` were not properly escaped. |
Andrey Andreev | d47baab | 2012-01-09 16:56:46 +0200 | [diff] [blame] | 196 | - Fixed a bug (#904) - ``CI_Loader::initialize()`` caused a PHP Fatal error to be triggered if error level E_STRICT is used. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 197 | - Fixed a hosting edge case where an empty $_SERVER['HTTPS'] variable would evaluate to 'on'. |
Andrey Andreev | eea2ff5 | 2012-01-19 13:21:53 +0200 | [diff] [blame] | 198 | - Fixed a bug (#154) - ``CI_Session::sess_update()`` caused the session to be destroyed on pages where multiple AJAX requests were executed at once. |
Andrey Andreev | 9448afb | 2012-02-08 19:49:19 +0200 | [diff] [blame] | 199 | - Fixed a possible bug in ``CI_Input::is_ajax_request()`` where some clients might not send the X-Requested-With HTTP header value exactly as 'XmlHttpRequest'. |
Andrey Andreev | 93cac5c | 2012-02-14 14:45:02 +0200 | [diff] [blame] | 200 | - Fixed a bug (#1039) - MySQL's _backup() method failed due to a table name not being escaped. |
Andrey Andreev | 82e8ac1 | 2012-02-22 19:35:34 +0200 | [diff] [blame] | 201 | - Fixed a bug (#1070) - CI_DB_driver::initialize() didn't set a character set if a database is not selected. |
Andrey Andreev | 46ac881 | 2012-02-28 14:32:54 +0200 | [diff] [blame] | 202 | - Fixed a bug (#177) - CI_Form_validation::set_value() didn't set the default value if POST data is NULL. |
Andrey Andreev | c2905f5 | 2012-03-01 14:39:26 +0200 | [diff] [blame] | 203 | - Fixed a bug (#68, #414) - Oracle's escape_str() didn't properly escape LIKE wild characters. |
Andrey Andreev | 41e46a9 | 2012-03-01 14:58:17 +0200 | [diff] [blame] | 204 | - Fixed a bug (#81) - ODBC's list_fields() and field_data() methods skipped the first column due to odbc_field_*() functions' index starting at 1 instead of 0. |
Andrey Andreev | ef795ac | 2012-03-01 15:15:31 +0200 | [diff] [blame] | 205 | - Fixed a bug (#129) - ODBC's num_rows() returned -1 in some cases, due to not all subdrivers supporting the odbc_num_rows() function. |
Andrey Andreev | 850f601 | 2012-03-01 15:58:25 +0200 | [diff] [blame] | 206 | - Fixed a bug (#153) - E_NOTICE being generated by getimagesize() in the :doc:`File Uploading Library <libraries/file_uploading>`. |
Andrey Andreev | 4be5de1 | 2012-03-02 15:45:41 +0200 | [diff] [blame] | 207 | - Fixed a bug (#611) - SQLSRV's error handling methods used to issue warnings when there's no actual error. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 208 | - Fixed a bug (#1036) - is_write_type() method in the :doc:`Database Library <database/index>` didn't return TRUE for RENAME queries. |
Andrey Andreev | ed74082 | 2012-03-01 16:37:08 +0200 | [diff] [blame] | 209 | - Fixed a bug in PDO's _version() method where it used to return the client version as opposed to the server one. |
Andrey Andreev | a39d699 | 2012-03-01 19:11:39 +0200 | [diff] [blame] | 210 | - Fixed a bug in PDO's insert_id() method where it could've failed if it's used with Postgre versions prior to 8.1. |
Andrey Andreev | ea3eec9 | 2012-03-01 19:16:23 +0200 | [diff] [blame] | 211 | - Fixed a bug in CUBRID's affected_rows() method where a connection resource was passed to cubrid_affected_rows() instead of a result. |
Andrey Andreev | 95bd1d1 | 2012-03-12 16:22:28 +0200 | [diff] [blame] | 212 | - Fixed a bug (#638) - db_set_charset() ignored its arguments and always used the configured charset instead. |
Andrey Andreev | 4be5de1 | 2012-03-02 15:45:41 +0200 | [diff] [blame] | 213 | - Fixed a bug (#413) - Oracle's error handling methods used to only return connection-related errors. |
Andrey Andreev | 963386b | 2012-03-02 01:52:01 +0200 | [diff] [blame] | 214 | - Fixed a bug (#804) - Profiler library was trying to handle objects as strings in some cases, resulting in warnings being issued by htmlspecialchars(). |
Andrey Andreev | effd013 | 2012-03-02 12:34:54 +0200 | [diff] [blame] | 215 | - Fixed a bug (#1101) - MySQL/MySQLi result method field_data() was implemented as if it was handling a DESCRIBE result instead of the actual result set. |
Andrey Andreev | 8f22057 | 2012-03-02 13:05:45 +0200 | [diff] [blame] | 216 | - Fixed a bug in Oracle's :doc:`Database Forge Class <database/forge>` method _create_table() where it failed with AUTO_INCREMENT as it's not supported. |
Diogo Osório | 593f798 | 2012-03-02 18:04:17 +0000 | [diff] [blame] | 217 | - Fixed a bug (#1080) - When using the SMTP protocol, the :doc:`Email Library <libraries/email>` send() method was returning TRUE even if the connection/authentication against the server failed. |
Andrey Andreev | 04ae067 | 2012-02-27 23:59:18 +0200 | [diff] [blame] | 218 | - Fixed a bug (#499) - a CSRF cookie was created even with CSRF protection being disabled. |
Andrey Andreev | 8af7666 | 2012-03-05 14:33:41 +0200 | [diff] [blame] | 219 | - Fixed a bug (#306) - ODBC's insert_id() method was calling non-existent function odbc_insert_id(), which resulted in a fatal error. |
Andrey Andreev | 57bdeb6 | 2012-03-05 15:59:16 +0200 | [diff] [blame] | 220 | - Fixed a bug in Oracle's DB_result class where the cursor id passed to it was always NULL. |
Andrey Andreev | 7b5eb73 | 2012-05-24 20:52:41 +0300 | [diff] [blame] | 221 | - Fixed a bug (#64) - Regular expression in DB_query_builder.php failed to handle queries containing SQL bracket delimiters in the join condition. |
Andrey Andreev | 6b83123 | 2012-03-06 11:16:57 +0200 | [diff] [blame] | 222 | - Fixed a bug in the :doc:`Session Library <libraries/sessions>` where a PHP E_NOTICE error was triggered by _unserialize() due to results from databases such as MSSQL and Oracle being space-padded on the right. |
Andrey Andreev | 3b2c508 | 2012-03-07 22:49:24 +0200 | [diff] [blame] | 223 | - Fixed a bug (#501) - set_rules() to check if the request method is not 'POST' before aborting, instead of depending on count($_POST) in the :doc:`Form Validation Library <libraries/form_validation>`. |
Andrey Andreev | 5d27c43 | 2012-03-08 12:01:52 +0200 | [diff] [blame] | 224 | - Fixed a bug (#940) - csrf_verify() used to set the CSRF cookie while processing a POST request with no actual POST data, which resulted in validating a request that should be considered invalid. |
Andrey Andreev | 21cb2d3 | 2012-05-25 01:01:06 +0300 | [diff] [blame] | 225 | - Fixed a bug (#136) - PostgreSQL, MySQL and MySQLi's escape_str() method didn't properly escape LIKE wild characters. |
Andrey Andreev | a11b16b | 2012-03-28 12:22:04 +0300 | [diff] [blame] | 226 | - Fixed a bug in the library loader where some PHP versions wouldn't execute the class constructor. |
Andrey Andreev | 64bfa06 | 2012-03-29 18:54:09 +0300 | [diff] [blame] | 227 | - Fixed a bug (#88) - An unexisting property was used for configuration of the Memcache cache driver. |
Andrey Andreev | d605748 | 2012-04-03 14:07:31 +0300 | [diff] [blame] | 228 | - Fixed a bug (#14) - create_database() method in the :doc:`Database Forge Library <database/forge>` didn't utilize the configured database character set. |
Andrey Andreev | e7bbb1d | 2012-04-24 21:11:21 +0300 | [diff] [blame] | 229 | - Fixed a bug (#23, #1238) - delete_all() in the `Database Caching Library <database/caching>` used to delete .htaccess and index.html files, which is a potential security risk. |
Andrey Andreev | 426faa9 | 2012-04-03 19:03:58 +0300 | [diff] [blame] | 230 | - Fixed a bug in :doc:`Trackback Library <libraries/trackback>` method validate_url() where it didn't actually do anything, due to input not being passed by reference. |
Andrey Andreev | 81c87cd | 2012-01-12 17:00:29 +0200 | [diff] [blame] | 231 | - Fixed a bug (#11, #183, #863) - CI_Form_validation::_execute() silently continued to the next rule, if a rule method/function is not found. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 232 | - Fixed a bug (#122) Where routed uri string was being reported incorrectly in sub-directories. |
Andrey Andreev | a396c3b | 2012-04-04 18:57:39 +0300 | [diff] [blame] | 233 | - Fixed a bug (#1242) - read_dir() in the :doc:`Zip Library <libraries/zip>` wasn't compatible with Windows. |
Andrey Andreev | 97f3697 | 2012-04-05 12:44:36 +0300 | [diff] [blame] | 234 | - Fixed a bug (#306) - ODBC driver didn't have an _insert_batch() method, which resulted in fatal error being triggered when insert_batch() is used with it. |
Andrey Andreev | 6d83cde | 2012-04-05 16:20:50 +0300 | [diff] [blame] | 235 | - Fixed a bug in MSSQL and SQLSrv's _truncate() where the TABLE keyword was missing. |
Andrey Andreev | 80144bf | 2012-04-06 22:19:26 +0300 | [diff] [blame] | 236 | - Fixed a bug in PDO's trans_commit() method where it failed due to an erroneous property name. |
Andrey Andreev | 00541ae | 2012-04-09 11:43:10 +0300 | [diff] [blame] | 237 | - Fixed a bug (#798) - update() used to ignore LIKE conditions that were set with like(). |
Andrey Andreev | 5c0e9fe | 2012-04-09 12:28:11 +0300 | [diff] [blame] | 238 | - Fixed a bug in Oracle's and MSSQL's delete() methods where an erroneous SQL statement was generated when used with limit(). |
| 239 | - Fixed a bug in SQLSRV's delete() method where like() and limit() conditions were ignored. |
Andrey Andreev | b3f774b | 2012-04-23 12:57:57 +0300 | [diff] [blame] | 240 | - Fixed a bug (#1265) - Database connections were always closed, regardless of the 'pconnect' option value. |
Andrey Andreev | 8d5b24a | 2012-01-27 14:37:38 +0200 | [diff] [blame] | 241 | - Fixed a bug (#128) - :doc:`Language Library <libraries/language>` did not correctly keep track of loaded language files. |
Andrey Andreev | 79922c0 | 2012-05-23 12:27:17 +0300 | [diff] [blame] | 242 | - Fixed a bug (#1242) - Added Windows path compatibility to function read_dir of ZIP library. |
Andrey Andreev | 46d53fb | 2012-05-11 13:42:24 +0300 | [diff] [blame] | 243 | - Fixed a bug (#1314) - sess_destroy() did not destroy userdata. |
Andrey Andreev | 7b5eb73 | 2012-05-24 20:52:41 +0300 | [diff] [blame] | 244 | - Fixed a bug (#1349) - get_extension() in the :doc:`File Uploading Library <libraries/file_uploading>` returned the original filename when it didn't have an actual extension. |
| 245 | - Fixed a bug (#1273) - E_NOTICE being generated by :doc:`Query Builder <database/query_builder>`'s set_update_batch() method. |
Andrey Andreev | 470805b | 2012-05-24 21:57:21 +0300 | [diff] [blame] | 246 | - Fixed a bug (#44, #110) - :doc:`Upload library <libraries/file_uploading>`'s clean_file_name() method didn't clear '!' and '#' characters. |
Andrey Andreev | 55d3ad4 | 2012-05-24 22:13:06 +0300 | [diff] [blame] | 247 | - Fixed a bug (#121) - ``CI_DB_result::row()`` returned an array when there's no actual result to be returned. |
Andrey Andreev | 846acc7 | 2012-05-24 23:27:46 +0300 | [diff] [blame] | 248 | - Fixed a bug (#319) - SQLSRV's affected_rows() method failed due to a scrollable cursor being created for write-type queries. |
Andrey Andreev | d06acd8 | 2012-05-25 00:29:09 +0300 | [diff] [blame] | 249 | - Fixed a bug (#356) - PostgreSQL driver didn't have an _update_batch() method, which resulted in fatal error being triggered when update_batch() is used with it. |
Andrey Andreev | af4d55d | 2012-06-07 16:22:35 +0300 | [diff] [blame] | 250 | - Fixed a bug (#784, #862) - :doc:`Database Forge <database/forge>` method ``create_table()`` failed on SQLSRV/MSSQL when used with 'IF NOT EXISTS'. |
Michiel Vugteveen | 2fd0506 | 2012-06-04 20:49:03 +0200 | [diff] [blame] | 251 | - Fixed a bug (#1419) - libraries/Driver.php had a static variable that was causing an error. |
Andrey Andreev | 6ef498b | 2012-06-05 22:01:58 +0300 | [diff] [blame] | 252 | - Fixed a bug (#1411) - the :doc:`Email library <libraries/email>` used its own short list of MIMEs instead the one from config/mimes.php. |
Andrey Andreev | 24bd230 | 2012-06-05 22:29:12 +0300 | [diff] [blame] | 253 | - Fixed a bug where the magic_quotes_runtime setting wasn't turned off for PHP 5.3 (where it is indeed deprecated, but not non-existent). |
Andrey Andreev | 47b6733 | 2012-06-06 15:58:05 +0300 | [diff] [blame] | 254 | - Fixed a bug (#666) - :doc:`Output library <libraries/output>`'s set_content_type() method didn't set the document charset. |
Andrey Andreev | af4d55d | 2012-06-07 16:22:35 +0300 | [diff] [blame] | 255 | - Fixed a bug (#784, #861) - :doc:`Database Forge <database/forge>` method ``create_table()`` used to accept constraints for MSSQL/SQLSRV integer-type columns. |
Andrey Andreev | 082ee2b | 2012-06-08 15:26:34 +0300 | [diff] [blame] | 256 | - Fixed a bug (#706) - SQLSRV/MSSSQL didn't escape field names. |
Andrey Andreev | bf94058 | 2012-06-10 07:05:05 +0300 | [diff] [blame] | 257 | - Fixed a bug (#1452) - protect_identifiers() didn't properly detect identifiers with spaces in their names. |
| 258 | - Fixed a bug where protect_identifiers() ignored it's extra arguments when the value passed to it is an array. |
Andrey Andreev | d454f0e | 2012-06-10 14:51:04 +0300 | [diff] [blame] | 259 | - Fixed a bug where _has_operator() didn't detect BETWEEN. |
Andrey Andreev | c9195a7 | 2012-06-12 03:49:03 +0300 | [diff] [blame] | 260 | - Fixed a bug in :doc:`Query Builder <database/query_builder>`'s join() method where it failed with identifiers containing dashes. |
Andrey Andreev | 5d28176 | 2012-06-11 22:05:40 +0300 | [diff] [blame] | 261 | - Fixed a bug (#1264) - :doc:`Database Forge <database/forge>` and :doc:`Database Utilities <database/utilities>` didn't update/reset the databases and tables list cache when a table or a database is created, dropped or renamed. |
Andrey Andreev | c73df1d | 2012-06-12 01:43:03 +0300 | [diff] [blame] | 262 | - Fixed a bug (#7) - :doc:`Query Builder <database/query_builder>`'s join() method only escaped one set of conditions. |
Andrey Andreev | 079fbfc | 2012-06-12 02:26:58 +0300 | [diff] [blame] | 263 | - Fixed a bug (#1321) - Core Exceptions class couldn't find the errors/ folder in some cases. |
Andrey Andreev | c9195a7 | 2012-06-12 03:49:03 +0300 | [diff] [blame] | 264 | - Fixed a bug in the File-based :doc:`Cache Library <libraries/caching>` driver's get_metadata() method where a non-existent array key was accessed for the TTL value. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 265 | |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 266 | Version 2.1.1 |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 267 | ============= |
| 268 | |
| 269 | Release Date: Not Released |
| 270 | |
| 271 | - General Changes |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 272 | - Fixed support for docx, xlsx files in mimes.php. |
| 273 | |
| 274 | - Libraries |
| 275 | - Further improved MIME type detection in the :doc:`File Uploading Library <libraries/file_uploading>`. |
Andrey Andreev | 5a25718 | 2012-06-10 06:18:14 +0300 | [diff] [blame] | 276 | - Added support for IPv6 to the :doc:`Input Library <libraries/input>`. |
| 277 | - Added support for the IP format parameter to the :doc:`Form Validation Library <libraries/form_validation>`. |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 278 | |
Phil Sturgeon | a2bd363 | 2012-03-04 15:32:58 +0000 | [diff] [blame] | 279 | - Helpers |
| 280 | - url_title() performance and output improved. You can now use any string as the word delimiter, but 'dash' and 'underscore' are still supported. |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 281 | |
| 282 | Bug fixes for 2.1.1 |
| 283 | ------------------- |
| 284 | |
| 285 | - Fixed a bug (#697) - A wrong array key was used in the Upload library to check for mime-types. |
| 286 | - Fixed a bug - form_open() compared $action against site_url() instead of base_url(). |
| 287 | - Fixed a bug - CI_Upload::_file_mime_type() could've failed if mime_content_type() is used for the detection and returns FALSE. |
| 288 | - Fixed a bug (#538) - Windows paths were ignored when using the :doc:`Image Manipulation Library <libraries/image_lib>` to create a new file. |
Andrey Andreev | 67a08ed | 2012-05-19 13:35:40 +0300 | [diff] [blame] | 289 | - Fixed a bug - When database caching was enabled, $this->db->query() checked the cache before binding variables which resulted in cached queries never being found. |
| 290 | - Fixed a bug - CSRF cookie value was allowed to be any (non-empty) string before being written to the output, making code injection a risk. |
| 291 | - Fixed a bug (#726) - PDO put a 'dbname' argument in it's connection string regardless of the database platform in use, which made it impossible to use SQLite. |
Andrey Andreev | 5a25718 | 2012-06-10 06:18:14 +0300 | [diff] [blame] | 292 | - Fixed a bug - CI_DB_pdo_driver::num_rows() was not returning properly value with SELECT queries, cause it was relying on PDOStatement::rowCount(). |
| 293 | - Fixed a bug (#1059) - CI_Image_lib::clear() was not correctly clearing all necessary object properties, namely width and height. |
| 294 | - Fixed a bud (#1387) - Active Record's ``from()`` method didn't escape table aliases. |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 295 | |
Phil Sturgeon | 6b414d1 | 2012-02-29 11:59:35 +0000 | [diff] [blame] | 296 | Version 2.1.0 |
| 297 | ============= |
| 298 | |
| 299 | Release Date: November 14, 2011 |
| 300 | |
| 301 | - General Changes |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 302 | |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 303 | - Callback validation rules can now accept parameters like any other |
| 304 | validation rule. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 305 | - Added html_escape() to :doc:`Common |
| 306 | functions <general/common_functions>` to escape HTML output |
| 307 | for preventing XSS. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 308 | |
| 309 | - Helpers |
| 310 | |
| 311 | - Added increment_string() to :doc:`String |
| 312 | Helper <helpers/string_helper>` to turn "foo" into "foo-1" |
| 313 | or "foo-1" into "foo-2". |
| 314 | - Altered form helper - made action on form_open_multipart helper |
| 315 | function call optional. Fixes (#65) |
| 316 | - url_title() will now trim extra dashes from beginning and end. |
Timothy Warren | 7447927 | 2011-10-10 10:51:55 -0400 | [diff] [blame] | 317 | - Improved speed of :doc:`String Helper <helpers/string_helper>`'s random_string() method |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 318 | |
| 319 | - Database |
| 320 | |
Timothy Warren | 01b56bc | 2011-10-10 10:45:45 -0400 | [diff] [blame] | 321 | - Added a `CUBRID <http://www.cubrid.org/>`_ driver to the :doc:`Database |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 322 | Driver <database/index>`. Thanks to the CUBRID team for |
| 323 | supplying this patch. |
Timothy Warren | 01b56bc | 2011-10-10 10:45:45 -0400 | [diff] [blame] | 324 | - Added a PDO driver to the :doc:`Database Driver <database/index>`. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 325 | - Typecast limit and offset in the :doc:`Database |
| 326 | Driver <database/queries>` to integers to avoid possible |
| 327 | injection. |
| 328 | - Added additional option 'none' for the optional third argument for |
| 329 | $this->db->like() in the :doc:`Database |
| 330 | Driver <database/active_record>`. |
Timothy Warren | 01b56bc | 2011-10-10 10:45:45 -0400 | [diff] [blame] | 331 | - Added $this->db->insert_batch() support to the OCI8 (Oracle) driver. |
Felix Balfoort | 85fe96d | 2011-11-29 16:27:53 +0100 | [diff] [blame] | 332 | - Added failover if the main connections in the config should fail |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 333 | |
| 334 | - Libraries |
| 335 | |
| 336 | - Changed $this->cart->insert() in the :doc:`Cart |
| 337 | Library <libraries/cart>` to return the Row ID if a single |
| 338 | item was inserted successfully. |
| 339 | - Added support to set an optional parameter in your callback rules |
| 340 | of validation using the :doc:`Form Validation |
| 341 | Library <libraries/form_validation>`. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 342 | - Added a :doc:`Migration library <libraries/migration>` to assist with applying |
kenjis | 6864736 | 2011-10-18 23:33:23 +0900 | [diff] [blame] | 343 | incremental updates to your database schema. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 344 | - Driver children can be located in any package path. |
| 345 | - Added max_filename_increment config setting for Upload library. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 346 | - Added is_unique to the :doc:`Form Validation |
| 347 | library <libraries/form_validation>`. |
Timothy Warren | 01b56bc | 2011-10-10 10:45:45 -0400 | [diff] [blame] | 348 | - Added $config['use_page_numbers'] to the :doc:`Pagination library <libraries/pagination>`, which enables real page numbers in the URI. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 349 | - Added TLS and SSL Encryption for SMTP. |
| 350 | |
| 351 | - Core |
| 352 | |
| 353 | - Changed private functions in CI_URI to protected so MY_URI can |
| 354 | override them. |
| 355 | - Removed CI_CORE boolean constant from CodeIgniter.php (no longer Reactor and Core versions). |
| 356 | |
| 357 | Bug fixes for 2.1.0 |
| 358 | ------------------- |
| 359 | |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 360 | - Fixed #378 Robots identified as regular browsers by the User Agent |
| 361 | class. |
| 362 | - If a config class was loaded first then a library with the same name |
| 363 | is loaded, the config would be ignored. |
| 364 | - Fixed a bug (Reactor #19) where 1) the 404_override route was being |
| 365 | ignored in some cases, and 2) auto-loaded libraries were not |
| 366 | available to the 404_override controller when a controller existed |
| 367 | but the requested method did not. |
| 368 | - Fixed a bug (Reactor #89) where MySQL export would fail if the table |
| 369 | had hyphens or other non alphanumeric/underscore characters. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 370 | - Fixed a bug (#200) where MySQL queries would be malformed after calling $this->db->count_all() then $this->db->get() |
| 371 | - Fixed a bug (#105) that stopped query errors from being logged unless database debugging was enabled |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 372 | - Fixed a bug (#160) - Removed unneeded array copy in the file cache |
| 373 | driver. |
| 374 | - Fixed a bug (#150) - field_data() now correctly returns column |
| 375 | length. |
| 376 | - Fixed a bug (#8) - load_class() now looks for core classes in |
| 377 | APPPATH first, allowing them to be replaced. |
Phil Sturgeon | f748ebc | 2011-11-13 19:24:16 +0000 | [diff] [blame] | 378 | - Fixed a bug (#24) - ODBC database driver called incorrect parent in __construct(). |
| 379 | - Fixed a bug (#85) - OCI8 (Oracle) database escape_str() function did not escape correct. |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 380 | - Fixed a bug (#344) - Using schema found in :doc:`Saving Session Data to a Database <libraries/sessions>`, system would throw error "user_data does not have a default value" when deleting then creating a session. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 381 | - Fixed a bug (#112) - OCI8 (Oracle) driver didn't pass the configured database character set when connecting. |
| 382 | - Fixed a bug (#182) - OCI8 (Oracle) driver used to re-execute the statement whenever num_rows() is called. |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 383 | - Fixed a bug (#82) - WHERE clause field names in the DB update_string() method were not escaped, resulting in failed queries in some cases. |
| 384 | - Fixed a bug (#89) - Fix a variable type mismatch in DB display_error() where an array is expected, but a string could be set instead. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 385 | - Fixed a bug (#467) - Suppress warnings generated from get_magic_quotes_gpc() (deprecated in PHP 5.4) |
| 386 | - Fixed a bug (#484) - First time _csrf_set_hash() is called, hash is never set to the cookie (in Security.php). |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 387 | - Fixed a bug (#60) - Added _file_mime_type() method to the :doc:`File Uploading Library <libraries/file_uploading>` in order to fix a possible MIME-type injection. |
Bo-Yi Wu | d75e03a | 2011-10-07 14:44:35 +0800 | [diff] [blame] | 388 | - Fixed a bug (#537) - Support for all wav type in browser. |
Bo-Yi Wu | 4d7c27e | 2011-10-15 12:02:32 +0800 | [diff] [blame] | 389 | - Fixed a bug (#576) - Using ini_get() function to detect if apc is enabled or not. |
Phil Sturgeon | c737c94 | 2011-11-21 11:23:15 +0000 | [diff] [blame] | 390 | - Fixed invalid date time format in :doc:`Date helper <helpers/date_helper>` and :doc:`XMLRPC library <libraries/xmlrpc>`. |
Kyle Farris | 6f1fa5e | 2011-10-14 15:13:39 -0300 | [diff] [blame] | 391 | - Fixed a bug (#200) - MySQL queries would be malformed after calling count_all() then db->get(). |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 392 | |
| 393 | Version 2.0.3 |
| 394 | ============= |
| 395 | |
| 396 | Release Date: August 20, 2011 |
| 397 | |
| 398 | - Security |
| 399 | |
| 400 | - An improvement was made to the MySQL and MySQLi drivers to prevent |
| 401 | exposing a potential vector for SQL injection on sites using |
| 402 | multi-byte character sets in the database client connection. |
| 403 | An incompatibility in PHP versions < 5.2.3 and MySQL < 5.0.7 with |
| 404 | *mysql_set_charset()* creates a situation where using multi-byte |
| 405 | character sets on these environments may potentially expose a SQL |
| 406 | injection attack vector. Latin-1, UTF-8, and other "low ASCII" |
| 407 | character sets are unaffected on all environments. |
| 408 | |
| 409 | If you are running or considering running a multi-byte character |
| 410 | set for your database connection, please pay close attention to |
| 411 | the server environment you are deploying on to ensure you are not |
| 412 | vulnerable. |
| 413 | |
| 414 | - General Changes |
| 415 | |
| 416 | - Fixed a bug where there was a misspelling within a code comment in |
| 417 | the index.php file. |
| 418 | - Added Session Class userdata to the output profiler. Additionally, |
| 419 | added a show/hide toggle on HTTP Headers, Session Data and Config |
| 420 | Variables. |
| 421 | - Removed internal usage of the EXT constant. |
| 422 | - Visual updates to the welcome_message view file and default error |
| 423 | templates. Thanks to `danijelb <https://bitbucket.org/danijelb>`_ |
| 424 | for the pull request. |
| 425 | - Added insert_batch() function to the PostgreSQL database driver. |
| 426 | Thanks to epallerols for the patch. |
| 427 | - Added "application/x-csv" to mimes.php. |
| 428 | - Added CSRF protection URI whitelisting. |
Timothy Warren | 01b56bc | 2011-10-10 10:45:45 -0400 | [diff] [blame] | 429 | - Fixed a bug where :doc:`Email library <libraries/email>` |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 430 | attachments with a "." in the name would using invalid MIME-types. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 431 | |
| 432 | - Helpers |
| 433 | |
| 434 | - Added an optional third parameter to heading() which allows adding |
| 435 | html attributes to the rendered heading tag. |
| 436 | - form_open() now only adds a hidden (Cross-site Reference Forgery) |
| 437 | protection field when the form's action is internal and is set to |
| 438 | the post method. (Reactor #165) |
| 439 | - Re-worked plural() and singular() functions in the :doc:`Inflector |
| 440 | helper <helpers/inflector_helper>` to support considerably |
| 441 | more words. |
| 442 | |
| 443 | - Libraries |
| 444 | |
| 445 | - Altered Session to use a longer match against the user_agent |
| 446 | string. See upgrade notes if using database sessions. |
| 447 | - Added $this->db->set_dbprefix() to the :doc:`Database |
| 448 | Driver <database/queries>`. |
| 449 | - Changed $this->cart->insert() in the :doc:`Cart |
| 450 | Library <libraries/cart>` to return the Row ID if a single |
| 451 | item was inserted successfully. |
| 452 | - Added $this->load->get_var() to the :doc:`Loader |
| 453 | library <libraries/loader>` to retrieve global vars set with |
| 454 | $this->load->view() and $this->load->vars(). |
| 455 | - Changed $this->db->having() to insert quotes using escape() rather |
| 456 | than escape_str(). |
| 457 | |
| 458 | Bug fixes for 2.0.3 |
| 459 | ------------------- |
| 460 | |
| 461 | - Added ENVIRONMENT to reserved constants. (Reactor #196) |
| 462 | - Changed server check to ensure SCRIPT_NAME is defined. (Reactor #57) |
| 463 | - Removed APPPATH.'third_party' from the packages autoloader to negate |
| 464 | needless file stats if no packages exist or if the developer does not |
| 465 | load any other packages by default. |
| 466 | - Fixed a bug (Reactor #231) where Sessions Library database table |
| 467 | example SQL did not contain an index on last_activity. See :doc:`Upgrade |
| 468 | Notes <installation/upgrade_203>`. |
| 469 | - Fixed a bug (Reactor #229) where the Sessions Library example SQL in |
| 470 | the documentation contained incorrect SQL. |
| 471 | - Fixed a bug (Core #340) where when passing in the second parameter to |
| 472 | $this->db->select(), column names in subsequent queries would not be |
| 473 | properly escaped. |
| 474 | - Fixed issue #199 - Attributes passed as string does not include a |
| 475 | space between it and the opening tag. |
| 476 | - Fixed a bug where the method $this->cart->total_items() from :doc:`Cart |
| 477 | Library <libraries/cart>` now returns the sum of the quantity |
| 478 | of all items in the cart instead of your total count. |
| 479 | - Fixed a bug where not setting 'null' when adding fields in db_forge |
| 480 | for mysql and mysqli drivers would default to NULL instead of NOT |
| 481 | NULL as the docs suggest. |
| 482 | - Fixed a bug where using $this->db->select_max(), |
| 483 | $this->db->select_min(), etc could throw notices. Thanks to w43l for |
| 484 | the patch. |
| 485 | - Replace checks for STDIN with php_sapi_name() == 'cli' which on the |
| 486 | whole is more reliable. This should get parameters in crontab |
| 487 | working. |
| 488 | |
| 489 | Version 2.0.2 |
| 490 | ============= |
| 491 | |
| 492 | Release Date: April 7, 2011 |
| 493 | Hg Tag: v2.0.2 |
| 494 | |
| 495 | - General changes |
| 496 | |
| 497 | - The :doc:`Security library <./libraries/security>` was moved to |
| 498 | the core and is now loaded automatically. Please remove your |
| 499 | loading calls. |
| 500 | - The CI_SHA class is now deprecated. All supported versions of PHP |
| 501 | provide a sha1() function. |
| 502 | - constants.php will now be loaded from the environment folder if |
| 503 | available. |
| 504 | - Added language key error logging |
| 505 | - Made Environment Support optional. Comment out or delete the |
| 506 | constant to stop environment checks. |
| 507 | - Added Environment Support for Hooks. |
| 508 | - Added CI\_ Prefix to the :doc:`Cache driver <libraries/caching>`. |
| 509 | - Added :doc:`CLI usage <./general/cli>` documentation. |
| 510 | |
| 511 | - Helpers |
| 512 | |
| 513 | - Removed the previously deprecated dohash() from the :doc:`Security |
| 514 | helper <./helpers/security_helper>`; use do_hash() instead. |
| 515 | - Changed the 'plural' function so that it doesn't ruin the |
| 516 | captalization of your string. It also take into consideration |
| 517 | acronyms which are all caps. |
| 518 | |
| 519 | - Database |
| 520 | |
| 521 | - $this->db->count_all_results() will now return an integer |
| 522 | instead of a string. |
| 523 | |
| 524 | Bug fixes for 2.0.2 |
| 525 | ------------------- |
| 526 | |
| 527 | - Fixed a bug (Reactor #145) where the Output Library had |
| 528 | parse_exec_vars set to protected. |
| 529 | - Fixed a bug (Reactor #80) where is_really_writable would create an |
| 530 | empty file when on Windows or with safe_mode enabled. |
| 531 | - Fixed various bugs with User Guide. |
| 532 | - Added is_cli_request() method to documentation for :doc:`Input |
| 533 | class <libraries/input>`. |
| 534 | - Added form_validation_lang entries for decimal, less_than and |
| 535 | greater_than. |
| 536 | - `Fixed issue |
| 537 | #153 <https://bitbucket.org/ellislab/codeigniter-reactor/issue/153/escape-str-bug-in-mssql-driver>`_ |
| 538 | Escape Str Bug in MSSQL driver. |
| 539 | - `Fixed issue |
| 540 | #172 <https://bitbucket.org/ellislab/codeigniter-reactor/issue/172/bug-in-chrome-and-form_open-in-201>`_ |
| 541 | Google Chrome 11 posts incorrectly when action is empty. |
| 542 | |
| 543 | Version 2.0.1 |
| 544 | ============= |
| 545 | |
| 546 | Release Date: March 15, 2011 |
| 547 | Hg Tag: v2.0.1 |
| 548 | |
| 549 | - General changes |
| 550 | |
| 551 | - Added $config['cookie_secure'] to the config file to allow |
| 552 | requiring a secure (HTTPS) in order to set cookies. |
| 553 | - Added the constant CI_CORE to help differentiate between Core: |
| 554 | TRUE and Reactor: FALSE. |
| 555 | - Added an ENVIRONMENT constant in index.php, which affects PHP |
| 556 | error reporting settings, and optionally, which configuration |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 557 | files are loaded (see below). Read more on the :doc:`Handling |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 558 | Environments <general/environments>` page. |
| 559 | - Added support for |
| 560 | :ref:`environment-specific <config-environments>` |
| 561 | configuration files. |
| 562 | |
| 563 | - Libraries |
| 564 | |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 565 | - Added decimal, less_than and greater_than rules to the :doc:`Form |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 566 | validation Class <libraries/form_validation>`. |
| 567 | - :doc:`Input Class <libraries/input>` methods post() and get() |
| 568 | will now return a full array if the first argument is not |
| 569 | provided. |
| 570 | - Secure cookies can now be made with the set_cookie() helper and |
| 571 | :doc:`Input Class <libraries/input>` method. |
| 572 | - Added set_content_type() to :doc:`Output |
| 573 | Class <libraries/output>` to set the output Content-Type |
| 574 | HTTP header based on a MIME Type or a config/mimes.php array key. |
| 575 | - :doc:`Output Class <libraries/output>` will now support method |
| 576 | chaining. |
| 577 | |
| 578 | - Helpers |
| 579 | |
| 580 | - Changed the logic for form_open() in :doc:`Form |
| 581 | helper <helpers/form_helper>`. If no value is passed it will |
| 582 | submit to the current URL. |
| 583 | |
| 584 | Bug fixes for 2.0.1 |
| 585 | ------------------- |
| 586 | |
| 587 | - CLI requests can now be run from any folder, not just when CD'ed next |
| 588 | to index.php. |
| 589 | - Fixed issue #41: Added audio/mp3 mime type to mp3. |
| 590 | - Fixed a bug (Core #329) where the file caching driver referenced the |
| 591 | incorrect cache directory. |
| 592 | - Fixed a bug (Reactor #69) where the SHA1 library was named |
| 593 | incorrectly. |
| 594 | |
Derek Jones | caa1db6 | 2011-10-17 21:17:21 -0500 | [diff] [blame] | 595 | .. _2.0.0-changelog: |
| 596 | |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 597 | Version 2.0.0 |
| 598 | ============= |
| 599 | |
| 600 | Release Date: January 28, 2011 |
| 601 | Hg Tag: v2.0.0 |
| 602 | |
| 603 | - General changes |
| 604 | |
| 605 | - PHP 4 support is removed. CodeIgniter now requires PHP 5.1.6. |
| 606 | - Scaffolding, having been deprecated for a number of versions, has |
| 607 | been removed. |
| 608 | - Plugins have been removed, in favor of Helpers. The CAPTCHA plugin |
| 609 | has been converted to a Helper and |
| 610 | :doc:`documented <./helpers/captcha_helper>`. The JavaScript |
| 611 | calendar plugin was removed due to the ready availability of great |
| 612 | JavaScript calendars, particularly with jQuery. |
| 613 | - Added new special Library type: |
| 614 | :doc:`Drivers <./general/drivers>`. |
| 615 | - Added full query-string support. See the config file for details. |
| 616 | - Moved the application folder outside of the system folder. |
| 617 | - Moved system/cache and system/logs directories to the application |
| 618 | directory. |
| 619 | - Added routing overrides to the main index.php file, enabling the |
| 620 | normal routing to be overridden on a per "index" file basis. |
| 621 | - Added the ability to set config values (or override config values) |
| 622 | directly from data set in the main index.php file. This allows a |
| 623 | single application to be used with multiple front controllers, |
| 624 | each having its own config values. |
| 625 | - Added $config['directory_trigger'] to the config file so that a |
| 626 | controller sub-directory can be specified when running _GET |
| 627 | strings instead of URI segments. |
| 628 | - Added ability to set "Package" paths - specific paths where the |
| 629 | Loader and Config classes should try to look first for a requested |
| 630 | file. This allows distribution of sub-applications with their own |
| 631 | libraries, models, config files, etc. in a single "package" |
| 632 | directory. See the :doc:`Loader class <libraries/loader>` |
| 633 | documentation for more details. |
| 634 | - In-development code is now hosted at |
| 635 | `BitBucket <http://bitbucket.org/ellislab/codeigniter-reactor/>`_. |
| 636 | - Removed the deprecated Validation Class. |
| 637 | - Added CI\_ Prefix to all core classes. |
| 638 | - Package paths can now be set in application/config/autoload.php. |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 639 | - :doc:`Upload library <libraries/file_uploading>` file_name can |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 640 | now be set without an extension, the extension will be taken from |
| 641 | the uploaded file instead of the given name. |
| 642 | - In :doc:`Database Forge <database/forge>` the name can be omitted |
| 643 | from $this->dbforge->modify_column()'s 2nd param if you aren't |
| 644 | changing the name. |
| 645 | - $config['base_url'] is now empty by default and will guess what |
| 646 | it should be. |
| 647 | - Enabled full Command Line Interface compatibility with |
| 648 | config['uri_protocol'] = 'CLI';. |
| 649 | |
| 650 | - Libraries |
| 651 | |
| 652 | - Added a :doc:`Cache driver <libraries/caching>` with APC, |
| 653 | memcached, and file-based support. |
| 654 | - Added $prefix, $suffix and $first_url properties to :doc:`Pagination |
| 655 | library <./libraries/pagination>`. |
| 656 | - Added the ability to suppress first, previous, next, last, and |
| 657 | page links by setting their values to FALSE in the :doc:`Pagination |
| 658 | library <./libraries/pagination>`. |
| 659 | - Added :doc:`Security library <./libraries/security>`, which now |
| 660 | contains the xss_clean function, filename_security function and |
| 661 | other security related functions. |
| 662 | - Added CSRF (Cross-site Reference Forgery) protection to the |
| 663 | :doc:`Security library <./libraries/security>`. |
| 664 | - Added $parse_exec_vars property to Output library. |
| 665 | - Added ability to enable / disable individual sections of the |
| 666 | :doc:`Profiler <general/profiling>` |
| 667 | - Added a wildcard option $config['allowed_types'] = '\*' to the |
| 668 | :doc:`File Uploading Class <./libraries/file_uploading>`. |
| 669 | - Added an 'object' config variable to the XML-RPC Server library so |
| 670 | that one can specify the object to look for requested methods, |
| 671 | instead of assuming it is in the $CI superobject. |
| 672 | - Added "is_object" into the list of unit tests capable of being |
| 673 | run. |
| 674 | - Table library will generate an empty cell with a blank string, or |
| 675 | NULL value. |
| 676 | - Added ability to set tag attributes for individual cells in the |
| 677 | Table library |
| 678 | - Added a parse_string() method to the :doc:`Parser |
| 679 | Class <libraries/parser>`. |
| 680 | - Added HTTP headers and Config information to the |
| 681 | :doc:`Profiler <general/profiling>` output. |
| 682 | - Added Chrome and Flock to the list of detectable browsers by |
| 683 | browser() in the :doc:`User Agent Class <libraries/user_agent>`. |
| 684 | - The :doc:`Unit Test Class <libraries/unit_testing>` now has an |
| 685 | optional "notes" field available to it, and allows for discrete |
| 686 | display of test result items using |
| 687 | $this->unit->set_test_items(). |
| 688 | - Added a $xss_clean class variable to the XMLRPC library, enabling |
| 689 | control over the use of the Security library's xss_clean() |
| 690 | method. |
| 691 | - Added a download() method to the :doc:`FTP |
| 692 | library <libraries/ftp>` |
| 693 | - Changed do_xss_clean() to return FALSE if the uploaded file |
| 694 | fails XSS checks. |
| 695 | - Added stripslashes() and trim()ing of double quotes from $_FILES |
| 696 | type value to standardize input in Upload library. |
| 697 | - Added a second parameter (boolean) to |
| 698 | $this->zip->read_dir('/path/to/directory', FALSE) to remove the |
| 699 | preceding trail of empty folders when creating a Zip archive. This |
| 700 | example would contain a zip with "directory" and all of its |
| 701 | contents. |
| 702 | - Added ability in the Image Library to handle PNG transparency for |
| 703 | resize operations when using the GD lib. |
| 704 | - Modified the Session class to prevent use if no encryption key is |
| 705 | set in the config file. |
| 706 | - Added a new config item to the Session class |
| 707 | sess_expire_on_close to allow sessions to auto-expire when the |
| 708 | browser window is closed. |
| 709 | - Improved performance of the Encryption library on servers where |
| 710 | Mcrypt is available. |
| 711 | - Changed the default encryption mode in the Encryption library to |
| 712 | CBC. |
| 713 | - Added an encode_from_legacy() method to provide a way to |
| 714 | transition encrypted data from CodeIgniter 1.x to CodeIgniter 2.x. |
| 715 | Please see the :doc:`upgrade |
| 716 | instructions <./installation/upgrade_200>` for details. |
| 717 | - Altered Form_Validation library to allow for method chaining on |
| 718 | set_rules(), set_message() and set_error_delimiters() |
| 719 | functions. |
| 720 | - Altered Email Library to allow for method chaining. |
| 721 | - Added request_headers(), get_request_header() and |
| 722 | is_ajax_request() to the input class. |
| 723 | - Altered :doc:`User agent library <libraries/user_agent>` so that |
| 724 | is_browser(), is_mobile() and is_robot() can optionally check |
| 725 | for a specific browser or mobile device. |
| 726 | - Altered :doc:`Input library <libraries/input>` so that post() and |
| 727 | get() will return all POST and GET items (respectively) if there |
| 728 | are no parameters passed in. |
| 729 | |
| 730 | - Database |
| 731 | |
| 732 | - :doc:`database configuration <./database/configuration>`. |
| 733 | - Added autoinit value to :doc:`database |
| 734 | configuration <./database/configuration>`. |
| 735 | - Added stricton value to :doc:`database |
| 736 | configuration <./database/configuration>`. |
| 737 | - Added database_exists() to the :doc:`Database Utilities |
| 738 | Class <database/utilities>`. |
| 739 | - Semantic change to db->version() function to allow a list of |
| 740 | exceptions for databases with functions to return version string |
| 741 | instead of specially formed SQL queries. Currently this list only |
| 742 | includes Oracle and SQLite. |
| 743 | - Fixed a bug where driver specific table identifier protection |
| 744 | could lead to malformed queries in the field_data() functions. |
| 745 | - Fixed a bug where an undefined class variable was referenced in |
| 746 | database drivers. |
| 747 | - Modified the database errors to show the filename and line number |
| 748 | of the problematic query. |
| 749 | - Removed the following deprecated functions: orwhere, orlike, |
| 750 | groupby, orhaving, orderby, getwhere. |
| 751 | - Removed deprecated _drop_database() and _create_database() |
| 752 | functions from the db utility drivers. |
| 753 | - Improved dbforge create_table() function for the Postgres driver. |
| 754 | |
| 755 | - Helpers |
| 756 | |
| 757 | - Added convert_accented_characters() function to :doc:`text |
| 758 | helper <./helpers/text_helper>`. |
| 759 | - Added accept-charset to the list of inserted attributes of |
| 760 | form_open() in the :doc:`Form Helper <helpers/form_helper>`. |
| 761 | - Deprecated the dohash() function in favour of do_hash() for |
| 762 | naming consistency. |
| 763 | - Non-backwards compatible change made to get_dir_file_info() in |
| 764 | the :doc:`File Helper <helpers/file_helper>`. No longer recurses |
| 765 | by default so as to encourage responsible use (this function can |
| 766 | cause server performance issues when used without caution). |
| 767 | - Modified the second parameter of directory_map() in the |
| 768 | :doc:`Directory Helper <helpers/directory_helper>` to accept an |
| 769 | integer to specify recursion depth. |
| 770 | - Modified delete_files() in the :doc:`File |
| 771 | Helper <helpers/file_helper>` to return FALSE on failure. |
| 772 | - Added an optional second parameter to byte_format() in the |
| 773 | :doc:`Number Helper <helpers/number_helper>` to allow for decimal |
| 774 | precision. |
| 775 | - Added alpha, and sha1 string types to random_string() in the |
| 776 | :doc:`String Helper <helpers/string_helper>`. |
| 777 | - Modified prep_url() so as to not prepend http:// if the supplied |
| 778 | string already has a scheme. |
| 779 | - Modified get_file_info in the file helper, changing filectime() |
| 780 | to filemtime() for dates. |
| 781 | - Modified smiley_js() to add optional third parameter to return |
| 782 | only the javascript with no script tags. |
| 783 | - The img() function of the :doc:`HTML |
| 784 | helper <./helpers/html_helper>` will now generate an empty |
| 785 | string as an alt attribute if one is not provided. |
| 786 | - If CSRF is enabled in the application config file, form_open() |
| 787 | will automatically insert it as a hidden field. |
| 788 | - Added sanitize_filename() into the :doc:`Security |
| 789 | helper <./helpers/security_helper>`. |
| 790 | - Added ellipsize() to the :doc:`Text |
| 791 | Helper <./helpers/text_helper>` |
| 792 | - Added elements() to the :doc:`Array |
| 793 | Helper <./helpers/array_helper>` |
| 794 | |
| 795 | - Other Changes |
| 796 | |
| 797 | - Added an optional second parameter to show_404() to disable |
| 798 | logging. |
| 799 | - Updated loader to automatically apply the sub-class prefix as an |
| 800 | option when loading classes. Class names can be prefixed with the |
| 801 | standard "CI\_" or the same prefix as the subclass prefix, or no |
| 802 | prefix at all. |
| 803 | - Increased randomness with is_really_writable() to avoid file |
| 804 | collisions when hundreds or thousands of requests occur at once. |
| 805 | - Switched some DIR_WRITE_MODE constant uses to FILE_WRITE_MODE |
| 806 | where files and not directories are being operated on. |
| 807 | - get_mime_by_extension() is now case insensitive. |
| 808 | - Added "default" to the list :doc:`Reserved |
| 809 | Names <general/reserved_names>`. |
| 810 | - Added 'application/x-msdownload' for .exe files and |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 811 | 'application/x-gzip-compressed' for .tgz files to |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 812 | config/mimes.php. |
| 813 | - Updated the output library to no longer compress output or send |
| 814 | content-length headers if the server runs with |
| 815 | zlib.output_compression enabled. |
| 816 | - Eliminated a call to is_really_writable() on each request unless |
| 817 | it is really needed (Output caching) |
| 818 | - Documented append_output() in the :doc:`Output |
| 819 | Class <libraries/output>`. |
| 820 | - Documented a second argument in the decode() function for the |
| 821 | :doc:`Encryption Class <libraries/encryption>`. |
| 822 | - Documented db->close(). |
| 823 | - Updated the router to support a default route with any number of |
| 824 | segments. |
| 825 | - Moved _remove_invisible_characters() function from the |
| 826 | :doc:`Security Library <libraries/security>` to :doc:`common |
| 827 | functions. <general/common_functions>` |
| 828 | - Added audio/mpeg3 as a valid mime type for MP3. |
| 829 | |
| 830 | Bug fixes for 2.0.0 |
| 831 | ------------------- |
| 832 | |
| 833 | - Fixed a bug where you could not change the User-Agent when sending |
| 834 | email. |
| 835 | - Fixed a bug where the Output class would send incorrect cached output |
| 836 | for controllers implementing their own _output() method. |
| 837 | - Fixed a bug where a failed query would not have a saved query |
| 838 | execution time causing errors in the Profiler |
| 839 | - Fixed a bug that was writing log entries when multiple identical |
| 840 | helpers and plugins were loaded. |
| 841 | - Fixed assorted user guide typos or examples (#10693, #8951, #7825, |
| 842 | #8660, #7883, #6771, #10656). |
| 843 | - Fixed a language key in the profiler: "profiler_no_memory_usage" |
| 844 | to "profiler_no_memory". |
| 845 | - Fixed an error in the Zip library that didn't allow downloading on |
| 846 | PHP 4 servers. |
| 847 | - Fixed a bug in the Form Validation library where fields passed as |
| 848 | rule parameters were not being translated (#9132) |
| 849 | - Modified inflector helper to properly pluralize words that end in |
| 850 | 'ch' or 'sh' |
| 851 | - Fixed a bug in xss_clean() that was not allowing hyphens in query |
| 852 | strings of submitted URLs. |
| 853 | - Fixed bugs in get_dir_file_info() and get_file_info() in the |
| 854 | File Helper with recursion, and file paths on Windows. |
| 855 | - Fixed a bug where Active Record override parameter would not let you |
| 856 | disable Active Record if it was enabled in your database config file. |
| 857 | - Fixed a bug in reduce_double_slashes() in the String Helper to |
| 858 | properly remove duplicate leading slashes (#7585) |
| 859 | - Fixed a bug in values_parsing() of the XML-RPC library which |
| 860 | prevented NULL variables typed as 'string' from being handled |
| 861 | properly. |
| 862 | - Fixed a bug were form_open_multipart() didn't accept string |
| 863 | attribute arguments (#10930). |
| 864 | - Fixed a bug (#10470) where get_mime_by_extension() was case |
| 865 | sensitive. |
| 866 | - Fixed a bug where some error messages for the SQLite and Oracle |
| 867 | drivers would not display. |
| 868 | - Fixed a bug where files created with the Zip Library would result in |
| 869 | file creation dates of 1980. |
| 870 | - Fixed a bug in the Session library that would result in PHP error |
| 871 | when attempting to store values with objects. |
| 872 | - Fixed a bug where extending the Controller class would result in a |
| 873 | fatal PHP error. |
| 874 | - Fixed a PHP Strict Standards Error in the index.php file. |
| 875 | - Fixed a bug where getimagesize() was being needlessly checked on |
| 876 | non-image files in is_allowed_type(). |
| 877 | - Fixed a bug in the Encryption library where an empty key was not |
| 878 | triggering an error. |
| 879 | - Fixed a bug in the Email library where CC and BCC recipients were not |
| 880 | reset when using the clear() method (#109). |
| 881 | - Fixed a bug in the URL Helper where prep_url() could cause a PHP |
| 882 | error on PHP versions < 5.1.2. |
| 883 | - Added a log message in core/output if the cache directory config |
| 884 | value was not found. |
| 885 | - Fixed a bug where multiple libraries could not be loaded by passing |
| 886 | an array to load->library() |
| 887 | - Fixed a bug in the html helper where too much white space was |
| 888 | rendered between the src and alt tags in the img() function. |
| 889 | - Fixed a bug in the profilers _compile_queries() function. |
| 890 | - Fixed a bug in the date helper where the DATE_ISO8601 variable was |
| 891 | returning an incorrectly formatted date string. |
| 892 | |
| 893 | Version 1.7.2 |
| 894 | ============= |
| 895 | |
| 896 | Release Date: September 11, 2009 |
| 897 | Hg Tag: v1.7.2 |
| 898 | |
| 899 | - Libraries |
| 900 | |
| 901 | - Added a new :doc:`Cart Class <libraries/cart>`. |
| 902 | - Added the ability to pass $config['file_name'] for the :doc:`File |
| 903 | Uploading Class <libraries/file_uploading>` and rename the |
| 904 | uploaded file. |
| 905 | - Changed order of listed user-agents so Safari would more |
| 906 | accurately report itself. (#6844) |
| 907 | |
| 908 | - Database |
| 909 | |
| 910 | - Switched from using gettype() in escape() to is\_* methods, since |
| 911 | future PHP versions might change its output. |
| 912 | - Updated all database drivers to handle arrays in escape_str() |
| 913 | - Added escape_like_str() method for escaping strings to be used |
| 914 | in LIKE conditions |
| 915 | - Updated Active Record to utilize the new LIKE escaping mechanism. |
| 916 | - Added reconnect() method to DB drivers to try to keep alive / |
| 917 | reestablish a connection after a long idle. |
| 918 | - Modified MSSQL driver to use mssql_get_last_message() for error |
| 919 | messages. |
| 920 | |
| 921 | - Helpers |
| 922 | |
| 923 | - Added form_multiselect() to the :doc:`Form |
| 924 | helper <helpers/form_helper>`. |
| 925 | - Modified form_hidden() in the :doc:`Form |
| 926 | helper <helpers/form_helper>` to accept multi-dimensional |
| 927 | arrays. |
| 928 | - Modified form_prep() in the :doc:`Form |
| 929 | helper <helpers/form_helper>` to keep track of prepped |
| 930 | fields to avoid multiple prep/mutation from subsequent calls which |
| 931 | can occur when using Form Validation and form helper functions to |
| 932 | output form fields. |
| 933 | - Modified directory_map() in the :doc:`Directory |
| 934 | helper <helpers/directory_helper>` to allow the inclusion of |
| 935 | hidden files, and to return FALSE on failure to read directory. |
| 936 | - Modified the :doc:`Smiley helper <helpers/smiley_helper>` to work |
| 937 | with multiple fields and insert the smiley at the last known |
| 938 | cursor position. |
| 939 | |
| 940 | - General |
| 941 | |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 942 | - Compatible with PHP 5.3.0. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 943 | - Modified :doc:`show_error() <general/errors>` to allow sending |
| 944 | of HTTP server response codes. |
| 945 | - Modified :doc:`show_404() <general/errors>` to send 404 status |
| 946 | code, removing non-CGI compatible header() statement from |
| 947 | error_404.php template. |
| 948 | - Added set_status_header() to the :doc:`Common |
| 949 | functions <general/common_functions>` to allow use when the |
| 950 | Output class is unavailable. |
| 951 | - Added is_php() to :doc:`Common |
| 952 | functions <general/common_functions>` to facilitate PHP |
| 953 | version comparisons. |
| 954 | - Added 2 CodeIgniter "cheatsheets" (thanks to DesignFellow.com for |
| 955 | this contribution). |
| 956 | |
| 957 | Bug fixes for 1.7.2 |
| 958 | ------------------- |
| 959 | |
| 960 | - Fixed assorted user guide typos or examples (#6743, #7214, #7516, |
| 961 | #7287, #7852, #8224, #8324, #8349). |
| 962 | - Fixed a bug in the Form Validation library where multiple callbacks |
| 963 | weren't working (#6110) |
| 964 | - doctype helper default value was missing a "1". |
| 965 | - Fixed a bug in the language class when outputting an error for an |
| 966 | unfound file. |
| 967 | - Fixed a bug in the Calendar library where the shortname was output |
| 968 | for "May". |
| 969 | - Fixed a bug with ORIG_PATH_INFO that was allowing URIs of just a |
| 970 | slash through. |
| 971 | - Fixed a fatal error in the Oracle and ODBC drivers (#6752) |
| 972 | - Fixed a bug where xml_from_result() was checking for a nonexistent |
| 973 | method. |
| 974 | - Fixed a bug where Database Forge's add_column and modify_column |
| 975 | were not looping through when sent multiple fields. |
| 976 | - Fixed a bug where the File Helper was using '/' instead of the |
| 977 | DIRECTORY_SEPARATOR constant. |
| 978 | - Fixed a bug to prevent PHP errors when attempting to use sendmail on |
| 979 | servers that have manually disabled the PHP popen() function. |
| 980 | - Fixed a bug that would cause PHP errors in XML-RPC data if the PHP |
| 981 | data type did not match the specified XML-RPC type. |
| 982 | - Fixed a bug in the XML-RPC class with parsing dateTime.iso8601 data |
| 983 | types. |
| 984 | - Fixed a case sensitive string replacement in xss_clean() |
| 985 | - Fixed a bug in form_textarea() where form data was not prepped |
| 986 | correctly. |
| 987 | - Fixed a bug in form_prep() causing it to not preserve entities in |
| 988 | the user's original input when called back into a form element |
| 989 | - Fixed a bug in _protect_identifiers() where the swap prefix |
| 990 | ($swap_pre) was not being observed. |
| 991 | - Fixed a bug where the 400 status header sent with the 'disallowed URI |
| 992 | characters' was not compatible with CGI environments. |
| 993 | - Fixed a bug in the typography class where heading tags could have |
| 994 | paragraph tags inserted when using auto_typography(). |
| 995 | |
| 996 | Version 1.7.1 |
| 997 | ============= |
| 998 | |
| 999 | Release Date: February 10, 2009 |
| 1000 | Hg Tag: 1.7.1 |
| 1001 | |
| 1002 | - Libraries |
| 1003 | |
| 1004 | - Fixed an arbitrary script execution security flaw (#6068) in the |
| 1005 | Form Validation library (thanks to hkk) |
| 1006 | - Changed default current page indicator in the Pagination library |
| 1007 | to use <strong> instead of <b> |
| 1008 | - A "HTTP/1.1 400 Bad Request" header is now sent when disallowed |
| 1009 | characters are encountered. |
| 1010 | - Added <big>, <small>, <q>, and <tt> to the Typography parser's |
| 1011 | inline elements. |
| 1012 | - Added more accurate error reporting for the Email library when |
| 1013 | using sendmail. |
| 1014 | - Removed a strict type check from the rotate() function of the |
| 1015 | :doc:`Image Manipulation Class <libraries/image_lib>`. |
| 1016 | - Added enhanced error checking in file saving in the Image library |
| 1017 | when using the GD lib. |
| 1018 | - Added an additional newline between multipart email headers and |
| 1019 | the MIME message text for better compatibility with a variety of |
| 1020 | MUAs. |
| 1021 | - Made modest improvements to efficiency and accuracy of |
| 1022 | explode_name() in the Image lib. |
| 1023 | |
| 1024 | - Database |
| 1025 | |
| 1026 | - Added where_in to the list of expected arguments received by |
| 1027 | delete(). |
| 1028 | |
| 1029 | - Helpers |
| 1030 | |
| 1031 | - Added the ability to have optgroups in form_dropdown() within the |
| 1032 | :doc:`form helper <helpers/form_helper>`. |
| 1033 | - Added a doctype() function to the :doc:`HTML |
| 1034 | helper <helpers/html_helper>`. |
| 1035 | - Added ability to force lowercase for url_title() in the :doc:`URL |
| 1036 | helper <helpers/url_helper>`. |
| 1037 | - Changed the default "type" of form_button() to "button" from |
| 1038 | "submit" in the :doc:`form helper <helpers/form_helper>`. |
| 1039 | - Changed redirect() in the URL helper to allow redirections to URLs |
| 1040 | outside of the CI site. |
| 1041 | - Updated get_cookie() to try to fetch the cookie using the global |
| 1042 | cookie prefix if the requested cookie name doesn't exist. |
| 1043 | |
| 1044 | - Other Changes |
| 1045 | |
| 1046 | - Improved security in xss_clean() to help prevent attacks |
| 1047 | targeting Internet Explorer. |
| 1048 | - Added 'application/msexcel' to config/mimes.php for .xls files. |
| 1049 | - Added 'proxy_ips' config item to whitelist reverse proxy servers |
| 1050 | from which to trust the HTTP_X_FORWARDED_FOR header to to |
| 1051 | determine the visitor's IP address. |
| 1052 | - Improved accuracy of Upload::is_allowed_filetype() for images |
| 1053 | (#6715) |
| 1054 | |
| 1055 | Bug fixes for 1.7.1 |
| 1056 | ------------------- |
| 1057 | |
| 1058 | - Database |
| 1059 | |
| 1060 | - Fixed a bug when doing 'random' on order_by() (#5706). |
| 1061 | - Fixed a bug where adding a primary key through Forge could fail |
| 1062 | (#5731). |
| 1063 | - Fixed a bug when using DB cache on multiple databases (#5737). |
| 1064 | - Fixed a bug where TRUNCATE was not considered a "write" query |
| 1065 | (#6619). |
| 1066 | - Fixed a bug where csv_from_result() was checking for a |
| 1067 | nonexistent method. |
| 1068 | - Fixed a bug _protect_identifiers() where it was improperly |
| 1069 | removing all pipe symbols from items |
| 1070 | |
| 1071 | - Fixed assorted user guide typos or examples (#5998, #6093, #6259, |
| 1072 | #6339, #6432, #6521). |
| 1073 | - Fixed a bug in the MySQLi driver when no port is specified |
| 1074 | - Fixed a bug (#5702), in which the field label was not being fetched |
| 1075 | properly, when "matching" one field to another. |
| 1076 | - Fixed a bug in which identifers were not being escaped properly when |
| 1077 | reserved characters were used. |
| 1078 | - Fixed a bug with the regular expression used to protect submitted |
| 1079 | paragraph tags in auto typography. |
| 1080 | - Fixed a bug where double dashes within tag attributes were being |
| 1081 | converted to em dash entities. |
| 1082 | - Fixed a bug where double spaces within tag attributes were being |
| 1083 | converted to non-breaking space entities. |
| 1084 | - Fixed some accuracy issues with curly quotes in |
| 1085 | Typography::format_characters() |
| 1086 | - Changed a few docblock comments to reflect actual return values. |
| 1087 | - Fixed a bug with high ascii characters in subject and from email |
| 1088 | headers. |
| 1089 | - Fixed a bug in xss_clean() where whitespace following a validated |
| 1090 | character entity would not be preserved. |
| 1091 | - Fixed a bug where HTML comments and <pre> tags were being parsed in |
| 1092 | Typography::auto_typography(). |
| 1093 | - Fixed a bug with non-breaking space cleanup in |
| 1094 | Typography::auto_typography(). |
| 1095 | - Fixed a bug in database escaping where a compound statement (ie: |
| 1096 | SUM()) wasn't handled correctly with database prefixes. |
| 1097 | - Fixed a bug when an opening quote is preceded by a paragraph tag and |
| 1098 | immediately followed by another tag. |
| 1099 | - Fixed a bug in the Text Helper affecting some locales where |
| 1100 | word_censor() would not work on words beginning or ending with an |
| 1101 | accented character. |
| 1102 | - Fixed a bug in the Text Helper character limiter where the provided |
| 1103 | limit intersects the last word of the string. |
| 1104 | - Fixed a bug (#6342) with plural() in the Inflection helper with words |
| 1105 | ending in "y". |
| 1106 | - Fixed bug (#6517) where Routed URI segments returned by |
| 1107 | URI::rsegment() method were incorrect for the default controller. |
| 1108 | - Fixed a bug (#6706) in the Security Helper where xss_clean() was |
| 1109 | using a deprecated second argument. |
| 1110 | - Fixed a bug in the URL helper url_title() function where trailing |
| 1111 | periods were allowed at the end of a URL. |
| 1112 | - Fixed a bug (#6669) in the Email class when CRLF's are used for the |
| 1113 | newline character with headers when used with the "mail" protocol. |
| 1114 | - Fixed a bug (#6500) where URI::A_filter_uri() was exit()ing an |
| 1115 | error instead of using show_error(). |
| 1116 | - Fixed a bug (#6592) in the File Helper where get_dir_file_info() |
| 1117 | where recursion was not occurring properly. |
| 1118 | - Tweaked Typography::auto_typography() for some edge-cases. |
| 1119 | |
| 1120 | Version 1.7 |
| 1121 | =========== |
| 1122 | |
| 1123 | Release Date: October 23, 2008 |
| 1124 | Hg Tag: 1.7.0 |
| 1125 | |
| 1126 | - Libraries |
| 1127 | |
| 1128 | - Added a new :doc:`Form Validation |
| 1129 | Class <libraries/form_validation>`. It simplifies setting |
| 1130 | rules and field names, supports arrays as field names, allows |
| 1131 | groups of validation rules to be saved in a config file, and adds |
| 1132 | some helper functions for use in view files. **Please note that |
| 1133 | the old Validation class is now deprecated**. We will leave it in |
| 1134 | the library folder for some time so that existing applications |
| 1135 | that use it will not break, but you are encouraged to migrate to |
| 1136 | the new version. |
| 1137 | - Updated the :doc:`Sessions class <libraries/sessions>` so that |
| 1138 | any custom data being saved gets stored to a database rather than |
| 1139 | the session cookie (assuming you are using a database to store |
| 1140 | session data), permitting much more data to be saved. |
| 1141 | - Added the ability to store libraries in subdirectories within |
| 1142 | either the main "libraries" or the local application "libraries" |
| 1143 | folder. Please see the :doc:`Loader class <libraries/loader>` for |
| 1144 | more info. |
| 1145 | - Added the ability to assign library objects to your own variable |
| 1146 | names when you use $this->load->library(). Please see the :doc:`Loader |
| 1147 | class <libraries/loader>` for more info. |
| 1148 | - Added controller class/method info to :doc:`Profiler |
| 1149 | class <general/profiling>` and support for multiple database |
| 1150 | connections. |
| 1151 | - Improved the "auto typography" feature and moved it out of the |
| 1152 | helper into its own :doc:`Typography |
| 1153 | Class <libraries/typography>`. |
| 1154 | - Improved performance and accuracy of xss_clean(), including |
| 1155 | reduction of false positives on image/file tests. |
| 1156 | - Improved :doc:`Parser class <./libraries/parser>` to allow |
| 1157 | multiple calls to the parse() function. The output of each is |
| 1158 | appended in the output. |
| 1159 | - Added max_filename option to set a file name length limit in the |
| 1160 | :doc:`File Upload Class <libraries/file_uploading>`. |
| 1161 | - Added set_status_header() function to :doc:`Output |
| 1162 | class <libraries/output>`. |
| 1163 | - Modified :doc:`Pagination <libraries/pagination>` class to only |
| 1164 | output the "First" link when the link for page one would not be |
| 1165 | shown. |
| 1166 | - Added support for mb_strlen in the :doc:`Form |
| 1167 | Validation <libraries/form_validation>` class so that |
| 1168 | multi-byte languages will calculate string lengths properly. |
| 1169 | |
| 1170 | - Database |
| 1171 | |
| 1172 | - Improved Active Record class to allow full path column and table |
| 1173 | names: hostname.database.table.column. Also improved the alias |
| 1174 | handling. |
| 1175 | - Improved how table and column names are escaped and prefixed. It |
| 1176 | now honors full path names when adding prefixes and escaping. |
| 1177 | - Added Active Record caching feature to "update" and "delete" |
| 1178 | functions. |
| 1179 | - Added removal of non-printing control characters in escape_str() |
| 1180 | of DB drivers that do not have native PHP escaping mechanisms |
| 1181 | (mssql, oci8, odbc), to avoid potential SQL errors, and possible |
| 1182 | sources of SQL injection. |
| 1183 | - Added port support to MySQL, MySQLi, and MS SQL database drivers. |
| 1184 | - Added driver name variable in each DB driver, based on bug report |
| 1185 | #4436. |
| 1186 | |
| 1187 | - Helpers |
| 1188 | |
| 1189 | - Added several new "setting" functions to the :doc:`Form |
| 1190 | helper <helpers/form_helper>` that allow POST data to be |
| 1191 | retrieved and set into forms. These are intended to be used on |
| 1192 | their own, or with the new :doc:`Form Validation |
| 1193 | Class <libraries/form_validation>`. |
| 1194 | - Added current_url() and uri_segments() to :doc:`URL |
| 1195 | helper <helpers/url_helper>`. |
| 1196 | - Altered auto_link() in the :doc:`URL |
| 1197 | helper <helpers/url_helper>` so that email addresses with |
| 1198 | "+" included will be linked. |
| 1199 | - Added meta() function to :doc:`HTML |
| 1200 | helper <helpers/html_helper>`. |
| 1201 | - Improved accuracy of calculations in :doc:`Number |
| 1202 | helper <helpers/number_helper>`. |
| 1203 | - Removed added newlines ("\\n") from most form and html helper |
| 1204 | functions. |
| 1205 | - Tightened up validation in the :doc:`Date |
| 1206 | helper <helpers/date_helper>` function human_to_unix(), |
| 1207 | and eliminated the POSIX regex. |
| 1208 | - Updated :doc:`Date helper <helpers/date_helper>` to match the |
| 1209 | world's current time zones and offsets. |
| 1210 | - Modified url_title() in the :doc:`URL |
| 1211 | helper <helpers/url_helper>` to remove characters and digits |
| 1212 | that are part of character entities, to allow dashes, underscores, |
| 1213 | and periods regardless of the $separator, and to allow uppercase |
| 1214 | characters. |
| 1215 | - Added support for arbitrary attributes in anchor_popup() of the |
| 1216 | :doc:`URL helper <helpers/url_helper>`. |
| 1217 | |
| 1218 | - Other Changes |
| 1219 | |
| 1220 | - Added :doc:`PHP Style Guide <./general/styleguide>` to docs. |
| 1221 | - Added sanitization in xss_clean() for a deprecated HTML tag that |
| 1222 | could be abused in user input in Internet Explorer. |
| 1223 | - Added a few openxml document mime types, and an additional mobile |
| 1224 | agent to mimes.php and user_agents.php respectively. |
| 1225 | - Added a file lock check during caching, before trying to write to |
| 1226 | the file. |
| 1227 | - Modified Cookie key cleaning to unset a few troublesome key names |
| 1228 | that can be present in certain environments, preventing CI from |
| 1229 | halting execution. |
| 1230 | - Changed the output of the profiler to use style attribute rather |
| 1231 | than clear, and added the id "codeigniter_profiler" to the |
| 1232 | container div. |
| 1233 | |
| 1234 | Bug fixes for 1.7.0 |
| 1235 | ------------------- |
| 1236 | |
| 1237 | - Fixed bug in xss_clean() that could remove some desirable tag |
| 1238 | attributes. |
| 1239 | - Fixed assorted user guide typos or examples (#4807, #4812, #4840, |
| 1240 | #4862, #4864, #4899, #4930, #5006, #5071, #5158, #5229, #5254, |
| 1241 | #5351). |
| 1242 | - Fixed an edit from 1.6.3 that made the $robots array in |
| 1243 | user_agents.php go poof. |
| 1244 | - Fixed a bug in the :doc:`Email library <libraries/email>` with |
| 1245 | quoted-printable encoding improperly encoding space and tab |
| 1246 | characters. |
| 1247 | - Modified XSS sanitization to no longer add semicolons after &[single |
| 1248 | letter], such as in M&M's, B&B, etc. |
| 1249 | - Modified XSS sanitization to no longer strip XHTML image tags of |
| 1250 | closing slashes. |
| 1251 | - Fixed a bug in the Session class when database sessions are used |
| 1252 | where upon session update all userdata would be errantly written to |
| 1253 | the session cookie. |
| 1254 | - Fixed a bug (#4536) in backups with the MySQL driver where some |
| 1255 | legacy code was causing certain characters to be double escaped. |
| 1256 | - Fixed a routing bug (#4661) that occurred when the default route |
| 1257 | pointed to a subfolder. |
| 1258 | - Fixed the spelling of "Dhaka" in the timezone_menu() function of the |
| 1259 | :doc:`Date helper. <helpers/date_helper>` |
| 1260 | - Fixed the spelling of "raspberry" in config/smileys.php. |
| 1261 | - Fixed incorrect parenthesis in form_open() function (#5135). |
| 1262 | - Fixed a bug that was ignoring case when comparing controller methods |
| 1263 | (#4560). |
| 1264 | - Fixed a bug (#4615) that was not setting SMTP authorization settings |
| 1265 | when using the initialize function. |
| 1266 | - Fixed a bug in highlight_code() in the :doc:`Text |
| 1267 | helper <helpers/text_helper>` that would leave a stray </span> |
| 1268 | in certain cases. |
| 1269 | - Fixed Oracle bug (#3306) that was preventing multiple queries in one |
| 1270 | action. |
| 1271 | - Fixed ODBC bug that was ignoring connection params due to its use of |
| 1272 | a constructor. |
| 1273 | - Fixed a DB driver bug with num_rows() that would cause an error with |
| 1274 | the Oracle driver. |
| 1275 | - Fixed MS SQL bug (#4915). Added brackets around database name in MS |
| 1276 | SQL driver when selecting the database, in the event that reserved |
| 1277 | characters are used in the name. |
| 1278 | - Fixed a DB caching bug (4718) in which the path was incorrect when no |
| 1279 | URI segments were present. |
| 1280 | - Fixed Image_lib class bug #4562. A path was not defined for NetPBM. |
| 1281 | - Fixed Image_lib class bug #4532. When cropping an image with |
| 1282 | identical height/width settings on output, a copy is made. |
| 1283 | - Fixed DB_driver bug (4900), in which a database error was not being |
| 1284 | logged correctly. |
| 1285 | - Fixed DB backup bug in which field names were not being escaped. |
| 1286 | - Fixed a DB Active Record caching bug in which multiple calls to |
| 1287 | cached data were not being honored. |
| 1288 | - Fixed a bug in the Session class that was disallowing slashes in the |
| 1289 | serialized array. |
| 1290 | - Fixed a Form Validation bug in which the "isset" error message was |
| 1291 | being trigged by the "required" rule. |
| 1292 | - Fixed a spelling error in a Loader error message. |
| 1293 | - Fixed a bug (5050) with IP validation with empty segments. |
| 1294 | - Fixed a bug in which the parser was being greedy if multiple |
| 1295 | identical sets of tags were encountered. |
| 1296 | |
| 1297 | Version 1.6.3 |
| 1298 | ============= |
| 1299 | |
| 1300 | Release Date: June 26, 2008 |
| 1301 | Hg Tag: v1.6.3 |
| 1302 | |
| 1303 | Version 1.6.3 is a security and maintenance release and is recommended |
| 1304 | for all users. |
| 1305 | |
| 1306 | - Database |
| 1307 | |
| 1308 | - Modified MySQL/MySQLi Forge class to give explicit names to keys |
| 1309 | - Added ability to set multiple column non-primary keys to the |
| 1310 | :doc:`Forge class <database/forge>` |
| 1311 | - Added ability to set additional database config values in :doc:`DSN |
| 1312 | connections <database/connecting>` via the query string. |
| 1313 | |
| 1314 | - Libraries |
| 1315 | |
| 1316 | - Set the mime type check in the :doc:`Upload |
| 1317 | class <libraries/file_uploading>` to reference the global |
| 1318 | mimes variable. |
| 1319 | - Added support for query strings to the :doc:`Pagination |
| 1320 | class <libraries/pagination>`, automatically detected or |
| 1321 | explicitly declared. |
| 1322 | - Added get_post() to the :doc:`Input class <libraries/input>`. |
| 1323 | - Documented get() in the :doc:`Input class <libraries/input>`. |
| 1324 | - Added the ability to automatically output language items as form |
| 1325 | labels in the :doc:`Language class <libraries/language>`. |
| 1326 | |
| 1327 | - Helpers |
| 1328 | |
| 1329 | - Added a :doc:`Language helper <helpers/language_helper>`. |
| 1330 | - Added a :doc:`Number helper <helpers/number_helper>`. |
| 1331 | - :doc:`Form helper <helpers/form_helper>` refactored to allow |
| 1332 | form_open() and form_fieldset() to accept arrays or strings as |
| 1333 | arguments. |
| 1334 | |
| 1335 | - Other changes |
| 1336 | |
| 1337 | - Improved security in xss_clean(). |
| 1338 | - Removed an unused Router reference in _display_cache(). |
| 1339 | - Added ability to :doc:`use xss_clean() to test |
| 1340 | images <libraries/input>` for XSS, useful for upload |
| 1341 | security. |
| 1342 | - Considerably expanded list of mobile user-agents in |
| 1343 | config/user_agents.php. |
| 1344 | - Charset information in the userguide has been moved above title |
| 1345 | for internationalization purposes (#4614). |
| 1346 | - Added "Using Associative Arrays In a Request Parameter" example to |
| 1347 | the :doc:`XMLRPC userguide page <libraries/xmlrpc>`. |
| 1348 | - Removed maxlength and size as automatically added attributes of |
| 1349 | form_input() in the :doc:`form helper <helpers/form_helper>`. |
| 1350 | - Documented the language file use of byte_format() in the :doc:`number |
| 1351 | helper <helpers/number_helper>`. |
| 1352 | |
| 1353 | Bug fixes for 1.6.3 |
| 1354 | ------------------- |
| 1355 | |
| 1356 | - Added a language key for valid_emails in validation_lang.php. |
| 1357 | - Amended fixes for bug (#3419) with parsing DSN database connections. |
Andrey Andreev | 968bbbb | 2012-03-26 12:59:05 +0300 | [diff] [blame] | 1358 | - Moved the _has_operator() function (#4535) into DB_driver from |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 1359 | DB_active_rec. |
| 1360 | - Fixed a syntax error in upload_lang.php. |
| 1361 | - Fixed a bug (#4542) with a regular expression in the Image library. |
| 1362 | - Fixed a bug (#4561) where orhaving() wasn't properly passing values. |
| 1363 | - Removed some unused variables from the code (#4563). |
| 1364 | - Fixed a bug where having() was not adding an = into the statement |
| 1365 | (#4568). |
| 1366 | - Fixed assorted user guide typos or examples (#4574, #4706). |
| 1367 | - Added quoted-printable headers to Email class when the multi-part |
| 1368 | override is used. |
| 1369 | - Fixed a double opening <p> tag in the index pages of each system |
| 1370 | directory. |
| 1371 | |
| 1372 | Version 1.6.2 |
| 1373 | ============= |
| 1374 | |
| 1375 | Release Date: May 13, 2008 |
| 1376 | Hg Tag: 1.6.2 |
| 1377 | |
| 1378 | - Active Record |
| 1379 | |
| 1380 | - Added the ability to prevent escaping in having() clauses. |
| 1381 | - Added rename_table() into :doc:`DBForge <./database/forge>`. |
| 1382 | - Fixed a bug that wasn't allowing escaping to be turned off if the |
| 1383 | value of a query was NULL. |
| 1384 | - DB Forge is now assigned to any models that exist after loading |
| 1385 | (#3457). |
| 1386 | |
| 1387 | - Database |
| 1388 | |
| 1389 | - Added :doc:`Strict Mode <./database/transactions>` to database |
| 1390 | transactions. |
| 1391 | - Escape behaviour in where() clauses has changed; values in those |
| 1392 | with the "FALSE" argument are no longer escaped (ie: quoted). |
| 1393 | |
| 1394 | - Config |
| 1395 | |
| 1396 | - Added 'application/vnd.ms-powerpoint' to list of mime types. |
| 1397 | - Added 'audio/mpg' to list of mime types. |
| 1398 | - Added new user-modifiable file constants.php containing file mode |
| 1399 | and fopen constants. |
| 1400 | - Added the ability to set CRLF settings via config in the |
| 1401 | :doc:`Email <libraries/email>` class. |
| 1402 | |
| 1403 | - Libraries |
| 1404 | |
| 1405 | - Added increased security for filename handling in the Upload |
| 1406 | library. |
| 1407 | - Added increased security for sessions for client-side data |
| 1408 | tampering. |
| 1409 | - The MySQLi forge class is now in sync with MySQL forge. |
| 1410 | - Added the ability to set CRLF settings via config in the |
| 1411 | :doc:`Email <libraries/email>` class. |
| 1412 | - :doc:`Unit Testing <libraries/unit_testing>` results are now |
| 1413 | colour coded, and a change was made to the default template of |
| 1414 | results. |
| 1415 | - Added a valid_emails rule to the Validation class. |
| 1416 | - The :doc:`Zip class <libraries/zip>` now exits within download(). |
| 1417 | - The :doc:`Zip class <libraries/zip>` has undergone a substantial |
| 1418 | re-write for speed and clarity (thanks stanleyxu for the hard work |
| 1419 | and code contribution in bug report #3425!) |
| 1420 | |
| 1421 | - Helpers |
| 1422 | |
| 1423 | - Added a Compatibility |
| 1424 | Helper for using some common |
| 1425 | PHP 5 functions safely in applications that might run on PHP 4 |
| 1426 | servers (thanks Seppo for the hard work and code contribution!) |
| 1427 | - Added form_button() in the :doc:`Form |
| 1428 | helper <helpers/form_helper>`. |
| 1429 | - Changed the radio() and checkbox() functions to default to not |
| 1430 | checked by default. |
| 1431 | - Added the ability to include an optional HTTP Response Code in the |
| 1432 | redirect() function of the :doc:`URL |
| 1433 | Helper <helpers/url_helper>`. |
| 1434 | - Modified img() in the :doc:`HTML Helper <helpers/html_helper>` to |
| 1435 | remove an unneeded space (#4208). |
| 1436 | - Modified anchor() in the :doc:`URL helper <helpers/url_helper>` |
| 1437 | to no longer add a default title= attribute (#4209). |
| 1438 | - The :doc:`Download helper <helpers/download_helper>` now exits |
| 1439 | within force_download(). |
| 1440 | - Added get_dir_file_info(), get_file_info(), and |
| 1441 | get_mime_by_extension() to the :doc:`File |
| 1442 | Helper <helpers/file_helper>`. |
| 1443 | - Added symbolic_permissions() and octal_permissions() to the |
| 1444 | :doc:`File helper <helpers/file_helper>`. |
| 1445 | |
| 1446 | - Plugins |
| 1447 | |
| 1448 | - Modified captcha generation to first look for the function |
| 1449 | imagecreatetruecolor, and fallback to imagecreate if it isn't |
| 1450 | available (#4226). |
| 1451 | |
| 1452 | - Other Changes |
| 1453 | |
| 1454 | - Added ability for :doc:`xss_clean() <libraries/input>` to accept |
| 1455 | arrays. |
| 1456 | - Removed closing PHP tags from all PHP files to avoid accidental |
| 1457 | output and potential 'cannot modify headers' errors. |
| 1458 | - Removed "scripts" from the auto-load search path. Scripts were |
| 1459 | deprecated in Version 1.4.1 (September 21, 2006). If you still |
| 1460 | need to use them for legacy reasons, they must now be manually |
| 1461 | loaded in each Controller. |
| 1462 | - Added a :doc:`Reserved Names <general/reserved_names>` page to |
| 1463 | the userguide, and migrated reserved controller names into it. |
| 1464 | - Added a :doc:`Common Functions <general/common_functions>` page |
| 1465 | to the userguide for globally available functions. |
| 1466 | - Improved security and performance of xss_clean(). |
| 1467 | |
| 1468 | Bugfixes for 1.6.2 |
| 1469 | ------------------ |
| 1470 | |
| 1471 | - Fixed a bug where SET queries were not being handled as "write" |
| 1472 | queries. |
| 1473 | - Fixed a bug (#3191) with ORIG_PATH_INFO URI parsing. |
| 1474 | - Fixed a bug in DB Forge, when inserting an id field (#3456). |
| 1475 | - Fixed a bug in the table library that could cause identically |
| 1476 | constructed rows to be dropped (#3459). |
| 1477 | - Fixed DB Driver and MySQLi result driver checking for resources |
| 1478 | instead of objects (#3461). |
| 1479 | - Fixed an AR_caching error where it wasn't tracking table aliases |
| 1480 | (#3463). |
| 1481 | - Fixed a bug in AR compiling, where select statements with arguments |
| 1482 | got incorrectly escaped (#3478). |
| 1483 | - Fixed an incorrect documentation of $this->load->language (#3520). |
| 1484 | - Fixed bugs (#3523, #4350) in get_filenames() with recursion and |
| 1485 | problems with Windows when $include_path is used. |
| 1486 | - Fixed a bug (#4153) in the XML-RPC class preventing dateTime.iso8601 |
| 1487 | from being used. |
| 1488 | - Fixed an AR bug with or_where_not_in() (#4171). |
| 1489 | - Fixed a bug with :doc:`xss_clean() <libraries/input>` that would |
| 1490 | add semicolons to GET URI variable strings. |
| 1491 | - Fixed a bug (#4206) in the Directory Helper where the directory |
| 1492 | resource was not being closed, and minor improvements. |
| 1493 | - Fixed a bug in the FTP library where delete_dir() was not working |
| 1494 | recursively (#4215). |
| 1495 | - Fixed a Validation bug when set_rules() is used with a non-array |
| 1496 | field name and rule (#4220). |
| 1497 | - Fixed a bug (#4223) where DB caching would not work for returned DB |
| 1498 | objects or multiple DB connections. |
| 1499 | - Fixed a bug in the Upload library that might output the same error |
| 1500 | twice (#4390). |
| 1501 | - Fixed an AR bug when joining with a table alias and table prefix |
| 1502 | (#4400). |
| 1503 | - Fixed a bug in the DB class testing the $params argument. |
| 1504 | - Fixed a bug in the Table library where the integer 0 in cell data |
| 1505 | would be displayed as a blank cell. |
| 1506 | - Fixed a bug in link_tag() of the :doc:`URL |
| 1507 | helper <helpers/url_helper>` where a key was passed instead of |
| 1508 | a value. |
| 1509 | - Fixed a bug in DB_result::row() that prevented it from returning |
| 1510 | individual fields with MySQL NULL values. |
| 1511 | - Fixed a bug where SMTP emails were not having dot transformation |
| 1512 | performed on lines that begin with a dot. |
| 1513 | - Fixed a bug in display_error() in the DB driver that was |
| 1514 | instantiating new Language and Exception objects, and not using the |
| 1515 | error heading. |
| 1516 | - Fixed a bug (#4413) where a URI containing slashes only e.g. |
| 1517 | 'http://example.com/index.php?//' would result in PHP errors |
| 1518 | - Fixed an array to string conversion error in the Validation library |
| 1519 | (#4425) |
| 1520 | - Fixed bug (#4451, #4299, #4339) where failed transactions will not |
| 1521 | rollback when debug mode is enabled. |
| 1522 | - Fixed a bug (#4506) with overlay_watermark() in the Image library |
| 1523 | preventing support for PNG-24s with alpha transparency |
| 1524 | - Fixed assorted user guide typos (#3453, #4364, #4379, #4399, #4408, |
| 1525 | #4412, #4448, #4488). |
| 1526 | |
| 1527 | Version 1.6.1 |
| 1528 | ============= |
| 1529 | |
| 1530 | Release Date: February 12, 2008 |
| 1531 | Hg Tag: 1.6.1 |
| 1532 | |
| 1533 | - Active Record |
| 1534 | |
| 1535 | - Added :ref:`Active Record |
| 1536 | Caching <ar-caching>`. |
| 1537 | - Made Active Record fully database-prefix aware. |
| 1538 | |
| 1539 | - Database drivers |
| 1540 | |
| 1541 | - Added support for setting client character set and collation for |
| 1542 | MySQLi. |
| 1543 | |
| 1544 | - Core Changes |
| 1545 | |
| 1546 | - Modified xss_clean() to be more intelligent with its handling of |
| 1547 | URL encoded strings. |
| 1548 | - Added $_SERVER, $_FILES, $_ENV, and $_SESSION to sanitization |
| 1549 | of globals. |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 1550 | - Added a :doc:`Path Helper <./helpers/path_helper>`. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 1551 | - Simplified _reindex_segments() in the URI class. |
| 1552 | - Escaped the '-' in the default 'permitted_uri_chars' config |
| 1553 | item, to prevent errors if developers just try to add additional |
| 1554 | characters to the end of the default expression. |
| 1555 | - Modified method calling to controllers to show a 404 when a |
| 1556 | private or protected method is accessed via a URL. |
| 1557 | - Modified framework initiated 404s to log the controller and method |
| 1558 | for invalid requests. |
| 1559 | |
| 1560 | - Helpers |
| 1561 | |
| 1562 | - Modified get_filenames() in the File Helper to return FALSE if |
| 1563 | the $source_dir is not readable. |
| 1564 | |
| 1565 | Bugfixes for 1.6.1 |
| 1566 | ------------------ |
| 1567 | |
| 1568 | - Deprecated is_numeric as a validation rule. Use of numeric and |
| 1569 | integer are preferred. |
| 1570 | - Fixed bug (#3379) in DBForge with SQLite for table creation. |
| 1571 | - Made Active Record fully database prefix aware (#3384). |
| 1572 | - Fixed a bug where DBForge was outputting invalid SQL in Postgres by |
| 1573 | adding brackets around the tables in FROM. |
| 1574 | - Changed the behaviour of Active Record's update() to make the WHERE |
| 1575 | clause optional (#3395). |
| 1576 | - Fixed a bug (#3396) where certain POST variables would cause a PHP |
| 1577 | warning. |
| 1578 | - Fixed a bug in query binding (#3402). |
| 1579 | - Changed order of SQL keywords in the Profiler $highlight array so OR |
| 1580 | would not be highlighted before ORDER BY. |
| 1581 | - Fixed a bug (#3404) where the MySQLi driver was testing if |
| 1582 | $this->conn_id was a resource instead of an object. |
| 1583 | - Fixed a bug (#3419) connecting to a database via a DSN string. |
| 1584 | - Fixed a bug (#3445) where the routed segment array was not re-indexed |
| 1585 | to begin with 1 when the default controller is used. |
| 1586 | - Fixed assorted user guide typos. |
| 1587 | |
| 1588 | Version 1.6.0 |
| 1589 | ============= |
| 1590 | |
| 1591 | Release Date: January 30, 2008 |
| 1592 | |
| 1593 | - DBForge |
| 1594 | |
| 1595 | - Added :doc:`DBForge <./database/forge>` to the database tools. |
| 1596 | - Moved create_database() and drop_database() into |
| 1597 | :doc:`DBForge <./database/forge>`. |
| 1598 | - Added add_field(), add_key(), create_table(), drop_table(), |
| 1599 | add_column(), drop_column(), modify_column() into |
| 1600 | :doc:`DBForge <./database/forge>`. |
| 1601 | |
| 1602 | - Active Record |
| 1603 | |
| 1604 | - Added protect_identifiers() in :doc:`Active |
| 1605 | Record <./database/active_record>`. |
| 1606 | - All AR queries are backticked if appropriate to the database. |
| 1607 | - Added where_in(), or_where_in(), where_not_in(), |
| 1608 | or_where_not_in(), not_like() and or_not_like() to :doc:`Active |
| 1609 | Record <./database/active_record>`. |
| 1610 | - Added support for limit() into update() and delete() statements in |
| 1611 | :doc:`Active Record <./database/active_record>`. |
| 1612 | - Added empty_table() and truncate_table() to :doc:`Active |
| 1613 | Record <./database/active_record>`. |
| 1614 | - Added the ability to pass an array of tables to the delete() |
| 1615 | statement in :doc:`Active Record <./database/active_record>`. |
| 1616 | - Added count_all_results() function to :doc:`Active |
| 1617 | Record <./database/active_record>`. |
| 1618 | - Added select_max(), select_min(), select_avg() and |
| 1619 | select_sum() to :doc:`Active Record <./database/active_record>`. |
| 1620 | - Added the ability to use aliases with joins in :doc:`Active |
| 1621 | Record <./database/active_record>`. |
| 1622 | - Added a third parameter to Active Record's like() clause to |
| 1623 | control where the wildcard goes. |
| 1624 | - Added a third parameter to set() in :doc:`Active |
| 1625 | Record <./database/active_record>` that withholds escaping |
| 1626 | data. |
| 1627 | - Changed the behaviour of variables submitted to the where() clause |
| 1628 | with no values to auto set "IS NULL" |
| 1629 | |
| 1630 | - Other Database Related |
| 1631 | |
| 1632 | - MySQL driver now requires MySQL 4.1+ |
| 1633 | - Added $this->DB->save_queries variable to DB driver, enabling |
| 1634 | queries to get saved or not. Previously they were always saved. |
| 1635 | - Added $this->db->dbprefix() to manually add database prefixes. |
| 1636 | - Added 'random' as an order_by() option , and removed "rand()" as |
| 1637 | a listed option as it was MySQL only. |
| 1638 | - Added a check for NULL fields in the MySQL database backup |
| 1639 | utility. |
| 1640 | - Added "constrain_by_prefix" parameter to db->list_table() |
| 1641 | function. If set to TRUE it will limit the result to only table |
| 1642 | names with the current prefix. |
| 1643 | - Deprecated from Active Record; getwhere() for get_where(); |
| 1644 | groupby() for group_by(); havingor() for having_or(); orderby() |
| 1645 | for order_by; orwhere() for or_where(); and orlike() for |
| 1646 | or_like(). |
| 1647 | - Modified csv_from_result() to output CSV data more in the spirit |
| 1648 | of basic rules of RFC 4180. |
| 1649 | - Added 'char_set' and 'dbcollat' database configuration settings, |
| 1650 | to explicitly set the client communication properly. |
| 1651 | - Removed 'active_r' configuration setting and replaced with a |
| 1652 | global $active_record setting, which is more in harmony with the |
| 1653 | global nature of the behavior (#1834). |
| 1654 | |
| 1655 | - Core changes |
| 1656 | |
| 1657 | - Added ability to load multiple views, whose content will be |
| 1658 | appended to the output in the order loaded. |
| 1659 | - Added the ability to :doc:`auto-load <./general/autoloader>` |
| 1660 | :doc:`Models <./general/models>`. |
| 1661 | - Reorganized the URI and Routes classes for better clarity. |
| 1662 | - Added Compat.php to allow function overrides for older versions of |
| 1663 | PHP or PHP environments missing certain extensions / libraries |
| 1664 | - Added memory usage, GET, URI string data, and individual query |
| 1665 | execution time to Profiler output. |
| 1666 | - Deprecated Scaffolding. |
| 1667 | - Added is_really_writable() to Common.php to provide a |
| 1668 | cross-platform reliable method of testing file/folder writability. |
| 1669 | |
| 1670 | - Libraries |
| 1671 | |
| 1672 | - Changed the load protocol of Models to allow for extension. |
| 1673 | - Strengthened the Encryption library to help protect against man in |
| 1674 | the middle attacks when MCRYPT_MODE_CBC mode is used. |
| 1675 | - Added Flashdata variables, session_id regeneration and |
| 1676 | configurable session update times to the :doc:`Session |
| 1677 | class. <./libraries/sessions>` |
| 1678 | - Removed 'last_visit' from the Session class. |
| 1679 | - Added a language entry for valid_ip validation error. |
| 1680 | - Modified prep_for_form() in the Validation class to accept |
| 1681 | arrays, adding support for POST array validation (via callbacks |
| 1682 | only) |
| 1683 | - Added an "integer" rule into the Validation library. |
| 1684 | - Added valid_base64() to the Validation library. |
| 1685 | - Documented clear() in the :doc:`Image |
| 1686 | Processing <../libraries/image_lib>` library. |
| 1687 | - Changed the behaviour of custom callbacks so that they no longer |
| 1688 | trigger the "required" rule. |
| 1689 | - Modified Upload class $_FILES error messages to be more precise. |
| 1690 | - Moved the safe mode and auth checks for the Email library into the |
| 1691 | constructor. |
| 1692 | - Modified variable names in _ci_load() method of Loader class to |
| 1693 | avoid conflicts with view variables. |
| 1694 | - Added a few additional mime type variations for CSV. |
| 1695 | - Enabled the 'system' methods for the XML-RPC Server library, |
| 1696 | except for 'system.multicall' which is still disabled. |
| 1697 | |
| 1698 | - Helpers & Plugins |
| 1699 | |
| 1700 | - Added link_tag() to the :doc:`HTML |
| 1701 | helper. <./helpers/html_helper>` |
| 1702 | - Added img() to the :doc:`HTML helper. <./helpers/html_helper>` |
| 1703 | - Added ability to :doc:`"extend" Helpers <./general/helpers>`. |
| 1704 | - Added an :doc:`email helper <./helpers/email_helper>` into core |
| 1705 | helpers. |
| 1706 | - Added strip_quotes() function to :doc:`string |
| 1707 | helper <./helpers/string_helper>`. |
| 1708 | - Added reduce_multiples() function to :doc:`string |
| 1709 | helper <./helpers/string_helper>`. |
| 1710 | - Added quotes_to_entities() function to :doc:`string |
| 1711 | helper <./helpers/string_helper>`. |
| 1712 | - Added form_fieldset(), form_fieldset_close(), form_label(), |
| 1713 | and form_reset() function to :doc:`form |
| 1714 | helper <./helpers/form_helper>`. |
| 1715 | - Added support for external urls in form_open(). |
| 1716 | - Removed support for db_backup in MySQLi due to incompatible |
| 1717 | functions. |
| 1718 | - Javascript Calendar plugin now uses the months and days from the |
| 1719 | calendar language file, instead of hard-coded values, |
| 1720 | internationalizing it. |
| 1721 | |
| 1722 | - Documentation Changes |
| 1723 | |
| 1724 | - Added Writing Documentation section |
| 1725 | for the community to use in writing their own documentation. |
| 1726 | - Added titles to all user manual pages. |
| 1727 | - Added attributes into <html> of userguide for valid html. |
| 1728 | - Added `Zip Encoding |
| 1729 | Class <http://codeigniter.com/user_guide/libraries/zip>`_ to |
| 1730 | the table of contents of the userguide. |
| 1731 | - Moved part of the userguide menu javascript to an external file. |
| 1732 | - Documented distinct() in :doc:`Active |
| 1733 | Record <./database/active_record>`. |
| 1734 | - Documented the timezones() function in the :doc:`Date |
| 1735 | Helper <./helpers/date_helper>`. |
| 1736 | - Documented unset_userdata in the :doc:`Session |
| 1737 | class <./libraries/sessions>`. |
| 1738 | - Documented 2 config options to the :doc:`Database |
| 1739 | configuration <./database/configuration>` page. |
| 1740 | |
| 1741 | Bug fixes for Version 1.6.0 |
| 1742 | --------------------------- |
| 1743 | |
| 1744 | - Fixed a bug (#1813) preventing using $CI->db in the same application |
| 1745 | with returned database objects. |
| 1746 | - Fixed a bug (#1842) where the $this->uri->rsegments array would not |
| 1747 | include the 'index' method if routed to the controller without an |
| 1748 | implicit method. |
| 1749 | - Fixed a bug (#1872) where word_limiter() was not retaining |
| 1750 | whitespace. |
| 1751 | - Fixed a bug (#1890) in csv_from_result() where content that |
| 1752 | included the delimiter would break the file. |
| 1753 | - Fixed a bug (#2542)in the clean_email() method of the Email class to |
| 1754 | allow for non-numeric / non-sequential array keys. |
| 1755 | - Fixed a bug (#2545) in _html_entity_decode_callback() when |
| 1756 | 'global_xss_filtering' is enabled. |
| 1757 | - Fixed a bug (#2668) in the :doc:`parser class <./libraries/parser>` |
| 1758 | where numeric data was ignored. |
| 1759 | - Fixed a bug (#2679) where the "previous" pagination link would get |
| 1760 | drawn on the first page. |
| 1761 | - Fixed a bug (#2702) in _object_to_array that broke some types of |
| 1762 | inserts and updates. |
| 1763 | - Fixed a bug (#2732) in the SQLite driver for PHP 4. |
| 1764 | - Fixed a bug (#2754) in Pagination to scan for non-positive |
| 1765 | num_links. |
| 1766 | - Fixed a bug (#2762) in the :doc:`Session |
| 1767 | library <./libraries/sessions>` where user agent matching would |
| 1768 | fail on user agents ending with a space. |
| 1769 | - Fixed a bug (#2784) $field_names[] vs $Ffield_names[] in postgres |
| 1770 | and sqlite drivers. |
| 1771 | - Fixed a bug (#2810) in the typography helper causing extraneous |
| 1772 | paragraph tags when string contains tags. |
| 1773 | - Fixed a bug (#2849) where arguments passed to a subfolder controller |
| 1774 | method would be incorrectly shifted, dropping the 3rd segment value. |
| 1775 | - Fixed a bug (#2858) which referenced a wrong variable in the Image |
| 1776 | class. |
| 1777 | - Fixed a bug (#2875)when loading plugin files as _plugin. and not |
| 1778 | _pi. |
| 1779 | - Fixed a bug (#2912) in get_filenames() in the :doc:`File |
| 1780 | Helper <helpers/file_helper>` where the array wasn't cleared |
| 1781 | after each call. |
| 1782 | - Fixed a bug (#2974) in highlight_phrase() that caused an error with |
| 1783 | slashes. |
| 1784 | - Fixed a bug (#3003) in the Encryption Library to support modes other |
| 1785 | than MCRYPT_MODE_ECB |
| 1786 | - Fixed a bug (#3015) in the :doc:`User Agent |
| 1787 | library <./libraries/user_agent>` where more then 2 languages |
| 1788 | where not reported with languages(). |
| 1789 | - Fixed a bug (#3017) in the :doc:`Email <./libraries/email>` library |
| 1790 | where some timezones were calculated incorrectly. |
| 1791 | - Fixed a bug (#3024) in which master_dim wasn't getting reset by |
| 1792 | clear() in the Image library. |
| 1793 | - Fixed a bug (#3156) in Text Helper highlight_code() causing PHP tags |
| 1794 | to be handled incorrectly. |
| 1795 | - Fixed a bug (#3166) that prevented num_rows from working in Oracle. |
| 1796 | - Fixed a bug (#3175) preventing certain libraries from working |
| 1797 | properly when autoloaded in PHP 4. |
| 1798 | - Fixed a bug (#3267) in the Typography Helper where unordered list was |
| 1799 | listed "un. |
| 1800 | - Fixed a bug (#3268) where the Router could leave '/' as the path. |
| 1801 | - Fixed a bug (#3279) where the Email class was sending the wrong |
| 1802 | Content-Transfer-Encoding for some character sets. |
| 1803 | - Fixed a bug (#3284) where the rsegment array would not be set |
| 1804 | properly if the requested URI contained more segments than the routed |
| 1805 | URI. |
| 1806 | - Removed extraneous load of $CFG in _display_cache() of the Output |
| 1807 | class (#3285). |
| 1808 | - Removed an extraneous call to loading models (#3286). |
| 1809 | - Fixed a bug (#3310) with sanitization of globals in the Input class |
| 1810 | that could unset CI's global variables. |
| 1811 | - Fixed a bug (#3314) which would cause the top level path to be |
| 1812 | deleted in delete_files() of the File helper. |
| 1813 | - Fixed a bug (#3328) where the smiley helper might return an undefined |
| 1814 | variable. |
| 1815 | - Fixed a bug (#3330) in the FTP class where a comparison wasn't |
| 1816 | getting made. |
| 1817 | - Removed an unused parameter from Profiler (#3332). |
| 1818 | - Fixed a bug in database driver where num_rows property wasn't |
| 1819 | getting updated. |
| 1820 | - Fixed a bug in the :doc:`upload |
| 1821 | library <./libraries/file_uploading>` when allowed_files |
| 1822 | wasn't defined. |
| 1823 | - Fixed a bug in word_wrap() of the Text Helper that incorrectly |
| 1824 | referenced an object. |
| 1825 | - Fixed a bug in Validation where valid_ip() wasn't called properly. |
| 1826 | - Fixed a bug in Validation where individual error messages for |
| 1827 | checkboxes wasn't supported. |
| 1828 | - Fixed a bug in captcha calling an invalid PHP function. |
| 1829 | - Fixed a bug in the cookie helper "set_cookie" function. It was not |
| 1830 | honoring the config settings. |
| 1831 | - Fixed a bug that was making validation callbacks required even when |
| 1832 | not set as such. |
| 1833 | - Fixed a bug in the XML-RPC library so if a type is specified, a more |
| 1834 | intelligent decision is made as to the default type. |
| 1835 | - Fixed an example of comma-separated emails in the email library |
| 1836 | documentation. |
| 1837 | - Fixed an example in the Calendar library for Showing Next/Previous |
| 1838 | Month Links. |
| 1839 | - Fixed a typo in the database language file. |
| 1840 | - Fixed a typo in the image language file "suppor" to "support". |
| 1841 | - Fixed an example for XML RPC. |
| 1842 | - Fixed an example of accept_charset() in the :doc:`User Agent |
| 1843 | Library <./libraries/user_agent>`. |
| 1844 | - Fixed a typo in the docblock comments that had CodeIgniter spelled |
| 1845 | CodeIgnitor. |
| 1846 | - Fixed a typo in the :doc:`String Helper <./helpers/string_helper>` |
| 1847 | (uniquid changed to uniqid). |
| 1848 | - Fixed typos in the email Language class |
| 1849 | (email_attachment_unredable, email_filed_smtp_login), and FTP |
| 1850 | Class (ftp_unable_to_remame). |
| 1851 | - Added a stripslashes() into the Upload Library. |
| 1852 | - Fixed a series of grammatical and spelling errors in the language |
| 1853 | files. |
| 1854 | - Fixed assorted user guide typos. |
| 1855 | |
| 1856 | Version 1.5.4 |
| 1857 | ============= |
| 1858 | |
| 1859 | Release Date: July 12, 2007 |
| 1860 | |
| 1861 | - Added :doc:`custom Language files <./libraries/language>` to the |
| 1862 | :doc:`autoload <./general/autoloader>` options. |
| 1863 | - Added stripslashes() to the _clean_input_data() function in the |
| 1864 | :doc:`Input class <./libraries/input>` when magic quotes is on so |
| 1865 | that data will always be un-slashed within the framework. |
| 1866 | - Added array to string into the :doc:`profiler <general/profiling>`. |
| 1867 | - Added some additional mime types in application/config/mimes.php. |
| 1868 | - Added filename_security() method to :doc:`Input |
| 1869 | library <./libraries/input>`. |
| 1870 | - Added some additional arguments to the :doc:`Inflection |
| 1871 | helper <./helpers/inflector_helper>` singular() to compensate |
| 1872 | for words ending in "s". Also added a force parameter to pluralize(). |
| 1873 | - Added $config['charset'] to the config file. Default value is |
| 1874 | 'UTF-8', used in some string handling functions. |
| 1875 | - Fixed MSSQL insert_id(). |
| 1876 | - Fixed a logic error in the DB trans_status() function. It was |
| 1877 | incorrectly returning TRUE on failure and FALSE on success. |
| 1878 | - Fixed a bug that was allowing multiple load attempts on extended |
| 1879 | classes. |
| 1880 | - Fixed a bug in the bootstrap file that was incorrectly attempting to |
| 1881 | discern the full server path even when it was explicity set by the |
| 1882 | user. |
| 1883 | - Fixed a bug in the escape_str() function in the MySQL driver. |
| 1884 | - Fixed a typo in the :doc:`Calendar library <./libraries/calendar>` |
| 1885 | - Fixed a typo in rpcs.php library |
| 1886 | - Fixed a bug in the :doc:`Zip library <./libraries/zip>`, providing |
| 1887 | PC Zip file compatibility with Mac OS X |
| 1888 | - Fixed a bug in router that was ignoring the scaffolding route for |
| 1889 | optimization |
| 1890 | - Fixed an IP validation bug. |
| 1891 | - Fixed a bug in display of POST keys in the |
| 1892 | :doc:`Profiler <./general/profiling>` output |
| 1893 | - Fixed a bug in display of queries with characters that would be |
| 1894 | interpreted as HTML in the :doc:`Profiler <./general/profiling>` |
| 1895 | output |
| 1896 | - Fixed a bug in display of Email class print debugger with characters |
| 1897 | that would be interpreted as HTML in the debugging output |
| 1898 | - Fixed a bug in the Content-Transfer-Encoding of HTML emails with the |
| 1899 | quoted-printable MIME type |
| 1900 | - Fixed a bug where one could unset certain PHP superglobals by setting |
| 1901 | them via GET or POST data |
| 1902 | - Fixed an undefined function error in the insert_id() function of the |
| 1903 | PostgreSQL driver |
| 1904 | - Fixed various doc typos. |
| 1905 | - Documented two functions from the :doc:`String |
| 1906 | helper <./helpers/string_helper>` that were missing from the |
| 1907 | user guide: trim_slashes() and reduce_double_slashes(). |
| 1908 | - Docs now validate to XHTML 1 transitional |
| 1909 | - Updated the XSS Filtering to take into account the IE expression() |
| 1910 | ability and improved certain deletions to prevent possible exploits |
| 1911 | - Modified the Router so that when Query Strings are Enabled, the |
| 1912 | controller trigger and function trigger values are sanitized for |
| 1913 | filename include security. |
| 1914 | - Modified the is_image() method in the Upload library to take into |
| 1915 | account Windows IE 6/7 eccentricities when dealing with MIMEs |
| 1916 | - Modified XSS Cleaning routine to be more performance friendly and |
| 1917 | compatible with PHP 5.2's new PCRE backtrack and recursion limits. |
| 1918 | - Modified the :doc:`URL Helper <./helpers/url_helper>` to type cast |
| 1919 | the $title as a string in case a numeric value is supplied |
| 1920 | - Modified Form Helper form_dropdown() to type cast the keys and |
| 1921 | values of the options array as strings, allowing numeric values to be |
| 1922 | properly set as 'selected' |
| 1923 | - Deprecated the use if is_numeric() in various places since it allows |
| 1924 | periods. Due to compatibility problems with ctype_digit(), making it |
| 1925 | unreliable in some installations, the following regular expression |
| 1926 | was used instead: preg_match("/[^0-9]/", $n) |
| 1927 | - Deprecated: APPVER has been deprecated and replaced with CI_VERSION |
| 1928 | for clarity. |
| 1929 | |
| 1930 | Version 1.5.3 |
| 1931 | ============= |
| 1932 | |
| 1933 | Release Date: April 15, 2007 |
| 1934 | |
| 1935 | - Added array to string into the profiler |
| 1936 | - Code Igniter references updated to CodeIgniter |
| 1937 | - pMachine references updated to EllisLab |
| 1938 | - Fixed a bug in the repeater function of :doc:`string |
| 1939 | helper <./helpers/string_helper>`. |
| 1940 | - Fixed a bug in ODBC driver |
| 1941 | - Fixed a bug in result_array() that was returning an empty array when |
| 1942 | no result is produced. |
| 1943 | - Fixed a bug in the redirect function of the :doc:`url |
| 1944 | helper <./helpers/url_helper>`. |
| 1945 | - Fixed an undefined variable in Loader |
| 1946 | - Fixed a version bug in the Postgres driver |
| 1947 | - Fixed a bug in the textarea function of the form helper for use with |
| 1948 | strings |
| 1949 | - Fixed doc typos. |
| 1950 | |
| 1951 | Version 1.5.2 |
| 1952 | ============= |
| 1953 | |
| 1954 | Release Date: February 13, 2007 |
| 1955 | |
| 1956 | - Added subversion information |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 1957 | to the :doc:`downloads <installation/downloads>` page. |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 1958 | - Added support for captions in the :doc:`Table |
| 1959 | Library <./libraries/table>` |
| 1960 | - Fixed a bug in the |
| 1961 | :doc:`download_helper <helpers/download_helper>` that was causing |
| 1962 | Internet Explorer to load rather than download |
| 1963 | - Fixed a bug in the Active Record Join function that was not taking |
| 1964 | table prefixes into consideration. |
| 1965 | - Removed unescaped variables in error messages of Input and Router |
| 1966 | classes |
| 1967 | - Fixed a bug in the Loader that was causing errors on Libraries loaded |
| 1968 | twice. A debug message is now silently made in the log. |
| 1969 | - Fixed a bug in the :doc:`form helper <helpers/form_helper>` that |
| 1970 | gave textarea a value attribute |
| 1971 | - Fixed a bug in the :doc:`Image Library <libraries/image_lib>` that |
| 1972 | was ignoring resizing the same size image |
| 1973 | - Fixed some doc typos. |
| 1974 | |
| 1975 | Version 1.5.1 |
| 1976 | ============= |
| 1977 | |
| 1978 | Release Date: November 23, 2006 |
| 1979 | |
| 1980 | - Added support for submitting arrays of libraries in the |
| 1981 | $this->load->library function. |
| 1982 | - Added support for naming custom library files in lower or uppercase. |
| 1983 | - Fixed a bug related to output buffering. |
| 1984 | - Fixed a bug in the active record class that was not resetting query |
| 1985 | data after a completed query. |
| 1986 | - Fixed a bug that was suppressing errors in controllers. |
| 1987 | - Fixed a problem that can cause a loop to occur when the config file |
| 1988 | is missing. |
| 1989 | - Fixed a bug that occurred when multiple models were loaded with the |
| 1990 | third parameter set to TRUE. |
| 1991 | - Fixed an oversight that was not unsetting globals properly in the |
| 1992 | input sanitize function. |
| 1993 | - Fixed some bugs in the Oracle DB driver. |
| 1994 | - Fixed an incorrectly named variable in the MySQLi result driver. |
| 1995 | - Fixed some doc typos. |
| 1996 | |
| 1997 | Version 1.5.0.1 |
| 1998 | =============== |
| 1999 | |
| 2000 | Release Date: October 31, 2006 |
| 2001 | |
| 2002 | - Fixed a problem in which duplicate attempts to load helpers and |
| 2003 | classes were not being stopped. |
| 2004 | - Fixed a bug in the word_wrap() helper function. |
| 2005 | - Fixed an invalid color Hex number in the Profiler class. |
| 2006 | - Fixed a corrupted image in the user guide. |
| 2007 | |
| 2008 | Version 1.5.0 |
| 2009 | ============= |
| 2010 | |
| 2011 | Release Date: October 30, 2006 |
| 2012 | |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 2013 | - Added :doc:`DB utility class <./database/utilities>`, permitting DB |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 2014 | backups, CVS or XML files from DB results, and various other |
| 2015 | functions. |
| 2016 | - Added :doc:`Database Caching Class <./database/caching>`. |
| 2017 | - Added :doc:`transaction support <./database/transactions>` to the |
| 2018 | database classes. |
| 2019 | - Added :doc:`Profiler Class <./general/profiling>` which generates a |
| 2020 | report of Benchmark execution times, queries, and POST data at the |
| 2021 | bottom of your pages. |
| 2022 | - Added :doc:`User Agent Library <./libraries/user_agent>` which |
| 2023 | allows browsers, robots, and mobile devises to be identified. |
| 2024 | - Added :doc:`HTML Table Class <./libraries/table>` , enabling tables |
| 2025 | to be generated from arrays or database results. |
| 2026 | - Added :doc:`Zip Encoding Library <./libraries/zip>`. |
| 2027 | - Added :doc:`FTP Library <./libraries/ftp>`. |
| 2028 | - Added the ability to :doc:`extend |
| 2029 | libraries <./general/creating_libraries>` and :doc:`extend core |
| 2030 | classes <./general/core_classes>`, in addition to being able to |
| 2031 | replace them. |
| 2032 | - Added support for storing :doc:`models within |
| 2033 | sub-folders <./general/models>`. |
| 2034 | - Added :doc:`Download Helper <./helpers/download_helper>`. |
| 2035 | - Added :doc:`simple_query() <./database/queries>` function to the |
| 2036 | database classes |
| 2037 | - Added :doc:`standard_date() <./helpers/date_helper>` function to |
| 2038 | the Date Helper. |
| 2039 | - Added :doc:`$query->free_result() <./database/results>` to database |
| 2040 | class. |
| 2041 | - Added :doc:`$query->list_fields() <./database/fields>` function to |
| 2042 | database class |
| 2043 | - Added :doc:`$this->db->platform() <./database/helpers>` function |
| 2044 | - Added new :doc:`File Helper <./helpers/file_helper>`: |
| 2045 | get_filenames() |
| 2046 | - Added new helper: :doc:`Smiley Helper <./helpers/smiley_helper>` |
| 2047 | - Added support for <ul> and <ol> lists in the :doc:`HTML |
| 2048 | Helper <./helpers/html_helper>` |
| 2049 | - Added the ability to rewrite :doc:`short |
| 2050 | tags <./general/alternative_php>` on-the-fly, converting them |
| 2051 | to standard PHP statements, for those servers that do not support |
| 2052 | short tags. This allows the cleaner syntax to be used regardless of |
| 2053 | whether it's supported by the server. |
| 2054 | - Added the ability to :doc:`rename or relocate the "application" |
| 2055 | folder <./general/managing_apps>`. |
| 2056 | - Added more thorough initialization in the upload class so that all |
| 2057 | class variables are reset. |
| 2058 | - Added "is_numeric" to validation, which uses the native PHP |
| 2059 | is_numeric function. |
| 2060 | - Improved the URI handler to make it more reliable when the |
| 2061 | $config['uri_protocol'] item is set to AUTO. |
| 2062 | - Moved most of the functions in the Controller class into the Loader |
| 2063 | class, allowing fewer reserved function names for controllers when |
| 2064 | running under PHP 5. |
| 2065 | - Updated the DB Result class to return an empty array when |
| 2066 | $query->result() doesn't produce a result. |
| 2067 | - Updated the input->cookie() and input->post() functions in :doc:`Input |
| 2068 | Class <./libraries/input>` to permit arrays contained cookies |
| 2069 | that are arrays to be run through the XSS filter. |
| 2070 | - Documented three functions from the Validation |
| 2071 | class that were missing from the user |
| 2072 | guide: set_select(), set_radio(), and set_checkbox(). |
| 2073 | - Fixed a bug in the Email class related to SMTP Helo data. |
| 2074 | - Fixed a bug in the word wrapping helper and function in the email |
| 2075 | class. |
| 2076 | - Fixed a bug in the validation class. |
| 2077 | - Fixed a bug in the typography helper that was incorrectly wrapping |
| 2078 | block level elements in paragraph tags. |
| 2079 | - Fixed a problem in the form_prep() function that was double encoding |
| 2080 | entities. |
| 2081 | - Fixed a bug that affects some versions of PHP when output buffering |
| 2082 | is nested. |
| 2083 | - Fixed a bug that caused CI to stop working when the PHP magic |
| 2084 | __get() or __set() functions were used within models or |
| 2085 | controllers. |
| 2086 | - Fixed a pagination bug that was permitting negative values in the |
| 2087 | URL. |
| 2088 | - Fixed an oversight in which the Loader class was not allowed to be |
| 2089 | extended. |
| 2090 | - Changed _get_config() to get_config() since the function is not a |
| 2091 | private one. |
| 2092 | - **Deprecated "init" folder**. Initialization happens automatically |
| 2093 | now. :doc:`Please see documentation <./general/creating_libraries>`. |
| 2094 | - **Deprecated** $this->db->field_names() USE |
| 2095 | $this->db->list_fields() |
| 2096 | - **Deprecated** the $config['log_errors'] item from the config.php |
| 2097 | file. Instead, $config['log_threshold'] can be set to "0" to turn it |
| 2098 | off. |
| 2099 | |
| 2100 | Version 1.4.1 |
| 2101 | ============= |
| 2102 | |
| 2103 | Release Date: September 21, 2006 |
| 2104 | |
| 2105 | - Added a new feature that passes URI segments directly to your |
| 2106 | function calls as parameters. See the |
| 2107 | :doc:`Controllers <general/controllers>` page for more info. |
| 2108 | - Added support for a function named _output(), which when used in |
| 2109 | your controllers will received the final rendered output from the |
| 2110 | output class. More info in the :doc:`Controllers <general/controllers>` |
| 2111 | page. |
| 2112 | - Added several new functions in the :doc:`URI |
| 2113 | Class <./libraries/uri>` to let you retrieve and manipulate URI |
| 2114 | segments that have been re-routed using the :doc:`URI |
| 2115 | Routing <general/routing>` feature. Previously, the URI class did not |
| 2116 | permit you to access any re-routed URI segments, but now it does. |
| 2117 | - Added :doc:`$this->output->set_header() <./libraries/output>` |
| 2118 | function, which allows you to set server headers. |
| 2119 | - Updated plugins, helpers, and language classes to allow your |
| 2120 | application folder to contain its own plugins, helpers, and language |
| 2121 | folders. Previously they were always treated as global for your |
| 2122 | entire installation. If your application folder contains any of these |
| 2123 | resources they will be used *instead* the global ones. |
| 2124 | - Added :doc:`Inflector helper <./helpers/inflector_helper>`. |
| 2125 | - Added element() function in the :doc:`array |
| 2126 | helper <./helpers/array_helper>`. |
| 2127 | - Added RAND() to active record orderby() function. |
| 2128 | - Added delete_cookie() and get_cookie() to :doc:`Cookie |
| 2129 | helper <./helpers/cookie_helper>`, even though the input class |
| 2130 | has a cookie fetching function. |
| 2131 | - Added Oracle database driver (still undergoing testing so it might |
| 2132 | have some bugs). |
| 2133 | - Added the ability to combine pseudo-variables and php variables in |
| 2134 | the template parser class. |
| 2135 | - Added output compression option to the config file. |
| 2136 | - Removed the is_numeric test from the db->escape() function. |
| 2137 | - Fixed a MySQLi bug that was causing error messages not to contain |
| 2138 | proper error data. |
| 2139 | - Fixed a bug in the email class which was causing it to ignore |
| 2140 | explicitly set alternative headers. |
| 2141 | - Fixed a bug that was causing a PHP error when the Exceptions class |
| 2142 | was called within the get_config() function since it was causing |
| 2143 | problems. |
| 2144 | - Fixed an oversight in the cookie helper in which the config file |
| 2145 | cookie settings were not being honored. |
| 2146 | - Fixed an oversight in the upload class. An item mentioned in the 1.4 |
| 2147 | changelog was missing. |
| 2148 | - Added some code to allow email attachments to be reset when sending |
| 2149 | batches of email. |
| 2150 | - Deprecated the application/scripts folder. It will continue to work |
| 2151 | for legacy users, but it is recommended that you create your own |
| 2152 | :doc:`libraries <./general/libraries>` or |
| 2153 | :doc:`models <./general/models>` instead. It was originally added |
| 2154 | before CI had user libraries or models, but it's not needed anymore. |
| 2155 | - Deprecated the $autoload['core'] item from the autoload.php file. |
| 2156 | Instead, please now use: $autoload['libraries'] |
| 2157 | - Deprecated the following database functions: |
| 2158 | $this->db->smart_escape_str() and $this->db->fields(). |
| 2159 | |
| 2160 | Version 1.4.0 |
| 2161 | ============= |
| 2162 | |
| 2163 | Release Date: September 17, 2006 |
| 2164 | |
| 2165 | - Added :doc:`Hooks <./general/hooks>` feature, enabling you to tap |
| 2166 | into and modify the inner workings of the framework without hacking |
| 2167 | the core files. |
| 2168 | - Added the ability to organize controller files :doc:`into |
| 2169 | sub-folders <general/controllers>`. Kudos to Marco for |
| 2170 | `suggesting <http://codeigniter.com/forums/viewthread/627/>`_ this |
| 2171 | (and the next two) feature. |
kenjis | 087a7a8 | 2011-10-20 20:08:47 +0900 | [diff] [blame] | 2172 | - Added regular expressions support for :doc:`routing |
Derek Jones | 8ede1a2 | 2011-10-05 13:34:52 -0500 | [diff] [blame] | 2173 | rules <./general/routing>`. |
| 2174 | - Added the ability to :doc:`remap function |
| 2175 | calls <./general/controllers>` within your controllers. |
| 2176 | - Added the ability to :doc:`replace core system |
| 2177 | classes <./general/core_classes>` with your own classes. |
| 2178 | - Added support for % character in URL. |
| 2179 | - Added the ability to supply full URLs using the |
| 2180 | :doc:`anchor() <./helpers/url_helper>` helper function. |
| 2181 | - Added mode parameter to :doc:`file_write() <./helpers/file_helper>` |
| 2182 | helper. |
| 2183 | - Added support for changing the port number in the :doc:`Postgres |
| 2184 | driver <./database/configuration>`. |
| 2185 | - Moved the list of "allowed URI characters" out of the Router class |
| 2186 | and into the config file. |
| 2187 | - Moved the MIME type array out of the Upload class and into its own |
| 2188 | file in the applications/config/ folder. |
| 2189 | - Updated the Upload class to allow the upload field name to be set |
| 2190 | when calling :doc:`do_upload() <./libraries/file_uploading>`. |
| 2191 | - Updated the :doc:`Config Library <./libraries/config>` to be able to |
| 2192 | load config files silently, and to be able to assign config files to |
| 2193 | their own index (to avoid collisions if you use multiple config |
| 2194 | files). |
| 2195 | - Updated the URI Protocol code to allow more options so that URLs will |
| 2196 | work more reliably in different environments. |
| 2197 | - Updated the form_open() helper to allow the GET method to be used. |
| 2198 | - Updated the MySQLi execute() function with some code to help prevent |
| 2199 | lost connection errors. |
| 2200 | - Updated the SQLite Driver to check for object support before |
| 2201 | attempting to return results as objects. If unsupported it returns an |
| 2202 | array. |
| 2203 | - Updated the Models loader function to allow multiple loads of the |
| 2204 | same model. |
| 2205 | - Updated the MS SQL driver so that single quotes are escaped. |
| 2206 | - Updated the Postgres and ODBC drivers for better compatibility. |
| 2207 | - Removed a strtolower() call that was changing URL segments to lower |
| 2208 | case. |
| 2209 | - Removed some references that were interfering with PHP 4.4.1 |
| 2210 | compatibility. |
| 2211 | - Removed backticks from Postgres class since these are not needed. |
| 2212 | - Renamed display() to _display() in the Output class to make it clear |
| 2213 | that it's a private function. |
| 2214 | - Deprecated the hash() function due to a naming conflict with a native |
| 2215 | PHP function with the same name. Please use dohash() instead. |
| 2216 | - Fixed an bug that was preventing the input class from unsetting GET |
| 2217 | variables. |
| 2218 | - Fixed a router bug that was making it too greedy when matching end |
| 2219 | segments. |
| 2220 | - Fixed a bug that was preventing multiple discrete database calls. |
| 2221 | - Fixed a bug in which loading a language file was producing a "file |
| 2222 | contains no data" message. |
| 2223 | - Fixed a session bug caused by the XSS Filtering feature inadvertently |
| 2224 | changing the case of certain words. |
| 2225 | - Fixed some missing prefixes when using the database prefix feature. |
| 2226 | - Fixed a typo in the Calendar class (cal_november). |
| 2227 | - Fixed a bug in the form_checkbox() helper. |
| 2228 | - Fixed a bug that was allowing the second segment of the URI to be |
| 2229 | identical to the class name. |
| 2230 | - Fixed an evaluation bug in the database initialization function. |
| 2231 | - Fixed a minor bug in one of the error messages in the language class. |
| 2232 | - Fixed a bug in the date helper timespan function. |
| 2233 | - Fixed an undefined variable in the DB Driver class. |
| 2234 | - Fixed a bug in which dollar signs used as binding replacement values |
| 2235 | in the DB class would be treated as RegEx back-references. |
| 2236 | - Fixed a bug in the set_hash() function which was preventing MD5 from |
| 2237 | being used. |
| 2238 | - Fixed a couple bugs in the Unit Testing class. |
| 2239 | - Fixed an incorrectly named variable in the Validation class. |
| 2240 | - Fixed an incorrectly named variable in the URI class. |
| 2241 | - Fixed a bug in the config class that was preventing the base URL from |
| 2242 | being called properly. |
| 2243 | - Fixed a bug in the validation class that was not permitting callbacks |
| 2244 | if the form field was empty. |
| 2245 | - Fixed a problem that was preventing scaffolding from working properly |
| 2246 | with MySQLi. |
| 2247 | - Fixed some MS SQL bugs. |
| 2248 | - Fixed some doc typos. |
| 2249 | |
| 2250 | Version 1.3.3 |
| 2251 | ============= |
| 2252 | |
| 2253 | Release Date: June 1, 2006 |
| 2254 | |
| 2255 | - Models do **not** connect automatically to the database as of this |
| 2256 | version. :doc:`More info here <./general/models>`. |
| 2257 | - Updated the Sessions class to utilize the active record class when |
| 2258 | running session related queries. Previously the queries assumed MySQL |
| 2259 | syntax. |
| 2260 | - Updated alternator() function to re-initialize when called with no |
| 2261 | arguments, allowing multiple calls. |
| 2262 | - Fixed a bug in the active record "having" function. |
| 2263 | - Fixed a problem in the validation class which was making checkboxes |
| 2264 | be ignored when required. |
| 2265 | - Fixed a bug in the word_limiter() helper function. It was cutting |
| 2266 | off the fist word. |
| 2267 | - Fixed a bug in the xss_clean function due to a PHP bug that affects |
| 2268 | some versions of html_entity_decode. |
| 2269 | - Fixed a validation bug that was preventing rules from being set twice |
| 2270 | in one controller. |
| 2271 | - Fixed a calendar bug that was not letting it use dynamically loaded |
| 2272 | languages. |
| 2273 | - Fixed a bug in the active record class when using WHERE clauses with |
| 2274 | LIKE |
| 2275 | - Fixed a bug in the hash() security helper. |
| 2276 | - Fixed some typos. |
| 2277 | |
| 2278 | Version 1.3.2 |
| 2279 | ============= |
| 2280 | |
| 2281 | Release Date: April 17, 2006 |
| 2282 | |
| 2283 | - Changed the behavior of the validation class such that if a |
| 2284 | "required" rule is NOT explicitly stated for a field then all other |
| 2285 | tests get ignored. |
| 2286 | - Fixed a bug in the Controller class that was causing it to look in |
| 2287 | the local "init" folder instead of the main system one. |
| 2288 | - Fixed a bug in the init_pagination file. The $config item was not |
| 2289 | being set correctly. |
| 2290 | - Fixed a bug in the auto typography helper that was causing |
| 2291 | inconsistent behavior. |
| 2292 | - Fixed a couple bugs in the Model class. |
| 2293 | - Fixed some documentation typos and errata. |
| 2294 | |
| 2295 | Version 1.3.1 |
| 2296 | ============= |
| 2297 | |
| 2298 | Release Date: April 11, 2006 |
| 2299 | |
| 2300 | - Added a :doc:`Unit Testing Library <./libraries/unit_testing>`. |
| 2301 | - Added the ability to pass objects to the **insert()** and |
| 2302 | **update()** database functions. This feature enables you to (among |
| 2303 | other things) use your :doc:`Model class <./general/models>` |
| 2304 | variables to run queries with. See the Models page for details. |
| 2305 | - Added the ability to pass objects to the :doc:`view loading |
| 2306 | function <./general/views>`: $this->load->view('my_view', |
| 2307 | $object); |
| 2308 | - Added getwhere function to :doc:`Active Record |
| 2309 | class <./database/active_record>`. |
| 2310 | - Added count_all function to :doc:`Active Record |
| 2311 | class <./database/active_record>`. |
| 2312 | - Added language file for scaffolding and fixed a scaffolding bug that |
| 2313 | occurs when there are no rows in the specified table. |
| 2314 | - Added :doc:`$this->db->last_query() <./database/queries>`, which |
| 2315 | allows you to view your last query that was run. |
| 2316 | - Added a new mime type to the upload class for better compatibility. |
| 2317 | - Changed how cache files are read to prevent PHP errors if the cache |
| 2318 | file contains an XML tag, which PHP wants to interpret as a short |
| 2319 | tag. |
| 2320 | - Fixed a bug in a couple of the active record functions (where and |
| 2321 | orderby). |
| 2322 | - Fixed a bug in the image library when realpath() returns false. |
| 2323 | - Fixed a bug in the Models that was preventing libraries from being |
| 2324 | used within them. |
| 2325 | - Fixed a bug in the "exact_length" function of the validation class. |
| 2326 | - Fixed some typos in the user guide |
| 2327 | |
| 2328 | Version 1.3 |
| 2329 | =========== |
| 2330 | |
| 2331 | Release Date: April 3, 2006 |
| 2332 | |
| 2333 | - Added support for :doc:`Models <general/models>`. |
| 2334 | - Redesigned the database libraries to support additional RDBMs |
| 2335 | (Postgres, MySQLi, etc.). |
| 2336 | - Redesigned the :doc:`Active Record class <./database/active_record>` |
| 2337 | to enable more varied types of queries with simpler syntax, and |
| 2338 | advanced features like JOINs. |
| 2339 | - Added a feature to the database class that lets you run :doc:`custom |
| 2340 | function calls <./database/call_function>`. |
| 2341 | - Added support for :doc:`private functions <general/controllers>` in your |
| 2342 | controllers. Any controller function name that starts with an |
| 2343 | underscore will not be served by a URI request. |
| 2344 | - Added the ability to pass your own initialization parameters to your |
| 2345 | :doc:`custom core libraries <general/creating_libraries>` when using |
| 2346 | $this->load->library() |
| 2347 | - Added support for running standard :doc:`query string URLs <general/urls>`. |
| 2348 | These can be optionally enabled in your config file. |
| 2349 | - Added the ability to :doc:`specify a "suffix" <general/urls>`, which will be |
| 2350 | appended to your URLs. For example, you could add .html to your URLs, |
| 2351 | making them appear static. This feature is enabled in your config |
| 2352 | file. |
| 2353 | - Added a new error template for use with native PHP errors. |
| 2354 | - Added "alternator" function in the :doc:`string |
| 2355 | helpers <./helpers/string_helper>`. |
| 2356 | - Removed slashing from the input class. After much debate we decided |
| 2357 | to kill this feature. |
| 2358 | - Change the commenting style in the scripts to the PEAR standard so |
| 2359 | that IDEs and tools like phpDocumenter can harvest the comments. |
| 2360 | - Added better class and function name-spacing to avoid collisions with |
| 2361 | user developed classes. All CodeIgniter classes are now prefixed with |
| 2362 | CI\_ and all controller methods are prefixed with _ci to avoid |
| 2363 | controller collisions. A list of reserved function names can be |
| 2364 | :doc:`found here <general/controllers>`. |
| 2365 | - Redesigned how the "CI" super object is referenced, depending on |
| 2366 | whether PHP 4 or 5 is being run, since PHP 5 allows a more graceful |
| 2367 | way to manage objects that utilizes a bit less resources. |
| 2368 | - Deprecated: $this->db->use_table() has been deprecated. Please read |
| 2369 | the :doc:`Active Record <./database/active_record>` page for |
| 2370 | information. |
| 2371 | - Deprecated: $this->db->smart_escape_str() has been deprecated. |
| 2372 | Please use this instead: $this->db->escape() |
| 2373 | - Fixed a bug in the exception handler which was preventing some PHP |
| 2374 | errors from showing up. |
| 2375 | - Fixed a typo in the URI class. $this->total_segment() should be |
| 2376 | plural: $this->total_segments() |
| 2377 | - Fixed some typos in the default calendar template |
| 2378 | - Fixed some typos in the user guide |
| 2379 | |
| 2380 | Version 1.2 |
| 2381 | =========== |
| 2382 | |
| 2383 | Release Date: March 21, 2006 |
| 2384 | |
| 2385 | - Redesigned some internal aspects of the framework to resolve scoping |
| 2386 | problems that surfaced during the beta tests. The problem was most |
| 2387 | notable when instantiating classes in your constructors, particularly |
| 2388 | if those classes in turn did work in their constructors. |
| 2389 | - Added a global function named |
| 2390 | :doc:`get_instance() <general/ancillary_classes>` allowing the main |
| 2391 | CodeIgniter object to be accessible throughout your own classes. |
| 2392 | - Added new :doc:`File Helper <./helpers/file_helper>`: |
| 2393 | delete_files() |
| 2394 | - Added new :doc:`URL Helpers <./helpers/url_helper>`: base_url(), |
| 2395 | index_page() |
| 2396 | - Added the ability to create your own :doc:`core |
| 2397 | libraries <general/creating_libraries>` and store them in your local |
| 2398 | application directory. |
| 2399 | - Added an overwrite option to the :doc:`Upload |
| 2400 | class <./libraries/file_uploading>`, enabling files to be |
| 2401 | overwritten rather than having the file name appended. |
| 2402 | - Added Javascript Calendar plugin. |
| 2403 | - Added search feature to user guide. Note: This is done using Google, |
| 2404 | which at the time of this writing has not crawled all the pages of |
| 2405 | the docs. |
| 2406 | - Updated the parser class so that it allows tag pars within other tag |
| 2407 | pairs. |
| 2408 | - Fixed a bug in the DB "where" function. |
| 2409 | - Fixed a bug that was preventing custom config files to be |
| 2410 | auto-loaded. |
| 2411 | - Fixed a bug in the mysql class bind feature that prevented question |
| 2412 | marks in the replacement data. |
| 2413 | - Fixed some bugs in the xss_clean function |
| 2414 | |
| 2415 | Version Beta 1.1 |
| 2416 | ================ |
| 2417 | |
| 2418 | Release Date: March 10, 2006 |
| 2419 | |
| 2420 | - Added a :doc:`Calendaring class <./libraries/calendar>`. |
| 2421 | - Added support for running :doc:`multiple |
| 2422 | applications <general/managing_apps>` that share a common CodeIgniter |
| 2423 | backend. |
| 2424 | - Moved the "uri protocol" variable from the index.php file into the |
| 2425 | config.php file |
| 2426 | - Fixed a problem that was preventing certain function calls from |
| 2427 | working within constructors. |
| 2428 | - Fixed a problem that was preventing the $this->load->library function |
| 2429 | from working in constructors. |
| 2430 | - Fixed a bug that occurred when the session class was loaded using the |
| 2431 | auto-load routine. |
| 2432 | - Fixed a bug that can happen with PHP versions that do not support the |
| 2433 | E_STRICT constant |
| 2434 | - Fixed a data type error in the form_radio function (form helper) |
| 2435 | - Fixed a bug that was preventing the xss_clean function from being |
| 2436 | called from the validation class. |
| 2437 | - Fixed the cookie related config names, which were incorrectly |
| 2438 | specified as $conf rather than $config |
| 2439 | - Fixed a pagination problem in the scaffolding. |
| 2440 | - Fixed a bug in the mysql class "where" function. |
| 2441 | - Fixed a regex problem in some code that trimmed duplicate slashes. |
| 2442 | - Fixed a bug in the br() function in the HTML helper |
| 2443 | - Fixed a syntax mistake in the form_dropdown function in the Form |
| 2444 | Helper. |
| 2445 | - Removed the "style" attributes form the form helpers. |
| 2446 | - Updated the documentation. Added "next/previous" links to each page |
| 2447 | and fixed various typos. |
| 2448 | |
| 2449 | Version Beta 1.0 |
| 2450 | ================ |
| 2451 | |
| 2452 | Release Date: February 28, 2006 |
| 2453 | |
| 2454 | First publicly released version. |