Skip to content
CAI
Software that uses CAICheck a score

yiisoft/yii

42.1

Weak · 19 September 2026

787.4k

lines of production code

PHP

primary language

1

measurement over time

CAI band scale
CAI lens gauges

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.