yiisoft/yii
42.1
Weak · 19 September 2026
787.4k
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is the Yii 1.1 PHP web application framework, providing a comprehensive infrastructure for building database-driven web applications. It features a robust object-relational mapping layer with support for multiple database engines, alongside a code generation suite (Gii and CLI tools) for scaffolding models, controllers, and CRUD interfaces. The framework also includes built-in internationalization, caching mechanisms, and security utilities to streamline development workflows.
How it got here
2008 — Yii 1.1 framework foundation and tooling
72 changes.
This period established the core architecture of the Yii 1.1 framework, introducing foundational components for database abstraction, Active Record, and role-based access control. It also delivered a comprehensive suite of command-line tools for scaffolding applications, generating documentation, and managing translations, alongside initial internationalization support for multiple languages.
2009 — Internationalization and Gii introduction
61 changes.
This period focused on expanding the framework's global reach by adding comprehensive localization support for numerous languages, including message files and error view templates. Simultaneously, the Gii code generation module was introduced to streamline development, while the blog demo was refactored to demonstrate modern security practices and new UI components.
2010–2012 — Gii code generator and internationalization
55 changes.
This period focused on the introduction of the Gii web-based code generation tool, which provided generators for models, controllers, CRUD operations, forms, and modules to streamline application scaffolding. Concurrently, the framework expanded its global reach by adding extensive localization support, including view templates and message files for numerous languages such as Greek, Polish, Ukrainian, and Arabic. The release also enhanced the Zii widget library with AJAX-powered grid and list views, jQuery UI wrappers, and improved history API support.
2013 — Localization and dependency management
6 changes.
This period focused on enhancing internationalization by adding comprehensive Catalan, Finnish, and Danish translations for framework messages, error views, and logging interfaces. Concurrently, the project established its initial Composer package configuration to streamline dependency management and autoloading for the Yii 1.1 framework.
Features
Active Record relational query engine and behavior base class introduced
The framework now includes the \CActiveFinder\ class to handle eager and lazy loading of related Active Record models, managing the construction of join trees and execution of relational SQL queries. Additionally, the \CActiveRecordBehavior\ base class is provided, extending \CModelBehavior\ to support Active Record-specific lifecycle events such as \beforeFind\, \afterFind\, \beforeCount\, \beforeSave\, and \afterDelete\, allowing behaviors to hook into these database operations.
framework/db/ar · high confidence
Add CUBRID database schema support
The framework now includes support for the CUBRID database engine. New schema classes (CCubridSchema, CCubridColumnSchema, CCubridTableSchema) have been added to handle CUBRID-specific metadata, including column type mapping (e.g., mapping CUBRID numeric types to PHP doubles or integers), default value extraction, and table quoting conventions. This enables the application to interact with CUBRID databases using the existing database abstraction layer.
framework/db/schema/cubrid · high confidence
Add Gii model code generator
The Gii tool now includes a model generator that creates ActiveRecord model classes from database tables. Users can configure the database connection, table names (including wildcard patterns for multiple tables), output path, and base class. The generator validates inputs such as reserved PHP keywords in table names and PHP-compliant column naming conventions, and it supports using database column comments as attribute labels in the generated models.
framework/gii/generators/controller, framework/gii/generators/model · high confidence
Add Phone Book Flex demo application
A new Phone Book demo application has been added to the demos/phonebook/flex directory. This Adobe Flex application provides a web-based interface for managing contacts, featuring user authentication, a data grid for listing contacts, and forms for creating, editing, and deleting entries. The implementation includes the main MXML application file, Flex project configuration files, and the necessary HTML/JavaScript templates to embed and run the Flash-based UI in a browser.
demos/phonebook/flex · high confidence
Add default gitignore and placeholder files to webapp scaffolding
The webapp scaffolding now includes a \.gitignore\ file (in \assets\ and \protected/runtime\) that ignores all files except \.gitignore\ itself, and adds empty placeholder files (\.gitkeep\/\hg-hgkeep\) to several directories (\images\, \protected/commands/shell\, \protected/extensions\, \protected/messages\, \protected/migrations\) to ensure they are tracked by version control systems.
(repo-wide) · high confidence
Added About page to the webapp template
The webapp CLI command now generates a new 'About' page (about.php) in the site views. This page displays a static title and breadcrumb, providing a ready-made template for users to customize with their own content.
framework/cli/views/webapp/protected/views/site/pages · high confidence
Added Arabic and Brazilian Portuguese error and log view templates
New localized view templates for error pages (400, 403, 404, 500, 503, and general exceptions) and logging/profiling outputs (log, firebug, profile callstack, and profile summary) have been added for Arabic (ar) and Brazilian Portuguese (pt\_br). These views provide user-facing messages and interface labels in the respective languages, ensuring that error displays and debug logs are readable for users with these locale settings.
_framework/views/ar, framework/views/pt\br · high confidence
Added Arabic language translations for Yii and Zii components
Users can now see framework and Zii UI messages in Arabic. This change introduces the \framework/messages/ar/yii.php\ and \framework/messages/ar/zii.php\ files, providing localized strings for error messages, validation feedback, and UI elements (such as pagination, sorting, and CRUD actions) for the Arabic locale.
framework/messages/ar · high confidence
Added Bosnian (bs) message translations
The framework now includes a complete set of localized error and system messages for the Bosnian language, available in the \framework/messages/bs/yii.php\ file. This addition ensures that users with their system locale set to Bosnian will see appropriate UI feedback and validation errors in their language rather than English defaults.
framework/messages/bs · high confidence
Added Bulgarian and Vietnamese error and debug view translations
This change adds new localized view files for the Bulgarian (bg) and Vietnamese (vi) languages within the framework's view directory. These files provide translated user-facing messages for standard HTTP error pages (400, 403, 404, 500, 503) and debug tools, including application logs and profiling summaries displayed in both HTML tables and Firebug console output. Users with these locales enabled will now see error messages and debug information in their native language instead of the default English.
framework/views/bg · high confidence
Added Bulgarian translations for Yii core and Zii components
This change introduces the initial Bulgarian language pack for the framework, adding two new translation files: \framework/messages/bg/yii.php\ and \framework/messages/bg/zii.php\. These files provide localized strings for core framework error messages (such as database connection issues, validation errors, and path configuration warnings) and Zii widget labels (including grid view actions like 'View', 'Update', 'Delete', and pagination text). Users with Bulgarian locale settings will now see these interface elements and error notifications in Bulgarian instead of English.
framework/messages/bg · high confidence
Added CFlexWidget view template for Flash content rendering
The framework now includes a dedicated view file for the CFlexWidget, which handles the client-side logic for embedding Flash content. This template manages version detection for the Flash Player, triggers the Adobe Player Product Install process if an outdated version is detected, and renders the SWF object with configurable parameters such as width, height, quality, and flash variables. It also provides fallback content for browsers with JavaScript disabled or when Flash is unsupported.
framework/web/widgets/views · high confidence
Added CLI shell templates for generating controllers and views
The framework now includes new CLI view templates for the shell command, specifically \controller.php\ and \view.php\. These templates allow users to automatically generate basic controller classes with action methods and corresponding view files with standard breadcrumb navigation, streamlining the creation of new MVC components via the command line interface.
framework/cli/views/shell/controller · high confidence
Added CRUD generator interface with sticky base controller class
The Gii tool now includes a new interface for generating CRUD (Create, Read, Update, Delete) operations. This generator allows users to specify a data model and controller ID to automatically produce the corresponding controller and view files. A key feature of this interface is the 'baseControllerClass' field, which is implemented as a sticky attribute, ensuring that this configuration persists during in-place editing sessions to streamline the generation process.
framework/gii/generators/crud/views · high confidence
Added CRUD generator to Gii
The Gii code generation tool now includes a CRUD generator. This new feature allows users to automatically generate the controller and view files required for basic Create, Read, Update, and Delete operations based on an existing ActiveRecord model and database table schema. The generator validates that the specified model class exists, extends CActiveRecord, and has a supported single-column primary key before generating the code.
framework/gii/generators/crud, framework/gii/generators/module/templates · high confidence
Added CTimestampBehavior for automatic timestamp management
A new CTimestampBehavior class has been introduced to the framework, allowing developers to automatically populate creation and modification timestamp attributes on ActiveRecord models. Users can configure specific attributes for creation and update times, control whether the update timestamp is set during record creation, and define custom timestamp generation logic via PHP expressions or database-specific SQL functions.
framework/zii/behaviors · high confidence
Added Catalan language translations for framework and Zii components
Users can now see interface messages in Catalan. This change adds the \framework/messages/ca/yii.php\ and \framework/messages/ca/zii.php\ translation files, providing localized strings for core framework errors, validation messages, and Zii widget labels (such as grid view buttons and pagination text).
framework/messages/ca · high confidence
Added Catalan translations for framework error and log views
This change introduces a new set of Catalan language view files for the framework's error pages (such as 400, 403, 404, 500, and 503) and logging interfaces (including log displays and profiling callstack/summary reports). Users will now see error messages, status descriptions, and log table headers in Catalan when the application locale is set to Catalan, improving accessibility for Catalan-speaking users.
framework/views/ca · high confidence
Added Chinese (Simplified) localization for error pages and log views
The framework now includes Chinese (Simplified) translations for HTTP error pages (400, 403, 404, 500, 503) and logging interfaces. Users will see localized messages for error descriptions, such as 'Request Error' or 'Service Unavailable', and log headers like 'Program Log' and 'Profiling Summary' in the web-based log viewer and Firebug console output.
_framework/views/zh\cn · high confidence
Added Chinese (Simplified) translations for Yii framework and Zii components
Introduced new translation files for the zh\_cn locale, providing Chinese (Simplified) support for core framework error messages and validation strings (yii.php) as well as Zii widget labels and messages (zii.php). This enables users to see localized feedback for database operations, caching, security, and UI components like grids and forms.
_framework/messages/zh\cn · high confidence
Added ContactForm and LoginForm models to the webapp template
The webapp CLI template now includes ContactForm and LoginForm model classes. ContactForm handles contact page input validation (name, email, subject, body, captcha), while LoginForm manages user authentication logic, including password verification via UserIdentity and session login with optional 'remember me' persistence.
framework/cli/views/webapp/protected/models · high confidence
Added Croatian (hr) message translations
The framework now includes a Croatian language message file (framework/messages/hr/yii.php), enabling users to see localized error messages, validation errors, and UI strings in Croatian when the application locale is set to 'hr'.
framework/messages/hr · high confidence
Added Croatian translations for framework views
This change introduces a complete set of Croatian language translations for the framework's error pages (400, 403, 404, 500, 503) and logging/profile views (log, firebug, profile callstack, profile summary). Users with Croatian locale settings will now see error messages and debug output in Croatian instead of the default English.
framework/views/hr · high confidence
Added Czech (cs) language translations for the framework and Zii widgets
Users can now see interface messages in Czech. This change adds the initial Czech translation files for the core framework (yii.php) and the Zii widget library (zii.php), covering error messages, validation strings, and UI labels such as navigation buttons and data grid controls.
framework/messages/cs · high confidence
Added Danish (da) framework translations
Users can now see framework and Zii component messages in Danish. This change adds the \framework/messages/da/yii.php\ and \framework/messages/da/zii.php\ files, providing translations for error messages, validation strings, and UI labels used by the Yii framework and its Zii library when the application locale is set to Danish.
framework/messages/da · high confidence
Added Danish translations for framework error and log views
This change introduces a new set of Danish (da) view templates for the framework's error pages (400, 403, 404, 500, 503) and exception display. It also adds Danish translations for the application log and profiling summary views, including both standard HTML table outputs and Firebug console scripts, ensuring that error messages, log headers, and profiling labels are displayed in Danish for users with that locale.
framework/views/da · high confidence
Added Dutch and Traditional Chinese error and log view templates
The framework now includes localized view templates for error pages (400, 403, 404, 500, 503) and logging/profiling displays (log, log-firebug, profile-callstack, profile-summary) in Dutch (nl) and Traditional Chinese (zh\_tw). Users with these locales enabled will see error messages and debug logs in their respective languages, improving clarity for non-English speakers when troubleshooting application issues or reviewing performance data.
framework/views/nl · high confidence
Added FancyBox 1.3.1 lightbox library to the GII framework
The GII framework now includes the FancyBox 1.3.1 library (CSS and minified JavaScript), enabling users to implement a lightbox-style overlay for images, inline content, and AJAX-loaded content. This addition provides a visual enhancement for media viewing within the framework's generated applications.
framework/gii/assets/js/fancybox · high confidence
Added Finnish language translations for the Yii framework
New Finnish translation files have been added to the framework, enabling users to display error messages, validation errors, and UI labels in Finnish. The update includes \framework/messages/fi/yii.php\, covering core framework messages (such as database connection errors, file upload issues, and security warnings), and \framework/messages/fi/zii.php\, covering messages for the Zii widget library (such as grid view sorting, pagination, and CRUD action labels).
framework/messages/fi · high confidence
Added Finnish language views for error pages, logging, and profiling
This change introduces a complete set of Finnish (fi) localized views for the framework's error pages (400, 403, 404, 500, 503, and general errors), exception display, application logging, and profiling callstack/summary reports. Users with Finnish language settings will now see error messages, log entries, and performance data rendered in Finnish, improving clarity for non-English speakers.
framework/views/fi · high confidence
Added French and Hebrew error, log, and profiling view templates
This change introduces new localized view files for the framework's error pages (400, 403, 404, 500, 503), application logs, and profiling summaries in both French (fr) and Hebrew (he). Users with these languages selected will now see interface text, headers, and messages in their respective languages, including right-to-left layout support for Hebrew. The French views also include specific templates for Firebug console logging, enhancing the debugging experience for developers using that browser tool.
framework/views/fr · high confidence
Added German and Lithuanian message translations
New localized message files for German (de) and Lithuanian (lt) have been added to the framework, covering both the core Yii messages (yii.php) and the Zii widget messages (zii.php). This enables users to display framework error messages, validation errors, and UI labels in these languages.
framework/messages/de · high confidence
Added German translations for framework error and logging views
This change introduces a complete set of German-language view templates for the framework's error pages (400, 403, 404, 500, 503, and generic errors) and logging displays (application logs, profiling callstacks, and profiling summaries, including Firebug console outputs). Users will now see error messages and log data in German when the application locale is set to German, improving readability for German-speaking developers and end-users.
framework/views/de · high confidence
Added Greek (el) language views for error pages, logging, and profiling
This change introduces a complete set of Greek-language view templates for the framework's diagnostic and debugging interfaces. Users will now see error pages (400, 403, 404, 500, 503) and log/profiling displays rendered in Greek when the application locale is set to 'el'. The addition includes standard HTML error views, table-based log and profiling summaries, and Firebug-compatible JavaScript console outputs, ensuring consistent localization across the framework's internal feedback mechanisms.
framework/views/el · high confidence
Added HTML report template for translation builds
A new HTML template (report\_html.php) has been added to the translation build commands, enabling users to view a styled summary of translation results. The report displays the source and translation paths, lists any errors found, and highlights code differences between source and translated files using color-coded styling.
build/commands/translations · high confidence
Added Hangman game demo
A new interactive Hangman game demo has been added to the application. Users can now play the game by selecting a difficulty level (Easy, Medium, or Hard) and guessing letters to reveal a hidden word. The demo includes the full game logic, views for playing, winning, and losing, and is built using the Yii framework.
demos/hangman · high confidence
Added Hello World demo application
A new Hello World demo has been added to the demos/helloworld directory, providing a basic Yii web application structure. This includes the main entry point (index.php) to bootstrap the framework, a SiteController with an actionIndex method that outputs 'Hello World', and a .htaccess file to deny direct access to the protected directory.
demos/helloworld · high confidence
Added Hungarian language translations for Yii and Zii components
New Hungarian (hu) translation files have been added for the core framework (yii.php) and the Zii widget library (zii.php). This provides localized error messages, UI labels, and validation text for Hungarian-speaking users, covering components such as database connections, caching, file uploads, and grid views.
framework/messages/hu · high confidence
Added Indonesian (id) language translations for framework and Zii components
This change introduces the initial Indonesian language translation files for the Yii framework and its Zii component library. Users can now see system messages, error descriptions, and UI labels (such as 'Delete', 'Update', 'View', and pagination controls) in Indonesian, improving accessibility for Indonesian-speaking applications.
framework/messages/id · high confidence
Added Indonesian and Romanian translations for framework error and log views
This update adds new view files for the Indonesian (id) and Romanian (ro) locales, covering standard HTTP error pages (400, 403, 404, 500, 503) and developer tools (log, profiling callstack, and profiling summary displays). Users with these languages configured will now see localized error messages and debug information, such as 'Kesalahan' (Indonesian) and 'Eroare' (Romanian), instead of default English text.
framework/views/id, framework/views/ro · high confidence
Added Italian language translations for framework and Zii components
Users can now see error messages, validation feedback, and UI labels in Italian. This change introduces the initial Italian translation files (\yii.php\ and \zii.php\) for the core framework and the Zii widget library, covering common scenarios such as database connection errors, Active Record validation, file upload limits, and grid view controls.
framework/messages/it · high confidence
Added Italian translations for framework error and logging views
This change introduces a complete set of Italian language view templates for the framework's error handling and logging subsystems. Users will now see localized error messages (for HTTP 400, 403, 404, 500, and 503 errors) and Italian-labeled tables for application logs and profiling summaries. Additionally, Firebug console output for logs and profiling reports is now displayed in Italian, improving the developer experience for Italian-speaking users.
framework/views/it · high confidence
Added Japanese (ja) framework and Zii message translations
New Japanese translation files have been added for the Yii framework core (yii.php) and the Zii widget library (zii.php). These files provide localized error messages, validation strings, and UI labels for Japanese-speaking users, covering components such as database connections, caching, security, and form validation.
framework/messages/ja · high confidence
Added Japanese and Norwegian error and log view templates
The framework now includes localized view templates for error pages (400, 403, 404, 500, 503), exceptions, and logging (application logs, profiling callstacks, and summaries) in both Japanese (ja) and Norwegian (no). These new files provide user-facing messages and UI labels in the respective languages, ensuring that end-users see appropriate error descriptions and log information in their preferred language when these framework components are rendered.
framework/views/ja · high confidence
Added Kazakh (kk) language translations for Yii framework
New translation files for the Kazakh language (kk) have been added to the framework, covering core Yii messages (yii.php) and the ZII extension (zii.php). This enables users to display framework error messages, validation errors, and UI components in Kazakh.
framework/messages/kk · high confidence
Added Korean (ko\_kr) language translations for the framework and Zii components
New Korean translation files have been added for the core framework (yii.php) and the Zii component library (zii.php). This provides localized error messages, UI labels, and validation text for Korean-speaking users, covering areas such as database operations, caching, session management, and grid view controls.
_framework/messages/ko\kr · high confidence
Added LaTeX source files for the Yii blog documentation
New LaTeX source files (blog.tex, license.tex, preamble.tex, title.tex) have been added to the build/commands/blog directory, establishing the structure and styling for the 'Building a Blog System using Yii' documentation. This includes the main document class, title page with copyright 2008-2013, BSD license text, and page layout configurations.
build/commands/blog · high confidence
Added Latvian (lv) message translations for Yii and Zii components
New Latvian translation files (framework/messages/lv/yii.php and framework/messages/lv/zii.php) have been added to the framework. These files provide localized error messages, validation strings, and UI labels for core Yii components and the Zii widget library, enabling users to display framework feedback in Latvian.
framework/messages/lv · high confidence
Added Latvian language views for error pages and logging
This change introduces a complete set of Latvian (lv) localized views for the framework's error handling and debugging interfaces. Users will now see error messages (400, 403, 404, 500, 503) and log/profiling outputs rendered in Latvian when the application language is set to Latvian. The new files include standard HTML error pages with localized headings and instructions, as well as Firebug-compatible JavaScript console views and HTML table views for application logs and profiling callstacks/summaries.
framework/views/lv · high confidence
Added Lithuanian (lt) localization for framework views
This change introduces a complete set of Lithuanian language view files for the framework's error pages, exception displays, and logging interfaces. Users will now see error messages (such as 400, 403, 404, 500, and 503), exception details, and log/profiling summaries rendered in Lithuanian when the application locale is set to 'lt'. The included views cover standard HTTP errors, detailed exception traces with source code highlighting, and both HTML and Firebug-compatible logging outputs.
framework/views/lt · high confidence
Added MySQL and SQLite schema files with test user data
The CLI skeleton application now includes dedicated SQL schema files for both MySQL and SQLite databases. These files define a \tbl\_user\ table containing \id\, \username\, \password\, and \email\ columns, and pre-populate the table with 21 test user records to facilitate immediate testing and development setup.
framework/cli/views/webapp/protected/data · high confidence
Added Norwegian (no) translations for framework and zii components
Users can now see interface messages in Norwegian. This change adds the \framework/messages/no/yii.php\ and \framework/messages/no/zii.php\ translation files, providing localized strings for core framework errors, validation messages, and zii widget labels (such as grid view and CRUD actions).
framework/messages/no · high confidence
Added Persian (Farsi) language translations for the framework and Zii widgets
Users can now see interface messages in Persian (Farsi) when selecting the 'fa\_ir' locale. This change introduces two new translation files, \framework/messages/fa\_ir/yii.php\ and \framework/messages/fa\_ir/zii.php\, which provide localized strings for core framework errors (such as validation and database connection issues) and Zii widget labels (such as grid view sorting, pagination, and action buttons like 'Delete' and 'Update').
_framework/messages/fa\ir · high confidence
Added Phone Book demo with SOAP web service
The Phone Book demo has been added to the framework, providing a complete example of implementing a SOAP web service using Yii. This includes a SiteController that exposes CRUD operations for contacts (login, getContacts, saveContact, deleteContact) via SOAP, a UserIdentity component for basic authentication, a Contact model backed by an SQLite database, and a Flex-based client interface for interacting with the service.
demos/phonebook/protected · high confidence
Added Polish language translations for framework and Zii components
This change introduces the initial Polish (pl) localization files for the Yii framework. It adds \framework/messages/pl/yii.php\ containing translations for core framework messages (such as database connection errors, validation messages, and configuration warnings) and \framework/messages/pl/zii.php\ containing translations for the Zii widget library (including grid view, list view, and form messages). Users will now see these interface elements in Polish when the application locale is set to 'pl'.
framework/messages/pl · high confidence
Added Polish translations for framework error and log views
This change introduces a complete set of Polish language translations for the framework's user-facing views. It adds new PHP view files for HTTP error pages (400, 403, 404, 500, 503) and general errors, ensuring that error messages, titles, and instructions are displayed in Polish. Additionally, it provides Polish translations for the application log and profiling views, including both standard HTML table layouts and Firebug console output formats, allowing developers and users to see log and profiling data in their native language.
framework/views/pl · high confidence
Added Portuguese (Brazil) translations for framework and Zii components
Users can now see error messages, validation feedback, and UI labels in Brazilian Portuguese. This change introduces the \yii.php\ and \zii.php\ translation files in \framework/messages/pt\_br\, covering core framework errors (such as database connection issues, active record constraints, and file upload limits) and Zii widget messages (such as grid view sorting, pagination, and CRUD actions).
_framework/messages/pt\br · high confidence
Added Portuguese (pt) localization for framework error and log views
This change introduces a complete set of Portuguese-language view templates for the framework's error pages (400, 403, 404, 500, 503) and logging interfaces (application log, profiling summary, and profiling callstack). Users with Portuguese locale settings will now see error messages, log headers, and profiling reports displayed in Portuguese, improving readability for non-English speakers.
framework/views/pt · high confidence
Added Portuguese (pt) message translations for the framework and Zii components
New Portuguese translation files have been added for the Yii framework (\framework/messages/pt/yii.php\) and the Zii component library (\framework/messages/pt/zii.php\). These files provide localized error messages, validation strings, and UI labels (such as 'Delete', 'Update', and 'View') for Portuguese-speaking users, enabling proper internationalization for database errors, file uploads, caching configurations, and grid view interactions.
framework/messages/pt · high confidence
Added Post and Site controllers to the lite build command
The 'build lite' command now includes PostController and SiteController, providing full CRUD operations for posts (list, show, create, update, delete) and site management features including a login form, logout, and CAPTCHA support. PostController implements access control to restrict delete actions to authenticated users, while SiteController handles user authentication flows and renders the default index view.
build/commands/lite/protected/controllers · high confidence
Added Romanian language translations for framework and Zii components
Users can now see interface messages in Romanian. This change introduces two new translation files, \framework/messages/ro/yii.php\ and \framework/messages/ro/zii.php\, containing localized strings for core framework errors, validation messages, and Zii widget labels (such as grid view and form controls). The translations utilize proper Romanian diacritics and cedilla characters to ensure correct display.
framework/messages/ro · high confidence
Added Russian and Hebrew framework message translations
Added new localization files for the Russian (ru) and Hebrew (he) languages, providing translated user-facing strings for the core framework (yii.php) and the ZII widget library (zii.php). These files enable proper display of error messages, validation prompts, and UI labels in Russian and Hebrew for applications using this framework.
framework/messages/ru · high confidence
Added Russian language views for error pages and logging
This change introduces a complete set of Russian-language view templates for the framework's error handling and debugging interfaces. Users will now see localized error messages for HTTP status codes (400, 403, 404, 500, 503) and standard application errors, as well as Russian labels for the web log display and profiling callstack/summary tables. Additionally, Firebug console output for logs and profiling is now displayed in Russian.
framework/views/ru · high confidence
Added Serbian (Cyrillic and Latin) message translations for Yii and Zii components
New translation files have been added for the Serbian locale, providing localized error messages and UI strings for both the core Yii framework and the Zii widget library. The \sr\_sr\ directory contains translations in the Cyrillic script, while the \sr\_yu\ directory provides the same content in the Latin script, ensuring users can see framework messages in their preferred Serbian writing system.
_framework/messages/sr\_sr, framework/messages/sr\yu · high confidence
Added Slovak (sk) language translations for the framework and Zii widgets
This change introduces the initial Slovak localization files for the Yii framework (\yii.php\) and the Zii widget library (\zii.php\). Users with their application locale set to Slovak will now see interface messages, error descriptions, and widget labels translated into their language, covering core components like Active Record, CDbConnection, CSecurityManager, and grid/list views.
framework/messages/sk · high confidence
Added Slovak (sk) localization for error pages and logging views
This change introduces a complete set of Slovak language view templates for the framework's error handling and logging subsystems. Users will now see error messages (400, 403, 404, 500, 503) and log outputs rendered in Slovak when the application locale is set to 'sk'. The included views cover standard HTTP error pages, application logs, and profiling summaries for both browser console (Firebug) and HTML table displays, ensuring consistent localization across the framework's diagnostic interfaces.
framework/views/sk · high confidence
Added Spanish (es) localization for error pages and debug views
This change introduces a complete set of Spanish-language view templates for the framework's error handling and debugging interfaces. Users will now see error messages (400, 403, 404, 500, 503) and log/profiling displays rendered in Spanish when the application locale is set to 'es'. The new files include standard HTML error pages with localized text (e.g., 'Página no encontrada', 'No Autorizado') and PHP-based views for the Firebug console and table-based log displays, ensuring consistent localization across both user-facing errors and developer tools.
framework/views/es · high confidence
Added Spanish language translations for framework and Zii components
Users can now see interface messages in Spanish. This change adds the \framework/messages/es/yii.php\ and \framework/messages/es/zii.php\ translation files, providing Spanish equivalents for core framework error messages (such as database and validation errors) and Zii widget labels (such as grid view actions and pagination text).
framework/messages/es · high confidence
Added Swedish (sv) message translations for the framework and Zii components
New Swedish translation files have been added for the Yii framework core (yii.php) and the Zii component library (zii.php). These files provide localized error messages, validation strings, and UI labels for Swedish-speaking users, covering areas such as database connections, caching, security, and active record relations.
framework/messages/sv · high confidence
Added Swedish (sv) translations for framework error, log, and profiling views
This change introduces a complete set of Swedish-language view templates for the framework's error pages (e.g., 404, 500), application logs, and profiling reports. Users with Swedish localization enabled will now see error messages, log headers, and profiling summaries in Swedish, improving clarity for non-English speakers when debugging or encountering server errors.
framework/views/sv · high confidence
Added Tamil (India) translations for framework and Zii components
New localization files for the Tamil (India) language (\ta\_in\) have been added for the core Yii framework (\yii.php\) and the Zii widget library (\zii.php\). This provides translated error messages, validation strings, and UI labels for users interacting with the application in this language.
_framework/messages/ta\in · high confidence
Added Text\_Diff component for code diffing in Gii
The Gii code generator now includes the Pear Text\_Diff library, enabling it to compute and render diffs. This addition introduces support for three-way diffs (via Text\_Diff\_ThreeWay) and provides multiple rendering formats, including unified, context, and inline (HTML-wrapped) outputs, which Gii can use to display code changes.
framework/gii/components/Pear/Text/Diff · high confidence
Added Thai language message translations
Added the Thai (th) message translation file for the Yii framework, providing localized strings for error messages, validation rules, and UI components. This enables applications using the Thai locale to display framework messages in Thai instead of English.
framework/messages/th · high confidence
Added Traditional Chinese (zh\_tw) translations for framework and Zii components
New localization files have been added for Traditional Chinese (zh\_tw), providing translated error messages and UI strings for both the core Yii framework (yii.php) and the Zii widget library (zii.php). This ensures that users with this locale setting will see appropriate Chinese text for validation errors, configuration messages, and common interface actions like 'Delete', 'Update', and 'View'.
_framework/messages/zh\tw · high confidence
Added Turkish language translations for framework and Zii components
New Turkish translation files have been added for the core framework (yii.php) and the Zii widget library (zii.php). This ensures that system error messages, validation feedback, and UI labels are displayed in Turkish for users of the application.
framework/messages/tr · high confidence
Added Ukrainian translations for framework views
This change adds a complete set of Ukrainian language translations for the framework's view files, including error pages (400, 403, 404, 500, 503), exception details, and logging/profiling outputs (both web and Firebug console formats). Users with Ukrainian locale settings will now see interface text such as error messages, log headers, and profiling reports in Ukrainian instead of the default language.
framework/views/uk · high confidence
Added Vietnamese (vi) language translations for the framework and Zii widgets
This change introduces the initial Vietnamese localization files for the Yii framework (\yii.php\) and the Zii widget library (\zii.php\). Users with their application language set to Vietnamese will now see system messages, error descriptions, and UI labels (such as pagination, CRUD actions, and validation errors) translated into Vietnamese instead of the default English.
framework/messages/vi · high confidence
Added Yii-based lite command entry point and configuration
A new lite command entry point has been added at build/commands/lite/index.php, which initializes a Yii web application using the configuration file build/commands/lite/protected/config/main.php. This configuration sets up the application base path, imports models and components, and configures a SQLite database connection pointing to source.db along with an asset manager base path.
build/commands/lite, build/commands/lite/protected/config · high confidence
Added bootstrap files and Mercurial ignore rules for the web application template
The web application template now includes dedicated bootstrap files for production (index.php) and testing (index-test.php), allowing users to easily distinguish between main and test application configurations. Additionally, a new hg-hgignore file has been added to properly configure Mercurial version control, ensuring that generated assets, runtime data, and test reports are ignored while preserving necessary keep files.
framework/cli/views/webapp · high confidence
Added default CSS styles for Yii command-line generated forms and pages
New CSS files (form.css and main.css) have been added to the build/commands/lite/css directory to provide default styling for user interfaces generated by the yiic script. These styles define the appearance of form layouts, input fields, error summaries, and data grids, as well as the overall page structure including headers, menus, and footers, ensuring a consistent look for scaffolded applications.
build/commands/lite/css · high confidence
Added default controller shell for CLI modules
A new DefaultController class has been added to the CLI module shell, providing a standard entry point with an actionIndex method that renders the corresponding index view. This serves as a template for developers creating new CLI modules within the framework.
framework/cli/views/shell/module/controllers · high confidence
Added default module template with init and beforeControllerAction hooks
A new PHP template for generating CLI modules has been added. This template defines a module class extending CWebModule, automatically configuring import paths for models and components in the init method, and providing a beforeControllerAction hook to allow customization before any controller action is executed.
framework/cli/views/shell/module · high confidence
Added default module view template and layout ignore rule
The CLI shell now includes a default index view template for newly generated modules, providing a standard layout with breadcrumbs and action details. Additionally, a .gitignore file has been added to the module layouts directory to exclude generated layout files from version control.
framework/cli/views/shell/module/views · high confidence
Added form generation templates to the yiic shell tool
The yiic shell tool now includes templates for generating form views and their corresponding controller actions. This allows developers to automatically scaffold standard CRUD form interfaces and the associated action logic for a given model class directly from the command line.
framework/cli/views/shell/form · high confidence
Added login form and post model classes
The application now includes a LoginForm class to handle user authentication, including validation for username, password, and optional CAPTCHA, as well as a Post model class to manage blog post data with validation rules for title and author ID.
build/commands/lite/protected/models · high confidence
Added main layout template for the lite command
A new main layout file (main.php) has been added to the lite command's view directory. This layout defines the standard HTML structure for the application, including links to main and form CSS stylesheets, a header with a logo and a dynamic navigation menu (Home, Login, Logout), a content area for page-specific views, and a footer with copyright information.
build/commands/lite/protected/views/layouts · high confidence
Added main menu widget and demo authentication component
The application now includes a MainMenu widget that renders navigation items as an HTML list, supporting visibility toggles, dynamic URL generation, and active-state highlighting based on controller/action patterns and GET parameters. Additionally, a UserIdentity component has been added to handle authentication, currently configured with a hardcoded demo user (username: 'demo', password: 'demo') for testing purposes.
build/commands/lite/protected/components · high confidence
Added native PHP diff engine for Gii code generation
The Gii code generator now includes a new native PHP implementation for computing text diffs (Text\_Diff\_Engine\_native) alongside existing shell, string, and xdiff engines. This change enables Gii to generate code diffs without relying on external system utilities like the Unix \diff\ command or the xdiff PECL extension, improving compatibility and performance in environments where those dependencies are unavailable or slow.
framework/gii/components/Pear/Text/Diff/Engine · high confidence
Added post management views
The application now includes the view templates for the post resource, enabling users to create, list, view, and update posts. These new files (create.php, list.php, show.php, update.php) provide the user interface for managing post content, including forms for inputting title, author, and content, as well as a table view for listing existing posts with options to edit or delete them.
build/commands/lite/protected/views/post · high confidence
CLI shell model command now generates fixtures, unit tests, and improved model templates
The yiic shell model command has been enhanced to generate additional scaffolding files alongside the ActiveRecord model. It now creates a fixture template (fixture.php) for database test data, a unit test skeleton (test.php) extending CDbTestCase, and an updated model template (model.php) that uses @property PHPDoc annotations for better IDE code completion. These additions allow developers to quickly set up testing infrastructure and improve development experience when generating model classes from database tables.
framework/cli/views/shell/model · high confidence
CRUD code generator templates now include admin view with search and access control
The CLI shell command for generating CRUD operations now produces a complete set of view and controller templates that include an 'admin' action. This action renders a grid view with built-in search functionality, allowing users to filter records using comparison operators. The generated controller also enforces access control, restricting the admin and delete actions to the 'admin' user while allowing public access to index and view actions.
framework/cli/views/shell/crud · high confidence
Code generation preview and diff capabilities added to Gii
The Gii code generator now includes a preview interface that allows users to review generated code before applying changes. This update introduces a file type selector for code highlighting (PHP, JS, CSS, SQL, TXT) and adds the ability to view diffs for files that will be overwritten, enabling users to inspect specific changes. The generator view also supports selecting from multiple code templates and provides a confirmation table to selectively generate or skip individual files.
framework/gii/views/common · high confidence
Controller actions now support automatic parameter binding
The framework's action classes (CAction, CInlineAction, CViewAction) now automatically bind request parameters to action method arguments using reflection. When an action method defines parameters, the framework matches incoming request data to these arguments by name, handling type coercion for arrays and respecting default values. This allows developers to define cleaner action signatures (e.g., public function run($id, $type)) without manually parsing $\_GET or $\_POST, improving code readability and reducing boilerplate in controllers.
framework/web/actions · high confidence
Generated webapp skeleton now includes SiteController with contact, login, and error handling
The yiic webapp tool now generates a SiteController that provides essential default actions for new applications. Users will get a contact form (actionContact) that properly handles UTF-8 encoding in email headers, a login/logout flow (actionLogin/actionLogout) with AJAX validation support, an error display handler (actionError) that distinguishes between AJAX and standard requests, and static page rendering (actionPage). The controller also includes CAPTCHA support for the contact form and serves as the default entry point (actionIndex) for the generated application.
framework/cli/views/webapp/protected/controllers · high confidence
Initial Controller Generator UI in Gii
The Gii code generation tool now includes a user interface for generating controller classes. This new view allows users to specify the controller ID, the base class to extend, and a list of action IDs to generate. The interface provides helpful tooltips explaining case-sensitivity rules for controller IDs and module names, as well as instructions for separating multiple action IDs.
framework/gii/generators/controller/views · high confidence
Initial French translations for framework and Zii components
Added the initial French translation files (\yii.php\ and \zii.php\) for the framework and Zii component libraries. This provides localized error messages, validation strings, and UI labels (such as 'Delete', 'Update', 'View') for French-speaking users, covering database operations, caching, security, and grid view interactions.
framework/messages/fr · high confidence
Initial GII framework login model added
The framework now includes a LoginForm model for the GII module, enabling password-based authentication. This model validates the password field and uses the UserIdentity component to authenticate users, allowing successful logins via the application's user session.
framework/gii/models · high confidence
Initial Gii Code Generator interface
The Gii module now provides its default user interface, introducing the login page for password entry, the main index page listing available code generators, and an error display view. This establishes the entry point and navigation for the Yii Code Generator tool.
framework/gii/views/default · high confidence
Initial Gii Model Generator Template
Adds the default template for the Gii model generator, enabling users to automatically generate ActiveRecord model classes from database tables. The generated code includes property definitions, validation rules, relation mappings, attribute labels, and a search method, with support for specifying custom database connections.
framework/gii/generators/model/templates · high confidence
Initial Gii code generator UI layout
The Gii module now includes its own view layouts (main, column1, generator) that define the visual structure for the code generation interface. This introduces a sidebar listing available generators, a main content area, and specific styling via Blueprint CSS, jQuery, and Fancybox assets, providing the foundational UI for the Gii tool.
framework/gii/views/layouts · high confidence
Initial Gii interface styling added
The Gii code generation tool now includes a dedicated visual style for its web interface. This change introduces a set of CSS assets (main, screen, print, and IE-specific stylesheets) that define the layout, typography, and color scheme for Gii's pages, including support for flash messages, forms, and code previews.
framework/gii/assets/css · high confidence
Initial Greek language translations for framework and Zii components
Added the initial Greek (el) translation files for the Yii framework core (yii.php) and the Zii widget library (zii.php). These files provide localized error messages, validation strings, and UI labels for database connections, caching, security, file uploads, and grid/list views, ensuring that Greek-speaking users see appropriate system messages instead of English defaults.
framework/messages/el · high confidence
Initial MSSQL database abstraction layer support
Adds a complete set of classes to enable Yii to connect to and interact with Microsoft SQL Server databases. This includes schema introspection (CMssqlSchema), command building for queries and updates (CMssqlCommandBuilder), and specific PDO adapters (CMssqlPdoAdapter and CMssqlSqlsrvPdoAdapter) to handle MSSQL-specific behaviors such as identity column management, transaction support, and limit/offset pagination across different SQL Server versions.
framework/db/schema/mssql · high confidence
Initial Oracle (OCI) database schema support
The framework now includes a dedicated Oracle database driver, adding the COciSchema, COciColumnSchema, COciTableSchema, and COciCommandBuilder classes to the framework/db/schema/oci directory. This enables users to connect to Oracle databases, automatically retrieve table and column metadata (including handling of schema prefixes and column comments), and execute queries with Oracle-specific syntax for pagination (LIMIT/OFFSET) and sequence-based last-insert-ID retrieval.
framework/db/schema/oci · high confidence
Initial PostgreSQL schema abstraction layer
The framework now includes a dedicated PostgreSQL database schema component, introducing CPgsqlSchema, CPgsqlColumnSchema, CPgsqlTableSchema, and CPgsqlCommandBuilder. This addition enables the framework to correctly map PostgreSQL-specific data types (such as serial, bigserial, and timestamp), handle schema-qualified table names, and manage database metadata retrieval for PostgreSQL databases.
framework/db/schema/pgsql · high confidence
Initial Ukrainian localization for framework and Zii components
Added the first complete Ukrainian translations for the Yii framework core messages (yii.php) and the Zii widget library (zii.php). This enables Ukrainian users to see localized error messages, validation feedback, and UI labels for components such as CGridView, CListView, and CForm.
framework/messages/uk · high confidence
Initial message translation configuration for Yii framework
The framework now includes a configuration file for the 'yiic message' command, enabling the generation of message translations. This configuration defines the source and message paths, specifies a comprehensive list of supported languages (including Arabic, Bulgarian, Czech, Finnish, Slovak, Ukrainian, and others), and sets the overwrite option to true to allow merging results to overwrite existing files.
framework/messages · high confidence
Initial release of CGridView and CListView assets
This change introduces the initial JavaScript and CSS assets for the CGridView and CListView widgets. The new jquery.yiigridview.js file provides the client-side logic for AJAX-powered grid interactions, including row selection, filtering, pagination, and sorting, along with support for HTML5 history state management via History.js. The accompanying styles.css file defines the visual appearance of the grid, including table styling, row highlighting for selected and hovered states, and pager layout.
framework/zii/widgets/assets/gridview · high confidence
Initial release of CListView widget with AJAX and History API support
This change introduces the CListView widget and its associated JavaScript and CSS assets. The widget enables AJAX-based content updates for list views, allowing users to refresh list items without full page reloads. It includes support for the HTML5 History API (via History.js) to manage browser history during AJAX updates, configurable AJAX request types (GET/POST), and custom error handling callbacks. The accompanying CSS provides styling for the list view, including loading states, pagination, and sorting controls.
framework/zii/widgets/assets/listview · high confidence
Initial release of Gii code generator interface
This change introduces the JavaScript assets for the new Gii code generator framework, adding main.js for form interactions (such as sticky attribute editing, preview selection, and code view via Fancybox) and a custom tooltip.js library to replace the deprecated jQuery UI tooltip with jQuery Tools compatibility.
framework/gii/assets/js · high confidence
Initial release of the Gii code generation module
The Gii module is introduced as a new component for code generation. This release includes the TextDiff component, which enables text comparison and diff rendering capabilities, and the UserIdentity component, which implements password-based authentication for the module, requiring a 'password' configuration property to be set.
framework/gii/components · high confidence
Initial release of the Yii Requirements Checker tool
This change introduces the \requirements\ application, a standalone tool that checks if a server environment meets the necessary conditions to run Yii applications. The checker verifies core PHP version (5.1.0+), essential extensions (Reflection, PCRE, SPL), and optional extensions for specific features such as database connectivity (PDO drivers for SQLite, MySQL, PostgreSQL, Oracle, MSSQL, ODBC), caching (Memcache, APC), security (Mcrypt, CRYPT\_BLOWFISH), and image generation (GD with FreeType or ImageMagick). It also validates server variables and provides localized messages in multiple languages to guide users through any missing dependencies.
requirements · high confidence
Initial release of the zii grid view widget suite
This change introduces the complete set of grid view components for Yii 1.1, including CGridView, CDataColumn, CButtonColumn, CCheckBoxColumn, CLinkColumn, and the base CGridColumn. These widgets provide a table-based interface for displaying data lists with built-in support for sorting, pagination, AJAX updates, filtering, and row selection. CButtonColumn allows for customizable action buttons (view, update, delete) with configurable URLs and labels, while CCheckBoxColumn supports single or multiple row selection with optional header-level 'select all' functionality. CDataColumn handles data rendering with various formatting types and sortable/filterable attributes, and CLinkColumn renders hyperlinks in grid cells.
framework/zii/widgets/grid · high confidence
Initial release of web helper classes
The framework now includes the \framework/web/helpers\ directory containing core HTML and JavaScript helper utilities. This adds \CHtml\ for generating HTML elements and forms, \CJSON\ for encoding and decoding JSON data, \CJavaScript\ for quoting and encoding JavaScript values, \CJavaScriptExpression\ for handling raw JavaScript code, and \CGoogleApi\ for loading Google API modules. These classes provide the foundational tools for building web views and handling client-side data interchange.
framework/web/helpers · high confidence
Introduce Model Generator with database connection selection and autocomplete
The Gii Model Generator now includes a user interface for selecting a specific database connection, which dynamically updates the table name autocomplete source via AJAX. The table name input supports autocomplete to help users select existing tables, and entering a wildcard (\*) allows for generating models for all tables. Additionally, the generator provides options to specify a table prefix for naming conventions, choose a base class, define the output path, and toggle the generation of relations and the use of column comments as attribute labels.
framework/gii/generators/model/views · high confidence
Introduction of Gettext message file parsing classes
The framework now includes CGettextFile, CGettextMoFile, and CGettextPoFile classes to handle Gettext message files. CGettextMoFile enables reading and writing binary MO files, including support for context-based message filtering and endianness detection. CGettextPoFile provides parsing and generation of PO files, with improved handling of multiline msgid/msgstr declarations and proper encoding/decoding of special characters. These classes form the foundation for Gettext-based internationalization support in the framework.
framework/i18n/gettext · high confidence
Introduction of Gii code generator web interface
The Gii module is now available as a web-based code generator for Yii. This change introduces the DefaultController, which provides the entry point for the Gii interface, including actions for displaying the main index page, handling login/logout functionality via a LoginForm model, and rendering error pages. This enables users to access the code generation tools through a browser.
framework/gii/controllers · high confidence
Introduction of Yii Web Services Framework
This change introduces the core components for building SOAP-based web services in Yii. It adds CWebService to handle SOAP server logic and WSDL generation, CWebServiceAction to expose services via controller actions, and CWsdlGenerator to automatically generate WSDL from PHP docblocks. The generator supports RPC and document/literal styles, complex type mapping, and custom WSDL injection, enabling developers to expose PHP classes as remote APIs with minimal configuration.
framework/web/services · high confidence
Introduction of hierarchical RBAC and access control filter
The framework now includes a complete Role-Based Access Control (RBAC) system and an access control filter. Developers can define a hierarchy of authorization items (operations, tasks, and roles) and assign them to users via the new CAuthManager base class and its CDbAuthManager and CPhpAuthManager implementations. The CAccessControlFilter allows controllers to enforce these permissions by checking rules based on users, roles, IP addresses, and request verbs. Additionally, the CWebUser component has been enhanced to support cookie-based auto-login, authentication timeouts, and flash messages, while CBaseUserIdentity provides a standard interface for persistent identity states.
framework/web/auth · high confidence
Introduction of jQuery UI widget wrappers
The framework now includes a suite of PHP widgets in the \zii.widgets.jui\ namespace that wrap jQuery UI components, allowing developers to easily integrate interactive UI elements like accordions, date pickers, dialogs, sliders, and tabs into Yii views. These widgets (including \CJuiWidget\, \CJuiInputWidget\, \CJuiAccordion\, \CJuiAutoComplete\, \CJuiButton\, \CJuiDatePicker\, \CJuiDialog\, \CJuiDraggable\, \CJuiDroppable\, \CJuiProgressBar\, \CJuiResizable\, \CJuiSelectable\, \CJuiSlider\, \CJuiSliderInput\, \CJuiSortable\, and \CJuiTabs\) automatically handle the registration of the necessary jQuery and jQuery UI JavaScript and CSS assets, and expose jQuery UI plugin options through the widget's \options\ property.
framework/zii/widgets/jui · high confidence
Introduction of the CActiveForm widget for interactive data validation
The framework now includes the CActiveForm widget, which simplifies the creation of complex HTML forms associated with data models by providing built-in support for server-side, AJAX-based, and client-side validation. This allows developers to enable real-time validation feedback via AJAX requests or JavaScript without manual implementation, while ensuring data validity through consistent server-side checks. The widget also supports features such as focus management, validation delay configuration, and customizable error message CSS classes to enhance user interaction.
framework/web/widgets · high confidence
Introduction of the DB Schema and Query Builder component layer
This change introduces the core database abstraction classes for the framework, establishing the foundation for schema introspection and SQL generation. It adds CDbSchema as the base class for retrieving database metadata (tables, columns, constraints) with support for schema caching and prefix handling, and CDbTableSchema/CDbColumnSchema to represent table and column structures. It also introduces CDbCommandBuilder to generate SQL commands (SELECT, COUNT, DELETE, etc.) from CDbCriteria objects, and CDbCriteria to define query conditions, ordering, and limits. Additionally, CDbExpression is added to allow raw SQL expressions to be embedded safely in queries.
framework/db/schema · high confidence
Introduction of the Gii web-based code generation module
Adds the Gii module to the framework, providing a web interface for generating boilerplate code such as models, forms, CRUDs, and modules. The module includes core classes (GiiModule, CCodeGenerator, CCodeModel, CCodeFile, CCodeForm) to handle code generation, preview, and diffing, along with sticky attributes to preserve user inputs across sessions. It enforces security by defaulting to localhost-only access and requiring a password, while allowing configuration of file and directory permissions for generated outputs.
framework/gii · high confidence
Introduction of the HTTP Cache Filter
A new CHttpCacheFilter is now available to implement client-side HTTP caching via ETags and Last-Modified headers. This filter automatically handles 304 Not Modified responses, sends appropriate Cache-Control headers, and restricts caching logic to GET and HEAD requests as per RFC standards. It also includes a fix to ensure Cache-Control headers are correctly sent even when a 304 response is generated.
framework/web/filters · high confidence
Introduction of the Yii 1.1 database abstraction layer
This change introduces the core database components for the framework, including CDbConnection for managing database connections, CDbCommand for executing SQL statements and building queries, CDbDataReader for iterating over result sets, CDbTransaction for handling database transactions, and CDbMigration for managing schema changes. It also adds CDbException for error handling. This provides the foundational API for interacting with various database management systems through a unified interface.
framework/db · high confidence
Introduction of the Yii 1.1 framework base classes
The framework/base directory now contains the foundational classes for the Yii 1.1 application structure. This includes the core application entry point (CApplication), the module system (CModule), and the component architecture (CComponent, CApplicationComponent). It introduces a robust behavior system (CBehavior, CModelBehavior) allowing dynamic method and property injection into components. Data handling is supported by the model validation framework (CModel, CModelEvent) and a new database-backed state persistence mechanism (CDbStatePersister). Security and error management are provided by CSecurityManager (supporting customizable hashing and encryption algorithms) and CErrorHandler (featuring distinct development and production error views, AJAX support, and configurable trace limits).
framework/base · high confidence
New API documentation generation model
Added ApiModel, a new component for the build/commands/api tool that processes PHP source files to generate framework documentation. It reflects classes, interfaces, methods, properties, and events using reflection, parses PHPDoc comments (including @param types and inline links), and supports displaying code snippets within \<pre\> tags in class descriptions.
build/commands/api · high confidence
New CLI commands for message extraction, database migrations, interactive shell, and web app scaffolding
The framework now includes four new console commands to streamline development workflows. MessageCommand extracts translatable strings from source files into PHP arrays, supporting multiple translators, sorting, and obsolete message removal. MigrateCommand manages database schema changes with support for up/down/redo operations, transaction handling, and proper exit codes. ShellCommand provides an interactive REPL for testing application code and generating models/controllers. WebAppCommand scaffolds new Yii web applications, including support for Git and Mercurial version control configurations.
framework/cli/commands · high confidence
New CSS styles for API documentation layout and code blocks
The API documentation generator now includes dedicated CSS files (api.css and style.css) to define the visual presentation of the generated pages. These styles establish a consistent look for code snippets with syntax highlighting backgrounds, format summary tables with specific borders and padding, and style navigation and header/footer elements, ensuring the API reference pages render with a professional, readable layout.
build/commands/api/assets/css · high confidence
New Form Generator in Gii
The Gii code generation tool now includes a Form generator, allowing users to automatically generate form views and associated controller actions based on an existing CModel class. This new capability adds the FormCode model and FormGenerator class to the framework, enabling the creation of form templates and the necessary controller code to render them.
framework/gii/generators/form, framework/gii/generators/module/views · high confidence
New Module Generator added to Gii
The Gii code generation tool now includes a Module generator, allowing users to scaffold new application modules. This addition introduces ModuleGenerator and ModuleCode classes that handle the creation of module directories and files, including support for empty subdirectories via .gitkeep files, and provides instructions for registering the generated module in the application configuration.
framework/gii/generators/module · high confidence
New Phing build tasks for Yii initialization and PEAR packaging
The build system now includes two new Phing tasks: YiiInitTask, which automatically detects and sets properties for the Yii version, SVN/GIT revision, release date, and operating system, and YiiPearTask, which generates PEAR package files for the framework using configurable metadata and dependencies.
build/tasks · high confidence
New Prado-style view renderer with base abstraction
The framework now includes a new view rendering system located in framework/web/renderers. A new abstract base class, CViewRenderer, provides the core infrastructure for intercepting view rendering, parsing source files into temporary PHP files, and managing cache/runtime paths. Building on this, CPradoViewRenderer is introduced as a concrete implementation that allows developers to configure a 'viewRenderer' application component to use a PRADO-like template syntax (e.g., \<%= expression %\>, \<com:WidgetClass\>, \<cache:fragmentID\>) in their view files, which is then automatically converted to standard PHP code.
framework/web/renderers · high confidence
New and updated validators with client-side support
The framework introduces several new validators—CBooleanValidator, CCaptchaValidator, CDateValidator, CDefaultValueValidator, CFilterValidator, CInlineValidator, and CRegularExpressionValidator—alongside significant updates to existing ones like CCompareValidator, CEmailValidator, CExistValidator, CFileValidator, CNumberValidator, CRangeValidator, and CRequiredValidator. A key behavioral change across these components is the addition of client-side validation support (via clientValidateAttribute) for CBooleanValidator, CCaptchaValidator, CCompareValidator, CEmailValidator, CFileValidator, CNumberValidator, CRangeValidator, and CRegularExpressionValidator, allowing for immediate feedback in the browser. Additionally, CFileValidator now supports multiple file uploads and MIME-type validation, CEmailValidator includes IDN support and configurable MX port checking timeouts, and CCompareValidator now supports various comparison operators beyond simple equality.
framework/validators · high confidence
New blog demo configuration files added
The blog demo now includes dedicated configuration files for console, main web, test, and parameter settings. The main configuration sets up SQLite as the default database with a 'tbl\_' table prefix, enables cookie-based user authentication, and defines URL rules for posts and tags. Test configuration merges with the main config to use a separate SQLite database for fixtures. Parameter configuration defines default values for site title, admin email, pagination, and comment approval settings.
demos/blog/protected/config · high confidence
New build automation and documentation generation tools
The build directory now includes a complete set of tools for generating Yii release packages and documentation. A new Phing build file (build.xml) automates the creation of source, documentation, and PEAR packages, while a new PHP CLI script (build) serves as the entry point for these tasks on Unix-like systems, accompanied by a Windows batch wrapper (build.bat). Additionally, a new script (generate\_accessors\_phpdoc.php) has been added to automatically generate PHPDoc property annotations for the framework classes, and .htaccess files have been added to restrict direct web access to sensitive build and command directories.
build · high confidence
New build commands for API docs, autoload, CLDR, translations, and file hygiene
The build system now includes several new console commands to streamline framework maintenance and documentation. ApiCommand generates offline or online API documentation and supports a 'check' mode to validate PHPDoc @param syntax. AutoloadCommand updates the YiiBase class map for faster autoloading. CldrCommand automatically downloads and converts the latest CLDR locale data into PHP scripts, respecting inheritance. TranslationsCommand helps translation teams by generating reports that highlight outdated or missing translations. Additionally, CheckBomCommand and Utf8Command detect and optionally remove UTF-8 BOM headers and validate file encodings, while LiteCommand generates a minified, merged yiilite.php for performance, and GuideLatexCommand/BlogLatexCommand generate LaTeX source for the definitive guide.
build/commands · high confidence
New cache dependency classes for file, directory, SQL, and expression-based invalidation
The framework now includes a suite of cache dependency classes that allow cache entries to be automatically invalidated when specific conditions change. CFileCacheDependency and CDirectoryCacheDependency track file and directory modification times, while CDbCacheDependency invalidates cache when the result of a SQL query changes. CExpressionDependency allows invalidation based on the result of a PHP expression, and CGlobalStateCacheDependency reacts to changes in global application state. These classes all extend the new CCacheDependency base class, which supports reusable dependent data to optimize performance when the same dependency is evaluated multiple times within a single request.
framework/caching/dependencies · high confidence
New collection classes for maps, lists, stacks, queues, and configuration
The framework now includes a suite of collection classes in the \framework/collections\ directory to manage data structures. \CMap\ and \CAttributeCollection\ provide key-value storage with optional case-insensitive attribute access, while \CList\ and \CTypedList\ offer indexed lists with type-checking capabilities. \CStack\ and \CQueue\ implement standard stack (LIFO) and queue (FIFO) behaviors, and \CConfiguration\ allows loading and applying array-based configurations from PHP files. All classes implement standard PHP interfaces like \Iterator\, \Countable\, and \ArrayAccess\, and include \\#\[ReturnTypeWillChange\]\ attributes to ensure compatibility with modern PHP versions.
framework/collections · high confidence
New data providers and asset management features
The framework introduces CArrayDataProvider and CActiveDataProvider to handle data sorting and pagination for raw arrays and ActiveRecord models respectively, and adds CAssetManager::linkAssets to allow publishing assets via symbolic links instead of copying them.
framework/web · high confidence
New declarative form builder (CForm) for reusable form definitions
Adds a new form abstraction layer in framework/web/form that allows developers to define forms using configuration arrays rather than writing HTML or imperative widget code. The new CForm class manages a hierarchy of elements and buttons, supporting sub-forms for multi-model scenarios, and delegates rendering to the existing CActiveForm widget. This enables reusing form structures across views and simplifies the creation of complex forms by separating element specification from layout decoration.
framework/web/form · high confidence
New default views for error pages, exception details, and logging output
The framework now ships with a complete set of default view templates for user-facing error pages (400, 403, 404, 500, 503), detailed exception reports with stack traces and source code highlighting, and application profiling logs. These views provide structured HTML and CSS for standard errors, an interactive exception page with collapsible trace sections, and both browser-console (Firebug) and HTML-table formats for logging and profiling data, ensuring consistent presentation of diagnostic information without requiring custom view overrides.
framework/views · high confidence
New i18n message sources and formatters
The framework introduces a suite of new classes to handle internationalization: CMessageSource (the base class for message translation repositories), CDbMessageSource (loading translations from a database), CGettextMessageSource (loading translations from GNU Gettext MO/PO files), and CPhpMessageSource (loading translations from PHP array files). Additionally, CChoiceFormat is added to select messages based on numeric values, while CNumberFormatter and CDateFormatter provide locale-sensitive number and date/time formatting capabilities backed by CLocale.
framework/i18n · high confidence
New main layout template for API documentation
A new main layout file (main.php) has been added to the API documentation build process. This template defines the HTML structure for the generated class reference, including the header with the Yii Framework version, the main content area, and a footer with copyright information. It also integrates jQuery to handle interactive features such as toggling inherited members and showing/hiding source code blocks, as well as opening source code links in new tabs.
build/commands/api/layouts · high confidence
New markdown build commands for PDF guide generation
The build system now includes a new \build/commands/markdown\ directory containing custom PHP classes (\Markdown\, \MarkdownParser\, \MarkdownHtml2Tex\) to support generating documentation guides as PDFs. \MarkdownParser\ extends the framework's markdown parser to add support for API links (e.g., \\[ClassName\|CComponent\]\) and blockquote types (tips/notes). \MarkdownHtml2Tex\ provides LaTeX rendering capabilities, including syntax highlighting, image conversion to PNG, and link handling for API and guide documentation, enabling the compilation of the user guide into a printable format.
build/commands/markdown · high confidence
New utility classes for formatting, file handling, and security
This update introduces several new helper classes in the framework utilities. CFormatter provides a centralized API for formatting data types such as dates, numbers, booleans, and file sizes, with a new CLocalizedFormatter available for locale-aware output. CFileHelper adds methods for common file system operations, including recursive directory copying, removal, and file searching. CPasswordHelper offers a secure API for password hashing and verification using the Blowfish algorithm. Additionally, CDateTimeParser enables parsing date strings against custom patterns, CMarkdownParser extends Markdown support with syntax highlighting, CPropertyValue assists in type casting, and CVarDumper provides a robust replacement for var\_dump.
framework/utils · high confidence
New yiic shell commands for scaffolding controllers, CRUD, forms, models, and modules
The \framework/cli/commands/shell\ directory now includes a complete set of scaffolding commands: \ControllerCommand\ generates controllers and their views; \CrudCommand\ generates full CRUD controllers, views, and optional functional tests for a given model; \FormCommand\ generates a form view for a model, supporting an optional scenario parameter; \ModelCommand\ generates ActiveRecord model classes (including support for generating models for all tables or via regex), including relations, fixtures, and unit tests; and \ModuleCommand\ generates a new application module. These commands allow developers to quickly scaffold common application structures from the command line.
framework/cli/commands/shell · high confidence
SQLite schema handling and command builder implementation
The framework now includes specific classes for SQLite database interaction: CSqliteSchema, CSqliteCommandBuilder, and CSqliteColumnSchema. CSqliteSchema manages table metadata, including support for 'bigpk' and 'bigint' column types, and provides methods to reset primary key sequences and toggle foreign key integrity checks. CSqliteCommandBuilder handles SQLite-specific query generation, such as composite IN conditions and multiple insert commands using UNION. CSqliteColumnSchema ensures correct parsing of default values, particularly handling CURRENT\_TIMESTAMP and trimming quotes from string defaults.
framework/db/schema/sqlite · high confidence
Behavioural changes
Add .htaccess and VCS keepfiles to classic theme views
The classic theme's views directory now includes an .htaccess file that denies direct access to all files, preventing unauthorized exposure of view templates. Additionally, placeholder files (git-gitkeep and hg-hgkeep) have been added to the layouts, site, and system subdirectories to ensure these folders are tracked by Git and Mercurial version control systems.
framework/cli/views/webapp/themes · high confidence
Added version control placeholder files for the vendor directory
Placeholder files (git-gitkeep and hg-hgkeep) have been added to the protected vendor directory to ensure the folder is tracked by Git and Mercurial version control systems, preventing the directory from being ignored or lost during repository operations.
framework/cli/views/webapp/protected/vendor · high confidence
Blog demo comments now use CActiveForm and AJAX deletion
The blog demo's comment views have been refactored to use CActiveForm for the submission and update forms, enabling AJAX-based validation. Additionally, the comment list view now supports AJAX-powered deletion, allowing users to remove comments without a full page reload.
demos/blog/protected/views/comment · high confidence
Blog demo controllers refactored to use CActiveForm and updated access control
The blog demo's controllers (CommentController, PostController, SiteController) have been rewritten to utilize the new CActiveForm component for AJAX validation and to implement stricter access control rules. SiteController now explicitly checks for PHP Blowfish support during login, throwing an HTTP 500 error if unavailable, while PostController distinguishes access between public viewing and authenticated management actions.
demos/blog/protected/controllers · high confidence
Blog demo models updated to use CPasswordHelper for authentication
The User model in the blog demo now uses CPasswordHelper::verifyPassword and CPasswordHelper::hashPassword for password validation and storage, replacing the previous md5-based approach. This change ensures that user credentials in the demo are handled with a more secure hashing mechanism.
demos/blog/protected/models · high confidence
Blog demo updated to use bcrypt passwords and expanded database schema support
The blog demonstration data has been updated to improve security and compatibility. The user password storage now uses bcrypt (via the $2a$10$ hash format) instead of the previous MD5-based method, ensuring stronger credential protection. Additionally, the demo now includes database schema definitions and initialization scripts for CUBRID, MySQL, and SQLite, allowing the blog to be deployed on these three different database engines. The SQLite schema generator script has also been added to facilitate local setup.
demos/blog/protected/data · high confidence
CAPTCHA widget now supports ImageMagick and uses open-source font
The CCaptcha widget and action now prefer ImageMagick over GD2 for rendering CAPTCHA images, with a fallback to GD with FreeType if ImageMagick is unavailable. The default font has been switched from the non-free Duality.ttf to the open-source SpicyRice.ttf to resolve licensing issues. Additionally, the widget now throws a clear exception if neither supported graphic extension is installed, and client-side validation support has been added to improve user experience during form submission.
framework/web/widgets/captcha · high confidence
Cache components updated for PHP 8.1 compatibility and APCu support
The caching framework components have been updated to ensure compatibility with modern PHP versions. Classes implementing the ArrayAccess interface (such as CCache and CDummyCache) now include the \#\[ReturnTypeWillChange\] attribute to suppress deprecation warnings in PHP 8.1+. Additionally, CApcCache has been enhanced to support the APCu extension via a new useApcu property, allowing users to switch between the legacy APC and the maintained APCu backend.
framework/caching · high confidence
Console application command execution and exit code handling
The console framework now supports returning integer exit codes from command actions. When a console command action returns an integer, the CConsoleApplication automatically uses that value as the application's exit code, allowing scripts to signal success or failure to the shell. Additionally, the command runner now normalizes command name lookups to be case-insensitive, ensuring commands are found regardless of the casing used in the command map or CLI invocation.
framework/console · high confidence
Default Gii CRUD templates now include access control and AJAX validation support
The default Gii CRUD generator templates have been updated to enforce role-based access control (allowing all users for index/view, authenticated users for create/update, and admins for admin/delete) and to support AJAX validation via a commented-out call in the controller. The generated controller also uses a postOnly filter for the delete action to ensure deletions only occur via POST requests, and the view templates now include proper PHPDoc metadata for IDE autocompletion.
framework/gii/generators/crud/templates · high confidence
Form generator now supports sticky attributes
The Form Generator's configuration interface has been updated to support in-place editing for sticky attributes. This change ensures that specific form fields, such as the view path, persist their values across interactions, improving the user experience when generating multiple forms or adjusting settings.
framework/gii/generators/form/views · high confidence
Introduction of CBasePager, CLinkPager, and CListPager widgets with customizable CSS classes
The pager component in framework/web/widgets/pagers has been refactored to introduce a new base class, CBasePager, which handles pagination logic and state, and two concrete implementations: CLinkPager, which renders page links as an unordered list, and CListPager, which renders a dropdown selection. A key behavioral change in CLinkPager is the replacement of internal CSS constant handling with public properties (e.g., firstPageCssClass, selectedPageCssClass), allowing users to customize the CSS classes applied to different pager buttons directly. Additionally, the pager now supports hiding specific navigation buttons (First, Previous, Next, Last) by setting their corresponding label properties to false, and includes a default CSS file that hides the First and Last buttons by default.
framework/web/widgets/pagers · high confidence
Logging framework refactored with new filter and route components
The logging subsystem has been restructured to support more flexible log processing and storage. A new CChainedLogFilter class allows multiple filters to be applied sequentially to log messages, while the base CLogRoute now supports an 'except' property to exclude specific categories. CLogFilter has been enhanced with a configurable 'dumper' property to handle context variable serialization (e.g., switching from var\_export to print\_r). New log routes include CDbLogRoute for storing logs in a database (with automatic table creation), CSysLogRoute for system logging, and CEmailLogRoute with improved UTF-8 support. CFileLogRoute now supports rotating logs by copy and truncate and allows setting file permissions via a 'chmod' property.
framework/logging · high confidence
MySQL schema layer refactored with MySQL-specific command builder and column handling
The MySQL database schema component has been updated to include a dedicated command builder (CMysqlCommandBuilder) that correctly handles MySQL-specific syntax for UPDATE and DELETE statements involving JOINs, and fixes LIMIT/OFFSET handling when an offset is specified without a limit. Column metadata extraction (CMysqlColumnSchema) now properly parses ENUM types containing commas, handles BIT(M) default values, and correctly maps MySQL types to PHP types. The schema class (CMysqlSchema) now supports primary key definitions as arrays, properly quotes table and column names with backticks, handles mixed-case table names for relational integrity, and provides methods to reset sequences and toggle foreign key integrity checks.
framework/db/schema/mysql · high confidence
PHP 7.3 compatibility: Add SameSite support for cookies
The framework now supports setting the SameSite attribute on session and application cookies, ensuring compatibility with PHP 7.3 and modern browser security standards that require explicit SameSite values for cookie handling.
(repo-wide) · high confidence
Refactored API documentation generation with new view templates
The API documentation build process has been refactored to use a new set of PHP view templates in the \build/commands/api/views\ directory. This change introduces dedicated views for generating CHM help files (including contents, index, and project configuration) and updates the HTML class reference structure. Key improvements include the addition of source code links in the class summary, the use of \definedBy\ for more accurate method anchors to prevent conflicts between properties and methods with the same name, and the ability to display HTML and PHP code blocks within class descriptions. The new templates also support hiding inherited members and properly rendering public/protected properties and methods.
build/commands/api/views · high confidence
Refactored blog demo layout templates
The blog demo's view layouts have been refactored to use a new structure. A new main layout template was added, featuring a header with the application name, a navigation menu (Home, About, Contact, Login/Logout), breadcrumbs, and a footer. Two column-based layouts (one-column and two-column) were introduced, both nesting within the main layout. The two-column layout includes a sidebar with a user menu, tag cloud, and recent comments widget.
demos/blog/protected/views/layouts · high confidence
Refactored blog demo views to use CActiveForm
The blog demo's site views (contact, login, error, and about) have been updated to utilize the improved CActiveForm widget. This change standardizes the form handling and validation display in the contact and login pages, providing a more consistent user experience for form submissions and error reporting within the demo application.
demos/blog/protected/views/site · high confidence
Refactored blog demo with improved security and CLI support
The blog demo has been refactored to include a new protected directory structure and a classic theme. This update adds .htaccess files to deny direct access to sensitive directories (protected and theme views), enhancing security. It also introduces Yii command-line interface (CLI) scripts (yiic, yiic.bat, yiic.php) to facilitate console-based operations for the demo application.
demos/blog/protected, demos/blog/themes · high confidence
Refactored blog demo with new base controller and UI components
The blog demo has been refactored to introduce a customized base controller class that sets a default single-column layout and provides properties for menus and breadcrumbs. Additionally, several new UI portlets have been added to enhance the user interface: a 'Recent Comments' widget to display the latest user activity, a 'Tag Cloud' widget for visual tag navigation with dynamic font sizing, and a 'User Menu' widget that provides authenticated users with links to create posts, manage content, approve comments, and log out.
demos/blog/protected/components · high confidence
Refactored blog demo with separate test and production entry points
The blog demo has been refactored to distinguish between test and production environments. A new index-test.php file has been added to serve as the bootstrap for the test application, pointing to a test-specific configuration, while the existing index.php remains the entry point for the main production application. This change supports the addition of test scripts for the demo, allowing developers to run tests against the blog application without affecting the production setup.
demos/blog · medium confidence
Refactored blog post views to use CActiveForm and CGridView
The blog demo's post views have been updated to use the new CActiveForm widget for creating and editing posts, replacing the previous form implementation. Additionally, the admin interface now utilizes CGridView with built-in filtering capabilities for managing posts, and the view templates have been restructured to use partial views for comments and post listings.
demos/blog/protected/views/post · high confidence
Restored and updated Yii 1.1 guide source files
The LaTeX source files for the Yii 1.1 documentation guide have been restored to the repository and updated. This includes the main document structure, title page (now reflecting the 2008-2013 copyright period), license text, and formatting preamble. These changes ensure the guide can be compiled into a PDF, correcting previous file mode issues and accidental deletions.
build/commands/guide · high confidence
Skeleton application config files restructured with separate database and console configs
The default application configuration has been reorganized to improve modularity and clarity. Database connection settings are now isolated in a dedicated \database.php\ file, which is required by both the main web config (\main.php\) and the new console application config (\console.php\). The console config preloads the logging component to ensure errors are properly captured during CLI execution. Additionally, the web application's error handling behavior has been updated to use the \site/error\ action when not in debug mode, and the Gii module configuration is now included in the skeleton code (commented out) with IP filters to reduce user confusion.
framework/cli/views/webapp/protected/config · high confidence
Updated CLDR locale data to version 23.1
The framework/i18n/data directory has been refreshed with the latest CLDR v23.1 (May 15, 2013) data. This update replaces the previous locale files with newly generated PHP scripts containing accurate, up-to-date information for date, number, and currency formatting across all supported locales, ensuring correct display of local conventions in the application.
framework/i18n/data · high confidence
Updated Dutch (nl) framework translations
The Dutch language message files for the Yii framework (yii.php) and the ZII extension (zii.php) have been updated with new translations. This ensures that error messages, validation feedback, and UI labels in the framework are correctly localized for Dutch-speaking users.
framework/messages/nl · high confidence
Updated Gii form generator templates with IDE metadata and AJAX validation comments
The default templates for the Gii form generator have been updated to improve developer experience. The templates now include PHPDoc metadata for view variables, enhancing IDE autocompletion support for both NetBeans and PHPStorm. Additionally, a comment has been added to the generated form template to remind developers about the requirements for enabling AJAX validation, specifically noting the need to handle it correctly in the controller action.
framework/gii/generators/form/templates · high confidence
Updated blog demo styles to use Blueprint CSS Framework 0.9
The blog demo's CSS assets (form, main, screen, print, and ie.css) have been replaced with versions based on the Blueprint CSS Framework 0.9. This update provides a modernized visual appearance for the demo application, including a new grid system, typography, and form styling, while also adding specific styles for Internet Explorer compatibility.
demos/blog/css · high confidence
Updated default Gii controller and view templates with IDE metadata
The default Gii templates for generating controllers and action views have been updated to include PHPDoc metadata describing the variables available in the generated view files. This addition improves IDE autocompletion and code navigation for developers using the generated code. The controller template now explicitly documents the \$this\ variable, and the view template documents both \$this\ and \$action\, ensuring better developer experience when working with Gii-generated code.
framework/gii/generators/controller/templates · high confidence
Updated default webapp layout templates to HTML5 with breadcrumbs and sidebar support
The default layout files generated by the webapp skeleton have been updated to use HTML5 doctype and include new structural components. The main layout now features a navigation menu, a footer, and conditional rendering of breadcrumbs. Additionally, new column1 and column2 layout templates are provided, with column2 including a sidebar widget area for operations menus, enhancing the default application structure.
framework/cli/views/webapp/protected/views/layouts · high confidence
Updated site view templates for authentication and homepage
The site view templates have been updated to reflect changes in the authentication framework. The homepage (index.php) now displays the logged-in user's name using the 'name' property, consistent with the renaming of the identity interface. The login form (login.php) has been refreshed to include a CAPTCHA challenge (via CCaptcha widget) when the GD extension is available, alongside standard username, password, and 'remember me' fields.
build/commands/lite/protected/views/site · high confidence
Updated webapp skeleton CSS to Blueprint 1.0.1 with new form styles
The CSS files for the generated web application skeleton have been updated to use the Blueprint CSS Framework version 1.0.1. This includes new styles for \form.css\ to handle validation states (error/success) and layout for \yiic\-generated forms, alongside updated \screen.css\, \ie.css\, and \print.css\ to reflect the new Blueprint version.
framework/cli/views/webapp/css · high confidence
Updated webapp skeleton views with client-side validation and breadcrumbs
The default views generated by the webapp command (contact, error, index, and login) have been updated to use the new CActiveForm widget, which enables client-side validation on the contact and login forms. Additionally, the contact and login pages now include breadcrumb navigation, and the login page displays hint text for demo credentials using semantic HTML tags.
framework/cli/views/webapp/protected/views/site · high confidence
Updated webapp skeleton with base Controller and UserIdentity components
The generated webapp skeleton now includes a base Controller class that sets a default single-column layout and initializes empty menu and breadcrumbs properties, providing a consistent structure for application controllers. Additionally, the skeleton introduces a UserIdentity component for authentication, which by default supports 'demo' and 'admin' credentials and uses the 'elseif' syntax for control flow.
framework/cli/views/webapp/protected/components · high confidence
Yii 1.1.15 release of Zii widgets with AJAX history support and bug fixes
This release introduces HTML5 history support (enableHistory) for CListView and CGridView, allowing AJAX updates to update the browser URL bar. It also adds CListView::ajaxUpdateError for custom AJAX error handling, allows configuring the emptyText container tag in CBaseListView, and fixes several issues including CMenu hiding empty items, CBreadcrumbs activeLinkTemplate handling, and CDetailView callable value generators. The widgets now register their JavaScript files at the end of the page for better performance.
framework/zii/widgets · high confidence
Yii Framework 1.1.33 development release
The framework has been updated to version 1.1.33-dev. This release includes the standard framework bootstrap files (yii.php, yiic.php, yiilite.php, yiit.php) and a new .htaccess file in the framework root to deny direct access to the directory. The update also provides the default web application template structure, including the protected directory with its own .htaccess security rule and the console entry points (yiic, yiic.bat, yiic.php).
framework · high confidence
Fixes
Added PHP 7 and 8 compatible diff components to Gii
The Gii code generator now includes the Pear/Text/Diff and Diff3 components, updated to be compatible with PHP 7 and PHP 8. This ensures that the code generation features relying on text diffing (such as comparing model changes) function correctly on modern PHP versions without triggering deprecation errors or compatibility issues.
framework/gii/components/Pear/Text · high confidence
Test coverage
Added PHPUnit-based testing framework with database fixture support; Added functional test suite for the generated web application; Added functional tests for the blog demo application; Added test fixtures for the blog demo; Added unit tests for the blog demo's core models; New test infrastructure and base unit tests for the framework.
Dependencies
Initial Composer package configuration for Yii 1.1
The project now includes a \composer.json\ manifest, enabling installation and dependency management via Composer. This configuration defines the framework as a library requiring PHP 5.1.0 or higher, registers the \yiic\ command-line tool, and sets up autoloading for core classes. It also specifies development dependencies for testing (PHPUnit, Phing) and includes patches to ensure compatibility with PHP 7 and 8 versions.
(dependencies) · high confidence
Updated JavaScript libraries and added client script package definitions
The framework's client-side JavaScript dependencies have been upgraded, including jQuery to version 1.12.4, jQuery UI to 1.12.1, and the BBQ plugin to 1.4pre. The BBQ plugin update specifically addresses a prototype pollution vulnerability ([CVE redacted]) and removes support for Internet Explorer 8 and below. Additionally, a new \packages.php\ configuration file has been introduced to define built-in client script packages (such as \jquery\, \yiiactiveform\, \autocomplete\, and \maskedinput\) along with their dependencies, streamlining how these assets are registered and served.
framework/web/js · high confidence
Updated third-party vendor libraries and added Net\_IDNA2
The framework's bundled third-party libraries have been updated to newer versions, including jQuery 1.12.4, jQuery UI 1.12.1, HTMLPurifier 4.19.1, and Text\_Highler 0.7.3, as documented in the updated vendors README. Additionally, the Net\_IDNA2 library (version 0.1.1 beta) has been added to support internationalized domain name validation in CUrlValidator and CEmailValidator, replacing the previous phlymail Net\_IDNA implementation.
framework/vendors · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 42.
Lenses
- Code Health 84
- Architecture 66
- Maturity 55
- Readiness 74
- Security 73
- Accessibility 17
Changes since last survey
- 300 commits — 203 feature/other, 97 fixes
By area
- (repo) — 73 commits
- (root) — 73 commits
- framework/web — 40 commits
- tests/framework — 22 commits
- .github/workflows — 18 commits
- framework/db — 18 commits
- framework/caching — 8 commits
- framework/i18n — 7 commits
- docs/guide — 6 commits
- framework/utils — 6 commits
- framework/base — 4 commits
- framework/console — 4 commits
- framework/gii — 4 commits
- framework/validators — 3 commits
- framework/vendors — 3 commits
- framework/cli — 2 commits
- framework/collections — 2 commits
- framework/messages — 2 commits
- tests/bootstrap.php — 2 commits
- .github/dependabot.yml — 1 commit
Notable commits
- fix: Attempt to fix failing unit tests that use runInSeparateProcess
- fix: Attempt to fix failing unit tests that use runInSeparateProcess
- fix: Bug #4566 Update changelog
- fix: Bug #4566 fixed tabs instead of spaces
- fix: CHG: update changelog, fix spaces to tabs
- fix: FIX: Check the proper value
- fix: FIX: Remove finally to support PHP 5.3 session test cleanup
- fix: FIX: add gaurd clause to check date string so null is never passed to mb_strlen or strlen in CDateTimeParser
- fix: FIX: allow dynamic properties on Text_Highlighter and Text_Highlighter_Renderer
- fix: FIX: apply #[ReturnTypeWillChange] to test classes that implement JsonSerializable
- fix: FIX: apply #[\AllowDynamicProperties] on TestClass
- fix: FIX: cast $selection to string as it might be null and cause deprecation erros
- fix: FIX: cast null values in tests, cast null value in CLocale->getCanonicalID
- fix: FIX: cast nullable strings to strings for mb_strlen, strlen and explode
- fix: FIX: cast to string for strcmp
- fix: FIX: check for intersection and union types on action parameters
- fix: FIX: check for intersection and union types on console command actions
- fix: FIX: code style
- fix: FIX: code style
- fix: FIX: do not pass null into CDateTimeParser::parse
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
yiisoft/yii was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 863cde5e223ab1ecd8f0345e23bca9dbf2936681 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.