This repository has been archived by the owner on Nov 9, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathCHANGELOG
547 lines (526 loc) · 39.3 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
Yii Framework Change Log
========================
Version 1.1.1 to be released
----------------------------
- Bug #816: CUniqueValidator did not work with CFormModel (Qiang)
- Bug #839: typo in CFormatter about calling method_exists() (Qiang)
- Bug #865: CWidgetFactory didn't set the owner of the newly created widgets correctly (Qiang)
- Bug #869: CDateFormatter::formatTimeZone() may report error for certain locale data (Qiang)
- Bug #871: A module generated by the yiic module command did not use the application layout by default (Qiang)
- Bug: Setting the 'with' option in criteria array doesn't trigger eager loading for AR (Qiang)
- Bug: CActiveRecord should update oldPrimaryKey after calling save() (Qiang)
- Enh #686: Added CUrlManager::setBasePath() (Qiang)
- Enh #726: Added CDbExpression::params (Qiang)
- Enh #820: Added CAccessRule::message to allow customizing authorization error message (Qiang)
- Enh #857: Added $exit parameter to CController::forward() (Qiang)
- Enh #872: Added CFlexWidget::allowFullScreen (Qiang)
- Enh: Refactored the blog demo to make use of the new CActiveForm and the filtering feature of CGridView (Qiang)
- Enh: Improved the code generated by yiic, including menu refactoring, filtering/search support, and using active form (Qiang)
- Enh: Improved CHtml::beginForm() to auto-generate hidden fields for a GET form whose action contains query string (Qiang)
- Enh: Added CDataProvider::setTotalItemCount() (Qiang)
- Chg #841: Changed CUrlManager::parsePathInfo() to non-static (Qiang)
- Chg #851: yiic tool no longer turns off E_NOTICE (Qiang)
- Chg: CFormElement::attributes is renamed to be CFormElement::htmlOptions (Qiang)
- New: Added CActiveForm that performs model validations via AJAX (Qiang)
Version 1.1.0 January 10, 2010
------------------------------
- Bug #720: The new table prefix feature does not work with many-many relationship in AR (Qiang)
- Bug #735: CDbCriteria should save 'with' attribute when toArray() is called (Qiang)
- Chg #796: The alias name for the primary table in a relational AR query is changed to be 't' (Qiang)
- Chg: renamed CDetailView::model to be 'data'. renamed 'dataField' and 'dataExpression' to be 'name' and 'value' for grid view columns. (Qiang)
- Enh #656: Added support to indicate the size of enum column type for MySQL schema (sebas)
- Enh #767: Added CUrlRule::matchValue option to support creating URLs only when a rule's parameter value patterns are matched. (Qiang)
- Enh: Improved the default code generated by the yiic tool (Qiang)
- Enh: Refactored the blog demo (Qiang)
- New: Added CFormatter and CApplication::format (Qiang)
- New: Added CController::forward() and CController::route (Qiang)
Version 1.1rc December 13, 2009
-------------------------------
- Bug #713: webapp command generates incorrect test bootstrap script (Qiang)
- Bug #724: the rememberMe attribute is not validated in generated webapp code (Qiang)
- Enh #666: Added support for auto-flushing log messages (Qiang)
- Enh #668: Nested forms generated by CForm will render attributes in the fieldset tag (Qiang)
- Enh #695: Upgraded HTML Purifier to 4.0.0 (Qiang)
- Enh #711: Added CWebUser::autoRenewCookie to support automatically renew cookie-based login (Qiang)
- Enh: Added CSS class for links generated by CSort to differentiate sorting directions (Qiang)
- Enh: Added CComponent::evaluateExpression() (Qiang)
- Enh: Added CPagination::offset and CPagination::limit (Qiang)
- Chg: CSort.multiSort is changed to sort by single attribute by default (Qiang)
- New: Added CDataProvider and CActiveDataProvider (Qiang)
- New: Updated I18N data to CLDR 1.7.1.2 and added support for stand-alone month and day names (Qiang)
- New: Added CDbCriteria::with to support eager loading via a criteria with this property (Qiang)
Version 1.1b November 1, 2009
-----------------------------
- Bug #611: When using relation name as table alias, it should be properly quoted to avoid name conflict (Qiang)
- Bug #642: CPgsqlSchema::findTableNames() should not include view names in the result (Qiang)
- Bug #652: Calling CFormElementCollection::remove() triggers a method-not-defined error (Qiang)
- Bug: Using CFileValidator causes an error about accessing a method of a non-object (Qiang)
- Enh #570: Improved CSort so that it can support sorting by complex expressions or compound attributes (Qiang)
- Enh #597: Added support for modifying primary key of an AR instance by calling save() directly (Qiang)
- Enh #622: Added support for using HTML button tags in form builder (Qiang)
- Enh: Added getFixtureData() and getFixtureRecord() to CDbTestCase and CWebTestCase (Qiang)
- Chg #574: session ID is no longer hashed for CDbHttpSession (Qiang)
- New #633: Added support to allow using customized locale data (Qiang)
- New: Added support for using table prefixes (Qiang)
Version 1.1a October 1, 2009
----------------------------
- New #429: CFileValidator and CUploadedFile now accept multiple uploads (pestaa)
- New: Refactored scenario-based validation and massive assignments (Qiang)
- New: Added CDbSchema::checkIntegrity() and resetSequence() (Qiang)
- New: Added phpunit-based testing framework (Qiang)
- New: Added CForm and relevant classes to allow reusing form representation and rendering (Qiang)
- New: Added support for widget skins (Qiang)
- New: Added support for accessing behavior's properties via the component it is attached to (Qiang)
- Chg #433: Changed application and module parameter names to be case-sensitive (Qiang)
- Chg #556: CHtml::resolveName now supports array-typed properties (pestaa)
- Chg: Changed AR eager loading so that it generates and executes a single SQL statement by default (Qiang)
- Chg: Changed AR table aliasing so that it uses relation names as default table aliases (Qiang)
- Chg: Changed the default value of allowEmpty to be false for CCompareValidator. (Qiang)
Version 1.0.12 to be released
-----------------------------
- Bug #731: When using CWebService to generate WSDL, it may cause the error about Premature end of data in tag definitions in SoapClient (Qiang)
- Bug #740: CDbCriteria::addColumnCondition() should handle NULL parameter correctly (Qiang)
- Bug #742: CEmailValidator should allow upper case email addresses (Qiang)
- Bug #801: CCaptcha allows unlimited tests if the CAPTCHA image is not reloaded (Qiang)
- Bug: CVarDumper sometimes doesn't dump object value correctly (Qiang)
- Bug: COciSchema::findTableNames() should use upper case for the keys of query results (Qiang)
- Enh #730: Relational queries now respect changes made to CActiveRecord::dbCriteria in the onBeforeFind event (Qiang)
- Enh #737: CUrlManager::createUrl() now supports multidimensional array params (Jonah)
Version 1.0.11 December 13, 2009
--------------------------------
- Bug #608: yiic webapp command may generate incorrect path referring to yii scripts (Qiang)
- Bug #637: CDateTimeParser::parse() may generate unexpected result offset by the timezone in some environment (Qiang)
- Bug #639: CJSON::decode() should respect the second parameter recursively (Qiang)
- Bug #641: CDbCache::gc() is not defined (Qiang)
- Bug #651: Fixed a bug in Oracle driver that may cause big loop (Qiang)
- Bug #653: CDbMessageSource does translate messages when caching is enabled (Qiang)
- Bug #670: Requirements checker page shows wrong minute (Qiang)
- Bug #691: CUploadedFile::saveAs() may not return correct value for some PHP versions (Qiang)
- Bug #692: CHtml::listOptions() ignores the HTML options when handling nested options (Qiang)
- Bug #710: CRequiredValidator does not work as expected when its requiredValue is not null (Qiang)
- Bug: CQueue::peek() should return the first item in the queue (Qiang)
- Enh #629: Added support for specifying shell command search path via an environment variable YIIC_SHELL_COMMAND_PATH (Qiang)
- Enh #643: Enhanced CAccessControlFilter::expression, COutputCache::varyByExpression and CExpressionDependency::expression so that they can use PHP callback (Qiang)
- Enh #665: Added support for using CStarRating to collect tabular input (Qiang)
- Enh #672: Added Italian translation of error views (Qiang)
- Enh #674: Improved CPgsqlSchema to support auto-incremental column in composite primary key (Qiang)
- Enh #677: Improved CPgsqlColumnSchema to recognize more column data types (Qiang)
- Enh #679: Added support for parsing and creating URLs with parameterized hostnames (Qiang)
- Enh #684: Improved Yii::import() to throw exception when set_include_path fails (Qiang)
- Enh #685: Added support for recognizing "Z" in CDateFormatter (Qiang)
- Enh #690: Enhanced the email validator pattern to capture 99% valid email addresses (Qiang)
- Enh #694: CActiveRecord count methods will ignore criterias that are incomatible with COUNT SQL statement (Qiang)
- Enh #697: Relational AR queries now also invoke CActiveRecord::beforeFind() (Qiang)
- Enh #703: Upgraded autocomplete js code to version 1.1.0 (Qiang)
- Enh #715: CHtml::textArea and CHtml::activeTextArea should respect the 'encode' option (Qiang)
- Enh: Added core message translation in Thai (Peerajak)
- Enh: Allow CHtml::label() and CHtml::activeLabel() not to render the 'for' attribute when it is set false (Qiang)
- Chg #723: When merging a CDbCriteria with another, the latter's order clause will take precedence over the former (Qiang)
- New #709: Added core message translation in Bosnian language (kenci81)
Version 1.0.10 October 18, 2009
-------------------------------
- Bug #550: Fixed image alt bug in CCaptcha (Qiang)
- Bug #551: CCache::mget() should return values (Qiang)
- Bug #561: CTabView fails to switch tabs on IE (pestaa)
- Bug #567: PHP <5.2 cannot convert exception class to string (pestaa)
- Bug #573: Typo in API (pestaa)
- Bug #584: CAutoComplete API was missing a fact (pestaa)
- Bug #594: The for-loop in jquery.yii.js breaks on IE (Qiang)
- Bug #596: CActiveFinder undefined $parent variable on line 1297 (Qiang)
- Bug #606: CMemCache does not work when useMemcached is set true (Qiang)
- Bug: Fixed a bug in Oracle driver when performing relational AR queries (Qiang)
- Bug: Fixed the problem of executing an SQL using CDbCommand may cause subsequent SQL executions to fail (Qiang)
- Enh #571: Enhanced CDbCriteria by adding several methods to help building common query conditions (Qiang)
- Enh #585: Added CChainedCacheDependency::setDependencies() (Qiang)
- Enh #598: Added CCaptchaAction::transparent (Qiang)
- Enh #600: Modified CHttpSession to allow open and close session multiple times (Qiang)
- Enh #612: Added YiiBase::registerAutoloader (Qiang)
- Enh #613: Enhanced Oracle driver to allow using views with AR (Qiang)
- Enh #615: Added cacheID property to several core components to allow specifying which cache component to use (Qiang)
- Enh #616: Added support to use anonymous functions (PHP 5.3+) as event handlers (Qiang)
- Enh #620: Enhanced message translation for modules (Qiang)
- Enh #623: Added the optional $params to CDbCommand::execute() and query*() methods (Qiang)
- Enh #626: Added labelOptions for checkbox and radiobutton lists in CHtml (Qiang)
- Enh #627: Improved AR metadata assignment to support single table inheritance (Qiang)
- Enh #628: Console commands are listed in alphabetical order now (Qiang)
- Enh: Enhanced CRequiredValidator so that it can validate an attribute contains the specified value (Qiang)
- Chg: Made request and urlManager components to be available for both console and web applications (Qiang)
- New #577: Enhanced the 'empty' option in CHtml so that it can render multiple extra list options with specific values (Qiang)
- New #621: Added YiiBase::createApplication (Qiang)
- New: Added CBooleanValidator (Qiang)
Version 1.0.9 September 6, 2009
-------------------------------
- Bug #470: Fixed CTimestamp getdate bug which is related with timezone setting (Qiang)
- Bug #499: Blog demo approve comment page doesn't have proper pagination (Qiang)
- Bug #510: CHtml::htmlButton() should render the label as the element body rather than value attribute (Qiang)
- Bug #513: CNumberValidator does not validate as expected when the attribute value is not string (Qiang)
- Bug #518: CFilterValidator uses call_user_func_array() incorrectly (Qiang)
- Bug #522: array-like parameters in path info are not parsed correctly by CUrlManager (Qiang)
- Bug #525: Invalid first chars in jquery.maskedinput.js (Qiang)
- Bug #527: Typo in CActiveFinder.php:581 (Wei)
- Bug #548: STAT queries don't work when the FK constraints are not defined in DB (Qiang)
- Bug #550: CCaptcha does not respect image alt option (Qiang)
- Bug #551: multiget in caching components does not use proper keys (Qiang)
- Bug: Set sequenceName in Oracle tables to be empty string so that yiic model command generates correct validation rules for PK (Qiang)
- Enh #417: Added CActiveRecord::beforeFind and onBeforeFind event (Qiang)
- Enh #419: Improved the performance of lazy relational AR by avoiding joining when possible (Qiang)
- Enh #473: Upgraded jquery multifile plugin to version 1.46 (Qiang)
- Enh #500: Added CDbCache::gcProbability (Qiang)
- Enh #505: Added CSS class to the table generated by CWebLogRoute (Qiang)
- Enh #508: CUrlManager should also store parsed GET parameters into $_REQUEST (Qiang)
- Enh #509: Enhanced CRequiredValidator to check for empty array value (Qiang)
- Enh #511: CHtml::activeCheckBox and activeRadioButton should respect the value attribute (Qiang)
- Enh #512: CHtml::beginForm() is made XHTML-compliant when CSRF is enabled (Qiang)
- Enh #521: Added CActiveRecord::deleteAllByAttributes() (Qiang)
- Enh #526: Added CSort::params and CPagination::params to allow customizing additional GET parameters in the generated URLs (Qiang)
- Enh #534: Allow using slash character as URL suffix when strict parsing is enabled (Qiang)
- Enh #542: Improved CInputWidget and all its descendant classes so that they can be used in tabular data input (Qiang)
- Enh #547: Changed CSort::resolveLabel and validateAttribute to be public (Qiang)
- Enh #549: Changed hour pattern in CDateTimeParser so that it is consistent with CDateFormatter (Qiang)
- Enh #554: Added CViewRenderer::fileExtension (Qiang)
- Enh #555: Added CApplication::timeZone (Qiang)
- Enh: Improved AR performance by not raising events when no event handlers (Qiang)
- Enh: Added CWebUser::setStateKeyPrefix() (Qiang)
- Enh: Added CLocale::getMonthNames and CLocale::getWeekDayNames (Qiang)
- Enh: Added uncheckValue option for CHtml::activeRadioButton (Qiang)
- Enh: Added CDbCriteria::addCondition() (Qiang)
- Enh: Added support for specifying DISTINCT when performing AR and relational AR queries (Qiang)
- New: Added core message and system view translations in Bulgarian (Nikolai)
Version 1.0.8 August 9, 2009
----------------------------
- Bug #435: Setting charset for PostgreSQL database connection may fail to work on some servers (Qiang)
- Bug #440: typo in COciColumnSchema (Qiang)
- Bug #444: typo in blog demo (Qiang)
- Bug #446: Fixed bugs in MSSQL driver that cause problem when updating attribues and a column is of timestamp type (Qiang)
- Bug #451: CAssetManager::publish() may not report error when an asset is missing on BSD (Qiang)
- Bug #460: CFileValidator would display wrong error message when the uploaded file size is too small (Qiang)
- Bug #472: Dynamic relational query options should not treat 'condition' as 'on'. (Qiang)
- Bug #475: MainMenu widget in webapp ignores URL parameters (Qiang)
- Bug #477: CUrlManager generates unwanted homepage URL when URL suffix is used (Qiang)
- Bug #482: Relational AR would fail when using Oracle due to column case issue (Qiang)
- Bug #484: CDbCommandBuilder generates an invalid SQL when inserting a row with all default values (Qiang)
- Bug #486: CDbExpression does not work as expected for PHP versions prior to 5.2.0 (Qiang)
- Bug: Fixed an issue in CNumberFormatter which incorrectly cached parsed formats (Qiang)
- New #424: Improved CCaptcha to allow clicking on CAPTCHA image to refresh it (Qiang)
- New #425: Added defaultParams option to the rules used by CUrlManager (Qiang)
- New #426: Added CApplication::setExtensionPath() (Qiang)
- New #436: Added error templates in Russian (idlesign)
- New #456: Added CCompareValidator::operator to support comparing values using different operators (Qiang)
- New #461: Added CHtml::htmlButton() (Qiang)
- New #467: Improved the algorithm for determining script URL by CHttpRequest (Qiang)
- New #474: Added CActiveRecord::refreshMetaData() to allow using the latest table meta data (Qiang)
- New #478: Enhanced CActiveRecord::findByAttributes and findAllByAttributes so that when an attribute value is array, an IN condition is generated for searching (Qiang)
- New #480: Improved CUniqueValidator to allow specifying AR class and attribute to validate against (Qiang)
- New #488: Added CCache::mget() to support retrieving multiple cached values at a time (Qiang)
- New #492: Enhanced form submit script so that it respects to existing submit event handlers (Qiang)
- New #493: Added call stack information to log when a PHP error occurs (Qiang)
- New: CDbCommand::bindParam() and bindValue() now return the command object so that they can be used in a chainable fashion (Qiang)
- New: Added thead and tbody to the code generated by crud command (Qiang)
- New: Added CFormModel::init() and CActiveRecord::init() (Qiang)
- New: Improved CFileHelper::getMimeType() so that it can return a meaningful result in most cases (Qiang)
- New: Improved yiic shell commands so that they are easier to be extended (Qiang)
- New: Added CExistValidator.criteria property (Qiang)
- New: Improved CHtml::statefulForm() to make it XHTML-compliant (Qinag)
- New: Added CBaseUserIdentity::clearState() (Qiang)
- New: Added 'ext' root path alias which points to the directory containing all extensions (Qiang)
- New: Added Greek translation of core messages (Vasileios)
- Chg #479: Imported path aliases now have precedence over existing include paths (Qiang)
- Chg: Modified the count() method of relational AR to support counting composite keys (Qiang)
- Chg: Reverted back the support for assigning a related object to an AR object (Qiang)
Version 1.0.7 July 5, 2009
--------------------------
- Bug #367: CUploadedFile may fail if a form contains multiple file uploads in different array dimensions (Qiang)
- Bug #368: CUploadedFile::getInstance() should return null if no file is uploaded (Qiang)
- Bug #372: CCacheHttpSession should initialize cache first before using it (Qiang)
- Bug #388: 'params' options passed to linkButton are not cleared after submit (Qiang)
- Bug #393: Greek language code should be 'el' insead of 'gr' (Qiang)
- Bug #402: CNumberFormatter does not format decimals and percentages correctly (Qiang)
- Bug #404: AR would fail when CDbLogRoute uses the same DB connection (Qiang)
- Bug #421: Undefined variable: seconds in CDateTimeParser.php(140) (Qiang)
- Bug: CMemCache has a typo when using memcached (Qiang)
- Bug: COciCommandBuilder is referencing undefined variable (Qiang)
- Bug: yiic webapp may generate incorrect path to yii.php (Qiang)
- Bug: SQL with OFFSET generated by command builder for Oracle is incorrect (Qiang)
- Bug: yiic shell model command may fail when a foreign key is named as ID (Qiang)
- Bug: yiic shell controller command does not generate correct controller class file when the controller is under a sub-folder (Qiang)
- Bug: When using MySQL enum type, AR may incorrectly typcasting the column values (Qiang)
- Chg #391: defaultScope should not be applied to UPDATE (Qiang)
- New #360: Added anchor parameter to CController::redirect (Qiang)
- New #375: Added support to allow logout a user without cleaning up non-auth session data (Qiang)
- New #378: Added support to allow dynamically turning off and on log routes (Qiang)
- New #396: Improved error display when running yiic commands (Qiang)
- New #406: Added support to allow stopping saving and deletion by an ActiveRecord behavior (Qiang)
- New #415: Added HTML options to CHtml::errorSummary() and error() methods (Qiang)
- New: Rolled back the change about treating tinyint(1) in MySQL as boolean (Qiang)
- New: Added support for displaying call stack information in trace messages (Qiang)
- New: Added 'index' option to AR relations so that related objects can be indexed by specific column value (Qiang)
- New: Allow CHtml::activeLabel to override the automatically generated 'for' attribute (Qiang)
- New: Added 'csrf' to CHtml client options so that js-based form submission can submit CSRF token (Qiang)
- New: Removed typcasting in CNumberValidator so that it won't lose precision (Qiang)
- New: Added userAgent parameter to CHttpRequest::getBrowser() (Qiang)
Version 1.0.6 June 7, 2009
--------------------------
- Bug #305: column aliases used in CActiveFinder should be quoted so that their cases are kept (Qiang)
- Bug #308: typo in CLinkPager CSS class name (Qiang)
- Bug #310: Leading space in auto generated labels if they end with "ID" (Qiang)
- Bug #312: defaultScope not honored when other sopes are applied (Qiang)
- Bug #313: Dynamic parameter for lazy loading resets the parameters specified in default scope (Qiang)
- Bug #321: CProfileLogRoute should be disabled for AJAX requests (Qiang)
- Bug #331: HTTP 403 status code should be used to indicate auth failure (Qiang)
- Bug #338: Undefined variables in CTimestamp.php (Qiang)
- Bug #343: HtmlPurifier should register its autoload to allow using its plugins (Qiang)
- Bug #353: CClientScript may not generate expected output on some PHP version due to preg_replace bug (Qiang)
- Bug: Syntax errors in autoloaded classes are not reported (Qiang)
- New #36: Added column declarations to the generated model class using yiic (Qiang)
- New #231: Enhanced yiic shell model command to generate relations automatically (olafure, Qiang)
- New #271: Added CFileCache (Qiang)
- New #300: Added support for using a controller action to display application errors (Qiang)
- New #304: Added flv mimeType to the mimeType array (Qiang)
- New #315: Added CDbConnection.enableProfiling (Qiang)
- New #320: Added support for customizing a single URL rule by setting its urlFormat and caseSensitive options (Qiang)
- New #326: Yii::powered() will show Yii site in a new window (Qiang)
- New #328: Make yiic to work with f-cgi (Qiang)
- New #344: Added support to automatically attach behaviors to a controller (Qiang)
- New #346: Enhanced CMemCache so that it can be used with both memcache and memcached (Qiang)
- New #347: Added CUrlManager.useStrictParsing to support parsing URLs only based on rules (Qiang)
- New #349: Enhanced MySQL driver to recongize tinyint(1) as a boolean (Qiang)
- New #351: Enhanced CModelBehavior so that its beforeValidate() can stop the current validation process (Qiang)
- New: Enhanced the 'with' option in relational rules so that it also applies in eager loading (Qiang)
- New: Enhanced yiic shell model command to generate all models for the whole database (olafure, Qiang)
- New: Added support to allow using named scopes with update and delete methods (Qiang)
- New: Refactored support for dynamic query options with relational AR (Qiang)
- New: Added CDbCriteria::toArray() (Qiang)
- New: Added support to allow merging CDbCriteria using 'OR' operator (Qiang)
- New: Added CLogger::getStats() (Qiang)
- New: Added support to import and autoload interfaces (Qiang)
- New: Added tracing statements to cache components (Qiang)
- New: Added CLogFilter to support logging additional context information (Qiang)
Version 1.0.5 May 10, 2009
--------------------------
- Bug #234: Multi-line Yii::t() not found by 'yiic message' (Qiang)
- Bug #235: Dynamic content does not work when page caching is used together with fragment caching (Qiang)
- Bug #239: Syntax error in translated Portuguese error view file (Qiang)
- Bug #246: Undefined variable in CMaskedTextField (Qiang)
- Bug #252: mimeTypes.php contains clashing types (Qiang)
- Bug #258: Some eager loading queries may result in extra lazy loading queries (Qiang)
- Bug #261: CWsdlGenerator should not use 'tns:' namespace when declaring a complex type (Qiang)
- Bug #262: Setting 'charset' of CDbConnection causes exception when working with SQLite (Qiang)
- Bug #263: Exception is thrown when column names contain "=" symbol (Qiang)
- Bug #270: CComponent::detachBehavior() uses undefined index (Qiang)
- Bug #290: date formatter generates incorrect narrow day output (Qiang)
- Bug: Lazy loading HAS_MANY or MANY_MANY properties will get NULL instead of empty array when the result set is empty (Qiang)
- Bug: CDateFormatter::formatYear() only returns one digit when the year pattern is 'yy' (Qiang)
- Bug: The ON option is not respected for MANY_MANY relations (Qiang)
- New #210: Added support for named scope of AR (Qiang)
- New #211: Enhanced AR by supporting lazy relational query with on-the-fly query parameters (Qiang)
- New #224: Added CModel::addErrors() method (Qiang)
- New #241: Added support to define root path aliases in configuration (Qiang)
- New #247: Added support to allow using Web services in PHP versions lower than 5.2.0 (Qiang)
- New #249: Added option to CHtml to allow generate tags without encoding attribute values (Qiang)
- New #254: Added support to allow input widgets to be used with tabular inputs (Qiang)
- New #265: Added support to validate time and datetime inputs (Qiang)
- New #268: Added support to allow using dot syntax to generate list options with CHtml (Qiang)
- New #274: Added support to allow using route sub-patterns in URL rules (Qiang)
- New #284: Refactored code about page states to simplify overriding efforts (Qiang)
- New #291: Added support to validate emails with name part (Qiang)
- New #293: Added support to allow Yii to be used with other libraries which rely on autoload (Qiang)
- New #294: Added CDummyCache component (Qiang)
- New: Deprecated CHtml::getActiveId() (Qiang)
- New: Added CDbCriteria::mergeWith() (Qiang)
- New: Added Oracle support for Active Record (Ricardo)
- New: Modified CClientScript so that it can be used without the presence of a controller (Qiang)
- New: Enhanced CWebUser::checkAccess() to allow caching the access check results (Qiang)
- New: Enhanced the performance of CDbAuthManager::checkAccess() (Qiang)
- New: Added CAccessControlFilter::accessDenied() (Qiang)
- New: Added CWebUser::identityCookie property (Qiang)
- New: Added new message placeholder to CCompareValidator (Qiang)
- New: Added trace statements to auth components (Qiang)
- New: Added CHtml::value() (Qiang)
- New: Enhanced 'yiic shell model' command so that it generates attribute labels by default (Qiang)
- New: Added CDbConnection::enableParamLogging to allow logging parameters bound to SQL statements (Qiang)
Version 1.0.4 April 5, 2009
---------------------------
- Bug #177: CFileValidator::getSizeLimit() not calculate well (Qiang)
- Bug #185: German error views have syntax errors (Qiang)
- Bug #183: Fatal error in CActiveFinder::afterFindInternal() (Qiang)
- Bug #186: MainMenu component in yiic webapp doesn't detect active menu item correctly (Qiang)
- Bug #187: SET CHARACTER SET is not working for MySQL in some cases (Qiang)
- Bug #190: yiic shell command does not work when the Web application redirects by default (Qiang)
- Bug #192: CDbLogRoute has several issues (Qiang)
- Bug #199: yiic webapp command may fail in some directory setup (Qiang)
- Bug #200: CDateFormatter does not recognize timestamp given as a string (Qiang)
- Bug #205: CTRL-D puts yiic into endless loop (olafure)
- Bug #206: Property "click" in CStarRating does not work (Qiang)
- Bug #218: Uppercase letter in controller in URL leads to exception (Qiang)
- Bug #226: CJoinElement uses undefined _primaryKey (Qiang)
- Bug #223: Calling CApplication::clearGlobalState causes error (Qiang)
- Bug #229: dynamic content does not work with page caching (Qiang)
- Bug: Setting the 'expression' option in an access url causes error (Qiang)
- Bug: CAccessRule.roles should be case sensitive (Qiang)
- Bug: CDbAuthManager::checkDefaultRoles() uses an undefined variable (Qiang)
- Bug: CPgsqlSchema does not handle quotes well in detecting FK constraints (Qiang)
- Bug: CPradoViewRenderer is calling an undefined method (Qiang)
- Bug: CClientScript::scriptMap generates duplicated script tags (Qiang)
- Bug: ActiveRecord may fetch the same PK column twice in a relational query (Qiang)
- Bug: CWebUser::hasState does not return consistent result (Qiang)
- Bug: A module layout in a theme cannot be applied (Qiang)
- Bug: Enabling both CSRF prevention and theming may cause a PHP error (Qiang)
- Bug: Eager loading in RAR may join the same table twice in some cases (Qiang)
- New #171: Added version info to yiic help output (Qiang)
- New #172: Added eAccelerator cache driver (Steffen)
- New #176: Added support to make yiic tool working with modules (Qiang)
- New #195: Added CModel::scenario property (Qiang)
- New #197: Added getParam, getQueryParam and getPostParam to CHttpRequest (Qiang)
- New #203: Added CZendDataCache (Steffen)
- New #207: Enhanced CHtml::activeFileField so that we can still use $_POST to detect form submission under some rare cases (Qiang)
- New #212: 'Readline' support in yiic console script (olafure)
- New #225: Added trace statements to CActiveRecord and CActiveFinder (Qiang)
- New #230: Enhanced CHtml so that it can be used in situations where controller is absent (Qiang)
- New #233: Allow CFileValidator::types to be set with an array (Qiang)
- New #292: Refactored CActiveRecord so that attribute assignment can be overridden more easily (Qiang)
- New: Added support to GROUP BY and HAVING in eager loading of AR (Qiang)
- New: Added CClientScript::scriptFiles and CClientScript::cssFiles (Qiang)
- New: Added SQL Server support for Active Record (Christophe)
- New: Added support for performing statistical query with Active Record (Qiang)
- New: Added CHtml::beginForm and endForm (Qiang)
- New: Added 'controllers' option to access control (Qiang)
- New: Added CContentDecorator.data property (Qiang)
- New: Refactored application and module code (Qiang)
- New: Added HTTP status code parameter to CHttpRequest::redirect (Qiang)
- New: Added beforeControllerAction and afterControllerAction to CWebApplication and CWebModule (Qiang)
- New: Added 'checkAll' option to CHtml::checkBoxList and CHtml::activeCheckBoxList (Qiang)
- New: Added CHtml::encodeArray() to allow HTML-encoding an array recursively (Qiang)
- New: Added case-sensitivity parameter to CDbCommandBuilder::createSearchCondition (Qiang)
- New: Added COutputCache.varyByExpression to allow variating cached content based on an expression value (Qiang)
- New: Added CExpressionDependency to represent dependency based on an expression value (Qiang)
- New: Added CAutoComplete.textArea to allow using it as a text area (Qiang)
- New: Added support to allow using AR when a table has no primary key defined (Qiang)
- New: Added support to CAPTCHA widget so that it can use captcha defined in other controllers (Qiang)
- New: Added CExistValidator (Qiang)
Version 1.0.3 March 1, 2009
---------------------------
- Bug #127: CUploadedFile is using an undefined variable (Qiang)
- Bug #132: CMysqlSchema has a typo (Qiang)
- Bug #133: CSort should properly quote the columns to be sorted (Qiang)
- Bug #135: CSort::link() does not work well with labels with special chars (Qiang)
- Bug #145: When layout property of CController is false, main layout is still applied (Qiang)
- Bug #153: Accessing related objects in afterFind() causes a duplicated SQL query (Qiang)
- Bug #154: Calling behavior method in relations() does not work (Qiang)
- Bug #161: Date formatting with timezones (Qiang)
- Bug: CHttpRequest.hostInfo may give wrong port number (Qiang)
- Bug: CHtml::activeListBox does not work when multiple selection is needed (Qiang)
- Bug: Inconsistency in timezone of log messages for different log routes (Qiang)
- Bug: Script file registered for POS_BEGIN is rendered twice (Qiang)
- Bug: CHtml::registerMetaTag() failed to be rendered when no other scripts are registered (Qiang)
- New #117: Added count() support to relational AR (Qiang)
- New #136: Added support to CWebUser to allow directly accessing persistent properties (Qiang)
- New #137: yiic model command should only set a column as required when it does not have default value (Qiang)
- New #138: Added support to specify additional attributes for OPTION tags (Qiang)
- New #140: Allow the route in a URL rule to contain parameters by itself (Qiang)
- New #146: Added CUrlManager.appendParams which allows creating URLs in path format whose GET parameters are all in the query part (Qiang)
- New #150: Register CTabView css file with media type='screen' (Qiang)
- New #156: Added CUrlManager.cacheID to allow disabling URL rule caching (Qiang)
- New #213: Enhanced CEmailValidator by allowing checking server port (Qiang)
- New: Upgraded jquery to 1.3.2 (Qiang)
- New: Upgraded jquery star rating to 2.61 (Qiang)
- New: Added skeleton application and refactored 'yiic webapp' command (Qiang)
- New: Added 'expression' option to access rules (Qiang)
- New: Refactored the code generated by yiic command (Qiang)
- New: Refactored the blog demo (Qiang)
- New: Added ignoreLimit option when joining tables all at once (Qiang)
- New: Added params option to relation declaration (Qiang)
- New: Added the blog tutorial (Qiang)
- New: Added CActiveRelation.together option to allow enforcing a table to be joined with the primary table (Qiang)
- New: Added CActiveRecord.hasRelated() (Qiang)
- New: Enhanced CHtml::listData() to work with raw query results (Qiang)
- New: Controllers under subdirectories are now referenced using "path/to/xyz" (Qiang)
- New: Added a defaut path alias named "webroot" (Qiang)
- New: Added support for auto-incremental composite primary keys in active record (Qiang)
- New: Added support for application modules (Qiang)
- New: Added "module" command for yiic shell tool (Qiang)
- New: Added support for using default roles in RBAC (Qiang)
- New: Added support for translating a message into multiple languages on the same page at the same time (Qiang)
- New: Added CClientScript::scriptMap to support remapping registered scripts (Qiang)
- New: Added CGoogleApi (Qiang)
Version 1.0.2 February 1, 2009
------------------------------
- Bug #81: Double backslashes in a clientscript became a singe backslash in the output (Qiang)
- Bug #83: yiic command may unexpectedly render its starting line on Windows (Qiang)
- Bug #87: yiic gives an error when using yiilite.php in the main application (Qiang)
- Bug #91: Relational AR eager fetching may bring back result even if it shouldn't (Qiang)
- Bug #109: CLinkPager shows wrong number of page buttons (Qiang)
- Bug: CDbAuthManager::saveAuthAssignment() causes updating all rows (Qiang)
- Bug: Fixed an issue in CUrlManager::createUrl when GET parameters contain arrays (Qiang)
- Bug: Fixed an issue that CCaptcha::buttonOptions is not used (Qiang)
- New #88: Added public properties to CActiveRecord::safeAttributes() (Qiang)
- New #92: Empty error messages in models are handled better when being displayed (Qiang)
- New #93: Changed CLinkPager and CListPager so that the messages are internationalized (Qiang)
- New #95: Added an option to CHtml::activeCheckBox() to define default value if unchecked (Qiang)
- New #98: Added support to translate messages in different plural forms. Added CChoiceFormat (Qiang)
- New #103: Added support to use dynamic query options in relational active record (Qiang)
- New #104: Added support to encode traversable objects using JSON (Qiang)
- New #111: Implemented nonobtrusive javascript "Get new image" link in CCaptcha (Qiang)
- New #113: Enhanced CSort so that it is easier to be used with relational active record (Qiang)
- New #116: Enhanced checkBoxList and radioButtonList in CHtml to enclose labels in label tag (Qiang)
- New #119: Added 'on' option to relational AR (Qiang)
- New #122: Added support to upload and validate files in a tabular form (Qiang)
- New: Added CActiveRecord::getRelated() (Qiang)
- New: Added 'return' option to HTML options in CHtml (Qiang)
- New: Refactored CSS-dependent widgets by adding registerCssFile static methods (Qiang)
- New: Added CDbSchema::getTables() and getTableNames() (Qiang)
- New: Modified CUniqueValidator so that it can correctly validate non-PK attributes when they are being updated (Qiang)
- New: Added scenario-based massive model attribute assignment (Qiang)
- New: Added support to specify views in terms of path aliases (Qiang)
- New: Enhanced getBaseUrl to allow it to return an absolute URL (Qiang)
- New: Allow flash message to be deleted right after its first access (Qiang)
- New: Upgraded jQuery to 1.3.0 (Qiang)
- New: Added CDbExpression so that AR can save DB expressions into database (Qiang)
- New: Added CDefaultValueValidator (Qiang)
- New: Implemented the behavior feature; added CBehavior, CModelBehavior and CActiveRecordBehavior (Qiang)
- New: Added a set of new events to CActiveRecord and CFormModel (Qiang)
- New: Added CModel::getValidatorsForAttribute (Qiang)
- New: Added CHtml::activeLabelEx and added 'required' option to CHtml::label (Qiang)
- New: Added array access support to CFormModel and CActiveRecord (Qiang)
- New: Added CActiveRecord::instantiate to support class table inheritance (Qiang)
- New: Added support to allow join tables all at once (Qiang)
Version 1.0.1 January 4, 2009
-----------------------------
- Bug #41: missing function CHttpRequest:: getCsrfTokenFromCookie() (Qiang)
- Bug #42: Wrong links in crud generated admin view (Qiang)
- Bug #45: Many-to-many relation does not work when both foreign tables are the same (Qiang)
- Bug #47: Wrong url parsing when CUrlManager is set in path format (Qiang)
- Bug #48: Typo in CActiveRecord::setAttribute (Qiang)
- Bug #49: Invalid markup generated by yiic tool (Qiang)
- Bug #53: tabular form input causes AR to fail (Qiang)
- Bug #54: typo in CHtml::listOptions (Qiang)
- Bug #57: Explicit column aliasing is not working in relational AR when the column appears in ORDER BY (Qiang)
- Bug #60: Related objects not available in CActiveRecord::afterSave (Qiang)
- Bug #69: Variable undefined error in CController::renderText (Qiang)
- Bug #79: CUrlManager::createUrl does not work for GET parameters that are arrays (Qiang)
- Bug #80: Improper unset in CHtml::activeCheckBoxList and activeRadioButtonList (Qiang)
- New #44: Make "yiic shell" command to support controllers organized in subdirectories (Qiang)
- New #51: Add support to import actions declared by a widget (Qiang)
- New #55: Add support for generating meta and link tags (Qiang)
- New #56: Allow specifying customized 'on' when a validator can be applied (Qiang)
- New #58: Allow specifying HAVING clause in DB criteria (Qiang)
- New #62: Allow URL routes to be case-insensitive by adding CUrlManager::caseSensitive property (Qiang)
- New #64: Add support to use relational AR when FK constraints are not defined in DB (Qiang)
- New #65: Added "alias" option to AR relations so that table aliases can be explicitly specified (Qiang)
- New #66: Add support to allow using isset() and unset() with component properties (Qiang)
- New #68: Upgrade the javascript for CMaskedTextField to 1.2.0 (Qiang)
- New: Fixed inaccurate error message when adding an item as a child of itself in CAuthManager (Qiang)
- New: CHtml::activeId and CHtml::activeName (Qiang)
- New: Added German, Spanish and Swedish core message translations (mikl, sebas, tri)
- New: Added CController::init() (Qiang)
- New: Changed Yii::createComponent() to support property initialization (Qiang)
- New: Optimized the framework (Qiang)
- New: Added CSort to support multisort (Qiang)
- New: Refactored the code generated by the crud command (Qiang)
- New: Added "contact" page to the skeleton application (Qiang)
- New: Added CMarkdownParser::safeTransform (Qiang)
- New: Added support to allow specifying anchor when using createUrl() to create a URL (Qiang)
- New: Added blog demo (Qiang)
- New: Added CXCache (Qiang)
Version 1.0 December 3, 2008
----------------------------
Initial release