Список изменений
Исправления для 2.1.3:
- Исправлена ошибка (#1543) - File-based Caching метод get_metadata() использовал несуществующий ключ массива для поиска значения TTL.
- Исправлена ошибка (#1314) - Session Library метод sess_destroy() не вызывал деструкции пользовательского массива.
- Исправлена ошибка при которой Profiler Library приводила к возникновению E_WARNING ошибки, если Session пользвательские данные содержали описание объекта.
- Исправлена ошибка (#1699) - Migration Library игнорировала параметр $config['migration_path'].
- Исправлена ошибка (#227) - Input Library разрешала безусловную подмену для HTTP клиента IP адреса посредством заголовка HTTP_CLIENT_IP.
- Исправлена ошибка (#907) - Input Library игнорировала HTTP_X_CLUSTER_CLIENT_IP и HTTP_X_CLIENT_IP заголовки при проверке прокси.
- Исправлена ошибка (#940) - csrf_verify() использовалась для выставленя CSRF куки в то время как запрос POST мог не содержать POST-данных, что, при валидации, приводило к тому, что запрос признавался некорректным.
- Исправлена ошибка в Security Library где CSRF куки выставлялись даже если $config['csrf_protection'] имел значение FALSE.
- Исправлена ошибкаа (#1715) - Input Library была ассоциирована с csrf_verify() на запросы командной строки.
Версия 2.1.2
Дата релиза: 29 июня 2012
- Основные изменения
- Улучшена защита в xss_clean().
Версия 2.1.1
Релиз: 12 июня 2012
- Основные изменения
- Исправлена поддержка docx, xlsx в mimes.php.
- Библиотеки
- Продолжено улучшение определение типа MIME в библиотеке File Uploading Library.
- Добавлена поддержка IPv6 в библиотеку Input Library.
- Добавлена поддержка параметра формата IP в библиотеку Form Validation Library.
- Хелперы (помощники)
- Окружение и вывод url_title() улучшены. Теперь можно использовать любую строку в качестве разделителя. Обратно совместима с 'dash' и 'underscore' в качестве разделителей.
Версия 2.1.1
Дата выпуска: 14 ноября 2011
- Исправлена ошибка (#697) - использовался некорректный ключ массива в библиотеке Upload для сопоставления MIME-типов
- Исправлена ошибка - функция form_open() выполняла сравнение $action и site_url() вместо base_url()
- Исправлена ошибка - CI_Upload::_file_mime_type() могла завершаться с ошибкой, если для определения типа содержимого использовалась mime_content_type(), возвращающая FALSE
- Исправлена ошибка (#538) - Пути Windows игнорировались при использовании библиотеки Image Manipulation Class для создания нового файла.
- Исправлена ошибка - когда включено кэширование базы данных, $this->db->query() проверяла кэш до инициализации переменных, что приподило к тому, что кэшированные запросы не возвращали результат.
- Исправлена ошибка - CSRF куки было разрешено принимать любое (непустое) строковое значение перед записью в массив вывода, что делало возможной инъекцию кода.
- Исправлена ошибка (#726) - PDO передавал 'dbname' в качестве аргумента в строку запроса незавизисо от используемой платформы базы данных, это делало невозможным использование SQLite.
- Исправлена ошибка - CI_DB_pdo_result::num_rows() не возвращала корректный результат запроса SELECT,т.к. она ссылалась на PDOStatement::rowCount().
- Fixed a bug (#1059) - CI_Image_lib::clear() was not correctly clearing all necessary object properties, namely width and height.
- Исправлена ошибка (#1059) - CI_Image_lib::clear() не очищала корректно все необходимые свойства объекта, конкретно - width и weight.
Версия 2.1.0
Дата выпуска: 14 ноября 2011
- Главные изменения
- Исправлена потенциальная инъекция параметра в библиотеке Security, а также усилен XSS-фильтр, обрабатывающий уязвимости HTML5.
- Пользовательские функции в правилах валидации теперь принимают параметры, как и любые другие правила валидации.
- Добавлено html_escape() в общие функции, чтобы предотвращать XSS в выводе HTML.
- Помощники
- Добавлена функция increment_string() в помощник String, преобращующая "foo" в "foo-1", или "foo-1" в "foo-2" и так далее.
- Изменен помощник form — action сделано опциональным в функции form_open_multipart(). Исправлено (#65)
- url_title() теперь обрезает излишние дефисы в начале и в конце.
- Увеличена скорость random_string() помощника String
- База данных
- Добавлен драйвер CUBRID в драйверы БД. Спасибо команде CUBRID за предоставленный патч.
- Добавлен драйвер PDO в драйверы БД.
- Приведения предела и смещения в драйвере БД, для предотвращения возможной инъекции.
- Добавлена дополнительная опция 'none' для опционального третьего аргумента функции $this->db->like() в драйвере БД.
- Добавлена поддержка $this->db->insert_batch() в драйвер OCI8 (Oracle).
- Библиотеки
- Изменено $this->cart->insert() в Cart library, возвращающее Row ID, если единственный элемент успешно вставлен.
- Добавлена поддержка установления опционального параметра в ваших пользовательских функциях-правилах валидации в библиотеке Form Validation.
- Добавлена библиотека Migration, помогающая в обновлении схемы вашей БД.
- Дети драйверов могут находиться в любом пакетном пути.
- Добавлено is_unique в библиотеку Form Validation .
- Добавлено $config['use_page_numbers'] в библиотеку Pagination, которая показывает реальные номера страниц в URI.
- Добавлены TLS и шифрация SSL в SMTP.
- Ядро
- Изменены приватные функции в библиотеке URI, чтобы
MY_URI могла переписывать их. - Удалена булева константа CI_CORE из CodeIgniter.php (больше нет различий в версиях Reactor и Core).
- Изменены приватные функции в библиотеке URI, чтобы
Устраненные ошибки в 2.1.0
- Исправлена ошибка (#378) — роботы идентифицировались как обычные браузеры в классе User Agent.
- Если загружен класс конфигурации, а потом библиотека с аналогичным именем, конфигурация будет проигнорирована.
- Исправлена ошибка (Reactor #19) где 1) роут 404_override в некоторых случаях игнорировался, и 2) автозагруженные библиотеки было не доступны контроллеру 404_override, когда существовал контроллер, но не был найден запрошенный метод.
- Исправлена ошибка (Reactor #89), когда экспорт MySQL генерировал ошибку, когда таблица содержала дефисы или неалфавитноцифровые символы или символы подчеркивания.
- Исправлена ошибка (#200), когда запросы MySQL были бы неправильными между вызовами $this->db->count_all() и $this->db->get()
- Исправлена ошибка (#105), которая останавливала логгирование ошибок запросов при включенном режиме отладки БД.
- Исправлена ошибка (#160) — убраны ненужные копии массива в файле драйвера кеширования.
- Исправлена ошибка (#150) — field_data() теперь возвращает корректную длину столбцов.
- Исправлена ошибка (#8) — load_class() теперь ищет классы ядра сначала в APPPATH, позволяя замененять их.
- Исправлена ошибка (#24) — драйвер БД ODBC игнорировало родителя в __construct().
- Исправлена ошибка (#85) — функция БД OCI8 (Oracle) escape_str() не экранировала корректно.
- Исправлена ошибка (#344) — при использовании схемы в сохранении данных сессии в БД, система делала ошибку "user_data does not have a default value" при удалении, а затем создании сессии.
- Исправлена ошибка (#112) — драйвера OCI8 (Oracle), который не передавал кодировку из конфигурации при соединении.
- Исправлена ошибка (#182) — драйвера OCI8 (Oracle), который использовался для повторного выполнения заявления при каждом вызове num_rows().
- Исправлена ошибка (#82), когда не экранировались имена полей в условии WHERE в методе БД update_string(), выполняя в некоторых случаях плохие запросы.
- Исправлена ошибка (#89), исправлено несоответствие типов переменных в display_error(), когда ожидается массив, но устанавливается строка.
- Исправлена ошибка (#467) — подавляющая вывод предупреждений от get_magic_quotes_gpc() (устаревший с PHP 5.4)
- Исправлена ошибка (#484) — При первом вызове _csrf_set_hash(), хеш никогда не устанавливался в куки (в Security.php).
- Исправлена ошибка (#60) — добавлен метод _file_mime_type() в библиотеку File Uploading, чтобы пофиксить возможные инъекции MIME-типов (также решено #394).
- Исправлена ошибка (#537) — Поддержка всех типов WAV в браузере.
- Исправлена ошибка (#576) — Использование функции ini_get() для определения, включено ли apc.
- Исправлен формат даты в помощнике Date и в библиотеке XMLRPC.
Версия 2.0.3
Дата выхода: August 20, 2011
- Безопасность
- Сделаны улучшения в драйверах MySQL и MySQLi, чтобы предотвратить потенциальный вектор SQL инъекций, на сайтах, использующих многобайтные кодировки соединений с клиентами.
Несовместимость PHP версии < 5.2.3 и MySQL < 5.0.7 с mysql_set_charset() создает ситуацию, когда использование многобайтной кодировки с этими окружениями создает потенциальный вектор атаки SQL-инъекцией. Latin-1, UTF-8 и другие кодировки "low ASCII" не подвержены такому воздействию.
Если вы используете или собираетесь использовать многобайтную кодировку для соединения с БД, пожалуйста уделите большее внимание серверному окружению, чтобы быть уверенным в неуязвимости.
- Сделаны улучшения в драйверах MySQL и MySQLi, чтобы предотвратить потенциальный вектор SQL инъекций, на сайтах, использующих многобайтные кодировки соединений с клиентами.
- Основные изменения
- Исправлена опечатка в комментарии в index.php.
- Добавлены данные класса Session в профайлер. А также добавлены переключателы показать/скрыть для заголовков HTTP, данных сессии и переменных конфигурации.
- Устранено внутреннее использование константы EXT.
- Визуальные изменения в отображении welcome_message и шаблонов ошибок по умолчанию. Спасибо danijelb за выполненный запрос.
- Добавлено "application/x-csv" в mimes.php.
- Исправлена ошибка, когда вложения в библиотеке Email с "." в имени генерировали неправильный тип MIME.
- Пользовательские функции в правилах валидации теперь принимают параметры, как и любые другие функции.
- Помощники
- Добавлен опциональный третий параметр в heading(), который позволяет добавлять атрибуты HTML в тег.
- form_open() теперь добавляет только скрытое поле для защиты Cross-site Reference Forgery, когда action формы внутренний, и установлен метод POST (Reactor #165)
- Переработаны функции plural() и singular(), для поддержки значительно большего количества слов.
- Библиотеки
- Изменена Session, использующая большее совпадение строки user_agent. Смотрите руководство по обновлению, если вы используете хранение сессий в БД.
- Добавлено is_unique в библиотеку Form Validation.
- Добавлено $this->db->set_dbprefix() в Драйвер БД.
- Изменено $this->cart->insert() в библиотеке Cart, возвращающее Row ID если единственный элемент успешно вставлен.
- Добавлено $this->load->get_var() в библиотеку Loader для получения глобальный переменных установленных с $this->load->view() и $this->load->vars().
- Изменено $this->db->having() всталяющее кавычки при использовании escape() прежде чем escape_str().
Ошибки устраненные в 2.0.3
- Добавлено ENVIRONMENT в зарезервированные константы. (Reactor #196)
- Изменена серверная проверка определения SCRIPT_NAME. (Reactor #57)
- Перемещено APPPATH.'third_party' из автозагрузчика пакетов, чтобы не создавать ненужной статистики если пакеты не существуют, или если разработчик не загружает пакеты по умолчанию.
- Исправлена ошибка (Reactor #231) в библиотеке Sessions, если таблица не содержит индекс в last_activity. Смотрите Рекомендации по обновлению.
- Исправлена ошибка (Reactor #229) библиотеки Sessions, пример SQL в документации содержал некорректный SQL.
- Исправлена ошибка (Core #340) когда при передаче второго парамера $this->db->select() имена столбцов недостаточно добросовестно экранировались.
- Исправлено issue #199 — атрибуты, переданные строкой, не включали пробел между ними и открывающим тегом.
- Исправлена ошибка, когда метода $this->cart->total_items() из библиотеки Cart теперь возвращает сумму количества всех элементов в корзине вместо общего количества.
- Исправлена ошибка, когда не устанавливалось NULL при добавлении полей db_forge в драйверах MySQL и MySQLi по умолчанию устанавливалось NULL, а не NOT NULL, как определено в документации.
- Исправлена ошибка, когда использование $this->db->select_max(), $this->db->select_min(), и других могло делать предупреждения. Спасибо w43l за патч.
- Заменены проверки STDIN на php_sapi_name() == 'cli', что в целом является более надежным. Это должно получать параметры при работе crontab.
Версия 2.0.2
Дата выпуска: April 7, 2011
Hg Tag: v2.0.2
- Основные изменения
- Библиотека Security была перемещена в ядро, и теперь загружается автоматически. Пожалуйста удалите ваши загрузки этого класса.
- Класс CI_SHA теперь является устаревшим. Все поддерживаемые версии PHP предоставляют функцию sha1() .
- constants.php теперь будут загружаться из директории окружения, если доступно.
- Добавлено логгирование языковых ключей
- Сделана опциональная поддержка окружений. Комментирование или удаление константы остановит проверку окружения.
- Добавлена поддержка окружений в хуки.
- Добавлено CI_ Prefix в драйвер кешей.
- Добавлена документация использование CLI.
- Помощники
- Удалено ранее устаревшее dohash() из помощника Security; вместо этого используйте do_hash().
- Изменена функция 'plural', чтобы она не нарушала капитализацию вашей строки. Она также корректно обрабатывает аббревиатуры.
- База данных
- $this->db->count_all_results() теперь возвращает целое, а не строку.
Исправленные ошибки в 2.0.2
- Исправлена ошибка (Reactor #145), когда библиотека Output устаналивала защиту parse_exec_vars.
- Исправлена ошибка (Reactor #80), когда is_really_writable создавала пустой файл на Windows при включенном safe_mode.
- Устранены разнообразные ошибки в Руководстве Пользователя.
- Добавлен метод is_cli_request() в документацию класса Input.
- Добавлены записи form_validation_lang для decimal, less_than и greater_than.
- Решено #153 Ошибка Escape Str в драйвере MSSQL.
- Решено #172 Google Chrome 11 posts incorrectly, когда action был пуст.
Версия 2.0.1
Дата выхода: March 15, 2011
Hg Tag: v2.0.1
- Основные изменения
- Добавлено $config['cookie_secure'] в конфигурационный файл, чтобы разрешить безопасную (HTTPS) установку кук.
- Добавлена константа CI_CORE чтобы обозначить различия между Core: TRUE и Reactor: FALSE.
- Добавлена константа ENVIRONMENT в index.php, которая влияет не вывод ошибок PHP и опционально указывает на конфигурационный файл, который нужно загрузить. Читайте на странице Handling Environments.
- Добавлена поддержка конфигурационных файлов, зависимых от окружений.
- Библиотеки
- Добавлены правила decimal, less_than и greater_than в класс Form validation.
- Методы класса Input post() и get() теперь возвращают полный массив, если не указан первый аргумент.
- Безопасные куки теперь могут быть сделаны с помощником set_cookie() и методом класса Input.
- Добавлено set_content_type() в класс Output чтобы установить заголовок Content-Type, основываясь типе MIME или ключе массива в config/mimes.php.
- Класс Output теперь поддерживает сцепление методов.
- Помощники
- Изменена логика form_open() в помощнике Form. Если значение не передано, используется текущий URL.
Исправленные ошибки в 2.0.1
- Запросы CLI могут быть выполнены из любой директории, а не только от index.php.
- Испавлено #41: добавлен тип MIME audio/mp3 для mp3.
- Исправлена ошибка (Core #329) когда файл драйвера кеширования ссылался на некорректную директорию кешей.
- Исправлена ошибка (Reactor #69), где библиотека SHA1 называлась некорректно.
Версия 2.0.0
Дата выпуска: January 28, 2011
Hg Tag: v2.0.0
- Основные изменения
- Поддержка PHP 4 прекращена. CodeIgniter теперь требует PHP 5.1.6.
- Скаффолдинг, объявленный устаревшим в последних версиях, теперь удален.
- Плагины удалены, в пользу помощников. Плагин CAPTCHA конвертирован в помощник и документирован. Плагин календаря на JavaScript удален, так как уступает другим доступным календарям, например с jQuery.
- Добавлен новый специальный вид библиотек: Драйверы.
- Добавлена полная поддержка строк запроса. Смотрите подробности в конфигурационном файле.
- Директория application перемещена из директории system.
- Перемещены директории system/cache и system/logs в директорию application.
- Добавлен роутинг в основной файл index.php, позволяя переопределять нормальный роутинг на основе индексного файла.
- Добавлена возможность устанавливать (или переопределять) значения конфигурации в блоке даных в основном файле index.php. Это позволяет одному приложению использовать множество фронт-контроллеров, каждый их которых имеет собственные значения конфигурации.
- Добавлено $config['directory_trigger'] в конфигурационный файл, так что поддиректории контроллера могут быть указаны при работающей строке _GET вместо сегментов URI.
- Добавлена возможность установить путь «пакетов» специальных путей, где классы Loader и Config будут сначала искать запрашиваемый файл. Это позволяет выпускать под-приложения с собственными библиотеками, моделями, конфигурационными файлами и т.д. в единственной директории «пакета» . Смотрите подробную информацию в документации класса Loader.
- Код разработки теперь хостится в BitBucket.
- Удален устаревший класс Validation (теперь используется Form Validation).
- Добавлен префикс CI_ к всем классам ядра.
- Пути пакетов теперь могут быть установлены в application/config/autoload.php.
- file_name в Библиотеке Upload теперь может быть установлен без расширения, расширение берется из загруженногог файла вместо данного в имени.
- В Database Forge имя может быть опущенно во втором параметре $this->dbforge->modify_column(), если вы не хотите изменять имя.
- $config['base_url'] теперь по умолчанию пусто, и будет догадываться, каким оно должно быть.
- Добавлена полная совместимость с командной строкой (CLI) с config['uri_protocol'] = 'CLI';.
- Библиотеки
- Добавлен драйвер Cache с APC, memcached и файлами.
- Добавлены свойства $prefix, $suffix и $first_url в библиотеку Pagination.
- Добавлена возможность подавлять вывод ссылок на первую, предыдущую, следующую, последнюю и ссылку на страницу установкой их значений в FALSE в библиотеке Pagination.
- Добавлена библиотека Security, которая теперь содержит функции xss_clean, filename_security и другие.
- Добавлена защита от CSRF (Cross-site Reference Forgery) в библиотеку Security.
- Добавлено свойство $parse_exec_vars в библиотеку Output.
- Добавлена возможность включать и выключать индивидуальные разделы Профайлера
- Добавлена опция шаблона $config['allowed_types'] = '*' в класс File Uploading.
- Добавлена конфигурационная переменная 'object' в библиотеку XML-RPC Server, позволяющая использовать объект для обнаружения запрашиваемых методов, вместо использования суперобъекта $CI.
- Добавлено "is_object" в список модульных тестов.
- Библиотека Table генерирует пустую ячейку с пустой строкой, или значение NULL.
- Добавлена возможность устаналивать атрибуты тегов для индивидуальных ячеек в библиотеке Table
- Добавлен метод parse_string() в класс Parser.
- Добавлена информация о заголовках HTTP и конфигурации в вывод Профайлера.
- Добавлен Chrome и Flock в список определяемых браузеров функцией browser() в классе User Agent.
- Класс Unit Test теперь имеет опциональное поле для примечаний, а также позволяет раздельно отображать результаты тестов $this->unit->set_test_items().
- Добавлен переменная $xss_clean в библиотеку XMLRPC, включающая контроль за использованием метода xss_clean() библиотеки Security.
- Добавлена функция download() в библиотеку FTP
- Изменено do_xss_clean(), чтобы возвращать FALSE, если загруженный файл не прошел проверку XSS.
- Добавлено stripslashes() и trim() для двойных кавычек в $_FILES, чтобы стандартизировать ввод в библиотеке Upload.
- Добавлен второй параметр в $this->zip->read_dir('/path/to/directory', FALSE), чтобы удалять пустые папки при создании архивов ZIP.
- Добавлена возможность обрабатывать прозрачность PNG при операциях масштабирования с GD в библиотеку Image.
- Модифицирован класс Session, чтобы предотвратить использование без ключа в файле конфигурации.
- Добавлен новый конфигурационный элемент в класс Session sess_expire_on_close, чтобы позволить сессиям автозавершаться при закрытии окна браузера.
- Увеличена производительность библиотеки Encryption на серверах с поддержкой Mcrypt.
- Изменен режим шифрования по умолчанию на CBC в библиотеке Encryption.
- Добавлен метод encode_from_legacy(), предоставляющий способ передачи зашифрованных данных от CodeIgniter 1.x к CodeIgniter 2.x. Смотрите инструкции.
- Изменена библиотека Form_Validation, чтобы позволить сцепление методов set_rules(), set_message() и set_error_delimiters().
- Изменена библиотека Email, чтобы позволить сцепление методов.
- Добавлены функции request_headers(), get_request_header() и is_ajax_request() в класс Input.
- Изменена библиотека User agent, так чтобы is_browser(), is_mobile() и is_robot() могут опционально использоваться для проверки браузера или мобильного устройства.
- Изменена библиотека Input, так что post() и get() вернут соответственно все элементы POST и GET, если не передавать параметры в функции.
- База данных
- конфигурация БД.
- Добавлено значение autoinit в конфигурацию БД.
- Добавлено значение stricton в конфигурацию БД.
- Добавлено database_exists() в класс утилит БД.
- Семантические изменения в функции db->version(), чтобы позволить список исключений для БД с функциями, возвращающими строки вместо специально оформленных запросов SQL. Сейчас этот список включает только Oracle и SQLite.
- Исправлена ошибка, когда защита идентификатора указанной таблицы могла спровоцировать неправильние запросы в field_data() functions.
- Исправлена ошибка, когда указывалась неопределенная переменная класса в драйвере БД.
- Модифицированы ошибки БД, чтобы показывать имя файла и номер строки, сгенерировавшей проблемный запрос.
- Удалены следующие устаревшие функции: orwhere, orlike, groupby, orhaving, orderby, getwhere.
- Удалены устаревшие функции _drop_database() и _create_database() из утилит БД.
- Улучшена функция dbforge create_table() для драйвера Postgres.
- Помощники
- Добавлена функция convert_accented_characters() в текстовые помощники.
- Добавлено accept-charset в список атрибутов form_open() в помощнике Form.
- Объявлена устаревшей функция dohash(), в пользу do_hash().
- Сделаны необратимые изменения в get_dir_file_info() помощника File. Больше нет рекурсии по умолчанию, чтобы поощрять ответственное использование (эта функция могла создавать проблемы с производительностью при неаккуратном использовании).
- Модифицирован второй параметр directory_map() в помощнике Directory, чтобы принимать целое число, указывающее глубину рекурсии.
- Модицифировано delete_files() в помощнике File, чтобы возвращать FALSE при неудаче.
- Добавлен второй опциональный парамер в byte_format() помощника Number чтобы разрешить десятичную точность.
- Добавлены типа строк alpha и sha1 в random_string() в помощнике String.
- Изменено prep_url(), так что теперь не добавляется http:// если оно уже присутствует.
- Изменено get_file_info в помощнике file, заменено filectime() на filemtime() для дат.
- Изменено smiley_js(), чтобы принимать третий опциональный параметр, и возвращать только JavaScript, без тегов.
- Функция img() помощника HTML теперь генерируют пустую строку в атрибуте alt, если не предоставлено значение.
- Если CSRF включено в конфигурационном файле приложения, form_open() будет автоматически добавлять скрытое поле.
- Добавлено sanitize_filename() в помощник Security.
- Добавлено ellipsize() в помощник Text
- Добавлено elements() в помощник Array
- Другие изменения
- Добавлен второй опциональный параметр в show_404(), выключающий логгирование.
- Обновлен загрузчик, чтобы автоматически добавлять префикс подкласса как опцию при загрузке классов. Имена классов могут начинаться со стандартного префикса CI_ или с другого префикса или префикса подкласса, или вовсе не иметь префикса.
- Увеличена случайность в is_really_writable(), чтобы предотвратить файловые коллизии при сотнях и тысячах запросах в одном мгновении.
- Переключены некоторые константы DIR_WRITE_MODE, использующие FILE_WRITE_MODE для определения файлов и директорий, с которыми следует оперировать.
- get_mime_by_extension() теперь регистрочувствительно.
- Добавлено "default" в список зарезервированных имен.
- Добавлено 'application/x-msdownload' для файлов .exe и 'application/x-gzip-compressed' для файлов .tgz в config/mimes.php.
- Обновлена библиотека Output, которая теперь не сжимает вывод и не посылает заголовков content-length если сервер работает с включенной zlib.output_compression.
- Ограничены вызовы к is_really_writable() для каждого запроса, если это действительно необходимо (кеширование вывода)
- Документировано append_output() в классе Output.
- Документирован второй аргумент функции decode() класса Encryption.
- Документировано db->close().
- Обновлен роутер, поддерживающий роут по умолчанию с любым количеством сегментов.
- Перемещена функция _remove_invisible_characters() из библиотеки Security в общие функции.
- Добавлен тип MIME audio/mpeg3 как правильный тип для MP3.
Исправленные ошибки в 2.0.0
- Исправлена ошибка, когда не изменялся User-Agent при отправке электронной почты.
- Исправлена ошибка, когда классс Output отправлял некорректный кешированный вывод для контроллеров, имеющих собственый метод _output().
- Исправлена ошибка, когда провальный запрос не сохранял время своего выполнения, что приводило к ошибкам в профайлере
- Исправлена ошибка, когда записывались записи в лог при множественном вызове идентичных хелперов и плагинов.
- Исправлены ошибки в примерах в руководстве пользователя (#10693, #8951, #7825, #8660, #7883, #6771, #10656).
- Испарвлен языковой ключ в профайлере: "profiler_no_memory_usage" to "profiler_no_memory".
- Исправлена ошибка в библиотеке Zip, которая не позволяла загрузку на серверах PHP 4.
- Исправлена ошибка в библиотеке Form Validation, когда поля, переданные как параметры правил, не переводились (#9132)
- Модифицирован помощник inflector для коректного склонения слов, заканчивающихся на 'ch' и 'sh'
- Исправлена ошибка в xss_clean(), которая не разрешала дефисы в строках запросов переданных URLов.
- Исправлены ошибки в get_dir_file_info() и get_file_info() в помощнике File с рекурсией, и файловыми путями в Windows.
- Исправлена ошибка, когда Active Record переписывал параметр, не позволяя выключить Active Record если он был включен в конфигурационном файле.
- Исправлена ошибка в reduce_double_slashes() помощника String, для корректного удаления дублирующихся ведущих слешей (#7585)
- Исправлена ошибка в values_parsing() библиотеки XML-RPC, которая определяла тип переменных NULL как «string», что мешало корректной обработке.
- Исправлена ошибка, когда form_open_multipart() не принимала строковые аргументы (#10930).
- Исправлена ошибка (#10470) когда
get_mime_by_extension() была регистрочувствительной. - Исправлена ошибка, где некоторые сообщения об ошибках драйверов SQLite и Oracle не отображались.
- Исправлена ошибка, когда файлы, созданные с библиотекой Zip имели дату создания 1980.
- Исправлена ошибка в библиотеке Session, которая генерировала ошибку PHP при попытке сохранения значений с объектами.
- Исправлена ошибка, когда расширение класса Controller производило фатальную ошибку PHP.
- Исправлено PHP Strict Standards Error в файле index.php.
- Исправлена ошибка, когда getimagesize() напрасно проверял неграфические файлы в is_allowed_type().
- Исправлена ошибка в библиотеке Encryption, где пустой ключ не генерировал ошибку.
- Исправлена ошибка в библиотеке Email, когда получатели CC и BCC не сбрасывались при использовании метода clear() (#109).
- Исправлена ошибка в помощнике URL, когда prep_url() могло спровоцировать ошибку PHP на PHP версии < 5.1.2.
- Добавлено сообщение лога в ядро/вывод, если конфигурационное значение директории кеширования не установлено.
- Исправлена ошибка, когда множество библиотек не загружались при передаче массива в load->library()
- Исправлена ошибка в помощнике HTML, когда слишком много пустого пространства генерировалось между тегами src и alt в функции img().
- Исправлена ошибка в функции профайлера _compile_queries().
- Исправлена ошибка в помощнике Date, когда переменная DATE_ISO8601 возвращала некорректно форматированную строку даты.
Version 1.7.2
Смотрите описание ранних версий на сайте http://codeigniter.com