CodeIgniter release Versi 3.0


Sebuah berita dari Framework Codeigniter yang mana sudah cukup lama tidak lama melakukan Release versi terbaru, kali ini CodeIgniter release Versi 3.0
Buat yang ingin mencoba versi 3.0 silahkan download disini : DOWNLOAD
berikut akan review sedikit apa saja yang terjadi perubahan atau fix bug yang di lakukan :
1. APPPATH needs fix for Windows System
melakukan bug pada APPPATH backslashes
The APPPATH is currently setting path with backslashes instead of forward-slashes. So currently APPPATH outputs like thiis:
D:\xampp\htdocs\codeigniter\application/...with the trailing forward-slash at the end.
2. form_helper & Form_validation type-casting issue
melakukan perbaikan pada set_checkbox & set_radio
echo set_checkbox('something', 1, (bool) $R->something); // This fails
echo set_checkbox('something', '1', (bool) $R->something);// This works, but ugly (having to quote the number to make it a string).
 3. Update .htaccess files for Apache 2.4+
Melakukan update code .htaccess, melakukan update .htaccess supaya tidak terjadi 500 Internal Server Error
<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule access_compat_module>
    Deny from all
</IfModule>
untuk Bug Fix berikut kutipan dari CodeIgniter sendiri :
  • Fixed a bug where unlink() raised an error if cache file did not exist when you try to delete it.
  • Fixed a bug (#181) where a mis-spelling was in the form validation language file.
  • Fixed a bug in CI_Cart::contents() where if called without a TRUE (or equal) parameter, it would fail due to a typo.
  • 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.
  • Fixed a bug (#406) - SQLSRV DB driver not returning resource on db_pconnect().
  • 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.
  • Fixed a bug (#904) - CI_Loader::initialize() caused a PHP Fatal error to be triggered if error level E_STRICT is used.
  • Fixed a hosting edge case where an empty $_SERVER['HTTPS'] variable would evaluate to 'on'.
  • Fixed a bug (#154) - CI_Session::sess_update() caused the session to be destroyed on pages where multiple AJAX requests were executed at once.
  • 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'.
  • Fixed a bug (#1039) - MySQL's _backup() method failed due to a table name not being escaped.
  • Fixed a bug (#1070) - CI_DB_driver::initialize() didn't set a character set if a database is not selected.
  • Fixed a bug (#177) - CI_Form_validation::set_value() didn't set the default value if POST data is NULL.
  • Fixed a bug (#68, #414) - Oracle's escape_str() didn't properly escape LIKE wild characters.
  • 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.
  • Fixed a bug (#129) - ODBC's num_rows() returned -1 in some cases, due to not all subdrivers supporting the odbc_num_rows() function.
  • Fixed a bug (#611) - SQLSRV's error handling methods used to issue warnings when there's no actual error.
  • Fixed a bug in PDO's _version() method where it used to return the client version as opposed to the server one.
  • 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.
  • Fixed a bug in CUBRID's affected_rows() method where a connection resource was passed to cubrid_affected_rows() instead of a result.
  • Fixed a bug (#638) - db_set_charset() ignored its arguments and always used the configured charset instead.
  • Fixed a bug (#413) - Oracle's error handling methods used to only return connection-related errors.
  • 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.
  • 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.
  • Fixed a bug (#306) - ODBC's insert_id() method was calling non-existent function odbc_insert_id(), which resulted in a fatal error.
  • Fixed a bug in Oracle's DB_result class where the cursor id passed to it was always NULL.
  • Fixed a bug (#64) - Regular expression in DB_query_builder.php failed to handle queries containing SQL bracket delimiters in the join condition.
  • Fixed a bug (#136) - PostgreSQL, MySQL and MySQLi's escape_str() method didn't properly escape LIKE wild characters.
  • Fixed a bug in the library loader where some PHP versions wouldn't execute the class constructor.
  • Fixed a bug (#88) - An unexisting property was used for configuration of the Memcache cache driver.
  • 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.
  • Fixed a bug (#11, #183, #863) - CI_Form_validation::_execute() silently continued to the next rule, if a rule method/function is not found.
  • Fixed a bug (#122) - routed URI string was being reported incorrectly in sub-directories.
  • 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.
  • Fixed a bug in MSSQL and SQLSrv's _truncate() where the TABLE keyword was missing.
  • Fixed a bug in PDO's trans_commit() method where it failed due to an erroneous property name.
  • Fixed a bug (#798) - update() used to ignore LIKE conditions that were set with like().
  • Fixed a bug in Oracle's and MSSQL's delete() methods where an erroneous SQL statement was generated when used with limit().
  • Fixed a bug in SQLSRV's delete() method where like() and limit() conditions were ignored.
  • Fixed a bug (#1265) - Database connections were always closed, regardless of the 'pconnect' option value.
  • Fixed a bug (#1242) - Added Windows path compatibility to function read_dir of ZIP library.
  • Fixed a bug (#121) - CI_DB_result::row() returned an array when there's no actual result to be returned.
  • Fixed a bug (#319) - SQLSRV's affected_rows() method failed due to a scrollable cursor being created for write-type queries.
  • 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.
  • Fixed a bug (#1419) - libraries/Driver.php had a static variable that was causing an error.
  • 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).
  • Fixed a bug (#706) - SQLSRV/MSSSQL didn't escape field names.
  • Fixed a bug (#1452) - protect_identifiers() didn't properly detect identifiers with spaces in their names.
  • Fixed a bug where protect_identifiers() ignored its extra arguments when the value passed to it is an array.
  • Fixed a bug where _has_operator() didn't detect BETWEEN.
  • Fixed a bug (#1321) - Core Exceptions class couldn't find the errors/ folder in some cases.
  • Fixed a bug (#145) - compile_binds() failed when the bind marker was present in a literal string within the query.
  • Fixed a bug in protect_identifiers() where if passed along with the field names, operators got escaped as well.
  • Fixed a bug (#167) - $config['permitted_uri_chars'] didn't affect URL-encoded characters.
  • Fixed a bug (#999) - :doc:`Config Library <libraries/config>` method site_url() always appended $config['url_suffix']to the end of the URL string, regardless of whether a query string exists in it.
  • Fixed a bug (#135) - PHP Error logging was impossible without the errors being displayed.
  • Fixed a bug in SQLSRV's affected_rows() method where an erroneous function name was used.
  • Fixed a bug (#1000) - Change syntax of $view_file to $_ci_view_file to prevent being overwritten by application.
  • Fixed a bug where MB_ENABLED was only declared if UTF8_ENABLED was set to TRUE.
  • Fixed a bug (#658) - :doc:`Routing <general/routing>` wildcard :any didn't work as advertised and matched multiple URI segments instead of all characters within a single segment.
  • Fixed a bug - SQLSRV didn't support escape_like_str() or escaping an array of values.
  • Fixed a bug (#2425) - OCI8 :doc:`database <database>` driver's method stored_procedure() didn't log an error unlessdb_debug was set to TRUE.
  • Fixed a bug (#2609) - :php:func:`get_config()` optional argument was only effective on first function call. Also, it can now add items, in addition to updating existing items.
  • Fixed a bug (#33) - Script execution was terminated when an invalid cookie key was encountered.
  • Fixed a bug (#2681) - CI_Security::entity_decode() used the PREG_REPLACE_EVAL flag, which is deprecated since PHP 5.5.
  • Fixed a bug (#2691) - nested transactions could end in a deadlock when an error is encountered with db_debug set to TRUE.
  • Fixed a bug (#2515) - _exception_handler() used to send the 200 "OK" HTTP status code and didn't stop script exection even on fatal errors.
pada Update kali ini cukup banyak di lakukan perbaikan, tapi tidak terlalu besar cuma ada beberapa coding yang sebelumnya musti di update lagi jika ingin melakukan update ke versi 3.0
untuk lebih lanjut silahkan di review sendiri2 yah.  

Berikan Komentar yang bermanfaat dan sehat. Conversion Conversion Emoticon Emoticon